/usr/share/SuperCollider/HelpSource/Classes/RecNodeProxy.schelp is in supercollider-common 1:3.8.0~repack-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | class:: RecNodeProxy
summary:: a NodeProxy that can record
categories:: Libraries>JITLib>NodeProxy
related:: Classes/NodeProxy
description::
this is also created from a link::Classes/NodeProxy::, or an link::Classes/Ndef:: with the message strong::record::.
ClassMethods::
method::new
see superclass
method::audio
see superclass
method::newFrom
instantiate a new proxy that listens to the in proxy.
InstanceMethods::
method::open
open new file and initialize buffer on server
method::record
start the recording synth.
argument::paused
if paused is false start recording immediately.
method::close
stop recording, close file
method::isRecording
see if recording right now
method::wakeUp
until the proxy is not used by any output ( either .play or .ar/.kr ) it is not running on the server. you can wake it up to force it playing.
Examples::
code::
s.boot;
a = RecNodeProxy.audio(s, 2);
a.source = { SinOsc.ar([400,500], 0, 0.1) };
a.play; //monitor;
a.open("xproxySpace.aif");
a.record(false);
a.source = { SinOsc.ar([400,700], 0, 0.1) };
a.source = { SinOsc.ar([410,510], 0, 0.1) };
a.source = { SinOsc.ar([LFNoise1.kr(80, 100, 300),500], 0, 0.1) };
//stop recording and close file
a.close;
//monitor off
a.stop;
::
subsection::recording from some bus
code::
a = Bus.audio(s, 2);
SynthDef("test", { arg out; Out.ar(out, { WhiteNoise.ar(0.1) }.dup(2)) }).add;
x = Synth("test", [\out, a]);
n = RecNodeProxy.audio(s, 2);
n.source = { InFeedback.ar(a, 2) };
n.play;//monitor
n.stop;//turn off monitor
n.open("noise.aif");
n.record;
n.unpause;
n.close;
::
subsection::instance creation from an existent node proxy
code::
b = NodeProxy.audio(s, 2);
b.play; //listen to b
b.source = { SinOsc.ar([400,500], 0, 0.1) }; //play something
r = RecNodeProxy.newFrom(b);
r.open("recproxy514.aif"); //open file
r.record; //start recorder (paused)
r.unpause; //start recording
b.source = { SinOsc.ar([430,500], 0, 0.1) };
b.source = { SinOsc.ar([410,510], 0, 0.1) };
b.source = { SinOsc.ar([LFNoise1.kr(80, 100, 300), 500], 0, 0.1) };
r.pause;
b.source = { WhiteNoise.ar(0.01) };
r.unpause;
r.pause;
//stop recording and close file
r.close;
b.stop; //stop listen to b
::
subsection::instance creation from an existent node proxy again
code::
b = NodeProxy.audio(s, 2);
b.play; //listen to b
b.source = { SinOsc.ar([400,500], 0, 0.1) }; //play something
r = b.record("recproxy101.aiff"); //start recorder (paused)
r.unpause; //start recording
r.close; //end recording, close file
b.stop; //stop listen
::
subsection::recording from other sources
code::
s.boot;
a = RecNodeProxy.audio(s, 2);
b = a.index; //get the bus index;
a.play; //monitor;
a.open("xproxySpace.aif");
a.record;
a.unpause;
(
Routine({
var id;
loop({
id = s.nextNodeID;
s.sendMsg("/s_new", "default", id,0,0, \out, b, \freq, rrand(400, 800));
0.2.wait;
s.sendMsg("/n_set", id, \gate, 0);
0.2.wait;
})
}).play;
)
//stop recording and close file
a.close;
//monitor off
a.stop;
::
|