sclang: ServerShmInterface - try to avoid multiple destructor calls
[supercollider.git] / HelpSource / Classes / MonitorGui.schelp
blob57c58e93158a6009a15ee057ae97615a69921761
1 class:: MonitorGui
2 summary:: display and control a Monitor
3 categories:: Libraries>JITLib>GUI
4 related:: Classes/NodeProxy, Classes/Ndef, Classes/JITGui, Classes/NdefGui
6 description::
8 MonitorGui displays the state of a link::Classes/NodeProxy::'s link::Classes/Monitor::. It is used in link::Classes/NdefGui::, link::Classes/ProxyMixer::, and link::Classes/NdefMixer::.
10 subsection::First examples
12 code::
13 s.boot;
14 Ndef(\a).ar;
15 Ndef(\k).kr;
17         // make a MonitorGui with all bells and whistles
18 m = MonitorGui.new(bounds: 500@40, options: [\playN, \name, \level, \fade]);
20         // when it has a kr proxy, it is visible, but disabled
21 m.object_(Ndef(\k));
22         // with an ar proxy, it is enabled
23 m.object_(Ndef(\a));
25         // show its play state
26 Ndef(\a).play           //
27         // and volume
28 Ndef(\a).vol_(0.25);
29 Ndef(\a).stop
31         // switch to playN mode - spread outputs should show
32 Ndef(\a).playN([0, 2]);
33         // switch back to play - spread outbox goes back
34 Ndef(\a).stop;
35 Ndef(\a).play(0);
38 ClassMethods::
40 private::initClass
42 subsection::Creation
44 method::new
46 code::
47 g = MonitorGui(Ndef(\a));       // barebones
49 w = Window.new.front;
50 w.addFlowLayout;
51 g = MonitorGui(Ndef(\a), w, 300@40);
53         // different options:
54         // a playN dialog button
55 g = MonitorGui.new(Ndef(\a), options: [\playN])
57         // bounds
58 MonitorGui.new(Ndef(\a), bounds: Rect(100, 100, 400, 30), options: [\playN])
59 MonitorGui.new(Ndef(\a), bounds: 400@24, options: [\playN])
61         // level name and numerical value
62 MonitorGui.new(Ndef(\a), options: [\playN, \level])
64         // a nameView and a fadeTime setter box
65 MonitorGui.new(Ndef(\a), options: [\playN, \name, \fade])
67         // all of 'em
68 MonitorGui.new(Ndef(\a), options: [\playN, \level, \name, \fade])
71 argument::object
72 the nodeproxy whose monitor state will be shown, or nil.
74 argument::parent
75 a parent view where MonitorGui is to be shown. If nil, a window is made.
77 argument::bounds
78 bounds where the view (or window) will be shown.
80 argument::makeSkip
81 a flag whether to create and start a link::Classes/SkipJack:: for auto-updating.
83 argument::options
84 an array of symbols for options of what to display.
86 subsection::Class Variables
88 method::lastOutBus
89 the highest outbus number to allow. Default is 99.
91 InstanceMethods::
93 subsection::Instance Variables
95 method::config
96 some information on what to display
98 method::ampSl
99 an link::Classes/EZSlider:: for link::Classes/Monitor:: volume
101 method::playBut
102 a play button - shows play or playN
104 method::setOutBox
105 a numberbox to set output routing
107 method::playNDialogBut
108 opens a dialog window for playN output routing by code
110 method::fadeBox
111 a numberbox for setting monitor fadeTime.
113 subsection::Some Methods
115 method::playNMode
116 switches between playN mode (true) and play mode (false)
118 method::checkUpdate
119 compare previous state with current state, and update gui elements.