Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Compatibility

Reply
 
Thread Tools Display Modes
Old 09-05-2017, 04:35 AM   #41
goldenarpharazon
Human being with feelings
 
Join Date: Feb 2016
Posts: 71
Default XamiKami's modification question

Quote:
Originally Posted by XamiKami
As i don't really need the master Fader controlled ( should really always be at 0db),
i'd like to use it as a generic control, like the knobs. is that possible? if yes, what do i have to do to get it to be like that?
For using the master fader, modify this piece of code from the Amethyst release:-

Code:
    tmsg2 == master ?    
        oscsend(OSC_to_REAPER, reaper_softaction, tmsg3/127, 12); // master track volume - action for soft takeover
    );
The oscsend() call here can be changed to do whatever is wished using the slider's position (which is stored in tmsg3 and is converted in the call from integer to a real number between 0 and 1)

Quote:
Originally Posted by XamiKami
in Instrument mode I'd like to use one of the buttons ( like the 8th RecArm Button) to fire a custom action that bypasses the focused Effect. How do i do that? I tried replacing the standart line in the oscii-txt
( oscsend(OSC_to_REAPER, device_track_select, 8); oscsend(OSC_to_REAPER, device_fxparam_bank_select );
to
(oscsend(OSC_to_REAPER, reaper_action, _RS5bf653642222c500b0f33ad11ab015810a766f96);

as that is the action ID, but it doesnt work.
That's the correct piece of code to modify. But with the custom ID one is not using an integer number : rather it will be a string
One probably needs to use s/action/str as well and create additionally (say)
Code:
reaper_action_id = "s/action/str";  // ACTION as a custom ID string
in the header code of MidiMixControl.txt

Read the two forum posts
on action & custom IDs here
and here
which should help.

When testing, the OSCII-bot GUI window will show the OSC data being sent to Reaper as a diagnostic aid for what happens in the Control Surface and what actually happens at the Reaper end.

Last edited by goldenarpharazon; 09-05-2017 at 08:38 AM.
goldenarpharazon is offline   Reply With Quote
Old 09-06-2017, 04:24 AM   #42
XamiKami
Human being with feelings
 
Join Date: Aug 2017
Posts: 41
Default

Wow thanks for the quick answer
I'll try that.
How would i go about making all of the Mute and Recarm Buttons just generic Midi Buttons in Instrument mode ( like the knobs are in instrument mode )?

EDIT: im kinda stuck ;D What should my oscsend for the custom action look like now? i defined the action_id/str in the header, but now what do i have to change in the oscsend?

Last edited by XamiKami; 09-06-2017 at 04:32 AM.
XamiKami is offline   Reply With Quote
Old 09-06-2017, 06:07 AM   #43
XamiKami
Human being with feelings
 
Join Date: Aug 2017
Posts: 41
Default

Also, i see that the script tells reaper to change the color of the selected Tracks, should that work? Because it doesn't for me. And that would be damn helpful haha ;D Any ideas how to get that to work?
XamiKami is offline   Reply With Quote
Old 09-06-2017, 09:41 AM   #44
goldenarpharazon
Human being with feelings
 
Join Date: Feb 2016
Posts: 71
Default

Quote:
Originally Posted by XamiKami
How would i go about making all of the Mute and Recarm Buttons just generic Midi Buttons in Instrument mode ( like the knobs are in instrument mode )?
Change the code lines for the instrument mode buttons like this
Code:
( oscsend(OSC_to_REAPER, device_track_select, 1); oscsend(OSC_to_REAPER, device_fxparam_bank_select ););
to use an oscsend() call with your own unique string instead (very similar to the knobs) and then, using Reaper, "learn" that string to the required Reaper action.

Referring to the OSCII-bot syntax for oscsend()
(hyperlink) might help too.

Quote:
Originally Posted by XamiKami
What should my oscsend for the custom action look like now? i defined the action_id/str in the header, but now what do i have to change in the oscsend?
Please read both of the two forum threads identified with underlining in the previous reply from top to bottom: they do contain the answer.

Quote:
Originally Posted by XamiKami
....the script tells reaper to change the color of the selected Tracks, should that work?
Yes it works, and other users have previously confirmed it as working. Use the MIDIMIX "Bank Left" and "Bank Right" buttons. In all the released versions, when in mixer mode it changes colours of banks of 8 tracks at a time when banking, using standard Reaper actions. In instrument mode the banking does not work on tracks like this so there will be no colour change (by design). The user guide explains this.

Looking at the PeaveyStudio Mix control surface code here (the code is in the zip file) as well may help if trying to modify the MIDIMIX code. Forum user "Banned" used the same mechanism as used here, along with describing other alternative track colour schemes and their relative merits, some using SWS Extensions. The Peavey StudioMix code also includes use of custom IDs with oscsend() that one could just copy too.

As suggested earlier look at the OSCII-bot GUI window as a debugging tool. Posting output from this GUI window or other transcribed errors, described clearly along with the problem's context makes "remote" assistance easier when asking for forum help.

Last edited by goldenarpharazon; 09-07-2017 at 01:38 AM. Reason: Clarified in two successive edits to help XamiKami
goldenarpharazon is offline   Reply With Quote
Old 09-06-2017, 12:03 PM   #45
XamiKami
Human being with feelings
 
Join Date: Aug 2017
Posts: 41
Default

Quote:
Originally Posted by goldenarpharazon View Post
Yes it works. Use the MIDIMIX "Bank Left" and "Bank Right" buttons. In all the released versions it changes colours of banks of 8 tracks at a time when banking, using standard Reaper actions.
For me it doesn't seem to work. I tried it using the standard theme, still didn't work. The action itself however (fired manually ) does work. am I missing something?

EDIT: It seems that the problem is at the oscsend(OSC_to_REAPER, "t/track/1,2,3,4,5,6,7,8/select/toggle", 1); // select all tracks in currently selected bank (reselects tracks after mixer use)
line.
I've tried to put the coloring first ( for debugging ) and that worked. the deselection works too.

Last edited by XamiKami; 09-06-2017 at 03:08 PM. Reason: gained information
XamiKami is offline   Reply With Quote
Old 09-07-2017, 06:02 AM   #46
XamiKami
Human being with feelings
 
Join Date: Aug 2017
Posts: 41
Default

First of all, thanks man! I've got all my modifications i wanted to make to work!

But the coloring remains not working.

As the Oscii-Bot Debug doesn't really give much information about that kinda stuff by default I can't really give you any Logs regarding that.
I CAN however tell you that It seems to fail at the
oscsend(OSC_to_REAPER, "t/track/1,2,3,4,5,6,7,8/select/toggle", 1);
Because every other Line in the BankSwitch Part of the Code does function. Any ideas?
I guess you'll need more information, but i just don't know how to give you more :3 I tried downloading the MidiMonitor+OSC-IO script but the link is dead, so i can't use that. Maybe you could send me that script so i could debug a bit better :3
XamiKami is offline   Reply With Quote
Old 09-07-2017, 04:00 PM   #47
goldenarpharazon
Human being with feelings
 
Join Date: Feb 2016
Posts: 71
Default Track colour for XamiKami

Quote:
Originally Posted by XamiKami View Post
First of all, thanks man! I've got all my modifications i wanted to make to work!

But the coloring remains not working.

<snip> It seems to fail at the
oscsend(OSC_to_REAPER, "t/track/1,2,3,4,5,6,7,8/select/toggle", 1);
Because every other Line in the BankSwitch Part of the Code does function. Any ideas?
I guess you'll need more information, but i just don't know how to give you more :3
Great to hear that it's all there as wished beyond the last colour function. Glad to be of some assistance. Enjoy.

One could try one of Banned's alternative track colour solutions?

"not working" and "fail" could perhaps be a more helpful description of what actually happens. Does nothing at all happen (possibly), do things happen partially but insufficiently, does the wrong thing happen unexpectedly, is there a spectacular crash or lockup of OSCII-bot or Reaper or the whole OS (unlikely)? All that's needed is just a succint, structured plain language description of the problem context, any symptoms perhaps with screenshots or explicit error messages. Give the version numbers of all relevant software to give config insight. Quote code fragments that are complete and easy read to see the context. In a hospital we need to say more than "ill" to help a doctor to help us....

Otherwise
1. Check that the string "t/track/1,2,3,4,5,6,7,8/select/toggle" is being seen and sent to Reaper in the OSCII-bot console window. Comment out other code temporarily if needs be to see what one is looking for amongst other irrelevant or noisy OSC and Midi traffic.

2. Try Reaper's OSC monitor (the 'Listen' button on the OSC Control Surface Settings page) to check the messages are being received by Reaper.

3. Check that there is a corresponding
Code:
TRACK_SELECT t/track/@/select/toggle
line in MidiMix.ReaperOSC (This is there in the .ReaperOSC file supplied in this MIDIMIX thread)

4. Check that the .ReaperOSC file in use or being edited really is the one you think it is, and that it is active : this odious config problem can catch the .ReaperOSC tweaker and OSC user unawares.

5. This advice from Banned may help https://forum.cockos.com/showthread....t=TRACK_SELECT . Pay consideration to the advice on DEVICE_TRACK_FOLLOWS and also the comments in the .ReaperOSC file on this since this "following" behaviour is functionally quite subtle yet significant depending on how you want your Reaper and the [MIDIMIX] controller to behave.

6. Beyond that it's an exercise in troubleshooting Reaper or Reaper's OSC: search the forums endlessly, painstakingly and think....

7. Goto 6

8. Check on a friend's Reaper or on a temporary completely clean installation of Reaper on another Mac or PC? Or a different Reaper 5 version? If the track colour does work, (like it does for other users who already don't see this problem) what is the difference and why?

9. If all else fails and it looks like the code is sound but a Reaper OSC action is not working, raise a separate thread, or add to a different post asking for help on this single specific Reaper/OSC/OSCII-bot sounding issue, or even if really, really sure by reporting a bug (there is a long OSC bug thread).

Good luck.

Quote:
Originally Posted by XamiKami View Post
I tried downloading the MidiMonitor+OSC-IO script but the link is dead, so i can't use that. Maybe you could send me that script so i could debug a bit better :3
Yes some of Banned's links are now dead, since the user guide was published. Shame that Banned went away. Actually this script won't really tell any more than the OSCII-bot console window does so it's a bit of a red herring: in retrospect it's more of an exercise in Banned's first steps in graphics coding. At some point, either I might remove the reference to it altogether from the user guide, or perhaps I will modify or repackage Banned's script into the release if it can be of use.

Last edited by goldenarpharazon; 09-08-2017 at 02:33 AM. Reason: Added further OSC debug & TRACK_FOLLOWS insight
goldenarpharazon is offline   Reply With Quote
Old 09-08-2017, 02:51 AM   #48
XamiKami
Human being with feelings
 
Join Date: Aug 2017
Posts: 41
Default

I was just preparing to make a little private Youtube Video showing all the circumstances, and accidentally started reaper as an Administrator.
Unbelievably, now it works I have no idea why, but it does, so i'm happy

Thanks again for all your help, and taking your time

Now i'll try to find a way to make the script not reset the colors to default, but to the ones they had previously ;D

EDIT: DONE! As i'm using the SWS auto track coloring, I'm now just firing the action to apply the coloring after the script resets the colors to default ;D also, i changed it so the selected bank always has the same color!


THANKS man! you've made my week

Last edited by XamiKami; 09-08-2017 at 03:04 AM. Reason: I did it!
XamiKami is offline   Reply With Quote
Old 10-21-2017, 04:37 AM   #49
Piszpan
Human being with feelings
 
Join Date: Aug 2016
Posts: 32
Default

When in instrument mode, does the knob soft takeover work correctly? Aren't there any value jumps after switching banks?
Piszpan is offline   Reply With Quote
Old 10-25-2017, 01:32 AM   #50
goldenarpharazon
Human being with feelings
 
Join Date: Feb 2016
Posts: 71
Default Soft takeover question

The soft takeover works for the first 99 tracks when track banking. It works on the faders and the pan knobs in mixer mode, and for the faders in instrument mode.

I don't think soft takeover when banking can be implemented for the generic assignable knobs due to Reaper's current limited soft takeover capabilities for OSC. But the question has made me see some glimmer of a possibility of this in something Justin wrote here that may prompt some experimentation and follow up.

Banking (as in track banking) in instrument mode would not make any difference to the knobs' soft takeover desired function since the 72 knobs (i.e. 24 knobs x 3 banks) are assigned to their individual predefined and constant OSC string that is then mapped by the Reaper user to some function of their choice in Reaper.

Last edited by goldenarpharazon; 10-26-2017 at 04:34 PM. Reason: Corrected to 72 knobs
goldenarpharazon is offline   Reply With Quote
Old 10-26-2017, 09:23 AM   #51
Piszpan
Human being with feelings
 
Join Date: Aug 2016
Posts: 32
Default

Thanks for your answer.

I was hoping that I could use Midimix as a no-hassle 72-knob (=3x24) controller for VST instruments. Reaper itself has some problems when using MIDI controllers that have logical banks of knobs (e.g. Korg Nanokontrol 1 or Novation Lauch Control XL) - after you switch bank, soft takeover does not work (the values jump) until you execute a dedicated "soft takeover reset" action (so you need to execute it every time you switch a bank - that's hassle).

I was hoping this OSC solution would free me from the problem described above. But fingers crossed - maybe you'll find a solution.

Last edited by Piszpan; 10-27-2017 at 05:38 AM. Reason: typo
Piszpan is offline   Reply With Quote
Old 10-26-2017, 05:01 PM   #52
goldenarpharazon
Human being with feelings
 
Join Date: Feb 2016
Posts: 71
Default Possible soft takeover knob solution

Thanks Piszpan: the reply has prompted a very promising solution. That same "soft takeover reset" action is already used in the MIDIMIX control surface code for the faders and pan...

...so I have added this same "soft takeover reset" action in instrument mode to an experimental 1.01a version (on post #1 as a zip file attachment). I am pretty confident it will work for the knobs when banking too now, having re-read the check boxes on Reaper's Midi learning window in the light of your VST experience. Might you be able to give it a try and report back?

I am not in a position to test with 72 knobs myself that easily having loaned my MIDIMIX to another musician for a short while : I can ask them to test it too. This is just the kind of dialogue that leads to better ideas! Thank you.

Last edited by goldenarpharazon; 10-27-2017 at 01:51 AM.
goldenarpharazon is offline   Reply With Quote
Old 10-27-2017, 05:36 AM   #53
Piszpan
Human being with feelings
 
Join Date: Aug 2016
Posts: 32
Default

You were quick!

Unfortunately, I cannot test it - I just don't own a Midimix. Frankly, I am considering buying one - IF your script works the way I described. ;P
Piszpan is offline   Reply With Quote
Old 10-27-2017, 07:47 AM   #54
Piszpan
Human being with feelings
 
Join Date: Aug 2016
Posts: 32
Default

Having the great opportunity to talk to the developer himself I'll explain what I consider an ultimate solution in this case:

I already have a Nektar Panorama P1 DAW controller - it works great, it can control mix, inserts, synths, it can also show current parameter values on its screen. User can map plugin parameters to its knobs, faders and button, there is also a large library of factory made maps. Etc., etc. - it is truly a great product.

However, I still want another controller, to be able to control two VST synths at the same time (one using Panorama, the other using this second MIDI controller). Most VST synths that I want to control have at least 40-60 parameters, so off-the-shelf solutions like Midimix or Launch Control XL just don't have enough knobs/faders. Launch Control XL has multiple templates (banks), but - as I mentioned in my earlier post - I would need to launch the "soft takeover reset" action manually every time I switch a template (to move to another set of 24 knobs + 8 faders).

Your solution for the Midimix (which, BTW, doesn't have knob banks natively) seems very interesting to me. It would be great, however, if:

- I can switch between knob banks (effectively having 3x24 of them) and the script takes care of resetting soft takeover (so the values don't jump);

- In instrument mode, you include the faders in banks, or at least dedicate them to control instrument, not mixer. They would be great for filter and amp ADSR's (and the ninth one for instrument output volume);

- In instrument mode, you also dedicate all the 16 buttons to instrument (and maybe make them arranged in 3 banks, just like the knobs?)

This scenario, at least in theory, would work great, although...

Two more buttons (available all the time) could serve to launch Reaper's actions: "Toggle show all floating windows" (to quickly open/close synth windows) and "SWS: Cycle focused window" (to cycle between them). The Midimix's Solo button could be used for this, but we still would need another one, and I'm not sure if the "Send All" button could be assigned any user command...

Last edited by Piszpan; 10-27-2017 at 12:25 PM.
Piszpan is offline   Reply With Quote
Old 10-27-2017, 04:22 PM   #55
goldenarpharazon
Human being with feelings
 
Join Date: Feb 2016
Posts: 71
Default

In summary you could do nearly all of this with a modified version of the MIDIMIX script. Here are some more detailed answers...

Quote:
Originally Posted by Piszpan View Post
Most VST synths that I want to control have at least 40-60 parameters
....So a Doepfer Drehbank would do nicely, but probably rarer than hen's teeth!

More usefully it would be possible to have 72 knobs for each track. The original 0.95a MIDIMIX script release had this sort of capability but it was removed as the beta tester felt it was too complicated to remember all the knob mappings. It could be reinstated though. There is a comment in the code about this from 0.95b onwards and the line changed at the time is still there. I think the soft takeover would work too for this.

Quote:
Originally Posted by Piszpan View Post
I would need to launch the "soft takeover reset" action manually every time I switch a template (to move to another set of 24 knobs + 8 faders)
This reset action could also be done using other Reaper scripting techniques without OSC at all. But what OSC brings is the capability for feedback to a controller (for LEDs, motorised faders, changes in operation of the hardware controller itself etc)

Quote:
Originally Posted by Piszpan View Post
Your solution for the Midimix (which, BTW, doesn't have knob banks natively) seems very interesting to me. It would be great, however, if:

- I can switch between knob banks (effectively having 3x24 of them) and the script takes care of resetting soft takeover (so the values don't jump);
Hopefully done: fingers crossed for the V1.01a testing! If it works it should become a part of the MIDIMIX control surface release.

Quote:
Originally Posted by Piszpan View Post
- In instrument mode, you include the faders in banks, or at least dedicate them to control instrument, not mixer. They would be great for filter and amp ADSR's (and the ninth one for instrument output volume);

- In instrument mode, you also dedicate all the 16 buttons to instrument (and maybe make them arranged in 3 banks, just like the knobs?)
One could do both of these by understanding the script and changing the code so the buttons or faders do the desired functions or actions in instrument mode. XamiKami managed to do this sort of personalised customisation earlier in this thread.

Quote:
Originally Posted by Piszpan View Post
This scenario, at least in theory, would work great, although...

Two more buttons (available all the time) could serve to launch Reaper's actions: "Toggle show all floating windows" (to quickly open/close synth windows) and "SWS: Cycle focused window" (to cycle between them). The Midimix's Solo button could be used for this, but we still would need another one,
In a modified script "Solo" could give just one more button to assign to something in Reaper, unless it's used as a "shift" key which would give eight (or even sixteen) more virtual buttons in a bank. But we are running out of (physical) buttons now though...

Quote:
Originally Posted by Piszpan View Post
and I'm not sure if the "Send All" button could be assigned any user command...
Unfortunately "Send All" is pretty useless in the control surface due to the way Akai designed the MIDIMIX. It really does send all the hardware controller's Midi values and it can't be edited in the Akai editor, so it's not used in the control surface at all.

Last edited by goldenarpharazon; 10-28-2017 at 12:44 PM. Reason: Added idea of many knobs per track
goldenarpharazon is offline   Reply With Quote
Old 10-28-2017, 11:22 AM   #56
Piszpan
Human being with feelings
 
Join Date: Aug 2016
Posts: 32
Default

Yeah, I know about the Drehbank There is also the new Faderfox PC12 (72 physical knobs!), but it is quite expensive and I cannot try it before purchase. So... back to the topic

A few more questions, if you don't mind:

- When using your script, how can I know which of the three virtual banks am I using?

- Will you release an official update with all the features discussed above or have I to edit the script myself?

- Will it be possible to assign the "Solo" button to a chosen Reaper action, and the "Solo + Mute 8" combination to assign another action? (Without loosing any normal functionality of the 16 mute buttons.)

Thank you for taking your time.
Piszpan is offline   Reply With Quote
Old 10-28-2017, 01:24 PM   #57
goldenarpharazon
Human being with feelings
 
Join Date: Feb 2016
Posts: 71
Default

Happy to reply. Note the extended answer above too for the user wanting many buttons per track...

Quote:
Originally Posted by Piszpan View Post
- When using your script, how can I know which of the three virtual banks am I using?
The bank left and bank right buttons light up in combinations to show which bank is in use. This is explained in the short user guide.
Quote:
Originally Posted by Piszpan View Post
- Will you release an official update with all the features discussed above or have I to edit the script myself?
Soft takeover extensions: yes. The rest it would be self-editing for specific customisation. The design principle was "KISS, be Cornish vanilla (as in rich yet fairly plain flavour ice cream), but leave customisations possible by end user". Try reading the script?....
Quote:
Originally Posted by Piszpan View Post
- Will it be possible to assign the "Solo" button to a chosen Reaper action, and the "Solo + Mute 8" combination to assign another action? (Without loosing any normal functionality of the 16 mute buttons.)
"Solo" cannot be used for a single reaper action without sacrificing a lot of functionality already in the control surface. This is because Solo is already used as a shift modifier (like the shift key on a typing keyboard) in the control surface. But pushing this "shifting" to its limits would give more buttons as follows

Mutes alone = 8 buttons
Solo + Mutes together = 8 buttons
RecArms alone = 8 buttons
Solo + RecArms together = 8 buttons
goldenarpharazon is offline   Reply With Quote
Old 10-28-2017, 01:44 PM   #58
Piszpan
Human being with feelings
 
Join Date: Aug 2016
Posts: 32
Default

So, basically, I could have e.g.:
- 16 normal buttons assigned to parameters in soft synths
- 14 additional buttons for soft synths, accesible via the "Solo" button
- 2 buttons (e.g. "Mute 8" and "Rec Arm 8") assigned to chosen Reaper actions and accesible via the "Solo" button.

Am I right?
Piszpan is offline   Reply With Quote
Old 10-28-2017, 03:08 PM   #59
goldenarpharazon
Human being with feelings
 
Join Date: Feb 2016
Posts: 71
Default

Quote:
Originally Posted by Piszpan View Post
So, basically, I could have e.g.:
- 16 normal buttons assigned to parameters in soft synths
- 14 additional buttons for soft synths, accesible via the "Solo" button
- 2 buttons (e.g. "Mute 8" and "Rec Arm 8") assigned to chosen Reaper actions and accesible via the "Solo" button.

Am I right?
Yes broadly. But the 8 "Rec Arms" are already allocated to track select, so unless one changes that instrument design paradigm it would be
- 8 normal buttons assigned to parameters in soft synths
- 14 additional buttons for soft synths, accesible via the "Solo" button
- 2 buttons (e.g. "Mute 8" and "Rec Arm 8") assigned to chosen Reaper actions and accesible via the "Solo" button.
goldenarpharazon is offline   Reply With Quote
Old 10-28-2017, 04:19 PM   #60
Piszpan
Human being with feelings
 
Join Date: Aug 2016
Posts: 32
Default

I have the Panorama P1 for track selecting, so I don't need (even don't want) this functionality here. I prefer to have all 16 buttons for soft synths (without the neccessity to use "Solo" button).

I don't understand what you mean saying "unless one changes that instrument design paradigm". Can it be done?

Last edited by Piszpan; 10-28-2017 at 04:46 PM.
Piszpan is offline   Reply With Quote
Old 10-29-2017, 04:11 PM   #61
goldenarpharazon
Human being with feelings
 
Join Date: Feb 2016
Posts: 71
Default

Quote:
Originally Posted by Piszpan View Post
I have the Panorama P1 for track selecting, so I don't need (even don't want) this functionality here. I prefer to have all 16 buttons for soft synths (without the neccessity to use "Solo" button).

I don't understand what you mean saying "unless one changes that instrument design paradigm". Can it be done?
There was a word missed out: apologies. It should read "unless one changes the instrument mode design paradigm". This refers to the script design and function used in instrument mode to select tracks and track FX.

But if you are going to use the Panorama P1 for track selecting or somehow displaying the VST softsynth in question, then one could change the script code and use the Rec Arms buttons instead, as wished, as 8 more buttons for some other function.

Last edited by goldenarpharazon; 10-30-2017 at 10:19 AM.
goldenarpharazon is offline   Reply With Quote
Old 10-31-2017, 11:34 AM   #62
Piszpan
Human being with feelings
 
Join Date: Aug 2016
Posts: 32
Default

Hm... I wonder if I will be able to do this myself...
Piszpan is offline   Reply With Quote
Old 11-03-2017, 03:39 PM   #63
goldenarpharazon
Human being with feelings
 
Join Date: Feb 2016
Posts: 71
Default 1.01a MIDIMIX control surface release announcement "Beryl"

Quote:
Originally Posted by Piszpan View Post
Hm... I wonder if I will be able to do this myself...
Everyone can learn EEL2 one line of code at a time... Picking up a MIDIMIX and script tweaking should be an easy way to learn

****** Great news. Following testing, the soft takeover does indeed work when banking for the 72 knobs in instrument mode in the V1.01a "Beryl" release. Hooray and thank you Piszpan! ******

Incorporating some of Piszpan's ideas into the current control surface design could combine with soft takeover and give the following extra features beyond Beryl as an extension.

The functional extensions involve pressing the solo key at the same time as knob is turned which result in up to 72 more virtual knobs, giving up to 144 virtual knobs. The additional knobs could either be harnessed by "Reaper learning" to any action if of interest to a Reaper user, or simply ignored as if not present, if simplicity is preferred.

Mixer mode

16 more virtual knobs when the solo key is pressed at the same time as the top two rows of knobs are turned

Instrument mode

72 more virtual knobs when the solo key is pressed at the same time as the knob is turned

Both modes

The "send all" button can be detected in the script, but it would take a lot of invasive code for little additional functional value to actually tame the button's Midi verbosity (an Akai given that cannot be changed) and suppress it to give single momentary or toggling button presses as OSC messages to Reaper: so this feature won't be incorporated.

Further suggestions for improvements as always welcome...

Watch this space for gradual developments...

Last edited by goldenarpharazon; 11-20-2017 at 04:04 PM. Reason: Ideas modified based on behaviour of MIDIMIX hardware and feasible, yet worthwhile, functional changes to the control surface.
goldenarpharazon is offline   Reply With Quote
Old 11-21-2017, 02:45 PM   #64
Piszpan
Human being with feelings
 
Join Date: Aug 2016
Posts: 32
Default

Got the Midimix to try it with your software. (I have two weeks to decide if I want to keep it.)

I will report my observations (and requests ) soon.
Piszpan is offline   Reply With Quote
Old 11-21-2017, 02:51 PM   #65
Piszpan
Human being with feelings
 
Join Date: Aug 2016
Posts: 32
Default

First question:

When in instrument mode, I can learn the faders to control eg. ADSR envelopes in soft synths, but they (the faders) still control mixer channel volume at the same time.

How can I rem the sections of code responsible for mixer control? (I will NEVER use this software to control mixer, only to control VST's.)
Piszpan is offline   Reply With Quote
Old 11-21-2017, 04:50 PM   #66
goldenarpharazon
Human being with feelings
 
Join Date: Feb 2016
Posts: 71
Default Repurposing faders

Quote:
Originally Posted by Piszpan View Post
First question:

When in instrument mode, I can learn the faders to control eg. ADSR envelopes in soft synths, but they (the faders) still control mixer channel volume at the same time.

How can I rem the sections of code responsible for mixer control? (I will NEVER use this software to control mixer, only to control VST's.)
Glad to hear you have a MIDIMIX working. This behaviour is happening because the slider is mapped to a Reaper action in the script. Here is how to change it

1. Make a copy of the file and call it what_you_like.txt : you can then go backwards and revert if a script edit is not to your liking.

2. Use // to comment out lines temporarily to make them easy to restore if needed. Change as few lines as possible in incremental steps.

3. Find the 8 lines that look like
Code:
send_soft_fader(1);
4. Change the first of these to be an
Code:
oscsend(OSC_to_REAPER, reaper_fxparam, tmsg3/127, 145);
to generate knob number 145 as an OSC string for the slider (look at the code for the other knobs too) rather than the Reaper soft action that is called via a function at present

5. See one fader working as desired : check the OSC string is as expected in the OSCII-bot console window and in Reaper learning.

6. Repeat for the other 7 faders with 146, 147 etc

7. This will have created 8 dedicated learnable knobs (physically faders) numbered 145-152 (that have unchanging knob number when banking) rather than track faders

8. Tidy up any changes so it's neat and tidy and change any comments to correspond. It would be tidy to remove the send_soft_fader() function at this stage entirely if it is no longer called.

9. To change the master fader then see guidance earlier in the thread for XamiKami.

10. The pans should work as wished when in instrument mode already : but they should be easy to identify in the code now to understand how the script works.

11. If preferred the "knobs" part of the OSC string (which are not physically knobs) can be named with text as "sliders" or "faders" or "UsefulNameForMyMapping" etc if wished.

Note that a new version Carnelian with up to 144 virtual knobs in instrument mode will likely be released : hence the new knob numbers recommended are from 145 onwards.

12. Finally to start in instrument mode as wished (rather than mixer mode) - try this.
Find this code section
Code:
oscsend(OSC_to_REAPER, reaper_action, 41743); // trigger REAPER action "Control surface: refresh all surfaces" (Cmd ID: 41743)
@midimsg
and remove the oscsend() call and replace it with switch_midimix_mode();

To stay in instrument mode, and never enter mixer mode, simply don't press the key combination to go there.

Note this last suggestion #12 is well intended, but untested. Test it just in case there are side effects.

Good luck.

Last edited by goldenarpharazon; 11-22-2017 at 07:07 AM. Reason: Guidance on pans corrected + added instrument mode on startup
goldenarpharazon is offline   Reply With Quote
Old 11-22-2017, 08:25 AM   #67
Piszpan
Human being with feelings
 
Join Date: Aug 2016
Posts: 32
Default

Thanks. I did it - it works!

Two more questions:

1. How will the navigation between knob banks look in the planned new release? Now we cycle between 3 banks, which is great, as it's very fast. However, cycling between 6 banks (I mean: pushing a button 5 times to move from bank B to A) would take too much time, in my opinion. I would rather like to stick with 72 virtual knobs than have to cycle thru 6 banks everytime.

2. Now, Master, please teach me how to make buttons functional in instrument mode.

(BTW: Can I set the instrument mode as a default start up mode?)
Piszpan is offline   Reply With Quote
Old 11-22-2017, 08:54 AM   #68
goldenarpharazon
Human being with feelings
 
Join Date: Feb 2016
Posts: 71
Default

Great stuff. Well done

Quote:
Originally Posted by Piszpan View Post
1. How will the navigation between knob banks look in the planned new release? Now we cycle between 3 banks, which is great, as it's very fast. However, cycling between 6 banks (I mean: pushing a button 5 times to move from bank B to A) would take too much time, in my opinion. I would rather like to stick with 72 virtual knobs than have to cycle thru 6 banks everytime.
That's answered in the Beryl release announcement post above. No more banks for that usability reason: simply press the solo key and turn a knob at the same time. That turns every knob into two knobs since soft takeover makes the knob duality usable.

Quote:
Originally Posted by Piszpan View Post
2. Now, Master, please teach me how to make buttons functional in instrument mode.
Grasshopper: you should have the confidence to see how the 16 buttons currently work, or at least where their code is to start to tinker or meditate and think...

To give more specific guiding help there needs to be a target function for the button choosing from
- Toggle on subsequent presses?
- Momentary?
- Connnected to a reaper action, a Reaper OSC function or generically mappable like a knob?
- For advanced use, with more code, the mute and rec arms could even light up or flash.....

Quote:
Originally Posted by Piszpan View Post
(BTW: Can I set the instrument mode as a default start up mode?)
See step #12 added in post #66 above.

Last edited by goldenarpharazon; Yesterday at 07:18 AM.
goldenarpharazon is offline   Reply With Quote
Old Yesterday, 01:36 PM   #69
Piszpan
Human being with feelings
 
Join Date: Aug 2016
Posts: 32
Default

Step #12 implemented - seems to work OK. I literally replaced the whole "oscsend(OSC_to_REAPER, reaper_action, 41743);" with "switch_midimix_mode();" (I mean: with nothing between the brackets), I hope I did it right.

As of buttons, I need them to:
- work only in toggle mode
- be generically mappable like a knob
- show current parameter state via LED if possible - that would be cool
- two virtal layers (with the second available via the "solo" switch) would be even cooler.

Some time ago I tried to use Korg Nanokontrol's buttons to launch Reaper's actions. There were problems when these buttons were set to "momentary" - Reaper was then opening and closing windows very fast (they were literally flickering). After I changed them to "toggle", it worked OK, though the LED's were alternately swiching on and off, which was a bit misleading in case of just launching an action.

I don't know in which mode operate the buttons in your tool now, but they work OK (no strange behavior in Reaper when launching actions). I attached one action to the bottom row (it seems the whole row shares one parameter anyway), and another action to the right upper knob.
Piszpan is offline   Reply With Quote
Old Yesterday, 06:07 PM   #70
goldenarpharazon
Human being with feelings
 
Join Date: Feb 2016
Posts: 71
Default

Quote:
Originally Posted by Piszpan View Post
Step #12 implemented - seems to work OK. I literally replaced the whole "oscsend(OSC_to_REAPER, reaper_action, 41743);" with "switch_midimix_mode();" (I mean: with nothing between the brackets), I hope I did it right.
That's it. Glad it works as wished as expected. Use it as an opportunity to learn from the code: you have added a function call that is also already used in other places. It can be seen from where the function is declared it takes no parameters (i.e. nothing in the brackets). Question to prompt learning: Why is the switch_midimix_mode() call also where it is in other places in the code?

Quote:
Originally Posted by Piszpan View Post
As of buttons, I need them to:
- work only in toggle mode
- be generically mappable like a knob
- show current parameter state via LED if possible - that would be cool
- two virtal layers (with the second available via the "solo" switch) would be even cooler.
Try going for toggle mode using Reaper OSC triggered actions as suggested below. LEDs are possible and so is the "missing" layer of 8 solo combined with recarm buttons but it requires code changes and extensions. So keep it simple and just repurpose the existing 24 buttons to start with. To toggle Reaper actions beyond those in .Reaper OSC one would need to add code to track successive button presses.


Quote:
Originally Posted by Piszpan View Post
Some time ago I tried to use Korg Nanokontrol's buttons to launch Reaper's actions. There were problems when these buttons were set to "momentary" - Reaper was then opening and closing windows very fast (they were literally flickering). After I changed them to "toggle", it worked OK, though the LED's were alternately swiching on and off, which was a bit misleading in case of just launching an action.
This was useful learning about calling actions in Reaper if you can recall what you did.... But it was for Midi (rather than OSC) and the LED's would have come on or off solely within the Nanokontrol hardware, because there was no intermediate software and Reaper does not send any Midi feedback.

Quote:
Originally Posted by Piszpan View Post
I don't know in which mode operate the buttons in your tool now, but they work OK (no strange behavior in Reaper when launching actions). I attached one action to the bottom row (it seems the whole row shares one parameter anyway), and another action to the right upper knob.
This sounds hopeful. Look at the code and see there are three sections for the buttons: Rec Arm, Mute, and Solo (TRACK_SOLO) in that order? Everything for the buttons in the current control surface is done by using the native Reaper OSC pattern calling actions.

So find and read the MidiMix.ReaperOSC file that (sort of) explains what the Reaper actions might be. Start with say just the "solo 1" button, because the buttons in this row have the simplest code, and repurpose that single button to another different ReaperOSC action with a different string pattern. Just work on the single button until happy with the result and gaining understanding as to how and why it works. There's advice to XamiKami above in the thread on button repurposing too. Searching thoroughly in the forums for OSC use by others may help.

Try calling another native Reaper OSC function that sounds really simple or you know well from the Reaper end from its name (you will need to use a different OSC string pattern to call that alternative Reaper action).

That gives you a working button with changed functionality that can then be extended to other buttons...

From there, in a subsequent stage as code writing confidence grows, you might add either alternative feedback detection (to drive an LED light) by altering code in @oscmsg section.

Or you might try to add a toggle for a reaper action that is not supported by .ReaperOSC : this toggle requires code to track the state of subsequent button presses since the MIDIMIX buttons themselves are momentary not toggling in their Midi action. (see dialogue with Darkstar earlier in the thread on this).

Good luck.

Last edited by goldenarpharazon; Yesterday at 06:44 PM.
goldenarpharazon is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 02:30 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2017, vBulletin Solutions Inc.