[gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: Jeff McClintock <jeffmcc@xxxxxxxxxx>
- To: gmpi@xxxxxxxxxxxxx
- Date: Thu, 01 Dec 2005 16:38:44 +1300
thockin@xxxxxxxxxx wrote:
OK Riddle me this
* I press key #60 on my keyboard:
t0: VVID(60).cutoff = 0.7
t0: VVID(60).velocity = 64
..-- VVID(60) is playing
t1: deactivate VVID(60)
-- VVID(60) goes into release stage (I have a long envelope release)
* I press key #60 on my keyboard again:
t0: VVID(60).cutoff = 0.1
-- What happens?
You forgot Velocity (you pressed key 60 again)
> Did I just ask for the cutoff to change on the tail of the first note, or
> did I ask it to start thinking about a new note?
you triggered a new note. The correct behaviour for any keyboard
instrument I can think of (Piano, Organ, Mellotron, Rhodes, Clavichord).
The real issue you're grappling with, is that the synth has limited
resources.
For each VVID you send, the plugin must allocate memory to hold the
current state of all controllers on the VVID (Pitch, Velocity etc).
If host keeps sending new VVIDs to the synth, the plugin will
eventually be overwhelmed by the huge ammount of 'state' it has to maintain.
'deallocating' a VVID frees those resources thereby saving the synth
consuming infinite memory.
But how many VVIDs can the synth handle before choking?, how is the host
supposed to know?, Why is it the host's mico-managing the synth's resources.
Do different synths have different max-VVID limits?, if so they're not
substituteable any more. How can you record a track on synth-A, then
decide you're rather hear the playback on Synth-B.
You want GMPI to have "unlimited voices" but you're not addressing the
messy reality. Synths have limited resources.
...So, after the host has de-allocated a VVID it is free presumably to
re-allocate it.
So the host is keeping track of which VVID are in use and
intelligently deallocating and reallocating them.
What is the net effect of de-allocating then re-allocating the same
VVID a second later?
- To reset all the VVID controllers to some default value.
Rather than this over-complicated allocate/deallocate scheme. Implement
a "voice-reset" command. It's the same result.
Best Regards,
Jeff
Did I just ask for the cutoff to change on the tail of the first note, or
did I ask it to start thinking about a new note? You've got an ambiguity
in the dialect. Forcing an allocate edge clarifies the exact intentions.
Tim
----------------------------------------------------------------------
Generalized Music Plugin Interface (GMPI) public discussion list
Participation in this list is contingent upon your abiding by the
following rules: Please stay on topic. You are responsible for your own
words. Please respect your fellow subscribers. Please do not
redistribute anyone else's words without their permission.
Archive: http://www.freelists.org/archives/gmpi
Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe
----------------------------------------------------------------------
Generalized Music Plugin Interface (GMPI) public discussion list
Participation in this list is contingent upon your abiding by the
following rules: Please stay on topic. You are responsible for your own
words. Please respect your fellow subscribers. Please do not
redistribute anyone else's words without their permission.
Archive: http://www.freelists.org/archives/gmpi
Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe
- Follow-Ups:
- References:
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: thockin
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: Koen Tanghe
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: thockin
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: Chris Grigg
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: thockin
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: Koen Tanghe
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: thockin
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: Jeff McClintock
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: thockin
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: Jeff McClintock
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: thockin
Other related posts:
- » [gmpi] Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- » [gmpi] Re: Parameters / controls / GMPI event system - refreshment
OK Riddle me this
* I press key #60 on my keyboard:
t0: VVID(60).cutoff = 0.7 t0: VVID(60).velocity = 64
t1: deactivate VVID(60)
-- VVID(60) goes into release stage (I have a long envelope release)
* I press key #60 on my keyboard again:
t0: VVID(60).cutoff = 0.1
-- What happens?
You forgot Velocity (you pressed key 60 again)
Did I just ask for the cutoff to change on the tail of the first note, or did I ask it to start thinking about a new note? You've got an ambiguity in the dialect. Forcing an allocate edge clarifies the exact intentions.
Tim
---------------------------------------------------------------------- Generalized Music Plugin Interface (GMPI) public discussion list Participation in this list is contingent upon your abiding by the following rules: Please stay on topic. You are responsible for your own words. Please respect your fellow subscribers. Please do not redistribute anyone else's words without their permission.
Archive: http://www.freelists.org/archives/gmpi Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: thockin
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: Koen Tanghe
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: thockin
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: Chris Grigg
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: thockin
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: Koen Tanghe
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: thockin
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: Jeff McClintock
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: thockin
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: Jeff McClintock
- [gmpi] Re: Parameters / controls / GMPI event system - refreshment
- From: thockin