Skip to content

Instantly share code, notes, and snippets.

function timestampToTimeItems(timestamp) {
return {
hours: (((timestamp / 3600000)|0) + 9) % 24,
minutes: ((timestamp / 60000)|0) % 60,
seconds: ((timestamp / 1000)|0) % 60,
};
}
@mohayonao
mohayonao / parser.txt
Last active August 29, 2015 13:56
SCScriptの構文
Program :
FunctionBody(opt)
FunctionExpression :
{ FunctionBody(opt) }
{ | FunctionArguments | FunctionBody(opt) }
{ arg FunctionArguments ; FunctionBody(opt) }
FunctionArguments :
FunctionArgumentList
SCScript(function($SC) {
return ($SC('add', $SC('new', $SC.Class('SynthDef'), ['bubbles', function() {
var f, zout;
f = $SC('midicps', $SC('kr', $SC.Class('LFSaw'), [0.4, 0, 24, $SC('kr', $SC.Class('LFSaw'), [[8, 7.23], 0, 3, 80])]));
zout = $SC('ar', $SC.Class('CombN'), [$SC('ar', $SC.Class('SinOsc'), [f, 0, 0.04]), 0.2, 0.2, 4]);
return $SC('ar', $SC.Class('Out'), [0, $SC('postln', zout)]);
}])), $SC('add', $SC('new', $SC.Class('SynthDef'), ['moto-rev', function() {
var x;
x = $SC('clip2', $SC('ar', $SC.Class('RLPF'), [$SC('ar', $SC.Class('LFPulse'), [$SC('kr', $SC.Class('SinOsc'), [0.2, 0, 10, 21]), [0, 0.1], 0.1]), 100, 0.1]), [0.4]);
return $SC('ar', $SC.Class('Out'), [0, x]);
SCScript(function($SC) {
return $SC.I.r = $SC('play', $SC('new', $SC.Class('Task'), [$SC.SyncFunction(function() {
var freq, indexDepth, indexRange, synthIndex, dur, repeat, next, count, countDown, offset, ratioa, ratiob, envs, env, range, outBus;
return [
function() {
range = 60, outBus = 0;
count = 0;
countDown = 0;
offset = 0;
envs = [[0, 0.9], [0.01, 0.9], [0.1, 0.8], [0.8, 0.01]];
`int sc_wrap(int, int, int)` callers
server/plugins/DemandUGens.cpp:1963: index = sc_wrap(index, 0, unit->mNumInputs - 2) + 1;
server/plugins/DemandUGens.cpp:1992: index = sc_wrap(index, 0, unit->mNumInputs - 2) + 1;
server/plugins/DemandUGens.cpp:2008: index = sc_wrap(index, 0, unit->mNumInputs - 1) + 1;
server/plugins/DemandUGens.cpp:2017: index = sc_wrap(index, 0, unit->mNumInputs - 1) + 1;
server/plugins/OscUGens.cpp:903: index = sc_wrap(index, 0, maxindex);
server/plugins/OscUGens.cpp:917: index = sc_wrap(index, 0, maxindex);
server/plugins/OscUGens.cpp:937: index = sc_wrap(index, 0, maxindex);
server/plugins/TriggerUGens.cpp:1436: level = (float)sc_wrap(resetval, zmin, zmax);
@mohayonao
mohayonao / tree.txt
Last active August 29, 2015 13:57
SuperCollider、基本のオブジェクトまとめ
Object
+---------------------+-------------------------------------------+------------------+----+-------+------------+
Magnitude Collection AbstractFunction Ref Symbol Boolean Nil
+--------------+ +-----------------------+ +---------+ ` \ +-----+
Number Char SequenceableCollection Set Function Stream True False
| $. | | {} +--------+
SimpleNumber ArrayedCollection Dictionary Thread PauseStream
| | +------+ | | |
Integer Float Array RawArray IdentityDictionary Routine Task
1 1.0 [] | | {:}
void initSpecialClasses()
{
gSpecialClasses[op_class_object] = s_object;
gSpecialClasses[op_class_symbol] = s_symbol;
gSpecialClasses[op_class_nil] = s_nil;
gSpecialClasses[op_class_boolean] = s_boolean;
gSpecialClasses[op_class_true] = s_true;
gSpecialClasses[op_class_false] = s_false;
gSpecialClasses[op_class_magnitude] = s_magnitude;
gSpecialClasses[op_class_char] = s_char;
@mohayonao
mohayonao / class-tree
Last active August 29, 2015 14:00
継承されているクラスを探すやつ
Object
PlusFreqScopeWindow
PowerOfTwoAllocator
LanguageConfig
Env
Penv
BLowPass4
InterplChord
ScopeBuffer
QuarkView
a = r {
10.yield;
20.yield;
};
b = r {
1.yield;
a.embedInStream;
2.yield;
};
f = { |class, i = 0|
var indent = "".padLeft(i);
if ("Common\\\\(Audio|Collections|Control|Core|Math|Streams)".matchRegexp(class.filenameSymbol.asString)) {
i = i + 2;
(indent ++ "- [ ] " ++ class.name).postln;
class.subclasses.do(f.(_, i));
i = i - 2;
}
};