AbstractCVWidgetEditor:
Filter:
Classes (extension) | GUI | Conductor | External Control > MIDI | External Control > OSC

AbstractCVWidgetEditor : Object
ExtensionExtension

the abstract superclass for CVWidgetEditor and CVWidgetMSEditor

Description

CVWidgetEditor and CVWidgetMSEditor let you edit a CVWidgets properties in a GUI. AbstractCVWidgetEditor as abstract superclass of both classes provides those for both classes.

Class Methods

AbstractCVWidgetEditor.allEditors

An Event containing the currently opened editors, widget-names are kept in the keys:

CVWidgetKnob
- the editor itself is stored in allEditors[<widget-name>][\editor]
CVWidget2D
- both, \lo and \hi, have their own editor: allEditors[<widget-name>][\hi or \lo][\editor]
CVWidgetMS
- the global editor (a CVWidgetMSEditor) and the sub-editors (all CVWidgetEditors) are stored in allEditors: in allEditors[<widget-name>][<index>][\editor] all sub-editors (CVWidgetEditors for each slot) are stored, allEditors[<widget-name>][\editor] keeps the global CVWidgetMSEditor.

Returns:

AbstractCVWidgetEditor.shortcuts

AbstractCVWidgetEditor.shortcuts = value

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).

NOTE: In order to change an existing shortcut it is not enough to update the shortcuts-classvar. The user will also have to call KeyDownActions: *setShortcuts once.

See a list of predefined shortcuts in the Shortcuts section of this document.

Returns:

Inherited class methods

Instance Methods

.front(tab)

Bring the editor given by the receiver to front.

Arguments:

tab

the tab-index to be focused when the editor is sent to front:

  • 0 - the "Spec"-tab
  • 1 - the "MIDI"-tab
  • 2 - the "OSC"-tab
  • 3 - the "Actions"-tab

Returns:

.isClosed

Return a Boolean, indicating whether the editor is closed (the widget must have been opened previously)

Returns:

Shortcuts-related methods

.setShortcuts: METHOD NOT FOUND!

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).

Returns:

.scv

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.

Returns:

an Event

GUI properties and elements

The following methods return representations of elements that are common to CVWidgetEditor as well as CVWidgetMSEditor

.window

The Window object the editor is embedded into.

Returns:

.tabs

A TabbedView2, containing the tabs "Spec", "MIDI", "OSC" and "Actions". Each one can be reached via tabs.views which contains the individual TabbedViewTabs.

Returns:

The "Spec"-tab

.specField

A TextField that let's the user define a custom ControlSpec. This can be done in various ways:

NOTE: If the widget is a CVWidgetMS values entered in this field may get treated differently as multi-slider widgets wrap multi-dimensional specs. hence, if you enter e.g. \freq as spec it will automatically expand to an adequate multi-dimensional ControlSpec.

Returns:

.specsList

a PopUpMenu (drop-down), allowing to select from the list of predefined ControlSpecs, setting the widget's CV's spec to the selected one.

Returns:

.specsListSpecs

The List of currently available ControlSpecs

Returns:

The "MIDI"-tab: widget-settings

.midiResolutionNB

A NumberBox, allowing the user to set the widget's midiResolution (CVWidget: -getMidiResolution, CVWidget: -setMidiResolution).

Returns:

.midiModeSelect

A PopUpMenu, allowing the user to set the widget's midiMode (CVWidget: -getMidiMode, CVWidget: -setMidiMode).

Returns:

.midiMeanNB

A NumberBox, allowing the user to set the widget's midiMean (CVWidget: -getMidiMean, CVWidget: -setMidiMean)

Returns:

.softWithinNB

A NumberBox, allowing the user to set the widget's softWithin (CVWidget: -getSoftWithin, CVWidget: -setSoftWithin)

Returns:

.ctrlButtonBankField

A TextField, allowing the user to set the widget's ctrlButtonBank value (CVWidget: -getCtrlButtonBank, CVWidget: -setCtrlButtonBank).

Returns:

The "MIDI"-tab: MIDI-connecting

.midiInitBut

A Button, either starting or restarting MIDI. Also the button displays the current MIDI-state.

Returns:

.midiSourceSelect

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.

Returns:

.midiLearnBut

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.

Returns:

.midiSrcField

A TextField that allows the user to set a MIDI source-ID. If selected from -midiSourceSelect this field should get filled automatically.

Returns:

.midiChanField

A TextField that allows the user to set a MIDI-channel resp. the field will show the channel if a MIDI-connection is present.

Returns:

.midiCtrlField

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.

Returns:

The "OSC"-tab

.portRestrictor

A checkbox, forcing the OSC-responder to listen to a specific port only.

Returns:

a CheckBox (Qt) or a Button, faking a checkbox (Cocao)

.deviceListMenu

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.

Returns:

.deviceDropDown

(describe method here)

Returns:

(describe returnvalue here)

.cmdListMenu

A PopUpMenu, allowing the user to select among possible command-names. The selected one will be filled into -nameField automatically.

Returns:

.nameField

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.

Returns:

.indexField

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.

Returns:

.alwaysPosField

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.

Returns:

.mappingSelect

(describe method here)

Returns:

(describe returnvalue here)

.calibBut

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.

Returns:

.connectorBut

A Button to connect and disconnect. Behind the scenes this button triggers CVWidget: -oscConnect or CVWidget: -oscDisconnect.

Returns:

The "Actions"-tab

.actionsUIs

An Event that contains all elements of a graphical editor for each action.

Returns:

an Event

Inherited instance methods

Examples

Shortcuts

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

s
Focus the "Spec"-tab.
m
Focus the "MIDI"-tab.
o
Focus the "OSC"-tab.
a
Focus the "Actions"-tab.
c
Open the OSCCommands window and start collecting incomming OSC-commands.
esc
Close the editor.