[lang]

Present Perfect

Personal
Projects
Packages
Patches
Presents
Linux

Picture Gallery
Present Perfect

Filed under: General — Thomas @ 13:02

2003-12-31
13:02

GStreamer

I converted the FAQ to Docbook so it's easier to add lots of entries to it locally, then update the website FAQ. Took some time to get the sed magic right to convert the generated html to our site layout, but everything is ok now. So if you have time look over the GStreamer FAQ and let me know what is missing and what questions you want answered ;)

Been busy working on the media info library in GStreamer - a library which is supposed to read media files and extract metadata, format stuff and so on in a generic way.

Was a bit of work, and took a bit of prodding Wim to help me define the concepts and how to extract them, and it seems to work very well now. I've mostly tested with ogg and mp3, but it seems to be blazingly fast. My original plan was to have the library cache all of the media info by default, but I might hold off a little more on that idea because it seems time is less of an issue then I used to think. I am impressed even more with GStreamer's architecture and forethought in these matters.

We need a little work on settling some of the issues if we want to go into Gnome 2.2 They are mostly boring things, like figuring out .so naming, header location, and so on, but pretty important to get right nonetheless.

nautilus-media

Now that the media info library is more or less working, I worked on nautilus-media some more. I converted it to use the new library. For now, I'm copying the code, because I don't want to make it depend on what could potentially be a moving target yet. Nautilus-media will be the proof of media-info in GStreamer for now, so it makes sense to duplicate code for now.

Anyway, now it's really easy to have media info in the view, and I'm going to add property pages next, which snorp has already given me some code for. Hope that will make it easier to do this ;)

Other than that, I should reply to the opinions jorn stated in his diary, where he didn't see the need for a view like this. First of all, I totally agree with extending the icon view to have better property information in the view itself, depending on the mime type. I don't care how many bytes my photos are, I do care about what resolution they're in. I don't care how many bytes my sound file is, I do care how many seconds it is. That's the sort of thing I hope to see in Nautilus in the future.

Second, I really am convinced that a view like this has a lot of uses. The key thing here is that it should try to be useful inside a file browser. What this means in practice is that it shouldn't act like a player, but act like a quick and easy way to browse through audio files in their native format. This means that it should allow you to quickly go through files in a directory, easily see relevant data about these files (tags, properties, format, ...), and quickly listen to or skip through the audio files.

In this light, I am against the original music view, which had code to arrange the tracks based on album position, tried to detect that the directory contained an album, and had a mechanism to detect an image file which it then thought to be the cover for the album and it set this as the background. I could be wrong about the specifics, because I went through the code, and didn't actually see it, but it does have album-specific stuff in it.

That is the domain of a music player and not a file browser. The features I'll be concentrating on here instead is

  • have it play through the files
  • have it report useful info about files
  • make it easy to seek through files
  • have a "sample" button that skips through the tracks and plays the middle part of a track

Other features might be more media-specific. I'm currently contemplating the option of allowing to drag out streams out of a media file, so that they get saved as a separate file. This would allow you to drag out the second logical stream out of an ogg file, or the audio part of a video file.

Some people might think these are crazy features, but when you work with audio they make sense. They make sense because these features work with your files and their contents, without manipulating them. The problem is that most people don't work much with audio at all, so it might seem hard to justify features like these. (I do not regard "handing 30 GB of songs to your music player as "working with audio", btw). But as computers get faster and hard disks get bigger, people will start moving around audio and video stuff a lot more than they do now. Your phone messages ? They'll be on your hard disk. Your camcorder recordings ? On your hard disk.

For basic previewing and scanning, having play stuff in your file browser makes sense, especially when it's not expensive at all, and optional. Launching a separate app to check out these files is unnecessary overhead. If you do not agree, then it is very simple - don't use it.

By the way, nautilus-media will contain a lot more than just the view. I'm working on property pages right now, and it also contains a video thumbnailer.

So I've been running the view to play my music for the last few days to stress-test it, and it works very well. Even, remarkably, seems to skip a lot less than xmms and rhythmbox. I also got a mail from someone who tried it out and told me it worked (apart from the few bugs I need to figure out, like lifecycle management). It's great to get mails from people telling you that your stuff works ;)

bitches

Someone is now using bitches to build RPM's on Yellow Dog Linux. That's great - hope I get some patches for that soon, I want to do a new release.

Fedora

Some people are thinking of setting up community-based repositories of RPM's for Red Hat. That would be a great initiative. FreshRPMS has always been a good source of extra packages for Red Hat, and the concept of expanding on this appeals a lot to me. I like Matthias's work a lot, but (for reasons I can understand) he only puts up packages he himself made.

Which reminds me - I still need to work with him to handle some of the clashes between our and his repository. Hm, just checked, and he seems to have put up packages of gstreamer and gstreamer-devel. That's too bad - first of all they're pretty useless to users on their own, and second, it's going to clash even more. I wonder why he did that.

DrWright

If you use Gnome 2, get this handy app. It locks your desktop after a given amount of time, forcing you to take a break. And it's sexy. It helps me to overcome the guilt of taking a break at work. I have it set at five minute breaks every 90 minutes.

Music

I saw five concerts in the last week. A slight case of overbombing, I think. Anyway, I'll keep it short and list them in order of appreciation.

  • Spinvis gave the best concert. Spinvis is a Dutch "project", singing in Dutch. It's basically one guy of about fourty who recorded a pretty good album at home. I guess in Dutch it's called "huisvlijt". Anyway, he used a lot of samples on the album, and played everything himself, but on stage he brings along an 8-piece band with vibraphone, harp, some Turkish instrument I don't know, and so on. Half the band is over sixty, and his dad plays along as well. In any case, the music is even better live. You can sense that he has a meticulous eye for detail, and the nonchalance that is in the album music and the lyrics shows itself to be carefully constructed as being it. It's nice to be surprised by the fact that someone put real effort in the music he made when the music seemed to have that fleeting surreal quality that makes it seem so effortless.
    He even managed to play all my favourite tracks on his album, and the only drawback was the fact that, just under 55 minutes, the concert was too short.
  • Coldplay gave a pretty stunning performance even though the venue is way too big (it can hold up to 8000 people) to get some sort of intimate feeling out of the music. It's trendy to like Coldplay, and it's even more trendy to hate them, but the fact of the matter is that he has a great voice and writes some great tunes. And I happen to like both. A really inspiring concert.
  • The Tragically Hip have a great new album out, and they are almost always stunning to see live. Gordon Downie doesn't just sing, he acts the songs. He's constantly fighting with himself, making faces, acting out a play in his own world. Very mesmerizing to see. And it helps that the music is so damn good too. Very good set list, they did miss some of my favourites on the new album though. Biggest drawback was my friend coming with me getting sick after song 4 and having to miss most of the concert.
  • The Cure are playing a set of Trilogy concerts, in which they play all of Pornography, Disintegration and Bloodflowers in their entirety and in order.

    If you feel that "this could get boring easily", you are half right. It is a bit boring to know the setlis in advance. They played the albums very well though, and he seemed to be enjoying himself. The concert lasted for just about four hours (breaks included). We had arrived late because Peter (which is the big Cure fan in our house) managed to miss the train - and the three next trains that could have taken him to my work.

    Of the three albums, Bloodflowers ended up being the best to hear live. A lot more consistent and well-rounded. But still it was great to hear very well-done versions of a strange day, love song, fascination street, lullaby, disintegration, and so on.

  • Manic Street Preachers are doing a Greatest Hits Tour. This has the potential to be amazing, but somehow something got lost between idea and execution. They sadly sounded more like a cover band covering themselves. The setlist was great, stellar even, and the performance was ok, his voice was good, and so on - but it was just missing huge chunks of meaning all over. Sad, somehow.

Filed under: General — Thomas @ 13:01

13:01

pfremy

This is the last I'm going to write about this matter since I'd rather spend my time coding what you think doesn't work instead of talking about it. The only reason I do write this is because there are people who might fall into believing what you write.

No, it was not obvious that you were *only* talking about the old nautilus. You employ a common rhetoric trick in which you start off by talking about something, then change your use of past tense to present and make the reader believe you are still talking about the same thing.

Your latest entry starts off by saying "it is clear that I am talking about 1.0 nautilus", and it ends by saying "Not only do I find evolution more useful than Nautilus, it also integrates properly with Gnome."

I presume your last point to be about current Nautilus, and the point is wrong. I like both evolution and nautilus. Of the two, Nautilus is currently better integrated. It uses Gnome 2 ! Evolution does not. And current-day Nautilus DOES integrate with Gnome 2. It handles the desktop by default, for crying out loud.

ANY integration could ALWAYS be stronger that it is. It is a silly point to make.

You are free to question if Gnome should have taken nautilus as a core component. You think no, and the Gnome people and nautilus developers obviously thought "yes". But you are just as free to start a diatribe about multitasking in MS-DOS 3.11. Just don't try passing it off as a reason to throw out Windows 2000. It looks stupid.

Also, you forget that there would probably not be a great file manager for Gnome today if not for Eazel.

So if I compare what the nautilus people have to show for their efforts (a speedy, nice, extensible, integrated file manager - and I am talking about Nautilus 2 here in case you were wondering) and I'm looking at what you have to offer (three silly diary entries that were more of a useless exercise in flawed rhetoric than anything else) and I know who of the two earned my respect.

If all the time your only intention was to talk about nautilus 1.0 without passing it off as criticism on nautilus 2.0, then yes, you need to work on your language skills. Also, check the calendar, because you're at least two years late.

I'd advise you to drop the subject until you gave nautilus 2.0 a try. I'll drop the subject regardless from now on, there's no use in arguing with someone who makes up their own truths. You are beating a dead horse without making it clear that it is the dead horse you're beating and not the live one.

Filed under: General — Thomas @ 13:00

13:00

A quick one

I just had to chip in quickly on pfremy's crockery all over.

Here are a few points :

You specifically mention Nautilus 1.0 without mentioning that this is the OLD Nautilus developed by Eazel. All your points are ONLY valid about the OLD Nautilus, and even then they're skewed at best.

Why don't we compare KDE1 or KDE2 Konqueror with the Nautilus you bash ?

Yes, you are right that the original Nautilus 1.0 developers didn't put integration with the rest of GNOME high on their priority list. That is because Eazel was foremost a COMPANY trying to make MONEY on Eazel services served by Nautilus. Man, you really are comparing apples and oranges here.

You say "it is not possible to reuse parts of it". Well, ha ha ;) All code that is reusable has been abstracted out into other libraries which now are used throughout Gnome. There will ALWAYS be code in an application that is not reusable, otherwise you would have a lot of exactly similar apps by definition. So you're wrong.

You say "it is not possible to integrate external code". Well, ha ha ;) Guess what I've been doing this weekend ? nautilus-media is an example of external code that integrates into nautilus nicely. You should have picked another application to try to bash on integration issues, because Nautilus is a really good example on how to do integration nicely.

I'm afraid the one who doesn't get the Free Software spirit is you. I say this without any intention of bashing either you or KDE. As hadess points out, the code does the real talking.

KDE is a great effort, it just not fits my needs. Gnome is too, but it does fits my need. You do both KDE and Gnome a disservice by trying to instigate some sort of fight based on very skewed assumptions and giving a lot of reasons that are easily disproved. Code talks, and my code disproved your point.

By trying to throw fire on this fabled desktop war, you don't get the free software spirit a lot more than others. Please stop putting red blushes on KDE developers' cheeks. They write code, as we do for Gnome, and they have the right to criticize software.

You are not even at the stage where you can criticize Gnome as a user since you obviously didn't even try to remain objective about this.

I wanted to add a quote from the band I'm going to see play tonight : No one's interested in something you didn't do.

Filed under: General — Thomas @ 12:59

12:59

Nautilus

Set myself up to create a nautilus view for audio using GStreamer. I didn't know it would be that steep a learning curve. I'm trying to document as I go and I'm making a tarball with a test view for nautilus so that other people who want to write a view can get the autotools stuff and so on out of the way.

Back in insomnia land again, so I got up to finish it some more, and it isn't much yet, but it parses track length using GStreamer. Which is great, because it means it automatically will work for all audio that GStreamer can handle.

A preliminary screenshot is up. It doesn't look like much yet, it has no controls, and it doesn't play yet, but that will be the easy part.

Thanks to the help of snorp, I was able to also write a simple app that loads the view outside of nautilus. Helps a lot in debugging. And furthermore, I'm actually trying to get this right by writing simple test apps and abstracting bits and so on.

Maybe I'll even get to finish this one.

Time for bed now.

Filed under: General — Thomas @ 12:58

12:58

gcc 3.x includes

gcc 3.x by default warns about including directories that are already listed in the system include directories. A lot of projects provide .m4's which always gives out the path to the installed header by default, whether it's in a system include dir or not. I think they might be correct in doing so, since the package itself has, at install time, no way of knowing what gcc will be used. The detection of whether it's a system include dir or not can only be reasonably done at configure time. It seems pkg-config already does this, but I don't know how it does this.

Anyway, since in GStreamer we depend on lots of outside libraries, we need to take care of this. So I wrote up a little .m4 macro for Autostar Sandbox. I should really do a release of some sorts for this, even though it's a natural fit to only work on this in CVS.

In any case, the macro is simple and effective; it queries cpp for the system include dirs and removes them from the given CFLAGS. If you know of any improvements I could make, let me know. And if you

  • work on a project that installs an .m4 for development
  • work on a project that uses other libraries which provide CFLAGS that give warnings

try this macro out and feel free to stick it in.

(peeking ahead to the next bit) You know, if I was bytesplit, I would probably just complain, call the gcc maintainers crackheads, and wonder why on earth they didn't mail me to let me know they were planning on doing this. As it stands though I'd rather roll with the punches and think of creative ways to deal with it.

bytesplit

is living proof that there are still people who

  • fail to understand basic concepts of services they use, even though they have been explained in that same service by the maintainer of that service
  • easily make false conjectures about the services they use
  • don't take the time to verify these assumptions
  • start accusing "other people" wildly on the base of these assumptions

Bytesplit, there are some character traits I see in some of the good hackers around that are very critical if you want to be both good and social :

  • understanding the thing you're working with
  • not blaming everything else for what goes wrong with you or the thing you're working on (like you just did with raph)
  • verify your assumptions before acting on them (makes you look like less of an ass when you act on them)
  • even when you find faults or disagree with someone, tell them so in a polite way, instead of insulting both them and Mother Theresa.

I wonder why you want to be part of this community if you keep criticizing it like this. You sure you want to even be here ?

My predictions for the nearby future regarding bytesplit :

  • bjf, chipx86 and maybe even me get told off for the way we try to explain him what he has done wrong this time.
  • I might NOT get told off but ignored because I've said he's going to tell us off
  • bytesplit will apologize in his diary (but in a clumsy "you didn't explain to me personally how this rating system works" way) to raph, realizing himself that he was wrong in a major way, but not letting it come out like that
  • bytesplit will continue to post some other entries about various stuff like other people do here, being a regular contributor, and hopefully gain "open source maturity".
  • rinse, repeat

Metal Gear Solid 2

Since buying this game, my housemate has hardly stopped playing it. On monday he started somewhere in the evening and stopped at six AM. Yesterday he played all day, stopping at three AM. As a testament to how good this game really is, he told me that he went to sleep not because he wanted to go to sleep, but because the game actually started pestering him about not having a social life, and playing for too damn long, and letting him know there's a world out there. I told him I thought he just hallucinated it himself, but he swears it's in there. I'm wondering if I really have to play it for ten hours straight to see this happen ?

He also said he did want to continue the game because he was at a point where he's apparently butt naked, and the game makes a point of choosing camera angles to not reveal his more private bits. I want to see that ! And I want to find out if he's pulling my leg or not ;)

« Previous PageNext Page »
picture