fluid-dev
[Top][All Lists]
Advanced

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

Re: [fluid-dev] Questions about Gleam


From: Guillaume Pothier
Subject: Re: [fluid-dev] Questions about Gleam
Date: Mon, 21 Apr 2008 11:13:35 +2000

Hi Miguel, thanks for your help.
Indeed I think the autorepeat feature should be implemented outside of
GleamCore. Maybe I wasn't very clear in my previous mail, but what I
wanted to do was to provide a subclassed list to the midi loader so
that I could be notified when events are consumed. So all this extra
code was outside of Gleam, the only change I had to do to Gleam itself
was to declare the addNode methods of GleamList virtual.
I'm wondering, what is the intended use of this freed events list? I
guess it is for deallocating the memory of the events, right? I was
thinking that it might be more generic to use a callback, rather than
storing the events in a list. So if someone needs to have a list of
freed events, they can do it by providing a proper callback. If
someone wants to do something else, like this autorepeat stuff, or
directly deleting the events, they can also do it. What do you think?
g


On Mon, Apr 21, 2008 at 3:20 AM, Miguel Lobo <address@hidden> wrote:
> Sorry again, I did not try compiling with the debug log disabled.  It should
> work now.
>
> It's important to keep the intended purpose of GleamCore as simple and easy
> to understand as possible (and reasonable), so I think a feature like your
> propose would be better implemented outside GleamCore.  For example, in the
> playmidi example, you have this code:
>
>     /* add a condition sync event so we know when all events have been
> played */
>     GleamConditionSyncEvent&
> endEvent(events.addType<GleamConditionSyncEvent>()());
>     endEvent.freeList = &events;
>      endEvent.time = lastTime;
>
> [...]
>
>     /* wait until the end event is played */
>     endEvent.conditionSync.wait();
>
> At that point you could add all events again instead of exiting.
>
> Hope this answers your question.
>
> --
> Miguel
> Check out Gleam, an LGPL sound synthesizer library, at
> http://gleamsynth.sf.net
>
>
>
>
> On Sat, Apr 19, 2008 at 11:23 PM, Guillaume Pothier <address@hidden>
> wrote:
> > Hi Miguel, thanks for your reply!
> > I updated my working copy and now I have other errors (string.h is not
> > imported in debuglog.h, and bad call at sf2voice.cpp:551; for now I
> > just commented the offending statement out)
> >
> > I started playing around with Gleam and I was wondering how could I
> > implement a "repeat" feature: I would like to load a short midi file,
> > and have it playing over and over again. I thought that the simplest
> > mean of doing that would be to overload the freeList so that whenever
> > an event is added to it, I push it back to the synth, with an updated
> > timestamp. First of all, does it sound like a reasonable solution?
> > Second, to to that I would need the addNode method of GleamList to be
> > virtual. Could that be?
> >
> > Regards,
> > g
> >
> >
> >
> >
> > On Sun, Apr 20, 2008 at 2:51 PM, Miguel Lobo <address@hidden> wrote:
> > > Hi,
> > >
> > > Gleam is still very related to fluidsynth so I hope people won't get
> > > offended if there are questions about it here.  However, I don't always
> read
> > > all posts in this list (especially when I'm very busy at work like in
> the
> > > last few weeks), so please CC me on any message about Gleam to be sure
> it
> > > doesn't get lost.
> > >
> > > The reason Gleam from SVN wasn't compiling was that I had a change half
> > > checked-in.  I've now completed the check-in, so it should build.  This
> > > change, which is what I've been working on recently, basically adds an
> > > interface to generate useful debug information.  I'm trying to use it to
> > > track down severe clicking problems that seem to appear in some
> particular
> > > songs.
> > >
> > > In response to your other questions:
> > >
> > > - Gleam might well be more CPU-intensive than fluidsynth at this point;
> I
> > > haven't checked.  The reason is I'm focusing on getting functionality
> right
> > > before looking into performance optimisations.  Anyone who wants to look
> > > into the latter is welcome right now, of course.
> > >
> > > - Gleam has been designed with the idea of being able to combine
> multiple
> > > synthesis models (or "subsynths" as I've called them) in a single
> logical
> > > synthesizer.  Currently only the only implemented subsynth is based on
> the
> > > SF2 spec, but I hope other subsynths will be added in the future.
> > >
> > > As always, anyone who wants to do *any* type of development on Gleam
> will
> > > have my full support as far as answering questions and so on.
> > >
> > > --
> > > Miguel
> > > Check out Gleam, an LGPL sound synthesizer library, at
> http://gleam.sf.net
> > >
> > >
> > >
> > > On Sat, Apr 19, 2008 at 5:28 PM, Guillaume Pothier <address@hidden>
> > > wrote:
> > > >
> > > >
> > > >
> > > > Hi,
> > > > I hope this place is more or less appropriate to ask questions about
> > > Gleam.
> > > > So here are a few questions:
> > > >
> > > > - Gleam from svn is not building right now, I get those errors:
> > > > /home/gpothier/tmp/gleamsynth/GleamCore/src/sf2/sf2voice.cpp: In
> > > > constructor 'GleamSF2Voice::Private::Private(GleamCore&,
> > > > GleamSF2SubSynth&, GleamSynthConfigurationV1&, GleamSF2Voice&)':
> > > > /home/gpothier/tmp/gleamsynth/GleamCore/src/sf2/sf2voice.cpp:169:
> > > > error: 'class GleamArray<GleamSF2Generator>' has no member named
> > > > 'setCountWithoutCopy'
> > > > /home/gpothier/tmp/gleamsynth/GleamCore/src/sf2/sf2voice.cpp: In
> > > > member function 'bool GleamSF2Voice::on(const GleamNoteEvent&,
> > > > GleamSF2Zone&)':
> > > > /home/gpothier/tmp/gleamsynth/GleamCore/src/sf2/sf2voice.cpp:235:
> > > > error: 'class GleamArray<GleamSF2Modulator>' has no member named
> > > > 'count'
> > > > /home/gpothier/tmp/gleamsynth/GleamCore/src/sf2/sf2voice.cpp:236:
> > > > error: 'class GleamArray<GleamSF2Modulator>' has no member named
> > > > 'count'
> > > > /home/gpothier/tmp/gleamsynth/GleamCore/src/sf2/sf2voice.cpp: In
> > > > member function 'void GleamSF2Voice::updateModulators(bool)':
> > > > /home/gpothier/tmp/gleamsynth/GleamCore/src/sf2/sf2voice.cpp:722:
> > > > error: 'class GleamArray<GleamSF2Modulator>' has no member named
> > > > 'count'
> > > >
> > > > Is it okay to replace all those "count" by "capacity"?
> > > >
> > > > - Is Gleam more CPU-intensive than fluidsynth?
> > > > - I'd like to eventually have a fixed-point synthesizer. If I have
> > > > time I might have a try at writing one. Where would it fit in the
> > > > design of Gleam?
> > > >
> > > > Regards,
> > > > g
> > > >
> > > >
> > > > _______________________________________________
> > > > fluid-dev mailing list
> > > > address@hidden
> > > > http://lists.nongnu.org/mailman/listinfo/fluid-dev
> > > >
> > >
> > >
> >
>
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]