iiwusynth-devel
[Top][All Lists]
Advanced

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

[iiwusynth-devel] Re: Exclusive class and float-limiter


From: Peter Hanappe
Subject: [iiwusynth-devel] Re: Exclusive class and float-limiter
Date: Fri, 10 May 2002 01:42:41 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.8) Gecko/20020205

M. Nentwig wrote:
Hello,

I have implemented the exclusive class function ('an open hi-hat sound
terminates a closed-hi-hat sound'). Further, I have removed the limiter
for float-output, which took me so much effort to implement only a week
ago (four lines of beautifully handcrafted code, although completely
braindead :-)

I did it already today, running through all the previous emails.


Now there is a new Iiwusynth API function to terminate voices on a given
channel, depending on exclusive class. iiwu_defsfont.c will then call it
during the voice setup. It's somehow on one level with 'allocate_voice'.
But during 'allocate_voice', the exclusive class is not yet known, so
this had to be put into an own function.
Maybe this should be made more generic, i.e. 'postprocess_voice' or the
like. Peter?

The iiwu_synth_terminate_exclusive_class() you proposed won't work
correctly if a noteon spins off several voices. In that case, the
second voice will terminate the first voice.

However, the synthesizer keeps a note ID. It's used for noteoff to
determine what note event is the oldest one and to find all the
related voices.

I just commited a solution that replaced the iiwu_voice_start()
with iiwu_synth_start_voice().



Below is a diff, let's hope the linebreaks are not mangled this time.

BTW, how's the CVS access been working?

Lates,
Peter


Cheers

Markus




reply via email to

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