ensonic is currently certified at Master level.

Name: Stefan Kost
Member since: 2004-02-19 19:35:53
Last Login: 2008-08-10 18:08:46

FOAF RDF Share This

Homepage: http://www.sonicpulse.de

Notes:
Here are the other homepages:
www.buzztard.org - homepage of what will be a free clone of the buzz music composer (based on gstreamer and a lot of gnome)
www.eksor.de - homepage of my music band (all songs for free download)

Projects

Recent blog entries by ensonic

Syndication: RSS 2.0

10 Aug 2008 »

buzztard

Wow, July went fast. I spend most time with my family. Still a few news from the development front. I worked mostly on wavetable view. It now features more proper sample playback. I wrote a memory audio source for GStreamer. It supports forward and backward playback. This is needed for e.g. ping-pong loops. Also now changing things takes effect while a sample plays. Our waveform widget also shows a playback pointer and loop markers. I also got around to unify and merge duplicated note conversion code. You know, when you've copied something the 3rd time, its time to refactor.

Earlier this month I refactored the song-io plugin API a bit. It has now more metadata. This helps the UI to setup file and recent filters. Unfortunately I had to find out that the mime-type detection in glib was broken. Its at least fixed in trunk. No idea since when it actually worked. As a workaround I am now adding "*.xml" to the filters.

6 Jul 2008 »

buzztard

Some very visible changes this month - svg machine canvas icons. For that I needed to add better icon theme support. All icons are now themeable and colors are matched with the theme. Machines now have tiny level-meters embedded in the icon.

I also found a solution for slow start of playback in complexer songs. Data- format-negotiation is not deterministic in all cyclic gstreamer graphs. Proposed patches are attached to Bug 540645.

Finally I got around implementing support for a zip based song format. This can contain binaries (like the samples being used). The loader is based on libgsf, which turned out to be a pleasant experience.

I also added filters to the load and save file-choosers and to the recent-chooser in the new recent menu. Still fighting with the filter not doing a precise detection.

Next on my todo list is refactoring the song io plugin api a bit. Right now there is too much hard-coded data (like mime-types, format names, extensions).

5 Jun 2008 »

buzztard

In the previous month I worked further on sample support. Samples are played now from memory and can be transposed. Also the buzz song import plugin got sample support added. This means I can load now a big share of my existing songs. While testing those I could fix some more issues with plugin initialisation and those song sound like in original buzz now. Yah, we're getting there.

The current version also brings some eye-candy, Marc (aka deloun) drew us great icons in tango style. I reworked the code to load all icons via theme mechanism. I also allocate other color based on chosen theme now. One thing left for June is to start using the svg on the canvas.

gtk-doc

Current version in svn should give much better warning messages. They are now gcc style and tell you filename and line. That should help to jump to the right place from your favourite editor. Now go and fix your docs :)

10 May 2008 »

buzztard

As can be seen on our roadmap sample support is scheduled for 0.4. As this is the major feature, we started working on it. I have to say that building buzztard on top of GStreamer was definitely the right thing to do. We can now load whatever GStreamer can handle. FSM did a nice cairo-based waveform widget. Right now I am working on the code that allows plugins to access the wavetable. It will hopefully be ready real soon.

Besides that I've started to restructure the gst-buzztard package a bit further. I also plan to merge the buzz wrapper plugin into it. The aim is to reduce the number of packages that one needs to build.

12 Apr 2008 »

After the release I demoed it some friends and obviously found some issues. Now I spend the rest of the month tracking then. Its mostly ref-counts issues. Why are the so nasty? Well unlike memory leaks, they are anonymous. Memory is allocated once and should be paired by one free. The id of the resource is the memory address. Now every ref should be paired by an unref, but all the refs and unrefs share the same id (address of the object). So how to figure which ref is not having the unref? Refdbg can trace object and gather backtraces for ref-count operations. So one has to go through the list one by one, remove pairs and study whats left. Its not easy, but it works. Now why is this so important. If the refcount never reaches 0, the object is not disposed and occupies memory (until the application exits). Under valgrind it would appear under reachable memory usually. For most apps it has no immediately visible effect. For gstreamer app it has. In buzztard I do dynamic stuff with pipelines, like adding and removing elements. If you get the ref-counting wrong. The element is unlinked but not disposed. If the pipeline is set to PLAYING one gets data flow errors. But then its not a gstreamer only problem. E.g. icon theme pixbufs in gtk. If the are not unrefed, gtk cannot unload the theme. Means if you try a bunch of themes, none of the is unloaded if even just one panel applet has a ref-count issue. The sad thing is that the gnome libraries have quite some ref-count leaks. I've started to track and fix them as its hard to see something within all this noise (#525815, #66513).

I've released buzztard-0.3.1 with the fixes. A few more developments to mention: Waffel started a demo for the zip loader based on libgsf, Deloun made great svg designs for the machine view canvas and the tabs and Herzi send me a patch to add native scrolling in the pattern editor. Now back to new features, yah!

78 older entries...

 

ensonic certified others as follows:

  • ensonic certified ensonic as Journeyer
  • ensonic certified mathrick as Journeyer
  • ensonic certified Uraeus as Master
  • ensonic certified rbultje as Journeyer
  • ensonic certified ds as Master
  • ensonic certified thomasvs as Master
  • ensonic certified mathieu as Master
  • ensonic certified zeenix as Journeyer
  • ensonic certified omega as Master
  • ensonic certified thaytan as Master
  • ensonic certified jdahlin as Journeyer
  • ensonic certified herzi as Master
  • ensonic certified peaceandlove as Journeyer
  • ensonic certified waffel as Journeyer
  • ensonic certified jdub as Journeyer
  • ensonic certified phkhal as Journeyer
  • ensonic certified Elleo as Journeyer
  • ensonic certified deadchip as Journeyer
  • ensonic certified pycage as Master
  • ensonic certified cinamod as Master

Others have certified ensonic as follows:

  • ensonic certified ensonic as Journeyer
  • mathrick certified ensonic as Journeyer
  • Uraeus certified ensonic as Master
  • jdahlin certified ensonic as Journeyer
  • dfenwick certified ensonic as Journeyer
  • herzi certified ensonic as Master
  • mirwin certified ensonic as Master
  • waffel certified ensonic as Master
  • pycage certified ensonic as Master
  • kfoltman certified ensonic as Master

[ Certification disabled because you're not logged in. ]

New Advogato Features

FOAF updates: Trust rankings are now exported, making the data available to other users and websites. An external FOAF URI has been added, allowing users to link to an additional FOAF file.

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!

X
Share this page