Inform host about changes


#1

Hi,

in my plugin (Midi editor for Access- Systhesizer) I also have an librarian running to load, save, copy sound data accross.
When doing so I also have to inform the host about changes in the library to make the user aware of that he should save
the host project file to keep these changes. I havent tested yet but I assume that the edit flag of the host project file
will be raised automatically if the user tweaks parameter in my plugin because that will introduce setParameterNotifyingHost().
Doing something in the library does not make use of setParameterNotifyingHost(). So how can I raise that edit flag then?

Hope I could explain the problem…

Thank you!
Joerg


#2

Okay, I did some tests and setParameterNotifyingHost() set the edit flag (as expected).
Then I’ve tested to call updateHostDisplay() instead without success.
I thought it will do the trick :frowning:

No idea?


#3

I’m not aware of any way to explicitly set that flag either.

have you tried something like setParameterNotifyingHost(0, getParameter(0)) that doesn’t actually change the parameter value.

or maybe add a parameter specifically for this purpose? there seems to be a way to disable automation for specific parameters by overriding ::isParameterAutomatable() - this might be good enough to hide this parameter in the Host GUI.


#4

Hi Steffen,

thank you for the hint.
It might be a the way to go but I was thinking of a more cleaner way as
setParameterNotifyingHost() is for paramters only. Anyway, it could do
the job for me. Will give it a go…

Thank you!
Joerg


#5

what sort of editor are you doing could you share some more info on it ? i’m writing a midi editor app myslef and there is a virus TI editor there http://ctrlr.org/page.php?p=ddb


#6

Hi Atom,

I am aware of your products and have to admit that your toolset is real nice to create
your own editor.
As you may remember of one of my first posts I am about to port my Windows only editor
(http://www.solar3d-software.com) to juce to run it on multiple platforms and as plugin.

Anyway, the reason why I do my own editor is because I am a musician myself using
Access Virus B and whatever editor I’ve tested so far was either not useable (bad UI) or did
miss very important features like librarian functions. Editing is one side of the coin,
managing sounds is the other. Of course, you can load a SysEx or Midi file into your DAW
and send them to the hardware by overwriting existing sounds (argh) but this is not
sound designing, this is wasting time, isn’t it :-).
So I did the Windows version with all of this features and was/be still very successful in selling it.

BTW: Somewhere in the forum I read a post from you asking for the math to pass
incomming Midi messages from the host to a physical Midi output on time.
I am at the same point now :frowning: Did you get further in this topic?

Thanks,
Joerg


#7

Okay, the only way I could figure out to set the host project file its edit flag
was to create a parameter (I called it hostEditFlagSetter) at the end of the plugin
parameter list and change this parameter using

beginParameterChangeGesture(hostEditFlagSetter); 
setParameterNotifyingHost(hostEditFlagSetter, 0.0f);
endParameterChangeGesture(hostEditFlagSetter);

beginParameterChangeGesture(hostEditFlagSetter); 
setParameterNotifyingHost(hostEditFlagSetter, 1.0f);
endParameterChangeGesture(hostEditFlagSetter);

I had to make use of …ParameterChangeGesture() to get it working!
Unfortunately, some hosts like Ableton Live do not hide this parameter if you tell the host that
he is not automatable so it might be a good idea to give it a understandable name like "DO NOT USE!"
as it will be visible in the parameter list.

Anyway, the above way (thanks Steffen for the hint) works (even if it is a bit unorthodox)
although I would like to do it a more cleaner way.

HTH
Joerg