View Single Post
Old 12-31-2017, 02:32 PM   #420
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 5,035
Default

Quote:
Originally Posted by fundorin View Post
I feel like we are talking about different types of maps. Let me see if I understand your approach correctly.

I see this plugin's logic divided in two parts:

1. Main script, describing surface logic. MCU, SL, others. MIDI, OSC, SYSEX, feedback parts are going here. These script aren't universal.
One should map physical controls to the widgets and configure their type in the main script.
Sort of...

You give widgets names and then map them to Actions.
In this regard Actions are no different than FX, as a matter of fact if you look at the code, you will see that TrackFX_Action is just one of the many actions, it's not different or special in any way from a mapping perspective.


Quote:
Originally Posted by fundorin View Post
The main script should be placed in the folder "Integrator".
Sure, maybe, haven't thought about directory structure quite yet.

Quote:
Originally Posted by fundorin View Post
2. Plugmaps. These are universal and independent from the surface. They only describe connections between widgets and fx/inst parameters.
No, they are required to use only widget names that exist on a given surface, they have a surface context.

Quote:
Originally Posted by fundorin View Post
So, Widgets would store FX parameters data from Reaper (names, values and othert types) in them and would translate midi/osc data to control fx parameters in Reaper and provide feedback to the surfaces.
One can create plugmaps: define the parameters order, their type, like is it a button/fader/selector/list for the specific plugins and share them.
No, widgets don't store anything and plugin parameters do not have a type, you can control a parameter with just about any widget, some make more sense than others, that's all.

Quote:
Originally Posted by fundorin View Post
Plugmaps should be placed into "Plugmaps" folder, either freely (root path) or in hierarchy, like /Plugmaps/Vendor/PluginName.txt or /Plugmaps/!Type/PluginName.txt
For example, both /Plugmaps/Arturia/Analog Lab 3.txt and /Plugmap/!EQ/Fabfilter Pro-L2.txt are valid paths. In case of duplicate maps, /!Type/PlugName.txt path has higher priority upon /Vendor/PlugName.txt and plugmap in the root /Plugmaps/ folder has higher priority than both /Vendor/ and /!Type/ subfolder maps. If plugmaps have the same name/id, the newer one would be used by integrator.
Don't know, once again haven't thought through directory structure, but what you describe looks overly complex and I didn't find the concept of priority very useful in this context (both duplicates and date stamps).

Quote:
Originally Posted by fundorin View Post
The plugin itself should load the needed plugmap, based on the filename or on the first line inside the map, that would have the plugin's name/id. I'd prefer filename, though, since it's easier to rename, in case of renaming the plugin itself inside the Reaper.
Nope, the plugin simply asks if there is a map available, it has no clue about filenames, filesystems, etc.

Quote:
Originally Posted by fundorin View Post
Are we sharing the same vision here or not?
Not sure, at a very general level, yes, but as far as details, we seem quite far apart on some things.
__________________
CSI - You can donate here: geoffwaddington.ca
Beta software: https://stash.reaper.fm/v/38349/CSI%20beta.zip
installation and documentation here: https://github.com/malcolmgroves/reaper_csi/wiki
Geoff Waddington is offline   Reply With Quote