SynthConsole

*new( object, layout)

convenient buttons for common utilities:

play, record, stop, tempo etc.

each method adds another button.

This may be used on its own and it is also a component used in AbstractPlayerGui for all Players.

An easy way to use it:

(

Sheet({ arg f;

SynthConsole({ arg synth;

SinOsc.ar(300,0,0.3)

},f) // if no layout provided it will create one

.play

//.scope

//.fftScope

//.record("SoundFiles/testy.aiff") // sets defaultPath for the prompt dialog

//.write(20) // 20 seconds

//.pauseableRecord // |,| toggle recording on and off while you play

.stop

//.formats

.tempo // gui the default Tempo

})

)

certain controls are not yet enabled in sc3, so the button will not appear.

note: the play button sends the .play message to your object.

see also [FunctionPlayer]

SynthConsole sends notifications that you can register to recieve through NotificationCenter:

NotificationCenter.register(yourSynthConsole,\didStop,you,{

// do something like

true.tabletTracking; // turn back on the wacom mouse

});

NotificationCenter.register(yourSynthConsole,\didRecordOrWrite,you,{

arg path; // path is passed in with the notification

savedTo = path;

});