|
|
|
11-23-2017, 06:44 PM
|
#241
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,254
|
Quote:
Originally Posted by _Stevie_
Has anyone tried to make this work with the Steinberg CMC series?
In particular the CMC-CH and the CMC-QC?
|
It's been a while since I looked at the protocol they use, I think it's fairly close to Mackie.
The whole idea of this project is custom maps, so you should be able to get at least a good portion of it working, if not all, unless there's something really wacky in their protocol implementation
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
11-23-2017, 08:28 PM
|
#242
|
Human being with feelings
Join Date: Oct 2017
Location: Black Forest
Posts: 5,067
|
Hey Geoff,
Indeed, from what I could gather on the net, the CMCs use a similar protocol. However, I don't know for sure.
Thankfully, Steinberg has put the info in a PDF.
ftp://ftp.steinberg.de/Download/Hard...c_en_om_a0.pdf
If you say the CMCs can be hooked, I'm a happy donator!
|
|
|
11-24-2017, 02:00 AM
|
#243
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,254
|
Quote:
Originally Posted by _Stevie_
Hey Geoff,
Indeed, from what I could gather on the net, the CMCs use a similar protocol. However, I don't know for sure.
Thankfully, Steinberg has put the info in a PDF.
ftp://ftp.steinberg.de/Download/Hard...c_en_om_a0.pdf
If you say the CMCs can be hooked, I'm a happy donator!
|
Thanks, I'll include a map for those guys, when there are maps
Meanwhile, just install the stock MCU for each CMC module, you should get faders, mute, solo, recArm, and transport right away.
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
11-24-2017, 12:54 PM
|
#244
|
Human being with feelings
Join Date: Oct 2017
Location: Black Forest
Posts: 5,067
|
Hey Geoff,
oh wow, I never tried the MCU mode with these. The CMC-CH works pretty well out of the box! Some button light toggles are missing, though. But I was able to assign actions to buttons, which is already pretty cool. Donation is its way!
If you need any help for testing, let me know.
EDIT: btw, I noticed that adding the MCU slows down Reaper tremendously, especially when having a huge track count. Will this be an issue with the CSI?
Last edited by _Stevie_; 11-24-2017 at 01:50 PM.
|
|
|
11-25-2017, 12:20 PM
|
#245
|
Banned
Join Date: Feb 2014
Location: Moscow, Russia
Posts: 554
|
Hi, Geoff. Can I get an unrefactored version with some test map to try it out?
|
|
|
11-25-2017, 05:03 PM
|
#246
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,254
|
Quote:
Originally Posted by _Stevie_
Hey Geoff,
oh wow, I never tried the MCU mode with these. The CMC-CH works pretty well out of the box! Some button light toggles are missing, though. But I was able to assign actions to buttons, which is already pretty cool. Donation is its way!
If you need any help for testing, let me know.
EDIT: btw, I noticed that adding the MCU slows down Reaper tremendously, especially when having a huge track count. Will this be an issue with the CSI?
|
I tested earlier with high track counts, and with empty tracks no FX, it was fine up to about 2000, then it started to slow, but of course, that is not a real world test
We'll have to see how responsive we can make it
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
11-25-2017, 05:05 PM
|
#247
|
Human being with feelings
Join Date: Oct 2017
Location: Black Forest
Posts: 5,067
|
Oh man, that's perfectly fine. I was using de-activated tracks for testing. 2000 tracks is awesome!
|
|
|
11-25-2017, 05:05 PM
|
#248
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,254
|
Quote:
Originally Posted by fundorin
Hi, Geoff. Can I get an unrefactored version with some test map to try it out?
|
Unfortunately no, I'm letting the code design drive the map format choices, they naturally follow from the code, so the code has to be reasonably complete before final choice of map format.
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
11-25-2017, 05:08 PM
|
#249
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,254
|
Quote:
Originally Posted by _Stevie_
Oh man, that's perfectly fine. I was using de-activated tracks for testing. 2000 tracks is awesome!
|
Yeah, it was a while ago, I seem to remember you could bury it by hammering the bank switches relentlessly, probably overloaded the MIDI stream, might have to throttle/thin that down the road
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
11-29-2017, 02:53 AM
|
#250
|
Banned
Join Date: Feb 2014
Location: Moscow, Russia
Posts: 554
|
Quote:
Originally Posted by Geoff Waddington
Unfortunately no, I'm letting the code design drive the map format choices, they naturally follow from the code, so the code has to be reasonably complete before final choice of map format.
|
Np. What format will be used for plugin maps?
|
|
|
11-29-2017, 03:07 AM
|
#251
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,254
|
Quote:
Originally Posted by fundorin
Np. What format will be used for plugin maps?
|
The plugin map format is the easiest part of the mapping effort, it's just key value pairs.
Here's a sample of the hardwired code, on the left are the names I gave the control surface widgets, and on the right are the VST param names, you can easily see how this can be represented in a simple way in a map file:
fxMap = new FXMap("VST: UAD Harrison 32C (Universal Audio, Inc.)");
fxMap->AddEntry("LoCurve", "LowPeak");
fxMap->AddEntry("HiGain", "HiGain");
fxMap->AddEntry("HiFrequency", "HiFreq");
fxMap->AddEntry("HiMidGain", "HiMidGain");
fxMap->AddEntry("HiMidFrequency", "HiMidFreq");
fxMap->AddEntry("HiMidQ", "LowPass");
fxMap->AddEntry("LoMidGain", "LoMidGain");
fxMap->AddEntry("LoMidFrequency", "LoMidFreq");
fxMap->AddEntry("LoMidQ", "HiPass");
fxMap->AddEntry("LoGain", "LowGain");
fxMap->AddEntry("LoFrequency", "LowFreq");
fxMap->AddEntry("Equalizer", "Bypass");
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
11-29-2017, 11:46 AM
|
#252
|
Human being with feelings
Join Date: Nov 2017
Location: Heidelberg, Germany
Posts: 797
|
Just want to say hello.
It seems like in this DAW I will have a concurrence .
I see that from positive perspective and I hope you have nothing against.
Posting links here will be inappropriate, google can show you what I mean...
|
|
|
11-29-2017, 04:11 PM
|
#253
|
Banned
Join Date: Feb 2014
Location: Moscow, Russia
Posts: 554
|
Quote:
Originally Posted by Geoff Waddington
Here's a sample of the hardwired code, on the left are the names I gave the control surface widgets, and on the right are the VST param names, you can easily see how this can be represented in a simple way in a map file:
|
As long as every plugin would have a separate keyfile for it, I feel like this is a very simple and understandable approach. Nice!
Please, don't abandon this project, Geoff. I was thinking about making the whole bridge in oscii-bit, but then decided to wait for your project to be finished, cause I really need those custom keymaps.
|
|
|
11-30-2017, 12:59 AM
|
#254
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,254
|
Quote:
Originally Posted by fundorin
As long as every plugin would have a separate keyfile for it, I feel like this is a very simple and understandable approach. Nice!
|
Yeah, there are pros and cons to many small files vs one monolithic file, why is your preference many small files ?
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
12-01-2017, 06:31 PM
|
#255
|
Banned
Join Date: Feb 2014
Location: Moscow, Russia
Posts: 554
|
Quote:
Originally Posted by Geoff Waddington
Yeah, there are pros and cons to many small files vs one monolithic file, why is your preference many small files ?
|
The reasons behind this are simple:
sharing already made presets for single plugins between users (via Reaper stash or directly).
Having an ability to temporarily exchange existing mappings in your mappings folder with alternative or updated versions from other users.
Quickly editing the particular map in the text editor.
|
|
|
12-01-2017, 07:14 PM
|
#256
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,254
|
Quote:
Originally Posted by fundorin
The reasons behind this are simple:
sharing already made presets for single plugins between users (via Reaper stash or directly).
|
Well that would only work if everyone named their control surface widgets the same.
For instance consider:
fxMap->AddEntry("LoCurve", "LowPeak");
The parameter "LowPeak" is the name of the VST parameter and cannot be changed.
The parameter "LoCurve" is arbitrary and assigned by the user to a particular widget.
So an entry in the Control Surface map file might look something like:
"LoCurve" 0x90 0x20 0x7f
This entry defines the MIDI message 0x90 0x20 0x7f, and names it "LoCurve".
You as a user can name it anything you want "LoCurve", "LCurve", "Pancakes", whatever you want.
So exchanging maps is a bit more tricky than you might imagine.
Quote:
Originally Posted by fundorin
Having an ability to temporarily exchange existing mappings in your mappings folder with alternative or updated versions from other users.
Quickly editing the particular map in the text editor.
|
Fair enough, but those have to be balanced with:
Easy to lose/misplace/forget to copy one of many files, as opposed to one file that's either there or not.
As shown in the above example when you wish to edit an FX map, you likely need the information for the Control surface mapping to pair a widget with an FX param, so there is actually an argument to have the Control Surface mappings AND the FX mappings all in one file.
I don't disagree with what you say, but I'm not sure what the optimal solution is quite yet.
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
12-01-2017, 07:24 PM
|
#257
|
Banned
Join Date: Feb 2014
Location: Moscow, Russia
Posts: 554
|
Quote:
Originally Posted by Geoff Waddington
Well that would only work if everyone named their control surface widgets the same.
For instance consider:
fxMap->AddEntry("LoCurve", "LowPeak");
|
Why not just use parameter's number as an ID, instead of name?
Quote:
Originally Posted by Geoff Waddington
"LoCurve" 0x90 0x20 0x7f
This entry defines the MIDI message 0x90 0x20 0x7f, and names it "LoCurve".
You as a user can name it anything you want "LoCurve", "LCurve", "Pancakes", whatever you want.
|
Exactly. But the parameter's number will stay the same.
Quote:
Originally Posted by Geoff Waddington
Fair enough, but those have to be balanced with:
Easy to lose/misplace/forget to copy one of many files, as opposed to one file that's either there or not.
|
There should be a folder inside Reaper/Plugins, called GeoffPlugMaps, or something like that. Check how MCU plugin does it:
|
|
|
12-01-2017, 07:49 PM
|
#258
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,254
|
Quote:
Originally Posted by fundorin
Why not just use parameter's number as an ID, instead of name?
|
Readability.
Quote:
Originally Posted by fundorin
There should be a folder inside Reaper/Plugins, called GeoffPlugMaps, or something like that. Check how MCU plugin does it:
|
Sure, I did that with the EuCon stuff, the MCU I did used one big map, each has advantages/disadvantages.
BTW, I will certainly NOT be using XML, the map format chosen will be MUCH more easily read by a human.
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
12-01-2017, 08:21 PM
|
#259
|
Banned
Join Date: Feb 2014
Location: Moscow, Russia
Posts: 554
|
Quote:
Originally Posted by Geoff Waddington
Readability.
What I meant is if there could be technical difficulties, one should use parameter's id for access and not for the displayed name. That was a misunderstanding, so let's skip it.
|
Quote:
Originally Posted by Geoff Waddington
Sure, I did that with the EuCon stuff, the MCU I did used one big map, each has advantages/disadvantages.
|
Yep. Eucon one was also nice in this terms, though I never used it or MCU, since my controller isn't compatible with those.
Quote:
Originally Posted by Geoff Waddington
BTW, I will certainly NOT be using XML, the map format chosen will be MUCH more easily read by a human.
|
That's your choice. I think that format should definitely have controller type, index number of the parameter, offset, range, short and long names, so they could be edited manually and universal aliases, by which the surface could address those parameters directly. But, let's see what would be your approach to this.
|
|
|
12-02-2017, 01:34 AM
|
#260
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,254
|
Quote:
Originally Posted by fundorin
That's your choice. I think that format should definitely have controller type, index number of the parameter, offset, range, short and long names, so they could be edited manually and universal aliases, by which the surface could address those parameters directly. But, let's see what would be your approach to this.
|
Actually, after having done the previous maps much in the spirit of your suggestion, the goal on this project will be to go in the opposite direction.
I believe the code I posted is already a fairly good guess as to what's in the FX map format:
VST plugin name
WidgetName1 VSTParamName1
WidgetName2 VSTParamName2
WidgetName3 VSTParamName3
...
That's it !
As far as universal aliases, the whole thing is based on GUID's which are, in effect, universal aliases.
Thanks for the input, please keep it coming.
Everyone else, don't be shy, jump in
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
12-02-2017, 11:51 AM
|
#261
|
Human being with feelings
Join Date: Jan 2009
Posts: 310
|
Hi Geoff,
I got the alpha installed for my BCF2000 and am receiving and sending midi
OUT -> BCF2000 b0 30 03
IN -> BCF2000 90 20 7f
IN -> BCF2000 90 20 00
I can set mute and solo as expected.
When I move a fader, I can see the reaper track controls following, but the BCF fader snaps back to zero (-inf)
If I move a reaper control, it does not control the BCF fader
I have tried both Mackie Cubase mode and Mackie Sonar mode.
Is this expected behavior at this point?
Also, I don't understand why my ini file needs to be channel 5
MidiInMonitor=On
MidiOutMonitor=On
BCF2000 8 5 5
Thanks,
Ken
|
|
|
12-02-2017, 12:17 PM
|
#262
|
Human being with feelings
Join Date: Jan 2009
Posts: 310
|
Okay - further experimentation
I can get bi-directional control with a change in mapping
BCF2000 8 5 6
I'm not sure why the channel mapping is 5,6
|
|
|
12-02-2017, 02:44 PM
|
#263
|
Human being with feelings
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,110
|
Quote:
Originally Posted by kgarello
Okay - further experimentation
I can get bi-directional control with a change in mapping
BCF2000 8 5 6
I'm not sure why the channel mapping is 5,6
|
I think the MIDI port enumeration (it's not 'channel' as in 'MIDI channel' iiuc) is rather arbitrary depending on how many MIDI devices you have and in which order Reaper (or the OS ?) 'sees' them.
I also had to do some experimentation to get it right and finally landed with BCR200 8 5 8.
https://forum.cockos.com/showpost.ph...&postcount=178
|
|
|
12-03-2017, 01:21 PM
|
#264
|
Banned
Join Date: Feb 2014
Location: Moscow, Russia
Posts: 554
|
Quote:
Originally Posted by Geoff Waddington
As far as universal aliases, the whole thing is based on GUID's which are, in effect, universal aliases.
|
Could you, please, clarify the order of the parameters in the map file?
The surface has a mode for controlling selected fx parameters.
The plugin itself present it's parameters in the following order:
1. wet/dry
2. cutoff
3. mod
I want them to be:
1. cutoff
2. mod
3. wet/dry
Will the map allow the user to reassign the order of the parameters for a specific plugin?
|
|
|
12-03-2017, 02:09 PM
|
#265
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,254
|
Quote:
Originally Posted by fundorin
Could you, please, clarify the order of the parameters in the map file?
The surface has a mode for controlling selected fx parameters.
The plugin itself present it's parameters in the following order:
1. wet/dry
2. cutoff
3. mod
I want them to be:
1. cutoff
2. mod
3. wet/dry
Will the map allow the user to reassign the order of the parameters for a specific plugin?
|
Sure, you can put them in any order you want, because it's just two strings, a widget name and a VST parameter.
However, there is no significance to changing the order in the map file, it accomplishes nothing.
What is it you are trying to accomplish by stating things in a particular order ?
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
12-03-2017, 09:44 PM
|
#266
|
Banned
Join Date: Feb 2014
Location: Moscow, Russia
Posts: 554
|
Quote:
Originally Posted by Geoff Waddington
What is it you are trying to accomplish by stating things in a particular order ?
|
To get rid of the unneeded parameters? But, instead of completely ditching them, just move them to last assign pages, while mapping the important ones to the first pages?
As for "separate vs single" mapping files format: in the world of plugins, there's .fxp (for single preset) and .fxb (for banks), so, anyone can create either a whole pack of presets (maps) in one file or make them available as separate files, for convenience. They can live happily side by side.
P.S. Yesterday I accidentally stumbled upon a plugin that uses the .xml format to store its presets. Never seen this approach before.
The plugin is from DiscoDSP - Corona. https://i.imgur.com/oa7FXMk.png
At the same time, DiscoDSP Discovery Pro uses regular .fxb for storing banks and .xml for parameters, layers and zones.
|
|
|
12-04-2017, 04:31 AM
|
#267
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,254
|
Quote:
Originally Posted by fundorin
To get rid of the unneeded parameters? But, instead of completely ditching them, just move them to last assign pages, while mapping the important ones to the first pages?
|
Oh, just arrange them any way you like, in your use case, put unused ones last.
Then, you can just comment out any lines you don't want read.
Quote:
Originally Posted by fundorin
As for "separate vs single" mapping files format: in the world of plugins, there's .fxp (for single preset) and .fxb (for banks)
|
Yeah, had a look at those file formats, they're binary, we definitely won't be doing anything like that
Quote:
Originally Posted by fundorin
anyone can create either a whole pack of presets (maps) in one file or make them available as separate files, for convenience. They can live happily side by side.
|
That's actually an argument for one monolithic file, for a very simple reason:
What happens if there is an fxp definition for a plugin and a conflicting one in an fxb file, who wins ?
That issue could be solved by adding the ability to load configurations, but then you have a more complicated system, is the extra flexibility too costly in terms of easy human understanding ??
Quote:
Originally Posted by fundorin
P.S. Yesterday I accidentally stumbled upon a plugin that uses the .xml format to store its presets. Never seen this approach before.
The plugin is from DiscoDSP - Corona. https://i.imgur.com/oa7FXMk.png
At the same time, DiscoDSP Discovery Pro uses regular .fxb for storing banks and .xml for parameters, layers and zones.
|
Had a look at that link, seems like a really good argument for having one monolithic file, uggghhh what a mess
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
12-04-2017, 04:52 AM
|
#268
|
Banned
Join Date: Feb 2014
Location: Moscow, Russia
Posts: 554
|
Quote:
Originally Posted by Geoff Waddington
Yeah, had a look at those file formats, they're binary, we definitely won't be doing anything like that
|
Using binary files wasn't my point at all.
Quote:
Originally Posted by Geoff Waddington
That's actually an argument for one monolithic file, for a very simple reason:
What happens if there is an fxp definition for a plugin and a conflicting one in an fxb file, who wins ?
|
If you ever tried writing oscii-bot scripts, you should know that there could be numerous of scripts, loaded at the same time.
I'd prefer a folder, where every map could be seen, instead of a large file like fxb, when you don't know what's inside it.
Like /PlugMaps/PlugDev/CoolPlugin.txt
This can duplicate the actual VST folder structure.
Quote:
Originally Posted by Geoff Waddington
That issue could be solved by adding the ability to load configurations, but then you have a more complicated system, is the extra flexibility too costly in terms of easy human understanding ??
|
Why? Simply, why? But, I think that single maps should always be choosen if there's a conflict with the "bank". Imagine, you've got such bank from other user for a particular manufacturer (plugin pack), but you've already mapped a single plugin from the same developer by yourself in a way that you like? Of cause, you'd prefer your single file to be in priority. So, that's the rule. All other conflicts should be resolved by the creation date of the map file. Either "oldest first" or "newest first".
And what if you have a single map file for everything, where you add your plugins and then you add the same plugin again at the end of that file, a year later? Just because it's hard to track and navigate through that huge bedsheet of maps.
What happens then? Which entry should be considered by csurf as the main one?
Quote:
Originally Posted by Geoff Waddington
Had a look at that link, seems like a really good argument for having one monolithic file, uggghhh what a mess
|
Once again, it's all good until users will start sharing their maps.
Endless notepad editing, copying and pasting the text, with the risc of deleting something important inside the existing all-in-one mapfile.
All of this hustle instead of simply copying the received map file to /PlugMaps/PlugDev/ folder.
|
|
|
12-04-2017, 04:55 AM
|
#269
|
Human being with feelings
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,032
|
control devices is a complicated topic, no one seems to care about, only companies trying to sell crappy products. So Reaper solved it perfectly, adding OSC, topic finished. Do what you want. Why adding more nonsense?
Why is there no OSC standard where ALL companies follow to control a DAW. Let us call it here DAWOSC, and every companies product has to support this protocol at least in one of their operation modes. They can add whatever nonsense they want as additional modes, but first having something, where you could take
-any daw
-any device
-switch on the device
-set its mode to DAWOSC
-enjoy everyhting in exactly same way
No matter which device, which company, which color, if plastic or wood or gold. The inputs and outputs should be compatible! As long as this does not exist, why wasting time with individual crappy solutions?
What we have now is:
-midi
-vst
-osc
What we need:
-dawosc
Summary: Buy a device, switch it on, set to DAWOSC mode, have fun!
I guess only Cockos could build such a protocol and device, other companies seem to be too stupid. Thanks for listening. Sometimes fun has to be.
Last edited by TonE; 12-04-2017 at 05:00 AM.
|
|
|
12-04-2017, 05:04 AM
|
#270
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,254
|
Quote:
Originally Posted by TonE
control devices is a complicated topic, no one seems to care about, only companies trying to sell crap products. So Reaper solved it perfectly, adding OSC, topic finished. Do what you want. Why adding more nonsense?
Why is there no OSC standard where ALL companies follow to control a DAW. Let us call it here DAWOSC, and every companies product has to support this protocol at least in one of their operation modes. They can add whatever nonsense they want as additional modes, but first having something, where you could take
-any daw
-any device
-switch on the device
-set its mode to DAWOSC
-enjoy everyhting in exactly same way
No matter which device, which company, which color, if plastic or wood or gold. The inputs and outputs should be compatible! As long as this does not exist, why wasting time with individual crappy solutions?
What we have now is:
-midi
-vst
-osc
What we need:
-dawosc
Summary: Buy a device, switch it on, set to DAWOSC mode, have fun!
I guess only Cockos could build such a protocol and device, other companies seem to be too stupid. Thanks for listening. Sometimes fun has to be.
|
Can I get an AMEN !!!
I would love for that to be the case, I was even playing around with iOS zero network config using Bonjour, sure was sweet to watch the pieces on the Mac and iPad "self discover"
But meanwhile we have to soldier on, mired in reality
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
12-04-2017, 05:04 AM
|
#271
|
Human being with feelings
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,032
|
Best bank solution I know is what Synth1 is using. Each bank a separate file. You can have as many banks as you want. Easy to manage, add, remove files from directory, finished. Alphabetical sorting.
Each plugin.dll would get its own directory "plugin.dll" where you could put the bank files. One bank per file.
|
|
|
12-04-2017, 05:18 AM
|
#272
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,254
|
Quote:
Originally Posted by fundorin
Using binary files wasn't my point at all.
|
Fair point.
Quote:
Originally Posted by fundorin
If you ever tried writing oscii-bot scripts, you should know that there could be numerous of scripts, loaded at the same time.
I'd prefer a folder, where every map could be seen, instead of a large file like fxb, when you don't know what's inside it.
Like /PlugMaps/PlugDev/CoolPlugin.txt
This can duplicate the actual VST folder structure.
|
That seems totally reasonable for that use case, but I wonder how many would use the software in such a way, as opposed to the more mainstream, "I just download the map for my setup and start making music", folks love zero config -- me included
Quote:
Originally Posted by fundorin
Why? Simply, why? But, I think that single maps should always be choosen if there's a conflict with the "bank". Imagine, you've got such bank from other user for a particular manufacturer (plugin pack), but you've already mapped a single plugin from the same developer by yourself in a way that you like? Of cause, you'd prefer your single file to be in priority. So, that's the rule. All other conflicts should be resolved by the creation date of the map file. Either "oldest first" or "newest first".
|
But now you've started to load up the users mind with having to know more rules. The whole idea, the gestalt, the raison d'être, of a control surface is to constrain and simplify, in order to free up the brain to concentrate on music and sound.
Quote:
Originally Posted by fundorin
And what if you have a single map file for everything, where you add your plugins and then you add the same plugin again at the end of that file, a year later? Just because it's hard to track and navigate through that huge bedsheet of maps.
What happens then? Which entry should be considered by csurf as the main one?
|
Fair point, there would have to be a rule, "he who writes last", "ignore duplicates", etc.
Ugghhh, I'll have to see if I can improve this, maybe throw up a message box reporting duplicate entries.
Quote:
Originally Posted by fundorin
Once again, it's all good until users will start sharing their maps.
Endless notepad editing, copying and pasting the text, with the risc of deleting something important inside the existing all-in-one mapfile.
All of this hustle instead of simply copying the received map file to /PlugMaps/PlugDev/ folder.
|
Once again, I would say this is an outlier use case, the folks that do this sort of thing tend to be the sort who are much more meticulous.
Again, thanks VERY much for contributing, this all leads to a better end result.
Everyone else, where the hell are ya' ?
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
12-04-2017, 05:22 AM
|
#273
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,254
|
Quote:
Originally Posted by TonE
Best bank solution I know is what Synth1 is using. Each bank a separate file. You can have as many banks as you want. Easy to manage, add, remove files from directory, finished. Alphabetical sorting.
Each plugin.dll would get its own directory "plugin.dll" where you could put the bank files. One bank per file.
|
Except for the fact that in this case the FX maps have simple pairs that map a widget name (e.g."Thresh") to an FX parameter (e.g. "Threshold").
Without the Control surface map, the FX maps have no context -- there is no "Thresh" widget with which to pair the "Threshold" FX parameter.
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
12-04-2017, 05:33 AM
|
#274
|
Banned
Join Date: Feb 2014
Location: Moscow, Russia
Posts: 554
|
Quote:
Originally Posted by Geoff Waddington
That seems totally reasonable for that use case, but I wonder how many would use the software in such a way, as opposed to the more mainstream, "I just download the map for my setup and start making music", folks love zero config -- me included
|
What about two control surfaces, connected to Reaper via csurf plugin?
Quote:
Originally Posted by Geoff Waddington
But now you've started to load up the users mind with having to know more rules. The whole idea, the gestalt, the raison d'être, of a control surface is to constrain and simplify, in order to free up the brain to concentrate on music and sound.
|
This isn't the user's rule, but the software's. Having each map in a single file and sorted by DevName/PlugName.txt eliminates any conflicts. But, if conflict would happen, as I said before, the software itself should have rules about it.
Quote:
Originally Posted by Geoff Waddington
Fair point, there would have to be a rule, "he who writes last", "ignore duplicates", etc.
|
Yep. That's what I talking about.
Quote:
Originally Posted by Geoff Waddington
Ugghhh, I'll have to see if I can improve this, maybe throw up a message box reporting duplicate entries.
|
I wanted to suggest this or logging to the file in case of conflicts, but forgot to mention it.
Quote:
Originally Posted by Geoff Waddington
Again, thanks VERY much for contributing, this all leads to a better end result.
|
I hope that you don't see me as an arrogant prick, who is used to dictating his will to everybody. Just want to help, really.
Quote:
Originally Posted by Geoff Waddington
Without the Control surface map, the FX maps have no context -- there is no "Thresh" widget with which to pair the "Threshold" FX parameter.
|
A single button "Generate missing plugin maps", which will populate the PlugMaps/DevName folders with ready-to-edit maps can solve many problems, actually. If one messed with plugmap, he can always delete it (single file, not the whole work, in case of all-in-one approach) and press "generate missing" button to get a new canvas for editing.
|
|
|
12-04-2017, 05:35 AM
|
#275
|
Human being with feelings
Join Date: Oct 2017
Location: Black Forest
Posts: 5,067
|
@Geoff, someone in this thread mentioned, that he was trying an alpha version. Is this available somehwhere?
|
|
|
12-04-2017, 06:25 AM
|
#276
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,254
|
Quote:
Originally Posted by _Stevie_
@Geoff, someone in this thread mentioned, that he was trying an alpha version. Is this available somehwhere?
|
Here it is: https://stash.reaper.fm/v/31711/CSI%20pre%20alpha.zip
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
12-04-2017, 06:33 AM
|
#277
|
Human being with feelings
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 11,254
|
Quote:
Originally Posted by fundorin
What about two control surfaces, connected to Reaper via csurf plugin?
|
Yeah, I considered that, but it's the type of thing you do quite rarely, so Im willing to live with that one.
Quote:
Originally Posted by fundorin
I hope that you don't see me as an arrogant prick, who is used to dictating his will to everybody. Just want to help, really.
|
Absolutely not !!
I'm very glad you've joined the conversation, I just wish more people would too, that's how we get a good result !!
Quote:
Originally Posted by fundorin
A single button "Generate missing plugin maps", which will populate the PlugMaps/DevName folders with ready-to-edit maps can solve many problems, actually. If one messed with plugmap, he can always delete it (single file, not the whole work, in case of all-in-one approach) and press "generate missing" button to get a new canvas for editing.
|
Yeah, I used an approach similar to that with the EuCon implementation.
This new one is even simpler:
There is (not in the current build in the stash) a parameter called VSTMonitor that, when set to "On" displays the VST name and params in ReaConsole when you load a plugin.
Just cut and paste to map, add widgets names, shake don't stir, and voila, a new map, very simple.
__________________
To install you need the CSI Software and Support Files
For installation instructions and documentation see the Wiki
Donate -- via PayPal to waddingtongeoff@gmail.com
|
|
|
12-04-2017, 06:46 AM
|
#278
|
Human being with feelings
Join Date: Sep 2014
Posts: 68
|
Quote:
Originally Posted by Geoff Waddington
Everyone else, where the hell are ya' ?
|
Not quite enough experience here to offer any better suggestions, sadly.
As far as the DAWOSC thing, could this be accomplished in a similar fashion to ODBC? For anyone that doesn't know, ODBC is an intermediate translator that allows applications to talk to different databases through a common syntax. If there was a single DAWOSC interface would it be possible to write a MIDI to OSC translator for individual control surfaces? Sorry if this is completely off topic.
XML "might" be a useful file format but would really require a front end editor to manage your maps. Import and Export could be part of that editor. But without an editor I think XML would cause untold grief for end users. Having said that, if you have an editor then the resulting file format is less important. A text file with key-value pairs would work fine and could be modified with a simple text editor.
|
|
|
12-04-2017, 07:31 AM
|
#279
|
Human being with feelings
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,032
|
oscii-bot can convert in both directions: midi <-> osc
latest version even with sysex support, but did not test that part myself.
For example you can send midi to oscii-bot, and it would convert and send them as osc to reaper. Here one example which converts all program change events on a given midi port to Reaper tempo osc commands, based on the program change value, in logarithmic steps, only on midi channel 9, of course you can adapt anything, have fun, in the past Reaper could go up to 4000+ bpm, now maximum is 960 bpm:
PHP Code:
// PCtoTempo.txt // v0.1 // by Banned // script for OSCII-bot v0.3 <http://www.cockos.com/oscii-bot/> // Convert incoming MIDI Program Change events to OSC output for setting REAPER to specific tempi
@input midi_bus MIDI "Midi Through Port-7" @output osc_output OSC "127.0.0.1:8000" 0 0 // localhost = 127.0.0.1 (IPv4)
@init // log = 1;
@midimsg status = msg1 & $xF0; // get status channel = msg1 & $x0F; // get MIDI channel
// Program Change events status==$xC0? ( pc_nr = msg2;
// Convert specific Program Change numbers to specific tempo values pc_nr == 0? tempo = 2.913: pc_nr == 1? tempo = 3.086: pc_nr == 2? tempo = 3.270: pc_nr == 3? tempo = 3.464: pc_nr == 4? tempo = 3.670: pc_nr == 5? tempo = 3.889: pc_nr == 6? tempo = 4.120: pc_nr == 7? tempo = 4.365: pc_nr == 8? tempo = 4.624: pc_nr == 9? tempo = 4.899: pc_nr == 10? tempo = 5.191: pc_nr == 11? tempo = 5.499: pc_nr == 12? tempo = 5.826: pc_nr == 13? tempo = 6.173: pc_nr == 14? tempo = 6.540: pc_nr == 15? tempo = 6.929: pc_nr == 16? tempo = 7.341: pc_nr == 17? tempo = 7.777: pc_nr == 18? tempo = 8.240: pc_nr == 19? tempo = 8.730: pc_nr == 20? tempo = 9.249: pc_nr == 21? tempo = 9.799: pc_nr == 22? tempo = 10.381: pc_nr == 23? tempo = 10.999: pc_nr == 24? tempo = 11.653: pc_nr == 25? tempo = 12.345: pc_nr == 26? tempo = 13.080: pc_nr == 27? tempo = 13.857: pc_nr == 28? tempo = 14.681: pc_nr == 29? tempo = 15.554: pc_nr == 30? tempo = 16.479: pc_nr == 31? tempo = 17.459: pc_nr == 32? tempo = 18.497: pc_nr == 33? tempo = 19.597: pc_nr == 34? tempo = 20.762: pc_nr == 35? tempo = 21.997: pc_nr == 36? tempo = 23.305: pc_nr == 37? tempo = 24.691: pc_nr == 38? tempo = 26.159: pc_nr == 39? tempo = 27.715: pc_nr == 40? tempo = 29.362: pc_nr == 41? tempo = 31.108: pc_nr == 42? tempo = 32.958: pc_nr == 43? tempo = 34.918: pc_nr == 44? tempo = 36.994: pc_nr == 45? tempo = 39.194: pc_nr == 46? tempo = 41.525: pc_nr == 47? tempo = 43.994: pc_nr == 48? tempo = 46.610: pc_nr == 49? tempo = 49.382: pc_nr == 50? tempo = 52.318: pc_nr == 51? tempo = 55.429: pc_nr == 52? tempo = 58.725: pc_nr == 53? tempo = 62.217: pc_nr == 54? tempo = 65.917: pc_nr == 55? tempo = 69.836: pc_nr == 56? tempo = 73.989: pc_nr == 57? tempo = 78.388: pc_nr == 58? tempo = 83.050: pc_nr == 59? tempo = 87.988: pc_nr == 60? tempo = 93.220: pc_nr == 61? tempo = 98.763: pc_nr == 62? tempo = 104.636: pc_nr == 63? tempo = 110.858: pc_nr == 64? tempo = 117.450: pc_nr == 65? tempo = 124.434: pc_nr == 66? tempo = 131.833: pc_nr == 67? tempo = 139.672: pc_nr == 68? tempo = 147.978: pc_nr == 69? tempo = 156.777: pc_nr == 70? tempo = 166.099: pc_nr == 71? tempo = 175.976: pc_nr == 72? tempo = 186.440: pc_nr == 73? tempo = 197.527: pc_nr == 74? tempo = 209.272: pc_nr == 75? tempo = 221.716: pc_nr == 76? tempo = 234.900: pc_nr == 77? tempo = 248.868: pc_nr == 78? tempo = 263.666: pc_nr == 79? tempo = 279.345: pc_nr == 80? tempo = 295.955: pc_nr == 81? tempo = 313.554: pc_nr == 82? tempo = 332.199: pc_nr == 83? tempo = 351.952: pc_nr == 84? tempo = 372.880: pc_nr == 85? tempo = 395.053: pc_nr == 86? tempo = 418.544: pc_nr == 87? tempo = 443.432: pc_nr == 88? tempo = 469.800: pc_nr == 89? tempo = 497.736: pc_nr == 90? tempo = 527.333: pc_nr == 91? tempo = 558.690: pc_nr == 92? tempo = 591.911: pc_nr == 93? tempo = 627.108: pc_nr == 94? tempo = 664.398: pc_nr == 95? tempo = 703.905: pc_nr == 96? tempo = 745.761: pc_nr == 97? tempo = 790.106: pc_nr == 98? tempo = 837.088: pc_nr == 99? tempo = 886.864: pc_nr == 100? tempo = 939.600: pc_nr == 101? tempo = 995.471: pc_nr == 102? tempo = 1054.665: pc_nr == 103? tempo = 1117.379: pc_nr == 104? tempo = 1183.822: pc_nr == 105? tempo = 1254.215: pc_nr == 106? tempo = 1328.795: pc_nr == 107? tempo = 1407.809: pc_nr == 108? tempo = 1491.522: pc_nr == 109? tempo = 1580.213: pc_nr == 110? tempo = 1674.177: pc_nr == 111? tempo = 1773.729: pc_nr == 112? tempo = 1879.200: pc_nr == 113? tempo = 1990.943: pc_nr == 114? tempo = 2109.331: pc_nr == 115? tempo = 2234.758: pc_nr == 116? tempo = 2367.644: pc_nr == 117? tempo = 2508.431: pc_nr == 118? tempo = 2657.590: pc_nr == 119? tempo = 2815.619: pc_nr == 120? tempo = 2983.044: pc_nr == 121? tempo = 3160.425: pc_nr == 122? tempo = 3348.354: pc_nr == 123? tempo = 3547.457: pc_nr == 124? tempo = 3758.400: pc_nr == 125? tempo = 3981.886: pc_nr == 126? tempo = 4218.661: pc_nr == 127? tempo = 4469.516; // <-- NOTE THE SEMI-COLON AFTER LAST LINE
// Send OSC message to REAPER to set tempo // send only if incoming midi channel is 9 channel == 8? oscsend(osc_output, "f/tempo/raw", tempo);
// Log // log? printf("\nProgram Change: number: %3d; MIDI channel: %2d --> Tempo: %6f", pc_nr, (channel+1), tempo); );
Last edited by TonE; 12-04-2017 at 07:37 AM.
|
|
|
12-04-2017, 07:35 AM
|
#280
|
Banned
Join Date: Feb 2014
Location: Moscow, Russia
Posts: 554
|
Quote:
Originally Posted by Geoff Waddington
Yeah, I considered that, but it's the type of thing you do quite rarely, so Im willing to live with that one.
|
You live with one. I live with three.
Two of them are Novation SL series, MkI and MkII.
I'm planning to use one of them (the one without LEDs) as a mixer console, and the other one (with LEDs) as an instrument controller.
Quote:
Originally Posted by Geoff Waddington
This new one is even simpler:
|
I highly doubt it.
Quote:
Originally Posted by Geoff Waddington
There is (not in the current build in the stash) a parameter called VSTMonitor that, when set to "On" displays the VST name and params in ReaConsole when you load a plugin.
Just cut and paste to map, add widgets names, shake don't stir, and voila, a new map, very simple.
|
Just copy/paste? How many plugins do you have in your system, Geoff?
P.S. It seems like I need to get back to oscii-bot scripting now. According to the manual, oscii-bot can also read from external files, so, after finishing the main script, it should be possible to get fx parameter's names and values from external files.
Last edited by fundorin; 12-04-2017 at 09:04 AM.
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 04:10 AM.
|