Older blog entries for ensonic (starting at number 35)

LinuxTag in Chemnitz/Germany

This weekend was the LinuxTag event in Chemnitz/Germany. Its the 2nd largest meeting in Germany and well known for not beeing overly comercialized :)

We participated by doing the gnome booth, showing the brand new gnome 2.14 to visitors. Additionally I gave a talk about "GNOME and GStreamer" (slides as pdf). Even though the talk was a bit late and on sunday, there were many listeners. A good sign for growing interest in GNOME, me thinks.

Many germans use KDE as this was pre-chosen by distributions like suse. Thus the talks started often like:

Well, I usualy use KDE, but what exactly is the different to GNOME?

Hard question for someone who basicly uses GNOME all the time. So we introduced them out out beloved desktop and generally they liked it. For many its the clean & slick look that makes it. Yay!

more -Werror

I aggree so totally with thomas. One thing some people seem not to notice is that a compiler error means that the compile cant understand your source-code anymore and a compiler warning means the compiler is unsure what code to produce from the source.

Thus it is better to fix the error to precisely guide the compiler. As a nice side effect making the code more explicit helps other developers too :)

9 Feb 2006 (updated 9 Feb 2006 at 13:56 UTC) »
Little intermediate update :) Was a bit tired of engine work and as nobody responded to the calp for help with the GUI, I took a stab at it. Heres a glance at it:

Its quite amazing what a treview-widget can look like, if you tune cellrenderers and do subclassing of it. Another trick is to have multiple views on one model and reuse the GtkAdjustments, so that they scroll in sync. I used that for the first column in the above screenshot. This way the column wont scroll away and the cursor in the bigger view can't get into it :).

Now I need to do the same for the pattern view and probably tune the column-headers a bit.

Last month I reported that seeking works. This was only half of the truth. It does not work when recoding to files. For now we added some workaround, otherwiese it would record huge songs. I need to investigate what exactly makes it fail.

There is still progress on the recording front. Songs now have tags too. The data you enter on the information page goes into the tags (ogg and mp3).

Next I did a major overhaul of our gst-buzztard module. It now has docs, tests and features a little soft-synth. Really a little one, but progress compared to 'audiotestsrc'. It can play notes (yes, a real trigger param) and it has a simple decay envelope. Before audiotestsrc was beeping continously and we were only shaping this with a separate volume element. Want to hear an example? Here you go.

Unfortunately we've been hit by a regression. I thought the mute, unmute stuff works now, but it does not. Its more complex. Its getting better, but it definitely needs more analysis. We're probably the only ones doing stuff like that with poor pipelines ...

Did some work on the developer manuals. My goal is to eventually merge them with the API docs. Then we can easily xref and can share information. Will make a plan and post to the gst-devel list.

Also fixed the id3mux element, so that tagging mp3 files works again. The plugin is still not nice code-wise. Quite obscure :)


Next todo list item done - seeking works! I've implementd it for audiotestsrc and the gstbml plugin. This means two things: first we now get the EOS (end of stream) for generated data too and second we can play loops again.

I've also extended the GUI a little. You can now move the loop-start/end around by holding ctrl/alt while clicking in the position column of the sequence. Need to add keyboard-shortcuts for it still. Loops are also loaded from and stored in song-files now.

While also doing some cleaups in the sources and removing cruft I was able to fix some GUI deadlocks. Never paint to widgets that are now shown ;).

Looks like we can finally approach new thing for the next month, like writing a simple synth plugin for gstreamer, that is able to play real notes.

help: One blocker in buzztard right now is that we have no proper widgets to edit patterns. We've started to write down requirements in our wiki. If anyone feels like contributing his gtk-widget writing skills to our project - you are very welcome! Emails us (see sf.net site) or meet us in the buzztard irc channel or the gstreamer irc channel


Progress! Remember, we had some gstreamer blockers I wrote about last month. First the mute, solo, bypass stuff seems to work. I need to write tests for it now ;) The seeking did not managed to be solved in gstreamer-0.10 but its been looked at now, so we're optimistic.

In the last month's news I also wrote about the recording feature. It turned out to be not as difficult as I thought. And voila - buzztard can record songs as ogg, mp3, wav, flac and raw ;)

Implementing the record feature made me aware that machine settings and preferences GUI can't handle enums. So thats now fixed too. You can try this out yourself. Load one of the simpleX.xml testfiles and switch the waveform of the genarator while playing.

Next I'll do some cleaning up and see if we can get seeking done.


I've done a gtk-doc day today. First I spent some time fixing bugs. I've finally posted patches and ideas to fix 3 bugs. Next I added more content to the manual. I belive its already much more complete, than the fragments of information we had before. While doing the manual I added several questions to my todo list and started to go over the sources to find answers. Tricky.

Then I changed my mind and started to set up unit-tests for gtk-doc. The idea is to have a sample project with all kinds of doc-comments. That test-drives gtk-doc and also serves as a reference. It already works, but there are some cosmetic issues to be resolved before it can go in. Quite nice so far.

Suse 10 again
Still having it ;). The community has been really helpful and it turned out that the kernel bug I was experiencing wasn't distribution specific.

My TV card still does not work well (Haupage WinTV with Connexant chips).

I have a internet connection via tv kabel. my freiend across the street don't get anything that ISDN. Since I have the N770 I have Wifi too, so we though we connect him via Wifi. My AP is a DLink DWL-200AP+. So we brought two more and set them up as a repeater and a wireless client. It worked well. To avoid that I need to have my linux router running all the time, we brought a DLink DI-824VUP (router with switch and ap). And then the problems begun to start. The router AP can be repeated with the ap's we already have (where the manual says otherwise). We now have exchanged a fair amount of mail with the support and the suggest different devices with each answer. Are they kidding. We're not going to buy each of all their wifi gears to find out which of the can play together. With their latest mail, they trying to sell us 108 Mbit APs.

To be continued ...

A big thanks to everybody involved. I looks much better than 0.8.


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.


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.


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?

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