23 Oct 2004 rillian   » (Master)

Ogg Chaining

rbultje, glad to hear the chaining bugs are finally getting fixed. It's a bit of a show stopper for me with totem. :)

As far as how to handle them in the ui, I can suggest three options. One is just to treat chain segments as independent clips. Each one gets its own playlist entry, and there's no need to upgrade the seek bar. This makes a lot of sense for things like saved streams and album-as-concatenated-files. There's an xmms patch for this.

Another is to treat them as subclips, and insert visual/jump boundaries in the seek bar, sort of the way older versions of iMovie worked. In totem's case this would mean developing a custom widget to replace the seek slider.

One could generalize the above two, where chained files get their own (sub) playlist, but a playlist (of any origin) can been treated as a whole in terms of the behavior of the seek slider, which would show the item boundaries, and let you jump to any part of any item. I could see that being a nice feature for (shorter) playlists. You'd have some feedback about how many songs there were and where you were within the list without having to scroll through the playlist, as well as having a quick random access option.

The competing point of course is that Ogg chaining is sometimes just used for edits, and the divisions may be meaningless. In that case, it makes sense for a playback app to just ignore them. You may be able to make a guess about the appropriate behavior based on the associated metadata; if the title didn't change, or a segment has no metadata maybe it's just an edit. Likewise in DVD-Video, chapters could be treated as segments, but programs should always be like separate files.

Anyway, that's the direction I'd experiment with.

Latest blog entries     Older blog 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!