rsc3/doc-schelp/HelpSource/Classes/MonitorGui.schelp

129 lines
2.7 KiB
Text

class:: MonitorGui
summary:: display and control a Monitor
categories:: Libraries>JITLib>GUI, Live Coding
related:: Classes/NodeProxy, Classes/Ndef, Classes/JITGui, Classes/NdefGui
description::
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::.
subsection::First examples
code::
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);
::
ClassMethods::
private::initClass
subsection::Creation
method::new
code::
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])
::
argument::object
the nodeproxy whose monitor state will be shown, or nil.
argument::parent
a parent view where MonitorGui is to be shown. If nil, a window is made.
argument::bounds
bounds where the view (or window) will be shown.
argument::makeSkip
a flag whether to create and start a link::Classes/SkipJack:: for auto-updating.
argument::options
an array of symbols for options of what to display.
subsection::Class Variables
method::lastOutBus
the highest outbus number to allow. Default is 99.
InstanceMethods::
subsection::Instance Variables
method::config
some information on what to display
method::ampSl
an link::Classes/EZSlider:: for link::Classes/Monitor:: volume
method::playBut
a play button. Shift-click opens a dialog window for playN output routing by code
method::setOutBox
a numberbox to set output routing
method::fadeBox
a numberbox for setting monitor fadeTime.
subsection::Some Methods
strong::Making various gui elements: ::
method::makeViews
method::makeVol
method::makeNameView
method::makePlayOut
method::makeFade
strong::Standard JITGui methods: ::
method::setDefaults
create default layout sizes
method::accepts
accepts nil or NodeProxy
method::getState
get the object's current state
method::checkUpdate
compare previous state with current state, and update gui elements.