HOW TO ... PresetList building instructions.

A place for developers to share ideas and assist each other in solving problems.

Moderators: valis, garyb

User avatar
Shroomz~>
Posts: 5669
Joined: Wed Feb 23, 2005 4:00 pm
Location: The Blue Shadows

HOW TO ... PresetList building instructions.

Post by Shroomz~> »

Here's some instructions on how to make sdk devices preset compatible. I think it's quite complete, but if anyone spots a mistake or something I've missed, please let me know & I'll add/remove or ammend where necessary.

Note:- These instructions assume that your devices' surface controls are connected to your circuit via circuit level Controller Pad modules which you'll have named appropriately according to their given parameter names in the Project Explorer.

1. You should be in 'circuit' mode at the level of the Controller Pads for your Surface controls & be in 'use' mode with a PadList window open.
2. Select your main device parent module in the Project Explorer.
3. Imediately open the 'Parameters' list & 'freeze' it.
4. Imediately Open the 'PresetParameterList' & 'freeze' it. (if you deselect the paraent module, make sure to reselect it)
5. One by one, click on each of the Controller Pads for your Surface Controls (pots, sliders etc) in your Project Window & drag the 'val' parameter for each of them from the PadLIst across to the 'Parameters' list.
6. Rename your val parameters in the parameter list you've just created (click on 'val' & press F2).
7. Check if the little pull-down list on the 'PresetParameterList' module displays 'PresetList'. if it doesn't, press the create button once & it will appear.
8. Drag all of the new parameters added to the 'Parameter' list accross to the 'PresetParameterList'.
9. Press the 'open' button on the 'PresetParameterList' window & a familiar preset window will appear. Close that new window.

Your preset list has now been created & will appear along with a new surfaceinterface module inside your parent module's tree in the project explorer.

10. Close the 'PresetParameterList' window.
11. Select the newly created PresetList in the Project Explorer.
12. Go to the PadList & drag the 2 parameters named 'PresetList1' & 'PresetList2' accross to the 'Parameter' list.
13. Making sure the presetlist is still selected, drag the LastRestoredPreset pad in the PadList accross to the 'Parameter' list.
14. Rename the 'LastRestoredPreset' parameter to 'cwLastRestoredPreset'.
15. Connect the presetlist button 'val' parameter on your device surface panel to the PresetList 'show' parameter.
16. Save your project, then delete all circuit gos or optimize 4 XTC, protect then save parent module as mdl or dev.
17. Close sdk not saving on way out & open Scope.
18. Load your new module & open it's preset list window.
19. Create a new bank with your default/factory pres inside it, then save the new bank as a .pre in your Scope presets folder.

The preset file you've just created can be distributed with the new module & should work fine if the instructions above are carried out properly.


This list of instructions is a combination of my own experiences & a few things (11 -14) that Shayne White mentions in the first time use doc, so thanks to Shayne & thanks also to knotti. :wink:


best regards,
Mark
Last edited by Shroomz~> on Wed Apr 30, 2008 2:31 pm, edited 2 times in total.
User avatar
Neutron
Posts: 2274
Joined: Sun Apr 29, 2001 4:00 pm
Location: Great white north eh
Contact:

Post by Neutron »

Thank you so much!. This will be a great help :D
User avatar
HUROLURA
Posts: 1311
Joined: Tue Feb 21, 2006 4:00 pm
Location: FRANCE
Contact:

Post by HUROLURA »

This IS of great help.

And just works fine.

Many Thanks ShroomZ

CheerZ
User avatar
hifiboom
Posts: 2057
Joined: Thu Aug 03, 2006 4:00 pm
Location: Germany, Munich
Contact:

Post by hifiboom »

tatoo on the left arm-inside would be useful. :D
User avatar
Shroomz~>
Posts: 5669
Joined: Wed Feb 23, 2005 4:00 pm
Location: The Blue Shadows

Post by Shroomz~> »

No problem at all guys, but I've just been alerted via PM that my devices don't have their midi assignments saved with projects. :(
User avatar
Shroomz~>
Posts: 5669
Joined: Wed Feb 23, 2005 4:00 pm
Location: The Blue Shadows

Post by Shroomz~> »

Ah, I think I might know why & If I'm right, then it's not all of my devices, just some of the insert FX!!
tgstgs
Posts: 526
Joined: Sun Jan 15, 2006 4:00 pm

Post by tgstgs »

well it could be that you dont like the gui after some time;
or you find a better solution in displaying parameters;
or you find a better working circuit;
or . .
-------
so its better to assing the para + pres to controllerpads;
thisway you can plugout the gui plugin a new or switch between multiple guis, change the circuit whatever without changing the para_pres!

good vibes from vienna
User avatar
hifiboom
Posts: 2057
Joined: Thu Aug 03, 2006 4:00 pm
Location: Germany, Munich
Contact:

Post by hifiboom »

tgstgs wrote:well it could be that you dont like the gui after some time;
or you find a better solution in displaying parameters;
or you find a better working circuit;
or . .
-------
so its better to assing the para + pres to controllerpads;
thisway you can plugout the gui plugin a new or switch between multiple guis, change the circuit whatever without changing the para_pres!

good vibes from vienna
so you mean connecting the pads of the circuit instead of the gui pads?

thats a nice trick. :)

thanks. good vibes from bavaria. :D
User avatar
Shroomz~>
Posts: 5669
Joined: Wed Feb 23, 2005 4:00 pm
Location: The Blue Shadows

Post by Shroomz~> »

tgstgs, you're absolutely correct & I've already used that method in some of my devices. I'll ammend the instructions based on that working method.

Thanks!
User avatar
Shroomz~>
Posts: 5669
Joined: Wed Feb 23, 2005 4:00 pm
Location: The Blue Shadows

Post by Shroomz~> »

Edited the instructions tgstgs. Tell me what you think now. :wink:
User avatar
Shroomz~>
Posts: 5669
Joined: Wed Feb 23, 2005 4:00 pm
Location: The Blue Shadows

Post by Shroomz~> »

So there's still at least some midi related entries to be addressed.
johnbowen
Posts: 542
Joined: Wed Mar 19, 2003 4:00 pm
Contact:

Post by johnbowen »

You forgot to add the bit about connecting MIDI to the Preset List!

1) In the Project Explorer, select the PresetList
2) Select and store midiIn pad
3) Connect it to the Midi In on your device.
4) Also make sure midiChannel pad of the PresetList is connected to your device's MIDI channel control, such as the CSynth pad in the MIDI Channel Linker

Also, note that you can name your preset list using the Caption parameter of the PresetList. Highlight the default name value area where there is nothing (slow double-click or use F2), and rename the PresetList. It will change from the default of "U KNOW 007" to your new name.

You will also want to store other pads of the preset list that determine behavior in a Project. These are: Show, PosX, PosY, SizeX, and SizeY. These are not to be stored in any preset, but tell the Project about the state of the Preset List (showing or not), as well as the location and size of it on the screen. To set these kinds of parameters correctly, you need to go into the ModuleParameterList and change all the little check boxes (which normally default to things for Preset List storage) to only a few columns, as follows - RP, RS, the SP in the middle (next to RR), and SS.


cheers,
john b.
johnbowen
Posts: 542
Joined: Wed Mar 19, 2003 4:00 pm
Contact:

Post by johnbowen »

While we are talking about the ModuleParameterList, I thought I would list what those abbreviations are supposed to mean, as was told to me by Matthias Klag long ago:

P - Public (means the parameter can be 'seen' by programs like Cubase which can list available parameters in a device)

RP - Restore in Project
RS - Restore in Screenset (you can have multiple Screensets by using Ctrl + any number key)
RP - second one, this time for Restore in Preset
RR - Restore Related (?) - having to do with modules that are children of parent modules
SP - Save in Project
SS - Save in Screenset
SP - second one, for Save in Preset
SR - Save Related

I think the check box under the title 'Default Value' was actually something for use in Noah, as the area to the right of that box is where the actual Default Value will show up. You have to type into the empty space to enter a value (and I only have used it for the Show parameters of PresetLists and Surfaces, set to 0 so they don't show up when you load the Device).

Cheers,
John B.
Jah Servant
Posts: 292
Joined: Thu Mar 03, 2005 4:00 pm

Post by Jah Servant »

alright, nice, all kinds of good info here, thanks to all
User avatar
Shroomz~>
Posts: 5669
Joined: Wed Feb 23, 2005 4:00 pm
Location: The Blue Shadows

Post by Shroomz~> »

John,

thanks a million for contributing! I guess I missed a few things out. :D

I'll ammend the main instructions in the first post later tonight.

Thanks again,
Mark
bosone
Posts: 1525
Joined: Sun Mar 25, 2001 4:00 pm
Location: Italy
Contact:

Re: HOW TO ... PresetList building instructions.

Post by bosone »

just a suggestion.
since the operation of preset-making is repetitive and boring, you can use a macro progam to automate mouse movements.
i use
macro maker
http://members.ij.net/anthonymathews/MacroMaker.htm

i ususally automate the process of bringing the "val" object into the Parameter' list, and a certain numbers of dragging from the Parameter' list to the 'PresetParameterList'.

you have to learn how to handle the macros but then it saves you a lot of time!
User avatar
Neutron
Posts: 2274
Joined: Sun Apr 29, 2001 4:00 pm
Location: Great white north eh
Contact:

Re: HOW TO ... PresetList building instructions.

Post by Neutron »

bosone wrote:just a suggestion.
since the operation of preset-making is repetitive and boring, you can use a macro progam to automate mouse movements.
i use
macro maker
http://members.ij.net/anthonymathews/MacroMaker.htm

i ususally automate the process of bringing the "val" object into the Parameter' list, and a certain numbers of dragging from the Parameter' list to the 'PresetParameterList'.

you have to learn how to handle the macros but then it saves you a lot of time!
I never tried a macro program with scope i figured it would not recognise the windows and buttons in the non-standard interface.
bosone
Posts: 1525
Joined: Sun Mar 25, 2001 4:00 pm
Location: Italy
Contact:

Re: HOW TO ... PresetList building instructions.

Post by bosone »

that program simply automates mouse movements, mouse clicks and keypress, so it works, i guarantee! ;)
User avatar
Shroomz~>
Posts: 5669
Joined: Wed Feb 23, 2005 4:00 pm
Location: The Blue Shadows

Re: HOW TO ... PresetList building instructions.

Post by Shroomz~> »

To be brutally honest I think it's a terrible idea Bosone. If I spend several days, weeks or months making a Scope plugin, there's no way I'm going to trust a macro process to properly create the parameter list & preset parameter list for me. Apart from anything else, the process of creating the parameter list properly involves individually naming each parameter, so each plugin having different parameters leaves me thinking that there's no way I'd even consider using an automated process. Fair enough if there was some automation process within the sdk, but that would be entirely different.
voidar
Posts: 1264
Joined: Sun Aug 18, 2002 4:00 pm
Location: Norway

Re: HOW TO ... PresetList building instructions.

Post by voidar »

Shroomz~> wrote: 15. Connect the presetlist button 'val' parameter on your device surface panel to the PresetList 'show' parameter.
I had some problems with this. If I chose this procedure, right-clicking on the device would let me choose a nil-referenced "SurfaceInterface".

With a created PresetList, there should now be two SurfaceInterface entries directly under the device tree. One of them is for the surface panel and the other one is for the preset browser. You can easily find out which is which though the last one in the tree is usually the one you want.

Find the 'AddShow' value and store->connect it to 'val' of presetlist button on device surface panel.

Whenever you right-click device, it will now correctly show option for opening "Panel" or "PresetBrowser".
Post Reply