MonitorGui displays the state of a NodeProxy's Monitor. It is used in NdefGui, ProxyMixer, and NdefMixer.
s.boot;
Ndef(\a).ar;
Ndef(\k).kr;
// make a MonitorGui with all bells and whistles
m = MonitorGui.new(bounds: 500@40, options: [\name, \level, \fade]);
// when it has a kr proxy, it is visible, but disabled
m.object_(Ndef(\k));
// with an ar proxy, it is enabled
m.object_(Ndef(\a));
// show its play state
Ndef(\a).play
// and volume
Ndef(\a).vol_(0.25);
// NOTE: shift-clicking the play button opens a playN dialog!
Ndef(\a).stop;
Ndef(\a).play(0);
xxxxxxxxxx
g = MonitorGui(Ndef(\a)); // barebones
(
w = Window.new.front;
w.addFlowLayout;
g = MonitorGui(Ndef(\a), w, 300@40);
)
// bounds
MonitorGui.new(Ndef(\a), bounds: Rect(100, 100, 400, 30))
MonitorGui.new(Ndef(\a), bounds: 400@24)
// level name and numerical value
MonitorGui.new(Ndef(\a), options: [\level])
// a nameView and a fadeTime setter box
MonitorGui.new(Ndef(\a), options: [\name, \fade])
// all of 'em
MonitorGui.new(Ndef(\a), options: [\level, \name, \fade])
object |
the nodeproxy whose monitor state will be shown, or nil. |
parent |
a parent view where MonitorGui is to be shown. If nil, a window is made. |
bounds |
bounds where the view (or window) will be shown. |
makeSkip |
a flag whether to create and start a SkipJack for auto-updating. |
options |
an array of symbols for options of what to display. |
the highest outbus number to allow. Default is 99.
some information on what to display
a play button. Shift-click opens a dialog window for playN output routing by code
a numberbox to set output routing
a numberbox for setting monitor fadeTime.
Making various gui elements:
Standard JITGui methods:
create default layout sizes
accepts nil or NodeProxy
get the object's current state
compare previous state with current state, and update gui elements.