[Fwd: Per class signals with GObject]



I sent this message to this list about five days ago. I wasn't
subscribed to the list at the time so I'm assuming its awaiting
moderator approval. As I am quite anxious for any answers anybody has I
decided to subscribe and post it again. I apologize for the duplicates
should the old one arrive.


-------------


I'm currently in the process of overhauling my program "Smurf Sound Font
Editor" to make it more flexible. Smurf is a program that edits sound
font files which contain audio sample based instruments and parameters
for MIDI music composition.
I would like to "objectify" the various sound font structures to benefit
from signals, parameter lists and object ref-counting. I'm still trying
to decide if GObject is what I should use, since I want to keep the
sound font editing functions separate from the GUI. The structure of a
sound font can be visualized as a tree of specifically ordered items.

There are a number of issues that I am concerned about in using GObject
as a wrapper for these structures.

1. There are typically several thousand objects in a sound font (Preset,
Instruments, Samples and Zones) and I support loading of multiple files.
So the amount of additional memory overhead for each GObject should be
minimized. Is the GObject class efficient enough for this purpose?

2. Is there a way to connect user signal handlers to an object's class?
This is desirable for memory efficiency reasons. Rather than having to
connect the same signal handler to every object for a particular signal
it would be nice to have just one connection on the object class itself.

An example of why this is desirable is the synchronization of a GTKCTree
with the sound font object tree. When any object is added or removed the
tree should be updated. Monitoring specific parameter changes (like the
name of an object) should also be possible in order to update the
GTKCTree.


Any hints, sources of information, or ideas appreciated. My only current
resource for GObject information is the reference manual, the source
code, and various posts that I can find on mailing lists. If there are
any other information resources on GObject I would appreciate the
mention of it (tutorials :)

-- 
    Josh Green
    Smurf Sound Font Editor (http://smurf.sourceforge.net)




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]