[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[sc-users] SC as master to LogicPro
- To: sc-users@xxxxxxxxxxxxxxxx
- Subject: [sc-users] SC as master to LogicPro
- From: Julio dÉscrivan <julio@xxxxxxxxxxxx>
- Date: Wed, 29 Jul 2009 20:02:10 +0100
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:from:date :x-google-sender-auth:message-id:subject:to:content-type; bh=W6lZx36WLzFgJvtkdLOXAJzxFPXWMzRG+TCP2+rNV8M=; b=E/oGq6y0Mq6iftDeXSD2Z62m2OGgJnosGNxnKLOJK0iHa7idZZQtpQA4GmCgg8wbUS akJqeSXSu8JxpEC0hxPSEFYZrhLkUVmJoTKSHEqaMEtcTMa6SE05ulwEMbXAus+dzxZw LiYg+hQEoH53zjc04txH/6JVu0ybMaJyV4qSE=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=mime-version:sender:from:date:x-google-sender-auth:message-id :subject:to:content-type; b=HfJdmlNDWMYsrzIssWgjkCd9l8Z+5YmJwN+/uGKcsh+ss3zAfBqN/WXbAZ+wj5VFG0 VMLaiULOTdMsfzKykh/gNUZIgCR8H+qqt3/6wacoQxvuJcPxpFlFLdFujct4fN16Ef+6 D2gZW9p1b2bzwDVUOs3X/Vn4MCVEWsaciyzLo=
- List-id: SuperCollider users mailing list <sc-users.create.ucsb.edu>
- Reply-to: sc-users@xxxxxxxxxxxxxxxx
- Sender: owner-sc-users@xxxxxxxxxxxxxxxx
Hi guys,
I was wondering how to do this properly and I am getting some partial successes... nothing seems to work quite right...
Having set LogicPro to listen for MTC, I am sending SMPTE from a pattern (which Logic sees as midi time code):
I thought maybe all I had to do was send an endless count of frames and LogicPro would round up into multiples which it seems to do:
Penvir(
(f:0),
Pbind(\dur,1/25 ,\type, \midi, \midiout, m,
\midicmd, \smpte,
\hours, 1, //typically film projects are set at 1 hour smpte for offset purposes but this is probably me being old school
\frames, Pfunc({ ~f = ~f + 1; ~f })
) ).play
but this stops after playing bars 1 to 6, twice.... why??? Logic must be rounding up in some way... I have no cycle markers (locators) set, BTW !!
so, just to test I get the seconds incrementing and it goes forward madly:
(
Penvir(
(f:0, m:0, s:0, h:0),
Pbind(\dur,1/25 ,\type, \midi, \midiout, m,
\midicmd, \smpte,
\hours, 1,
\frames, Pfunc({ ~f = ~f + 1; ~f.mod(25).postln }),
\seconds, Pfunc({ ~s= ~s+1})
\minutes,
) ).play
)
...so now I need to make everybody advance at their own pace, so seconds will only count every 25 frames ( I'm in Europe)
and I do this:
(
Penvir(
(f:0, m:0, s:0, h:1),
Pbind(\dur,1/25 ,\type, \midi, \midiout, m,
\midicmd, \smpte,
\frames, Pfunc( { arg event; ~f = ~f + 1; ~f.mod(25) }).trace,
\seconds, Pfunc({ arg event; if (Pkey(\frames) == 24) { ~s = ~s + 1; ~s.mod(60) } }),
\minutes, Pfunc({ arg event; if (Pkey(\seconds) == 59) { ~m = ~m + 1; ~m.mod(60)}}),
\hours, Pfunc({ arg event;if (Pkey(\minutes) == 59) { ~h = ~h + 1; ~h.mod(60)}})
) ).play
)
but from the .trace I can see it outputs just 1 frame count and stops... can't see why... I don't get any errors in the Post window but LogicPro receives nothing...
I also tried this and it's going 'round but Logic doesn't read it... (plus it needs tweaking because it will start for 01:01:01:01 and it should start at 0 all)
(
Penvir(
(f:0, m:0, s:0, h:0),
Ppar([
Pbind(\dur,1/25 ,\type, \midi, \midiout, m, \midicmd, \smpte, \frames, Pfunc({ ~f = ~f + 1; ~f.mod(25) })),
Pbind(\dur,1 ,\type, \midi, \midiout, m, \midicmd, \smpte, \seconds, Pfunc({ ~s = ~s + 1; ~s.mod(60)}).trace),
Pbind(\dur, 60 ,\type, \midi, \midiout, m, \midicmd, \smpte, \minutes, Pfunc({ ~m = ~m + 1; ~m.mod(60) })),
Pbind(\dur, 3600 ,\type, \midi, \midiout, m, \midicmd, \smpte, \hours, Pfunc({ ~h = ~h + 1; ~h.mod(60) }))
])).play
)
any recommendations very welcome !
Thanks,
Julio
music.bitbongo.com/
www.myspace.com/casiorfeo
.............................................
teaching.bitbongo.com/
www.anglia.ac.uk/ruskin/en/home/faculties/alss/deps/mpa/staff/dr_julio_d_escrivan.html
skype: juliodescrivan
mobile: (+44) 07540 555996