Older blog entries for rbultje (starting at number 23)

15 Aug 2004 (updated 15 Aug 2004 at 20:47 UTC) »
GNOME Media:
Since the GNOME Volume Control UI sucks, I thought I'd play with creating some new UI for it. Colin says he likes it. ;). Images here, here, here and here. Not a real app (all Glade magic), but you get the idea.

The basic idea is to separate between input tracks (image #1), output tracks (#2) and option selections (#3). The input/output track separation is sort of logical, and decreases the number of sliders per page. The options need a different UI markup (vertical instead of horizontal) and are therefore separate; besides, as far as I know, they're not input/output specific. Picture #4 shows how to choose a different element (soundcard) for volume control.

Not shown on the images is the return of the preferences screen, where the user can enable/disable individual tracks. Disabled tracks will not be shown in the GNOME Volume Control main screen. Disabling some (maybe even by default?) should decrease UI clutter with many modern sound cards like the SB!Live, which make a total mess of volume control applications.

Of course, current-device and tracks-shown are both saved in GConf. ;).

I'll await some comments from random people who decide to call themselves UI experts and will then implement this for GNOME-2.10 or so. I hope Ross' GNOME-CD rewrite (based on Sound Juicer) makes it into GNOME Media then, which should make GNOME Media a lot better than it currently is!

GNOME Media:
So, I added some new stuff to gnome-volume-control. Didn't commit yet, since I don't know in what freezes we are right now (I've been pretty much inactive for quite a few weeks already). The result is pretty sweet, since we now support all ALSA controls (see bug #150158 for patches), but the resulting UI is horrible. Please, UI people, give gnome-volume-control some love [/lame try to get others to fix his own bugs].

Click here to see for yourself.


So, this monday, I went off to Jones Beach' Tommy Hilfinger Theater to see Korn, Linkin Park, Snoop Dogg and some other smaller bands (I saw Less Than Jake, The Used on mainstage and M.O.P. on the smallstage). Pretty cool alltogether, especially when Korn played a small piece of Metallica's One (yes, they do that a lot, but it's awesome, every time again!) in between. Later on, they also covered Pink Floyd's The Wall (full). Covers are bad? You haven't heard this one yet. Marvelous, that's the word! Absolutely wonderful! I've never heard a crowd singing out loudly like this before.

"All in all, it's just another brick in the wall,
All in all, you're just another brick in the wall"

Too bad there were only seating places... Linkin Park was great too, but I liked Korn better.

... and I'm finishing off my multichannel patch in these last days, too. I'm hoping to commit it before I go back to the Netherlands, or at least post a first version in Bugzilla. I'm finetuning some rough edges now in automatic channel position selection (fixation) in case there's no preference, and the rest pretty much works already. And while I was at it, I cleaned up the dtsdec (DTS decoder), a52dec (AC3/A52 decoder) and faad (MPEG-2/4 AAC decoder) plugins as well. The difference between this patch and the multichannel support that we used to have and that Xine and other projects have is that this allows for making full use of possibilities of individual channel selection that formats like Wave (using the audiowavetagheaderext chunk, not used a lot...) or Matroska allow. It also does automatic channelposition conversion.

Graduate School Applications and GRE:
So, today I did a GRE test because I want to apply for Cornell Graduate School of Medical Sciences. The results are fairly mixed. My verbal score was a lousy 380 points (on a 200-800 scale), which is not very high. Actually, it's plain bad. My quantitative score, on the other hand, was the full 800 points (same 200-800 scale), which is pretty darn good. I guess my excuse for doing so bad on the verbal part is that I'm a foreigner. My english really isn't bad, but I just don't know most of those exotic words that are being referred to in the test. Sorry guys... I hope this is good enough to be considered for admission, though, I'm not applying to be a translator, am I? I'll receive my analytical score (on a 0.0-6.0 range) in two weeks from now.

It's interesting how people try to hide the fact that they're geeks and blatantly fail because their peer is just as bad as them. Thomas already touched upon that in his latest entry, so let's take one of my own examples.

So I live in New York City and hang out with people here. I promised, one day, to send pictures of one night out to two girls that had been coming with me. Those pictures are located on the tweakers.net picture gallery. For those who don't know, tweakers.net is a dutch slashdot-like computer-oriented website (news, forum, ...). So I sent them a link to this picture gallery. The day after, one of those girls pointed out to me that her ex-boyfriend, a "complete geek and ass-hole" (what a surprise for an ex ;-) ), used to be hanging out on this website for full days and she was worried that I was one of those cracks as well.

Of course, I told her I was not. ... That wasn't even a complete lie, realistically. I barely touch computers here, I barely have time for that...

(Makes me wonder: who's this ex-boyfriend of hers? :-). I might even know him. Scary shit.)

Today, I found that I still have pending patches that are as bad as four months old. I suck. I'll be back home in four weeks from now and promise to clean up my inbox after that. My apologies to anyone who's sent me patches and didn't see them applied yet; they're in my inbox (I always mark patches as important and those occur at the bottom of my inbox, marked in red). They just take a while. Same goes for assigned bug reports or pending actions. Sorry guys. I'm doig what I can, but my time is limited right now.

Just arrived in Ottawa with Dave for DDC. Will try to show up at the welcome party at 8:00 PM tonight, hope it'll be interesting.

I've been wanting to post this for several weeks now, but advogato kept being down!

So lately, I hear this free software activist talking about some software that I work on. He hates the software. That's ok. Why? Because he hates me and my opinions. I won't go into the opinions, since this is not the right place for a political discussion (it's a typical liberal [me] vs. socialist [he] case), but would just like to mention that this is the saddest thing I've ever seen in my whole life. Free software is only a small piece in the freedom puzzle, which is the ultimate fight that we're continuously struggling with. Freedom of speach, freedom of ideas and the consequent disagreements are all part of that. A society that allows for all this, requires respect between individuals in order to be liveable. I disagree with you, but I don't hate you. Why do you hate me for my ideas? Is that freedom?

And in the mean time...:
... I was enjoying fireworks in Manhattan yesterday, as part of the 4th-of-July celebration. Beautiful!

The GNOME Media Player:
So, in order to slay xine and thereby bring the day closer that we will conquer the world, I decided to start hacking on libgstplay. The result is available in bug number #143030 and can hopefully be backported in one way or another to the 0.8.x GStreamer series. The idea is to simplify it a lot and thereby increase the involvement of core hackers such as ds or company in fixing libgstplay-related issues and thereby improving playback capabilities of GStreamer.

The result is quite nice. Within a day, we saw a UI based on it that can playback music much like projects like Muine or Rhythmbox. Not that it looks as pretty, but that's not the point of a testing application anyway. I hope this work will make libgstplay work much more reliably than it used to. There's some minor other points involved, but I have some interesting ideas on how to progress once this is done.

The final goal should be clear: Totem - based on a GStreamer backend - should make it into GNOME 2.8.0! A desktop without an ass-kicking media player is just not the same.

GNOME Volume Control:
In the mean time, ow3n came over to me on IRC and told me that the ALSA version of GNOME Volume Control really looked horrible (no kidding!) and offered to help in fixing it (yay!).

As earlier proposed by Seth, we should hide all those switches in the default UI. Does anybody know what they mean? Even the ALSA people don't! So we'll just omit those from the default UI and maybe even hide some obscure volume controls (my laptop doesn't have a phone, you moron! And not two either!) given that they make little sense.

This will also make it into GNOME 2.8.0.

What's Life All About...
Now, one thing that I've particularly noticed here in New York is that all nice girls are already taken. Not much difference from the Netherlands, in hindsight.

Well, little choice but to go out with the already-taken-ones, then!

14 May 2004 (updated 14 May 2004 at 16:18 UTC) »
d-d-l signal/noise ratio:
Michael, there is nothing wrong with closing d-d-l. d-d-l is used as a one-for-all list because it has that image: it is an open list, everyone posts to it and on random subjects. I can see that in the archives! Tadah, a list for all my random mess has been born. The solution is simple: close it, and post good guidelines for new subscribers.

I'm not subscribed to several interesting lists because of that, and would hate to add d-d-l to that list-of-lists for this reason.

A GNOME developer that wants to join GNOME development and related discussions should have the motivation to do the basic effort of subscribing. If he doesn't, then he's doomed to not be a good GNOME developer.

On the other side, I like it when Jeff pulls on his dictatorship hat and screams end-of-thread. I'll miss that. Ohwell, I'll have to cope with that.

Surround sound support in GStreamer:
Some genious mind provided me with a surround sound system for my laptop. I just got it working, and my housemates will hate me for quite some time now. For some unknown reason, I know have six speakers in my three-by-two meter room, and they make enough noise to keep the whole house with me. Lovely!

Interestingly, we also pretty much figured out how we want this to be done in GStreamer. My previous proposal was not ideal enough, so we adapted it slightly. It now is somewhat more extensible than the previous proposal.

Basically, for a GstCaps/GstStructure with X channels, the structure will have an extra property "channel_positions" (if absent on channels <= 2, it's simply mono or stereo), which is a GValueArray filled with an enum of type GstChannelPosition. This will proove to be a truely adventurous task, because we haven't used named enums before. Particularly, serialization/deserialization (going to enum from string and back, for things like GConf or gst-launch commandline and so on) will proove to be interesting. Secondly, we will need type-specific (extendible) fixation functions (to make sure that it fixates to something sane (which somewhat resembles "surround", rather than "all channels topleft".

The enum will be similar to Microsoft's enumeration of channel positions, as specified here.

Time to proove myself worthy to this genious mind! I'd better have some interesting 5:1 DVDs with me for the next few weeks! :).

14 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!