2 latest midi notes

Aug 30, 2006 at 3:55pm

2 latest midi notes

hi

not sure if it is because of summer holidays or what, but I am
looking for soemthing which must be really simple, and cannot find it:

_I am playing notes on a midi keyboard (defining an ambitus), and
want to have the latest 2 displayed (note and velocity) – only note
ons, but stripnote is made for that

for instance if I play 60 100, then 70 100, then 57 99, i want to
have 70 100 57 99

must be some very easy way (zl?? Lobjects??)

many thanks

kasper

Kasper T. Toeplitz
noise, composition, bass, computer

http://www.sleazeArt.com

#27389
Aug 30, 2006 at 4:12pm

maybe trigger a counter (low 0 hi 1), that sets the write index of a small (x = 2) table module, then writes to the table? or something like that, maybe a coll is better so you can avoid having to use seperate tables for pitch and velocity.

#82810
Aug 30, 2006 at 4:23pm

maybe bucket?

greetings
h
Am 30.08.2006 um 18:12 schrieb kid_sputnik:

>
> maybe trigger a counter (low 0 hi 1), that sets the write index of
> a small (x = 2) table module, then writes to the table? or
> something like that, maybe a coll is better so you can avoid having
> to use seperate tables for pitch and velocity.
> –
> daniel b

hans w. koch
im krahnenhof 11
d-50668 koeln
+49-221-554902
http://www.hans-w-koch.net

#82811
Aug 30, 2006 at 9:38pm

yes, zl reg is the way to go.

#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P comment 59 258 346 131137545 patch by peter nyboer pnyboer -at- slambassador -dot- com;
#P newex 143 100 67 131137545 print checkit;
#P button 104 39 15 0;
#N vpatcher 27 390 627 790;
#P window setfont “Sans Serif” 9.;
#P window linecount 0;
#P newex 327 141 47 131137545 zl mth 3;
#P objectname unpack[20];
#P newex 311 117 47 131137545 zl mth 2;
#P objectname unpack[19];
#P newex 305 42 45 131137545 loadbang;
#P objectname unpack[18];
#P newex 290 94 47 131137545 zl mth 1;
#P objectname unpack[17];
#P newex 290 73 64 131137545 patcherargs;
#P objectname unpack[16];
#P window linecount 4;
#P comment 380 129 93 131137545 if $3 is a float , it outputs as float , if it is an int , it outputs an int;
#P window linecount 1;
#P newex 163 124 21 131137545 t 2;
#P objectname unpack[15];
#P newex 123 128 21 131137545 t 1;
#P objectname unpack[14];
#P newex 119 99 82 131137545 route float int 0;
#P objectname unpack[13];
#P newex 60 259 27 131137545 int;
#P objectname unpack[12];
#P newex 26 238 45 131137545 gate 2 1;
#P objectname unpack[11];
#P newex 27 108 92 131137545 route bang random;
#P objectname unpack[10];
#P newex 243 124 31 131137545 sel 0;
#P objectname unpack[9];
#P newex 206 151 31 131137545 sel 0;
#P objectname unpack[8];
#P outlet 23 313 15 0;
#P newex 227 173 35 131137545 * 100;
#P objectname unpack[2];
#P comment 380 112 100 131137545 $2 is 0. to () range;
#P inlet 25 40 15 0;
#P newex 27 215 39 131137545 / 100.;
#P objectname unpack[7];
#P newex 27 194 63 131137545 random 100;
#P objectname unpack[6];
#P newex 27 155 40 131137545 uzi 1;
#P objectname unpack[5];
#P newex 27 133 31 131137545 sel 1;
#P objectname unpack[4];
#P newex 23 290 61 131137545 zl group $1;
#P objectname unpack[3];
#P comment 380 94 100 131137545 $1 is list length;
#P connect 13 0 1 0;
#P connect 14 0 1 0;
#P connect 1 0 9 0;
#P connect 17 0 13 0;
#P connect 16 0 13 0;
#P connect 6 0 12 0;
#P connect 12 2 2 0;
#P connect 12 1 3 0;
#P connect 12 0 3 0;
#P connect 2 0 3 0;
#P connect 3 0 4 0;
#P connect 4 0 5 0;
#P connect 11 1 3 1;
#P connect 13 1 14 0;
#P connect 5 0 13 1;
#P connect 20 0 1 1;
#P connect 8 0 4 1;
#P connect 23 0 15 0;
#P connect 15 0 16 0;
#P connect 15 2 16 0;
#P connect 15 1 17 0;
#P connect 22 0 10 0;
#P connect 10 1 8 0;
#P connect 20 0 11 0;
#P connect 21 0 19 0;
#P connect 19 0 20 0;
#P connect 19 0 22 0;
#P connect 19 0 23 0;
#P pop;
#P newobj 108 63 87 131137545 p rndlist 2 127 1;
#P message 47 205 121 131137545 72 115;
#P newex 43 184 62 131137545 prepend set;
#P newex 108 122 40 131137545 t l b l;
#P message 181 188 121 131137545 68 117;
#P newex 177 167 62 131137545 prepend set;
#P newex 98 146 36 131137545 zl reg;
#P comment 65 230 346 131137545 watch the max window to confirm that these are the two most recent lists;
#P connect 2 0 3 0;
#P connect 4 2 2 0;
#P connect 7 0 4 0;
#P connect 7 0 9 0;
#P connect 4 0 1 1;
#P connect 8 0 7 0;
#P connect 4 1 1 0;
#P connect 5 0 6 0;
#P connect 1 0 5 0;
#P window clipboard copycount 11;

#82812
Aug 31, 2006 at 9:42am

>yes, zl reg is the way to go.
>

many thanks – yes, of course that was the way to go

kasper

Kasper T. Toeplitz
noise, composition, bass, computer

http://www.sleazeArt.com

#82813
Aug 31, 2006 at 10:47am

Hi,

How do my fellow-maxers keep ‘state’ in a Max patch? I have a patch
that 1. records and 2. plays back. If someone is recording, I want to
disable the playback related GUI elements, and vice versa. Switch
between 2 screens? Intercept and redirect the send receive messages
that are connected to the GUI elements?

Best,

Zip(hates doing GUI stuff in Max)

#82814
Aug 31, 2006 at 11:23am

Many of the GUI elements have inactive states that can be set (e.g.
for pictctrl, send an ‘active 0′ to it). You can even have graphics
associated with the inactive state. Take a look at the pictctrl help
file for an example.

Dan

At 12:47 PM +0200 8/31/06, Zip Boterbloem wrote:
>Hi,
>
>How do my fellow-maxers keep ‘state’ in a Max patch? I have a patch
>that 1. records and 2. plays back. If someone is recording, I want
>to disable the playback related GUI elements, and vice versa. Switch
>between 2 screens? Intercept and redirect the send receive messages
>that are connected to the GUI elements?
>
>Best,
>
>Zip(hates doing GUI stuff in Max)
>
>


Dan Nigrin
Defective Records
202 Hack / PC-1600 User / VSTi Host / OMS Convert / Jack OS X
http://www.defectiverecords.com

http://www.jackosx.com

#82815
Aug 31, 2006 at 11:50am

Hi Dan,

Thanks for your reply.
I’m testing the thispatcher object for enabling/disabling stuff
right now. The ignoreclick and respondtoclick messages are supposed
to do the trick. That and maybe switching screens might be all I
need. Hope this stuff works reliably. Over the years I’ve come to
love some, and fear other Max objects. This is new terrain for me.

Maybe I should try using more javascript and less Max.

Zip Boterbloem
Media Mechanics
Zwaluwstraat 54
2025 VR Haarlem
The Netherlands
+31627014758
zip@knoware.nl

Op 31-aug-2006, om 13:23 heeft Dan Nigrin het volgende geschreven:

> Many of the GUI elements have inactive states that can be set (e.g.
> for pictctrl, send an ‘active 0′ to it). You can even have
> graphics associated with the inactive state. Take a look at the
> pictctrl help file for an example.
>
> Dan
>
> At 12:47 PM +0200 8/31/06, Zip Boterbloem wrote:
>> Hi,
>>
>> How do my fellow-maxers keep ‘state’ in a Max patch? I have a
>> patch that 1. records and 2. plays back. If someone is recording,
>> I want to disable the playback related GUI elements, and vice
>> versa. Switch between 2 screens? Intercept and redirect the send
>> receive messages that are connected to the GUI elements?
>>
>> Best,
>>
>> Zip(hates doing GUI stuff in Max)
>>
>>
>
>
> —
> Dan Nigrin
> Defective Records
> 202 Hack / PC-1600 User / VSTi Host / OMS Convert / Jack OS X
> http://www.defectiverecords.com
> http://www.jackosx.com
>

#82816
Aug 31, 2006 at 5:03pm

>Hi,
>
>How do my fellow-maxers keep ‘state’ in a Max patch? I have a patch
>that 1. records and 2. plays back. If someone is recording, I want
>to disable the playback related GUI elements, and vice versa. Switch
>between 2 screens? Intercept and redirect the send receive messages
>that are connected to the GUI elements?

changing the visible part of a bpatcher???

kasper

Kasper T. Toeplitz
noise, composition, bass, computer

http://www.sleazeArt.com

#82817
Aug 31, 2006 at 6:04pm

Hi Kasper,

Thanks for your reply. Maybe changing the visible part of a bpatcher
is an idea. Switching screens (what I’m trying now) is a bit like
going back and forth between frames in Flash(ugh), but with more
computational overhead because both screens are ‘active’. Hmm.

Zip Boterbloem
Media Mechanics
Zwaluwstraat 54
2025 VR Haarlem
The Netherlands
+31627014758
zip@knoware.nl

Op 31-aug-2006, om 19:03 heeft Kasper T Toeplitz het volgende
geschreven:

>> Hi,
>>
>> How do my fellow-maxers keep ‘state’ in a Max patch? I have a
>> patch that 1. records and 2. plays back. If someone is recording,
>> I want to disable the playback related GUI elements, and vice
>> versa. Switch between 2 screens? Intercept and redirect the send
>> receive messages that are connected to the GUI elements?
>
>
> changing the visible part of a bpatcher???
>
> kasper
> —
> Kasper T. Toeplitz
> noise, composition, bass, computer
> http://www.sleazeArt.com
>
>

#82818
Aug 31, 2006 at 6:12pm

Kasper T Toeplitz wrote:
> for instance if I play 60 100, then 70 100, then 57 99, i want to have
> 70 100 57 99

1 unpack, 2 bucket…

Stefan


Stefan Tiedje————x——-
–_____———–|————–
–(_|_ —-|—–|—–()——-
– _|_)—-|—–()————–
———-()——–www.ccmix.com

#82819
Aug 31, 2006 at 8:02pm

If all you want are a few controls that can switch from being active to inactive, the easiest way is to use pictctl buttons/toggles including inactive images (greyed out or whatever). When your patch is in play mode, you can send a message to deactivate the record button, and so on. If you need more complexity for a changing UI, then changing the visible part of a bpatcher is a good idea.

#82820
Aug 31, 2006 at 8:38pm

>Kasper T Toeplitz wrote:
>>for instance if I play 60 100, then 70 100, then 57 99, i want to
>>have 70 100 57 99
>
>1 unpack, 2 bucket…

ok, thanks

kasper

Kasper T. Toeplitz
noise, composition, bass, computer

http://www.sleazeArt.com

#82821

You must be logged in to reply to this topic.