Ah, I’d read @tambouri’s reply and got the wrong idea. It would be good to use a pulse time of 0 to disable the pulse, sometimes having multiple approaches to solve the same problem can be beneficial (and sometimes not!).

Hopefully that’s not too difficult to do either, just changes to op_TR_PULSE and a_TR_TIME maybe? I can put a PR in if you want, or review someone elses…

yes it seems it’d require very minor changes to TR_TIME and TR_PULSE. i’m in frantic pre-departure mode for a bit, so if you want to go ahead i’d be happy to pull it in.

also i’m in agreement that throwing out out-of-bounds indexes makes sense. if we do an expander in the future, it’s a very simple modification to accommodate. note that this bit would have to be dynamic based on the presence of the expander hardware, so let’s deal with that when it happens.

1 Like

go ahead with this
+
enjoy the roadtrip!

Cool, I’ll try and get something done tomorrow or at the weekend.

i’m re-reading the docs and trying to decide whether the tracker is the best way to handle more complex rhythm tasks

if i want tr outs or cv outs to loop only portions of a pattern (e.g. tr 1 cycles thru indices 1-3 while tr 2 uses values 8-21 of the same bank) is that currently possible?

if i figure it out before somebody else i’ll share my findings

You’d just need to maintain your own index and use the P or PN command. e.g.

X WRAP ADD 1 X 1 3
TR 1 PN 0 X
Y WRAP ADD 1 Y 8 21
TR 2 PN 0 X

If you don’t want to use a variable up, you could also save the index in a pattern location, similarly you could also save the start and ends of the loops in pattern locations, especially as patterns are easy to edit ‘live’.

Is that what you’re after?

(as an aside, one of the things I’d like to contribute at some point are PN.xxx versions of all of the P.xxx commands, e.g. PN.POP 0 will pop a value from pattern 0)

1 Like

thanks

i havent had time with TT since you posted this

Would the PN.xxx include the ability to do PN.NEXT 0 ??

I believe this was in a different thread, but being able to stack a few pattern advances w/o using lines to reassign the pattern would be great!

That’s the plan. I’m assuming it’s doable, I haven’t actually looked yet, though I’d be very surprised if it isn’t, and it’s dependent on being accepted as a worthwhile addition. Personally I’d prefer to use a PN.xxx command unless I’m specifically making use of the non-determinate pattern selection of a P.xxx command.

2 Likes

doable and agreed that this is good functionality.

3 Likes

merged but i won’t have time to publish a new release for a bit.

BTW this works great and I’m still making minor tweaks/refinements…the main difference in my script is use of “O” to increment rather than ADD

so it goes

X WRAP O 1 3 TR 1 PN 0 X

1 Like

Would it be possible to make loops of several lines (and containing inner loops) ?0 7 :

L 0 3 :
( P.N I
P.L 8
L 0 7 : P I TOSS )

1 Like

you could do this with two scripts.

edit: typo!

SCRIPT 1

L 0 3 : SCRIPT 2

SCRIPT 2

P.N I
P.L 8
L 0 7 : P I TOSS

should work?

implementing nested loops into the syntax would add more complexity than i’d like to undertake in this simple language.

3 Likes

That’s not so easy to do…

You could try using another script and the SCRIPT command.

SCRIPT 1

L 0 3 : SCRIPT 2

SCRIPT 2

P.N I
P.L 8
L 0 7 : P I TOSS

You’ll need to see what happens to the value of I, it should be overwritten when you run the second (or inner) L, but that shouldn’t affect the outer L. When the first L is run it will reset the value of I to the correct value.

I’ve tested this on my teletype and it seems to work.

2 Likes

Thanks guys !
Given that you two come with the same solution must be a proof of truth !

2 Likes

sooo

I’m trying to parse out why that would work and the mental wall starts @ this command [quote=", post:282, topic:839"]
P I TOSS
[/quote]

what’s the difference between TOSS and FLIP? why does toss accomplish @chapelierfou’s idea?

is this restricted to two pattern banks or does it hop between all four?

FLIP inverts everytime (if 1, then 0… if 0, then 1). TOSS acts like a coin toss and returns 0 or 1 randomly.

1 Like

Toss is launching a coin in the air.
Flip is flipping the coin on the table.

3 Likes