Skip to main content

the avatar of Flavio Castelli

Howto edit multime id3 tags from command line

Goal

id3medit is a simple script for tagging all mp3/ogg files present in a directory.

Requirements:

id3medit relies on id3v2, a command-line tool for editing id3v2 tags file names must be in format: ’## - trackname.ext’. Where ## is track’s number, and ext is file’s extension (mp3 or ogg in case insensitive format)

Synopsis:

id3medit syntax is: id3medit artist album year(*) genre(*) Where * denotes optional arguments You can obtain genre identification number in this way: id3v2 -L | grep -i genre

Example

id3v2 -L | grep -i rock

   1: Classic Rock
  17: Rock
  40: Alt. Rock
  47: Instrum. Rock
  56: Southern Rock
  78: Rock & Roll
  79: Hard Rock
  81: Folk/Rock
  91: Gothic Rock
  92: Progress. Rock
  93: Psychadel. Rock
  94: Symphonic Rock 
  95: Slow Rock
 121: Punk Rock
 141: Christian Rock

Code

{% gist 2469919 %}

the avatar of James Willcox

Firefox Rules

So Firefox 1.5 is out, sporting a new canvas tag. Hopefully we will see all kinds of sweet innovative stuff using it. Here is my contribution:

Update: I also changed my little bugzilla greasemonkey script to work with Firefox 1.5. You can get that at the usual place, here.

a silhouette of a person's head and shoulders, used as a default avatar

More languages

We're in the last stages of preparation for the launch of the opensuse.org wiki in three more languages: german, spanish, and french.

To keep us busy, we have more languages already in the queue for the next batch of wiki instances. I'm confident that these won't need as much time and effort as the first 3. And a big thank you to you translators out there for all your help!

Also, the famous SUSE Linux support database will reincarnate as a part of the wiki Real Soon Now. Watch the announcement list for details!

the avatar of James Willcox

vengeance is mine

If you have ever used the Novell Bugzilla you no doubt noticed that it likes to log you out after a short while. Usually for me it’s at least two additional clicks after clicking on a bug link before I can actually see the bug. It annoyed me enough tonight that I wrote a greasemonkey script to ease the pain. You can get it here. Just log in once manually after loading the script so it can store your user/pass, and it should do it for you after that.

Update: I just put a newer version of the script up. It will log you in even if the page you’re trying to view is not locked out to anonymous users. Also added some lame feedback so you know what it’s doing.

a silhouette of a person's head and shoulders, used as a default avatar

Tired

One more package update, one more bug to comment on, one bugfix to prepare for inclusion. One release party to survive ;-) and then - Crete, here I come.

I really need a vacation. There will be no network, and I won't take a camera. See you all in 2.5 weeks.

a silhouette of a person's head and shoulders, used as a default avatar

a silhouette of a person's head and shoulders, used as a default avatar

Motivate the nation!

There is a new motivation campaign for Germany. Or germans. I am not sure I understand its purpose, but at least they built the website with OpenCMS, which is of course always commendable in anything done by the government. On the downside, they managed to screw up browser detection so that the site stays completely blank in Firefox. Oh well.

a silhouette of a person's head and shoulders, used as a default avatar

Running

Managed to run two rounds in the park near my place (to the locals: shut up, I know it's a small park, but I have to start somewhere). Lesson learned today: don't listen to Irish flute music while running, it completely confuses my breathing - probably because it's a wind instrument, or because I play the stuff myself. I'll take some electronic music next time, guaranteed without human breath in it.

Many fallen leaves and acorns on the ground, which were definitely not there last week.

Went to the airport yesterday, spotting planes and especially: watching them not crash, one after the other. I'll fly again in two weeks - this time on vacation, no booths, no customers ;-) - and don't like my own nervousness. I just want to enjoy the view.

a silhouette of a person's head and shoulders, used as a default avatar

Preparing for Spain

So tomorrow I'll leave town to go to my first Novell BrainShare in Barcelona and present the openSUSE project to Novell customers there. It's a rather expensive event for visitors, and I have no idea what kind of people will be there with what kind of questions, and if they want to hear about that hacker-community-freak project at all ;-)

The discussions on the openSUSE list gain momentum as the more difficult questions get asked - how will we manage to create a truly open project when we have to control the distribution rather tightly to keep the quality? Do we have to keep that control everywhere? Do we need only one distribution, or maybe three trees as Debian has, or a completely different model? How much work can we expect from people who want a feature in the distribution which we just won't accept? Is it ok to say - hey, build your own packages, create your own CDs, here's how we can help you?

What can a linux distributor _really_ give back to the community if not the knowledge how to make distributions? (Employing hackers, sure. We do, too.)

At the same time 10.0 needs time for the final polishing, so nobody here really had the time to fully participate in these discussions, but they are necessary, keep them coming. And if you're not yet on the opensuse mailing list, hop on now.

the avatar of James Willcox

avahi-sharp

I spent some time last night hacking up some Avahi bindings for C#, using the DBus API. The wrapper is here, and a little test app is here. The test app registers a ‘foobar’ service, and then lists all services in the default (I think?) domain. Obligatory ‘screenshot’ below. Unfortunately, I ran into some dbus-sharp bugs while doing this. You’ll need this patch to dbus-sharp in order to use it. You can also grab a dll here.

snorp@sackbut misc/avahi/avahi-sharp % mono test.exe Service 'Living Room' at DVR-8477.local:80 Txt: TSN=54000000000000 Resolved DVR-8477.local to 192.168.1.105 Reverse resolved 192.168.1.105 to DVR-8477.local Service 'Now Playing on Living Room' at DVR-8477.local:443 Txt: TSN=54000000000000 Resolved DVR-8477.local to 192.168.1.105 Reverse resolved 192.168.1.105 to DVR-8477.local Service 'Now Playing on Living Room' at DVR-8477.local:443 Txt: TSN=54000000000000 Resolved DVR-8477.local to 192.168.1.105 Reverse resolved 192.168.1.105 to DVR-8477.local Service 'iTunes_Ctrl_60AA03D0FEE58A7F' at homer.local:3689 Txt: DbId=10000 Resolved homer.local to 192.168.1.103 Reverse resolved 192.168.1.103 to homer.local Service 'snorp’s Music' at homer.local:3689 Txt: Password=false Resolved homer.local to 192.168.1.103 Reverse resolved 192.168.1.103 to homer.local Service 'Remote Terminal on sackbut' at sackbut.local:22 Resolved sackbut.local to 192.168.1.101 Reverse resolved 192.168.1.101 to sackbut.local Service 'sackbut [00:0d:60:36:95:4d]' at sackbut.local:9 Resolved sackbut.local to 192.168.1.101 Reverse resolved 192.168.1.101 to sackbut.local Service 'foobar' at sackbut.local:8080 Txt: Resolved sackbut.local to 192.168.1.101 Reverse resolved 192.168.1.101 to sackbut.local