publicsamples / Oi-Grandad

4 Voice Granular Synth
GNU General Public License v3.0
296 stars 8 forks source link

Midi Map saved only with preset ? #2

Closed nay-seven closed 1 year ago

nay-seven commented 2 years ago

Hello, Congrats for your work, Any chance to have a global Midi map ?, here i need to recreate and save for each preset MacOS Mojave, Daw: Bespoke

RickTaylor79 commented 2 years ago

Hi,

Maybe. I'm just not sure there's a need for it. As it stands, the knobs are user assignable. A right click brings up a "learn/assign" menu that lets you map them to different CC numbers. To save these assignments, just save a preset using the synths internal preset manager.

to my mind this is more flexible and user friendly than imposing a predetermined set of CCs, but maybe I'm missing something?

Bespoke looks amazing btw, checking it out now :)

nay-seven commented 2 years ago

Thanks for your fast answer, Most often, Midi mapping are independent of the presets, cause (to explain more), of course i can create a preset with my midi CC, but if I want to use Factory presets for example, this doesn't work anymore ? And I'm agree with you , predetermined set of CCs is not interesting. About Bespoke, yes, it's an excellent Modular Daw, with many good ideas !

RickTaylor79 commented 2 years ago

Okay, now I'm with you. I'll have to think about this, no idea how I'd implement it.

RickTaylor79 commented 2 years ago

I'll definitely keep this in mind for a future release, in meanwhile here's a quick and dirty work around.

The preset files are just basic XML, so if you have one preset with MIDI assignments that you're happy with it's simply a case of coping the assignments to the other presets. You'll find them at the end the file:

<MidiAutomation> <Controller Controller="12" Processor="ui" MacroIndex="-1" Start="0.0" End="1.0" FullStart="0.0" FullEnd="1.0" Skew="1.0" Interval="0.01" Attribute="pos" Inverted="0"/> <Controller Controller="13" Processor="ui" MacroIndex="-1" Start="0.0" End="1.0" FullStart="0.0" FullEnd="1.0" Skew="1.0" Interval="0.01" Attribute="Dense" Inverted="0"/> <Controller Controller="14" Processor="ui" MacroIndex="-1" Start="0.0" End="1.0" FullStart="0.0" FullEnd="1.0" Skew="1.0" Interval="0.01" Attribute="spread" Inverted="0"/> </MidiAutomation>

nay-seven commented 2 years ago

Nice, works fine Thanks !