Older blog entries for ensonic (starting at number 28)

gstreamer

I am extremly pleased with the amount of attention the docs currently get from the core developers. Not only that there are just about 80 undocumented entries left, the existing documentation has received a lot of details.

life

Its done. I've handed in my PhD work. Furthermore an application I developed for a company will be sold now. Seems that life calms down a bit. Perfect timing for the christmas season.

buzztard

puh, I've not managed to write up a summary for the last month. SO you get a double news update now.

We currently have some blockers upstream in gstreamer. We're optimistic they are fixed soon. For one blocker we seem to at least have a workaround so we can continue working there. Its about implementing 'mute', 'solo' and 'bypass' states of machines. The other issue is seeking. Means we still can't loop, scrubb and most important properly detect the end-of-song.

Still the time did not passed without results. At first we enabled the buzz-song-loader (bsl cvs module) to use real buzz-machines. I successfully loaded and played some very simple songs (two drum tracks).

Waffel dived deep into the internals of gnome-vfs. He submitted some fixes and we now have some working samples to make our songs tar.gz archives containing the xml file and audio-samples.

Recently I started some GUI test about using the GtkSheet widget from gtkextra for the pattern editor. Looks promising so far.

Finally I wrote some ideas about song-recording down.

Lets hope that the November is fruitful and brings gstreamer fixes, so that we can implement more functionality.

Suse 10

Wow, I was going to report some bugs at http://www.opensuse.org. To open a bug-tracker account they ask you a thousand things. Thats a bad attitude towards people who would like to help. After a while I found a page where I can create an accoun without needing to give them full address telephone number and so on.

Suse 10

On two of my systems at home I still run SuSe Linux. After the next weekend it probably will be only one left. Both were running 9.3 and after an online update that brought a new kernel, one system had kernel panic when loading the network driver (realtek). Uhm no net - what to do.

I've downloaded the DVD for version 10.0 and run the update. And its getting worse. The gstreamer-0.8 packages are broken - they run gst-register and not gst-register-0.8, which in my case means running gst-register-0.9 :(. The xorg install corrupted my xorg config. Looks like they changed the refresh-rate, as when x comes up I see noting (have an LCD). Okay this can be fixed. But running the system in fail-safe mode it hangs or even reboots while starting lircd (what ever that is).

So my last resort is using a bootable CD. If I can't repair it, I'll install Gentoo there too.

As a sidenote - the grub theme and the bootgfx look a bit too bright (bonbon colors). Is it made by children, for children?

buzztard

as announced in last month news, the focus was porting and ... it's done. Buzztard now builds against gstreamer-0.9. Just in time as the first releases of gstreamer-0.9 have been done.

So how complete is it and whats the difference? The good news is that everything that worked before works again. The only missing thing is that some seeking stuff is still in work in gstreamer, so we use a hack for now to detect the end of a song. Generally we feel that the new gstremaer is much more mature design-wise. E.g. all the threading problems we had withing the gtk-ui are gone, the play-position is reported more exact and so on.

We've also ported two machines - the sinesrc and the volume one to use the contoller, so that these examples work again.

Apart from the porting we did some cleaning up in the GUI ui. At first the machine context menu for adding machines to the machine view is now build from the gstreamer registry. This means it will automatically show all machines you can use. The machine-gui had also gotten some love.

Whats next:
* get more machines working
* make a working pattern editor
* switch the buzz-song loader live

gstreamer

Its making good progress. I've nearly inlines the whole core docs. Plugins now have docs. More and more plugins get ported, fixed and become useable again.

antaris

Antaris was a good party again. Wonderful decorations and nice music. We were dancing for hours [days ;)]. We've been quite lucky with the weather. Just a little rain, but lots of sun. The fire-brigade came twice a day to shower the masses. Brought a nice sweetshirt for the winter. Still I'am not sure what people think about me, if I'd wear this on the steets. It has big thorns everywhere ...

hacking

Been hacking on gtk-doc a little more. Enabled and extended the manual for it in CVS. Hopefully I get the okay to commit this change soon. First it make the top red bar sticky (stays on top). Secondly it adds localy anchors to sections to it. Never need to scan the page for the class-description.

I've collected more ideas and todos for gtk-doc on the gnome-wiki. So please review and comment.

buzztard
nearly forgot to write some monthly news ;)

Good news - I've got the whole buzztard app ported to use the GstController subsystem. This mean timing is very tight and we can do subtick smoothing (soft fading between pattern values). On the other hand using the GstController requires all plugins to understand seeking and stuff. So there is more work to do. This lead to one decision:

We now port everything to Gstreamer 0.9

The 'old' Gstreamer has not the potential to do all we need and new development is mainly happening in the new version. E.g. out GstController module is now part of the Gstreamer libs. Porting the application seems to be not that tricky. Unfortunately porting the plugin really is :(

Anyway I am optimistic and hope to tell about positive result with the next news update.

gstreamer
Will start to bug core developer again to document their changes and additions. There is already lots of new stuff that has no docs :(.

spooky
Recently Tor Lillqvist said on the gtk-app-devel list that he's not clairvoyant. Right while I was reading this my music player was playing a song of the band Claire Voyant. After I check google for what clairvoyant means, it gave me some shivers.

buzztard
Good and 'bad' news. The bad ones first: I though there is just a little to do and then we would be much closer to our goal. Since two days I was working on this and became aware that it is in fact tricky. Just spend two hours and some beers with waffel on discussing a solution. The issue I am talking about is the usage of the GstController module in buzztard. It sounds simple. Basically the gst-controller maintains envelopes with control-changes over time and the gstreamer elements ask for new values from time to time. The challenge is keeping these queues up-to-date. buzztard is pattern based. That means changes in a pattern result in changes here and there. Second patterns can be layered (several pattern can play at once for one machine). That means events can overwrite otehrs before becomming effective. Finally patterns can overlay (or shadow) other patterns in time. All this is easy to handle if you just evaluate it while playing. But now we build up a second representation of the internal data and need to keep them in sync. It sounds like we go for something like a window manager in X does. Changes in patterns cause damages and a damage manager has to updates the controller queues where they have been damaged,

The good news it that we have done more ifaces in the gst-buzztard module and this means that multi-voice machines now work nicely. We have also updated the gui and it now wrapps global params and voice params for each voice in GtkExpanders, that is one can collapse them to save space.

Still plenty to do for the next evenings ;-)

lcov
Finally I found an evening to do some hacking on lcov to make it work with libtool based user-space apps. A patch is available in the sf.net tracker. I hope that they will apply it and not just be silent. It allows to create such nice reports.

windows
My daily job is software development on windows. It is not fun :-(. I spend one day in vain trying to make the file-chooser remember its state. That is size and view (detailed, list, icons). Its just not possible! And I always thought programmers were just too lazy ...

gstreamer
I have setup an own buildbot-slave on a gentoo box with 2 cpus using distcc. Runs nicely. I am especially happy that people seems to like the coverage analysis of the unit-test runs.
Tried to come up with a patch for the buildbot html report that makes the table head and footer fixed position (keep them visible), but thats not so easy. Will try harder ;)

buzztard
Now I look into setting up a buildbot master for buzztard too. This made me trying to run 'make distcheck' on all the packages. Ohh my god, that keept me busy for quite some days. Run into a problem with intltool, but discovered that gentoo still has an old version in portage and there is an update for that available since january (bump request filed)! Still have problems with gtkdoc not beeing able to write some intermediate files.

eksor
Finally found some time to upload a new track. Its called 'Apocalypse' (give it a try). I also uploaded images of our WGT concert.

buzztard
exiting news - we've just got a first song with 3 windows buzzmachines running! No more crashes in multithreaded environments, thanks to a new dllwrapper (credits go to the avifile, xine and pitfdll projects). Still its not perfect as we seem to not yet set the default values in machines. So the example mentioned above (buzz6.xml) sounds quite broken. In bt-edit one can adjust the properties while it plays to get a bit better sound. In contrast the example buzz4.xml sounds quite okay already.

While doing all this we've discovered some more areas were work needs to be done. So right now there are some hardcoded things, just to get it to work. Gives us enough to do in june ;)

If you want to try the examples:

= buzz4.xml =
needs Arguelles GoaKick in your BML_PATH

./bt-edit --gst-debug="bml:2,bt-*:2" --command=load --input-file=../share/buzztard/songs/buzz4.xml

= buzz6.xml =
needs ErsKick ErsSnare and ErsHiHat in your BML_PATH

./bt-edit --gst-debug="bml:2,bt-*:2" --command=load --input-file=../share/buzztard/songs/buzz6.xml

Have fun!

6uadec
It was my first 6uadec and I liked it. I am curious where the next one will be and hope that I can get there again. I've got lots of stuff on my todo list (as usual). Looks like I will learn some python. Rober Love's talk about optimisations is just crying for some tools using pygtk to let developers expore diagnostic output (e.g. from strace, ltrace or glog).

buzztard
Yiha. I've exchanged the dll-wrapper and the new one (from libavifile/xine) seems to run nicer. At least the threading problems seem to be gone. Another advantage is that the wrapper starts faster. I also fixed some machine wiring issues and added new tests for them.

gtk+extra and gtk-engines
Discovered that now there is a first release of gtk+extra. Will try to use the GtkSheet for the bt-edit sequence and patterns. It seems to have everything we need - rectangular selections, row headers, arbitrary hiding of columns and rows, cell-borders where needed and so on. Just filed a bug against gtk-engines (smooth) that crashed the gtksheet demo.

19 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!