CVWidgetEditor and CVWidgetMSEditor let you edit a CVWidgets properties in a GUI. AbstractCVWidgetEditor
as abstract superclass of both classes provides those for both classes.
An Event containing the currently opened editors, widget-names are kept in the keys:
allEditors[<widget-name>][\editor]
\lo
and \hi
, have their own editor: allEditors[<widget-name>][\hi or \lo][\editor]
allEditors
: in allEditors[<widget-name>][<index>][\editor]
all sub-editors (CVWidgetEditors for each slot) are stored, allEditors[<widget-name>][\editor]
keeps the global CVWidgetMSEditor.An IdentityDictionary containing all currently defined shortcuts for any CVWidget(MS)Editor. Though this is a getter/setter it is recomended to add/remove shortcuts via the GUI within the preferences-interface (changes will become active after recompilation of the class-library) or the shortcuts-interface (changes become active immediatly but get reset after recompilation of the class-library).
See a list of predefined shortcuts in the Shortcuts section of this document.
Bring the editor given by the receiver to front.
tab |
the tab-index to be focused when the editor is sent to front:
|
a CVWidgetEditor or a CVWidgetMSEditor
Return a Boolean, indicating whether the editor is closed (the widget must have been opened previously)
a Boolean
After the *shortcuts have been set this method must be called in order to make them active (if shortcuts have been set via GUI this will be handled internally).
a CVWidgetEditor or a CVWidgetMSEditor
An Event containing various objects that do not necessarily belong to the widget-editor but are related to it. E.g. when a shortcut opens a window that window may be added to scv so other shortcuts can refer to it later. Basically scv
has been introduced as the concept of configurable shortcuts seperate shortcut-actions from the widget-editor. Hence, variables in these actions can't get initialized belonging to the widget-editor automatically. However, scv
holding a dictionary that can be filled up later solves the problem.
an Event
The following methods return representations of elements that are common to CVWidgetEditor as well as CVWidgetMSEditor
A TabbedView2, containing the tabs "Spec", "MIDI", "OSC" and "Actions". Each one can be reached via tabs.views
which contains the individual TabbedViewTabs.
A TextField that let's the user define a custom ControlSpec. This can be done in various ways:
ControlSpec(20, 20000, \exp, 0.0, 440, " Hz")
)\freq
- further internal processing will call .asSpec
on it.#[20, 20000, \exp, 0.0, 440, " Hz"]
- further internal processing will call .asSpec
on it.\freq
as spec it will automatically expand to an adequate multi-dimensional ControlSpec.a PopUpMenu (drop-down), allowing to select from the list of predefined ControlSpecs, setting the widget's CV's spec to the selected one.
A NumberBox, allowing the user to set the widget's midiResolution
(CVWidget: -getMidiResolution, CVWidget: -setMidiResolution).
A PopUpMenu, allowing the user to set the widget's midiMode
(CVWidget: -getMidiMode, CVWidget: -setMidiMode).
A NumberBox, allowing the user to set the widget's midiMean
(CVWidget: -getMidiMean, CVWidget: -setMidiMean)
A NumberBox, allowing the user to set the widget's softWithin
(CVWidget: -getSoftWithin, CVWidget: -setSoftWithin)
A TextField, allowing the user to set the widget's ctrlButtonBank
value (CVWidget: -getCtrlButtonBank, CVWidget: -setCtrlButtonBank).
A Button, either starting or restarting MIDI. Also the button displays the current MIDI-state.
a Button
If MIDI is active (indicated by the button "restart MIDI") one can select among available MIDI-devices here. The numerical source-ID gets inserted into -midiSrcField.
A Button that, if clicked, either triggers the MIDI-learn functionality (button-label: "L") or creates a CCResponder for the values entered in -midiSrc, -midiChan or/and -midiCtrl (button-label: "C"). If a CCResponder is present the button-label gets changed to "X" - upon clicking the responder gets removed again.
A Button
A TextField that allows the user to set a MIDI source-ID. If selected from -midiSourceSelect this field should get filled automatically.
A TextField that allows the user to set a MIDI-channel resp. the field will show the channel if a MIDI-connection is present.
A TextField that allows the user to set a MIDI-contoller resp. the field will show the controller-Nr. if a MIDI-connection is present.
A checkbox, forcing the OSC-responder to listen to a specific port only.
A PopUpMenu, displaying physical devices or apps stored to disc under a certain name. Devices can be stored after hitting the green "new" button on the right side of the interface. For more information have a look at OSCCommands.
(describe method here)
(describe returnvalue here)
A PopUpMenu, allowing the user to select among possible command-names. The selected one will be filled into -nameField automatically.
A TextField, allowing to set an OSC command-name (e.g. /my/cmd/name
). This field will get filled out with a meaningful name if one's selected from the 'command-names' drop-down.
a NumberBox, allowing the user to select the slot of OSC-message. The widget's CV's value will get set to the value in that slot.
A StaticText displaying an auto-correction value for the incoming value. Auto-correction means that incoming values will always be shifted into positive, allowing input-mappings expontial to linear or exponential to exponential even though the (real) input-range is zero-crossing.
(describe method here)
(describe returnvalue here)
A Button which starts/stops OSC-calibration. Calibration means that the constraints of the incoming value in the OSC-message are constantly being checked and readjusted if necessary.
a Button
A Button to connect and disconnect. Behind the scenes this button triggers CVWidget: -oscConnect or CVWidget: -oscDisconnect.
a Button
Within every CVWidget(MS)Editor a number of shortcuts apply. All of these are configurable by the user. For more Information have a look at KeyDownActions, CVCenterPreferences or CVCenterShortcutsEditor