Turns out all I need to do for the value only GUI element - is create a single frame control as backdrop for the value - turn off the control name - and then use the text offset slider to move the value to sit over the control itself. Voila! - one value only control. You can even have it interactive (by leaving it as a standard knob/slider type control) or non-interactive by changing the type to Meter. I should have realised this when I answered your question the first time.

Thank you! As soon a first beta is available i will try it, and extend dpMeter2 if necessary. Keep going!

If you open a plugins dialog window and tweak one of it's parameters then at the top right of the window there is a button labeled 'Param', click on that and you should see a drop down whith one of the options labeled 'Parameter modulation/MIDI link'. Click on that and it brings up a dialog where you can assign an LFO as modulation source for the parameter.

I have'nt looked at the api in awhile so I don't recall if there is code for it, however you can execute any of the actions in REAPER's action list from within a script using it's Command ID. The action for this would be 'FX: Show parameter modulation/link for last touched FX parameter' and it's id is 41143.

So what I was hoping for is that after a person has created their custom parameter set using your script they could then right click on a parameter and there would be an option for opening the param. mod. dialog.
Might also be nice to have an option for opening the 'Learn' dialog as well, this is also found in the drop down when clicking on the 'Param' button.

Thank you for concidering this, I have a feeling your script is going to be a huge hit within the REAPER community. :-)

If you open a plugins dialog window and tweak one of it's parameters then at the top right of the window there is a button labeled 'Param', click on that and you should see a drop down whith one of the options labeled 'Parameter modulation/MIDI link'. Click on that and it brings up a dialog where you can assign an LFO as modulation source for the parameter.

I have'nt looked at the api in awhile so I don't recall if there is code for it, however you can execute any of the actions in REAPER's action list from within a script using it's Command ID. The action for this would be 'FX: Show parameter modulation/link for last touched FX parameter' and it's id is 41143.

So what I was hoping for is that after a person has created their custom parameter set using your script they could then right click on a parameter and there would be an option for opening the param. mod. dialog.
Might also be nice to have an option for opening the 'Learn' dialog as well, this is also found in the drop down when clicking on the 'Param' button.

Thank you for concidering this, I have a feeling your script is going to be a huge hit within the REAPER community. :-)

Sweet - shouldn't be a problem doing this then (if all I need to do is call an Action). Thanks for the elaboration. Good to know about the learn too - perfect!!

want to say first yay!
how about an alternative version for do the same magic from all tracks?
is this is possible?

Can you elaborate on what you mean? This script allows you to do set up different channel strips for all tracks currently. It also switches to follow the currently selected track (I will add an option to switch this on and off). Thanks.

If you open a plugins dialog window and tweak one of it's parameters then at the top right of the window there is a button labeled 'Param', click on that and you should see a drop down whith one of the options labeled 'Parameter modulation/MIDI link'. Click on that and it brings up a dialog where you can assign an LFO as modulation source for the parameter.

I have'nt looked at the api in awhile so I don't recall if there is code for it, however you can execute any of the actions in REAPER's action list from within a script using it's Command ID. The action for this would be 'FX: Show parameter modulation/link for last touched FX parameter' and it's id is 41143.

So what I was hoping for is that after a person has created their custom parameter set using your script they could then right click on a parameter and there would be an option for opening the param. mod. dialog.
Might also be nice to have an option for opening the 'Learn' dialog as well, this is also found in the drop down when clicking on the 'Param' button.

Thank you for concidering this, I have a feeling your script is going to be a huge hit within the REAPER community. :-)

Yep - just confirmed this will be pretty easy to add so should be able to include in first beta version...

i mean select and drag parameters from all tracks to the same strip window,
and create kind of a control surface to see / tweak them all at once in one window.

i don't know if its work but ...
dream is:
having this function and using with Snapshot system would fantastic IMHO.

edit...
obviously this is something else than the regular channel strip logic but i couldn't resist
to ask anyway

Ok - well it's absolutely possible (as proven by chaos engine - which does exactly that but in a very different way and for a different purpose). But yeah - I think it would confuse things for the stripper project - so maybe for next project. No reason I can't adapt Stripper to do this. Would probably only need a few interface tweaks - pretty sure the data structures will already cope with this idea.

Yes - a saved strip can consist of as many parameters from as many plugins as you like (all from same track though). When you hit save strip - it stores all the fx from that channel (even those without imported parameters - as the fx might be there for a reason but non-tweakable). The saved strip can then be imported back into any track - or even doubled up in the same track.

My way of working would be to create individual fx strips (by including just a single fx in a track). Save these as strips (so single fx strips). Then use them as building blocks to create much more complex strips featuring multiple fx. Save these as the full strips - which you can import to tracks as you wish. Just remember - saving a strip captures all the fx loaded in that track (and saves all their current settings) - so possibly best not to create them on already worked on tracks...

Yep - just confirmed this will be pretty easy to add so should be able to include in first beta version...

Ok - this is done. Nice aand simple - works well - although currently I've used the gfx.showmenu command which will freeze script graphics updates (so modulated parameters will appear to stop until you make a selection in the menu (in reality - the lfos etc will still run underneath - just my script gfx updates will freeze)).

I will look into making my own menu which will not freeze my graphics updates and just look neater (should be pretty straightforward ) But might wait for a future update as I'm keen just to polish off what I have and time is limited.

Just an added note: having loads of modulated parameters on single strips will drive the graphics processing up a touch as more controls need redrawing constantly. It's not dreadful (only talking a % or 2 for about 15 controls all going on the same strip) - and hopefully shouldn't effect playback at all (as i think the graphics are run in a separate thread) - gfx might get choppy if you manage to overload the cpu though. unable to test at the moment. but overall - still hitting under 5% with constantly redrawing 15+ controls. without modulation runs around 1-2% (overall - not just my script!!) this is on my laptop - reckon my desktop will be much better too.

Ok - the parameter modulation works great - but for me the midi learn action doesn't work. It opens the midi learn window - but doesn't assign the learned midi ctl parameter. It works fine when going through the Param menu on the plugin itself - but if I touch a parameter - then open the Action list - and select the last touched MIDI learn (41144) action - it doesn't work. Is the action broken? Can anyone please test this? Thanks.

If it is broken - I'll need to submit a bug report. If it works for other people - then hopefully it should work in my script.

Ok - things have gone very well this week. Found a few bugs - which are now fixed. Hopefully everything is stable (no promises) - and should be ready for beta release early next week. Have added most of the things I want in the first version. A few things will wait for second beta, or full release depending on how the beta goes

I still can't get the Midi Learn action to work on my studio pc. It works fine through the Param button on the plugin window, but the Action to open the learn window and learn from the last touched parameter doesn't work. Would be nice to know if anyone can test this for me. Just open the action list and run the 'FX: Set MIDI learn for last touched FX' action. Then wiggle a MIDI controller knob and see if it both picks up the controller and that the controller affects the last touched parameter. This for me doesn't work. Window opens but controller ignored, and or doesn't affect parameter.

An idea I had a while ago (just an idea though, I have no idea how it would actually work) is to set an alias for a CC message (like "attack" or "threshold") that could be automatically mapped to the same (or similarly named) parameter in a plugin. Would this be possible to do?

An idea I had a while ago (just an idea though, I have no idea how it would actually work) is to set an alias for a CC message (like "attack" or "threshold") that could be automatically mapped to the same (or similarly named) parameter in a plugin. Would this be possible to do?

I don't know for sure if this is the case - but assuming the learn information is stored in the track chunk - like the param modulation - then I guess it could be done. I'd have to examine a track chunk with midi learn enabled in it. Actually - that might be a way to avoid the (broken on my machine) MIDI Learn menu action. EDIT: thinking about it- without access to the midi stream I guess doing my own learn function won't be possible.

I don't know for sure if this is the case - but assuming the learn information is stored in the track chunk - like the param modulation - then I guess it could be done. I'd have to examine a track chunk with midi learn enabled in it. Actually - that might be a way to avoid the (broken on my machine) MIDI Learn menu action. EDIT: thinking about it- without access to the midi stream I guess doing my own learn function won't be possible.

What would be really useful I think is a get last touched MIDI controller function in the API - that would solve lots of issues regarding writing our own MIDI stuff... Probably wouldn't cope with full MIDI input - but stuff like MIDI learning would work great. I can't see anything like this in the API.

quick new vid (sorry haven't had time today to make a decent one) - showing a few bits of its current state. nearly ready... touch of refinement still required to new ableton style docked state - but it's working pretty well.

Ok - it's been stable for me for a while (but I've added a few things today - and only had a small amount of time to check it works ok).

Anyway - I might as well release the beta now - so here it is... Please bear with me as I've been working my butt off over the last few weeks - and haven't had time to think of documentation. I will hopefully get an overview done over the next few days - but I do need a day or two away from this. I'll monitor the forum for queries and bug reports...

I do plan to tidy up bits of the interface. If you come up with any good strips using common plugins - please consider sharing them. If you use your own knobs and graphics you would need to share these along with the strip files. Try to keep names unique - so yours will be unique to you and won't risk wiping over other peoples knobs/gfx etc. Maybe we need some sort of standard for this - like prefixing your name or forum name to the files... anyway - this is all assuming it works

1st ... had a small issue with the LUA file. The problem was with the download. Running it gave an error message in Reaper LUA. I re-downloaded as a 'text' file layout, and that seemed to correct that.

Did a very quick drag/drop of parameters to knobs ... worked well. All display values corresponded to the plugin.

I've not tried multiple plugins on the track [that to come].

Not tried to save as a preset ... yet.

Still getting a feel for the design, and how to do it ... but I can say the initial test was very good.

1st ... had a small issue with the LUA file. The problem was with the download. Running it gave an error message in Reaper LUA. I re-downloaded as a 'text' file layout, and that seemed to correct that.

Did a very quick drag/drop of parameters to knobs ... worked well. All display values corresponded to the plugin.

I've not tried multiple plugins on the track [that to come].

Not tried to save as a preset ... yet.

Still getting a feel for the design, and how to do it ... but I can say the initial test was very good.

.... more testing to follow.

Thanks for trying it - yes - I think there's some sort of encoding issue with the text format or something. I suspect downloading the RAW text and saving that is the best way to get it working... Look forward to hearing how your further testing goes.

Thanks for trying it - yes - I think there's some sort of encoding issue with the text format or something. I suspect downloading the RAW text and saving that is the best way to get it working... Look forward to hearing how your further testing goes.

I think that is exactly what I did ... and it worked [PC Win-5 [64]].

Just getting started with this ... kinda guessing my way through setting it up and using it.

An initial question ... once a group of plugins have been assembled into a working LBX Strip [if that is what its called] ... do we save this as a type of 'FX Chain' ? so that we can use this in other projects ?

... still many questions, some will answer as I explore this more. My main interest is controlling several NEBULA plugins from a single interface.

Just getting started with this ... kinda guessing my way through setting it up and using it.

An initial question ... once a group of plugins have been assembled into a working LBX Strip [if that is what its called] ... do we save this as a type of 'FX Chain' ? so that we can use this in other projects ?

... still many questions, some will answer as I explore this more. My main interest is controlling several NEBULA plugins from a single interface.

thx again

Hi RJ,

Nope - this is all handled by the script. Create the script exactly like you want it. Then on the Strips edit screen (in EDIT mode - the button underneath should read STRIPS) - First make sure you are in the correct folder (you can create any extra folders in the LBXCS_resources/Strips folder you wish). then choose SAVE STRIP. Give the strip a name and hit ok. It will say strip saved.

EDIT: The default folders are CHANNEL STRIPS / FX COMPS / FX EQs / FX_MODs. Obviously you may wish for more folders - so create these within your file manager (explorer?) and when you next open Stripper - they should be there.

Then whenever you look in that folder from the Strips edit screen - the saved strip should be there and can be dragged onto the control screen.

Please be aware that unless you use Nebula Setups - any created strips will take a while to load (even with Setups sometimes) - as you will know Nebula takes a while to scan libraries and the like... EDIT: The script will appear to freeze as the plugins are loaded - just be patient - it should all work ok - unless you get an error message.

You don't need to save any FXChains or anything else - the script will recall the Nebula instances as you have them when you save the strip.

Another thing to note - on the settings screen (*) - there is an option to Save All Track FX With Strip. What this does - if checked - is save the entire FX chain with the strip preset. If unchecked - only FX Plugins that have controls in the strip get saved. If you are likely to have FX Plugins that are part of the chain but might not have controls in the strip (eg. preamps or suchlike I guess in nebula - which you always keep on) then you would want to make sure this option is checked.

Maybe a feature or request ... since you mention Nebula. Might there be a way to access the Nebula PRESET list ? For example: Many Nebula libraries come with 2 variations of a Preset: Full and ND [clean]. Being able to change this from your LBX strip would avoid having to open each Nebula for the change. [Plus ... I wonder how LBX would respond to changing a Preset AFTER it was already built] ... I'll be testing this tomorrow ... time to sleep now :|

Ok - a few pointers. Click the LIVE MODE button to switch between LIVE and EDIT modes. I'm guessing most people will get this from the video or intuitively.

SAVE button - most important - press the SAVE button to save current state to the project (so before saving the project). If you have only worked in LIVE mode - you may not need to do this - and indeed if you worked in EDIT mode - but switched back to LIVE mode before saving the project - you may also not need to do this - as switching from EDIT to LIVE (or closing script window) automatically saves the state. What this does is save all the control positons/pages/mappings etc to the project file, so they can all be recalled when you next open the project and start the script. Changes made in LIVE mode to parameters etc are not needed to be saved - as they are recalled by the script direct from the plugins themselves.

Disable snapping to grid by either setting grid size to 1 or holding shift when dragging controls/strips/graphics.

Note - grid will not display if set less than 16 (performance reasons).

STRIPS
------

- here you can drag strips into the control area, Save current controls as a strip (please note - only one page is saved at a time - if you use multiple pages (the numbers 1-4 top right) - each page should be saved separately at the moment.

When in Strips mode - you can also click and drag entire strips around the control area - and remove entire strips from the control area. Shift drag will ignore the grid.

FX PARAMS
---------

- here you add track fx parameters to the control area. The top list shows the FX plugins for the track, the bottom list shows the individual parameters.

You can drag single/multiple parameter controls around the control area (left click to select single control, Ctrl left click to select multiple controls, or right-click and drag to 'lasso' the controls).

When one or more controls are selected - the CTL OPTIONS menu will be visible (on the right of the control area). Here you can alter various settings for the selected control/s. All settings are updated live and instantly as you change them - except for the control selector (image of control) - this one you can cycle through the available control - and click SET button underneath to set the selected controls to choose the control bitmap.

The OFFSET option moves the control name and value text relative to eachother. The VAL OFF option - lets you move the value text independantly from the name text.

The DEF VAL option lets you select the (ctrl click in LIVE mode) default value for the control. You can shift drag the slider to easily select the middle settings (or centre left and right) - as the slider currently can be a little difficult to control).

The control type button has options: KNOB/SLIDER / BUTTON / BUTTON INV / CYCLE BUTTON (not used yet) / METER:
KNOB/SLIDER - the default control type to allow normal interaction with a knob/slider type control.
BUTTON - switches the control between ON/OFF states - works best with 2 frame controls.
BUTTON INV - inverses polarity of drawing control - useful when for instance adding a BYPASS button which actually indicates OFF when it is 'ON'
CYCLE BUTTON - not yet implemented - use KNOB/SLIDER instead as it works ok - but you would need to drag the control still.
METER - displays a value but allows for no user interaction with the control - I forgot to add any meter style controls to the initial beta version - will sort soon.

Most sliders within the CTL OPTIONS section can be 'mouse wheeled' for fine control.

Drag any selected controls to the BIN icon to remove them from the control area.

Shift dragging controls will break the positioning away from the selected GRID size.

Right click an FX name - opens the fx plugin window.

GRAPHICS
--------

- This mode lets you load background graphics images to the control area. You can load as many as you like (bearing in mind each one will use up RAM). At the moment - they are fixed in order front to back - so the newest added graphics will always display on top.

Graphics images must reside in the Graphics folder in Scripts/LBXCS_resources folder. Not sure exactly what graphics formats work - but PNG and JPG are fine. You must restart the script to populate the graphics list with new images. - will hopefully add an import option to make adding new graphics easier but it's not high on my list of things to do.

You can drag graphics about when in this mode (only one at a time) and also drag to BIN icon to remove.

Shift drag will break the positioning away from the selected GRID size.

SETTINGS
--------
Open settings by clicking the * button at top.

Follow Selected Track - if you change track anywhere in Reaper - the script will follow this so always show the strip for the selected track.

Auto centre controls - not working currently - probably take out as was from an early version.

Save all track fx with strip - select this to save all fx plugins in a tracks chain when saving a strip - useful if a strip has plugins with no controls on the strip but are required for your chain.

Control refresh rate - if you have loads of controls all being automated - you can save CPU by reducing the redraw framerate with this control. Leave all the way to the right for smoothest framerate (but lowest performance). With a decent CPU - and typical usage - this should be fine.

Lock Control Window Width/Height - Used to restrict the visible control display size - very useful when using in the docker. You still get to use the full page size (2048*2048) by using up and down arrows (next to the X,Y buttons - which are used for activating/deactivating the screen restrictions). Eg. When you set the lock Y option - you can only scroll horizontally in the window by dragging the control area surface. You must use the up/down arrows to move up and down a fx 'lane'. Obviously - when using this mode - your strips must be of a size that will fit nicely in the restricted area.

LIVE MODE
---------

The main mode for when you are mixing/editing music etc. Simply shows the controls - which you can interact with.

Maybe a feature or request ... since you mention Nebula. Might there be a way to access the Nebula PRESET list ? For example: Many Nebula libraries come with 2 variations of a Preset: Full and ND [clean]. Being able to change this from your LBX strip would avoid having to open each Nebula for the change. [Plus ... I wonder how LBX would respond to changing a Preset AFTER it was already built] ... I'll be testing this tomorrow ... time to sleep now :|

I'm not sure Nebula exposes the necessary items to be able to change the presets externally. But if anyone knows different - please let me know.

I get them loading correctly - just by saving each Nebula instance's track chunk information (which is non-readable - so can't really edit it intelligently) - and then placing this info back into a nebula instance when the strip is loaded into a new track (it does this for all loaded plugins).

Anyway - the strip should cope fine with changing the preset within Nebula as the controls don't change (only the name - which will change correctly in my script as long as you haven't overriden the name with some default text in CTL OPTIONS) (EDIT NAME) .

This will basically work similar to Agent - in that you would need to load one HQ instance - and place last in the chain. Make sure you cannot disable this instance and then add all the others as LE's.

Waow !!! Thank's a lot, is great work !
some littles questions:
how to bring up the meter view ?
how to have others knobs ?

Thanks,

At the moment - adding meters will require using dpMeter2 from TBProAudio which can be added to the chain and actually exposes the meter values. This currently is limited to EBU/RMS type readings - but hopefully the author of dpMeter2 (who has entered this thread) can be convinced to add Peak and M/S etc readouts.

Anyway - you can then add the meter readouts to the strips. I forgot to create/add a meter control to the controls folder - so will do so when I get a mo - but anyone can create one using Knobman (or other similar) software.

Adding your own controls was explained further up the thread on page 1. You need to add the control image file (usually a PNG image) to the controls folder. This should be stacked vertically (knobman lets you do this). Then each control should have an associated .knb file (a simple text file like:

{{
["frames"]=101,
["cellh"]=128,
["fn"]="shinyknob.png",
},
}

which describes the necessary information for my script to use the control. Look in the Scripts/LBX/LBXCS_resources/Controls folder to see what I have there by default.

If you simply meant how to use different controls that I have supplied with the script - when you select a control (or multiple controls) in FX PARAM edit mode - click (or right-click) the control image in the CTL OPTIONS box to scroll through the available control types. You can mouse wheel through the controls too. When you find one you want to use - click the SET button and all selected controls will change to that control image.

I've re-uploaded the LBXCS_resources zip to include some very basic meter slider like controls - which can be used as meters with dpMeter2. There's currently no calibration on the controls - it's just a bar with max=bar at top. Obviously the value readout shows you the actual value of the meter. You could use a value box type control to put the value in and a separate meter bar control to make it look pretty. up to you.

Would be lovely to get peak meter readings etc from dpMeterII - so I shall put a polite request to the author of this magnificent plugin to consider it for a future update

What would be nice now is for the authors of all compressor plugins to output the values of GR meters etc. That would be very nice!

I'm editing the strip layout and trying to modify the "VAL OFF" parameter. Instead it causes the slider above it to move, but doesn't move anything in the graphics window. Mousewheel works though.

EDIT: also, the gray knob with the orange outline disappears when near the max value. Maybe the last frame of the knob stack graphics is missing?

Then a little feature request did I mention this one already though?

Anyway, it'd be great if you could manipulate several parameters with one knob? Like for example I'd like to increase the "Saturation" parameter in JS: Saturation, and at the same time decrease the volume in a trim plugin placed after it, to create automatic gain adjustment. It'd be even better if you could create custom curves and limits for these adjustments in relation to the strip knob position.

Sorry if I'm repeating myself but I think this would be some really _really_ good stuff to have. Cheers!

Not sure is it a bug or not yet implemented but when you remove the strip the old vst remains and the new one is added when adding strip.
And a feature I would love to have is set a default strip,so when changing track you don't need to add but its the same for all tracks (invisible add)

and when turning a knob all the way to a max knob dissapears, at least with minimum size knobs

I'm editing the strip layout and trying to modify the "VAL OFF" parameter. Instead it causes the slider above it to move, but doesn't move anything in the graphics window. Mousewheel works though.

EDIT: also, the gray knob with the orange outline disappears when near the max value. Maybe the last frame of the knob stack graphics is missing?

Then a little feature request did I mention this one already though?

Anyway, it'd be great if you could manipulate several parameters with one knob? Like for example I'd like to increase the "Saturation" parameter in JS: Saturation, and at the same time decrease the volume in a trim plugin placed after it, to create automatic gain adjustment. It'd be even better if you could create custom curves and limits for these adjustments in relation to the strip knob position.

Sorry if I'm repeating myself but I think this would be some really _really_ good stuff to have. Cheers!

Thanks for the bug reports - I found out about the VAL OFF one this morning - doh - should be an easy fix.

Now I don't get the knob disappearing when turned all the way to the max.

Would you mind trying this.

open the script code and go to the line 1566 which reads - local val2 = F_limit...

on the blank line after this (line 1567) could you add: DBG(val2)

Then rerun the script. Now each time you turn a control it will show you the val of val2 in the msg window. Could you turn the knob to where the graphic disappears and post the value of val2 at this point.

Also - what computer system are you on? (as I don't have this bug on my windows systems)

Not sure is it a bug or not yet implemented but when you remove the strip the old vst remains and the new one is added when adding strip.
And a feature I would love to have is set a default strip,so when changing track you don't need to add but its the same for all tracks (invisible add)

and when turning a knob all the way to a max knob dissapears, at least with minimum size knobs

Please see my previous reply regarding the disappearing knob. What system are you on?

Regarding default strip - will try to think of a neat (unobtrusive) way of doing this.

Regarding the VST remaining when you remove a strip. I thought it best to perhaps leave this to be manually removed - but maybe an ask whether to remove associated plugin option needs to be there?

Thanks for the bug reports - I found out about the VAL OFF one this morning - doh - should be an easy fix.

Now I don't get the knob disappearing when turned all the way to the max.

Would you mind trying this.

open the script code and go to the line 1566 which reads - local val2 = F_limit...

on the blank line after this (line 1567) could you add: DBG(val2)

Then rerun the script. Now each time you turn a control it will show you the val of val2 in the msg window. Could you turn the knob to where the graphic disappears and post the value of val2 at this point.

Also - what computer system are you on? (as I don't have this bug on my windows systems)

Like your eq by the way Are you using the black squares as buttons? you could make them light up if you were to edit the knob file. Those squares where meant to be value only display controls (so you position the value over the top of the control and it makes it look neat). There are some circular buttons (that light up) if you want them (then you can do away with the on/off label).