unpunch.pd 137 KB
Newer Older
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
#X obj 13 114 list append;
#X obj 13 137 outlet;
#X connect 1 0 4 1;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 0 0;
#X connect 4 0 5 0;
#X restore 29 402 pd x->step;
#N canvas 0 99 405 189 y->pitch 0;
#X obj 13 14 inlet;
#X obj 13 37 t b a;
#X obj 13 114 list append;
#X obj 13 137 outlet;
#X obj 40 63 s \$0.convert.y->pitch.get;
#X obj 40 85 r \$0.convert.y->pitch;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 1 4 0;
#X connect 2 0 3 0;
#X connect 5 0 2 1;
#X restore 104 402 pd y->pitch;
#X obj 29 378 unpack f f, f 13;
#X obj 29 432 pack f f, f 13;
#N canvas 83 99 398 214 pointer->id 0;
#X obj 13 14 inlet;
#X obj 13 37 t b a;
#X obj 13 114 list append;
#X obj 13 137 outlet;
#X obj 40 63 s \$0.convert.pointer->id.get;
#X obj 40 86 r \$0.convert.pointer->id;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 1 4 0;
#X connect 2 0 3 0;
#X connect 5 0 2 1;
#X restore 281 203 pd pointer->id;
#X obj 29 47 spigot 1;
#X obj 107 61 == 0;
#X obj 281 229 list prepend 0;
3040
#X text 254 28 Shift+click deletes a note (like double-click);
3041
#X obj 107 38 r \$0.mod.key;
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
#X obj 430 102 r \$0.mod.key;
#X obj 465 196 r \$0.delete.on.click;
#X msg 281 436 note delete \$1;
#X obj 486 150 r \$0.toggle.selection;
#X obj 430 125 t a a;
#X obj 430 195 ==;
#X obj 457 148 ==;
#X obj 457 171 * 2;
#X obj 281 302 route 0 1 2, f 24;
#X obj 430 218 +;
#X msg 476 397 note toggle \$1;
#X obj 476 420 s \$0.global.receive;
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
#X connect 0 0 1 0;
#X connect 1 0 4 0;
#X connect 2 0 1 1;
#X connect 3 0 1 1;
#X connect 4 0 18 0;
#X connect 5 0 29 0;
#X connect 6 0 7 0;
#X connect 6 1 9 1;
#X connect 7 0 8 0;
#X connect 8 0 3 0;
#X connect 8 1 9 0;
3065
3066
#X connect 9 0 36 0;
#X connect 10 0 37 0;
3067
3068
3069
3070
3071
3072
3073
3074
3075
#X connect 11 0 12 0;
#X connect 12 0 15 0;
#X connect 13 0 16 0;
#X connect 14 0 13 0;
#X connect 15 0 19 0;
#X connect 16 0 15 1;
#X connect 17 0 0 0;
#X connect 17 1 2 0;
#X connect 17 2 18 1;
3076
#X connect 18 0 34 0;
3077
3078
#X connect 19 0 17 0;
#X connect 20 0 6 0;
3079
#X connect 22 0 44 0;
3080
3081
3082
3083
3084
3085
#X connect 24 0 26 0;
#X connect 26 0 27 0;
#X connect 27 0 28 0;
#X connect 29 0 22 0;
#X connect 30 0 5 0;
#X connect 30 1 22 1;
3086
3087
3088
3089
3090
3091
3092
3093
#X connect 32 0 35 0;
#X connect 33 0 35 1;
#X connect 34 0 32 0;
#X connect 34 1 33 0;
#X connect 35 0 24 0;
#X connect 36 0 39 0;
#X connect 37 0 11 0;
#X connect 38 0 37 1;
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
#X connect 39 0 50 0;
#X connect 41 0 38 0;
#X connect 42 0 46 0;
#X connect 43 0 47 1;
#X connect 44 0 31 0;
#X connect 45 0 48 1;
#X connect 46 0 47 0;
#X connect 46 1 48 0;
#X connect 47 0 51 0;
#X connect 48 0 49 0;
#X connect 49 0 51 1;
#X connect 50 0 30 0;
#X connect 50 1 44 0;
#X connect 50 2 52 0;
#X connect 51 0 39 1;
#X connect 52 0 53 0;
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
#X restore 16 42 pd note.create/delete;
#N canvas 0 99 406 517 note.change.velocity 0;
#X obj 14 19 r \$0.note.send;
#X obj 14 42 route change;
#X obj 14 226 change -1;
#X obj 120 144 t a a;
#X msg 147 195 set \$1;
#X obj 14 356 list prepend;
#X obj 14 407 list trim;
#X obj 14 435 s \$0.global.send;
#X obj 120 118 change -1;
#X obj 14 65 get \$0.note vel id;
#X obj 147 170 tabread \$0.velocity;
#X obj 14 384 list prepend note change velocity;
#X connect 0 0 1 0;
#X connect 1 0 9 0;
#X connect 2 0 5 0;
3127
#X connect 3 0 5 1;
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
#X connect 3 1 10 0;
#X connect 4 0 2 0;
#X connect 5 0 11 0;
#X connect 6 0 7 0;
#X connect 8 0 3 0;
#X connect 9 0 2 0;
#X connect 9 1 8 0;
#X connect 10 0 4 0;
#X connect 11 0 6 0;
#X restore 16 92 pd note.change.velocity;
#N canvas 0 99 406 517 note.change.gid 0;
#X obj 14 19 r \$0.note.send;
#X obj 14 42 route change;
#X obj 14 226 change -1;
#X obj 119 144 t a a;
#X msg 146 195 set \$1;
#X obj 14 356 list prepend;
#X obj 14 407 list trim;
#X obj 14 435 s \$0.global.send;
#X obj 119 118 change -1;
#X obj 146 170 tabread \$0.gid;
#X obj 14 384 list prepend note change gid;
#X obj 14 65 get \$0.note gid id;
#X connect 0 0 1 0;
#X connect 1 0 11 0;
#X connect 2 0 5 0;
3154
#X connect 3 0 5 1;
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
#X connect 3 1 9 0;
#X connect 4 0 2 0;
#X connect 5 0 10 0;
#X connect 6 0 7 0;
#X connect 8 0 3 0;
#X connect 9 0 4 0;
#X connect 10 0 6 0;
#X connect 11 0 2 0;
#X connect 11 1 8 0;
#X restore 16 116 pd note.change.gid;
#N canvas 0 99 570 525 note.edit.modes 0;
#X obj 14 19 r \$0.note.send;
#X obj 14 435 s \$0.global.send;
#X obj 14 42 route click;
#X obj 14 65 get \$0.note id;
#N canvas 36 115 405 333 gid 0;
#X obj 40 173 tabread \$0.gid;
#X obj 29 120 r \$0.default.gid;
#X obj 14 143 f;
#X obj 14 203 sel;
#X obj 14 96 spigot 0;
#X obj 14 52 t b a;
#X obj 14 22 inlet;
#X obj 14 262 outlet;
#X obj 59 71 route gid;
#X msg 14 231 gid \$1;
#X obj 59 48 r \$0.edit.modes;
#X connect 0 0 3 1;
#X connect 1 0 2 1;
#X connect 2 0 3 0;
#X connect 3 1 9 0;
#X connect 4 0 2 0;
#X connect 5 0 4 0;
#X connect 5 1 0 0;
#X connect 6 0 5 0;
#X connect 8 0 4 1;
#X connect 9 0 7 0;
#X connect 10 0 8 0;
#X restore 14 179 pd gid;
#N canvas 36 115 406 316 dur 0;
#X obj 14 143 f;
#X obj 14 203 sel;
#X obj 59 48 r \$0.edit.modes;
#X obj 14 96 spigot 0;
#X obj 14 52 t b a;
#X obj 14 22 inlet;
#X obj 59 71 route duration;
#X obj 29 120 r \$0.default.dur;
#X obj 40 173 tabread \$0.duration;
#X obj 14 262 outlet;
#X msg 14 231 duration \$1;
#X connect 0 0 1 0;
#X connect 1 1 10 0;
#X connect 2 0 6 0;
#X connect 3 0 0 0;
#X connect 4 0 3 0;
#X connect 4 1 8 0;
#X connect 5 0 4 0;
#X connect 6 0 3 1;
#X connect 7 0 0 1;
#X connect 8 0 1 1;
#X connect 10 0 9 0;
3217
#X restore 65 179 pd dur;
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
#N canvas 36 115 407 294 vel 0;
#X obj 14 143 f;
#X obj 14 203 sel;
#X obj 59 48 r \$0.edit.modes;
#X obj 14 96 spigot 0;
#X obj 14 52 t b a;
#X obj 14 22 inlet;
#X obj 59 71 route velocity;
#X obj 40 172 tabread \$0.velocity;
#X obj 14 262 outlet;
#X msg 14 231 velocity \$1;
#X obj 29 120 r \$0.default.vel;
#X connect 0 0 1 0;
#X connect 1 1 9 0;
#X connect 2 0 6 0;
#X connect 3 0 0 0;
#X connect 4 0 3 0;
#X connect 4 1 7 0;
#X connect 5 0 4 0;
#X connect 6 0 3 1;
#X connect 7 0 1 1;
#X connect 9 0 8 0;
#X connect 10 0 0 1;
3241
#X restore 116 179 pd vel;
3242
3243
3244
3245
3246
#X obj 14 228 list split 1;
#X obj 14 280 list prepend note change;
#X obj 14 303 list append;
#X obj 14 326 list append;
#X obj 14 349 list trim;
3247
#X obj 14 114 t a a a a, f 26;
3248
3249
#X connect 0 0 2 0;
#X connect 2 0 3 0;
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
#X connect 3 0 12 0;
#X connect 4 0 7 0;
#X connect 5 0 7 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 7 1 10 1;
#X connect 8 0 9 0;
#X connect 9 0 10 0;
#X connect 10 0 11 0;
#X connect 11 0 1 0;
#X connect 12 0 4 0;
#X connect 12 1 5 0;
#X connect 12 2 6 0;
#X connect 12 3 9 1;
3264
#X restore 16 141 pd note.edit.modes;
Roman Haefeli's avatar
Roman Haefeli committed
3265
#N canvas 436 166 414 708 note.select 0;
Roman Haefeli's avatar
Roman Haefeli committed
3266
3267
3268
#X obj 19 64 r \$0.horizgrid.send;
#X obj 19 127 route click;
#X obj 19 150 get \$0.horizgrid y;
Roman Haefeli's avatar
Roman Haefeli committed
3269
3270
3271
3272
3273
#X obj 64 235 route click;
#X obj 64 212 r \$0.vertgrid.send;
#X obj 19 283 pack f f;
#X obj 64 258 get \$0.vertgrid x;
#X msg 19 306 \$2 \$1;
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
#N canvas 0 99 405 189 x->step 0;
#X obj 40 63 s \$0.convert.x->step.get;
#X obj 40 85 r \$0.convert.x->step;
#X obj 13 14 inlet;
#X obj 13 37 t b a;
#X obj 13 114 list append;
#X obj 13 137 outlet;
#X connect 1 0 4 1;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 0 0;
#X connect 4 0 5 0;
Roman Haefeli's avatar
Roman Haefeli committed
3286
#X restore 19 352 pd x->step;
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
#N canvas 0 99 405 189 y->pitch 0;
#X obj 13 14 inlet;
#X obj 13 37 t b a;
#X obj 13 114 list append;
#X obj 13 137 outlet;
#X obj 40 63 s \$0.convert.y->pitch.get;
#X obj 40 85 r \$0.convert.y->pitch;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 1 4 0;
#X connect 2 0 3 0;
#X connect 5 0 2 1;
Roman Haefeli's avatar
Roman Haefeli committed
3299
3300
3301
#X restore 94 352 pd y->pitch;
#X obj 19 328 unpack f f, f 13;
#X obj 19 382 pack f f, f 13;
Roman Haefeli's avatar
Roman Haefeli committed
3302
3303
#X obj 19 97 spigot 1;
#X obj 97 88 r \$0.mod.key;
Roman Haefeli's avatar
Roman Haefeli committed
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
#X obj 161 383 r \$0.mod.key;
#X obj 161 406 == 2;
#X obj 161 429 change -1;
#X obj 19 405 spigot;
#X obj 161 455 sel 0;
#X obj 19 428 t b a;
#X obj 19 464 f;
#X obj 19 487 t a a;
#X obj 66 480 + 1;
#X msg 161 478 0;
#X obj 19 516 list append;
#X obj 19 545 route 1 0;
#X obj 69 577 unpack;
#X obj 19 616 pack f f f f;
#X obj 19 662 s \$0.global.receive;
#X msg 19 639 note select \$3 \$4 \$1 \$2;
#X text 142 664 <- we use the selection only locally;
#X text 182 639 [step \, pitch] \, [step \, pitch];
Roman Haefeli's avatar
Roman Haefeli committed
3322
#X text 23 9 A selection range is defined by drawing a virtual rectangle
3323
3324
3325
by clicking on two coordinates on the grid with Mod-key pressed.;
#X obj 141 111 r \$0.select.range;
#X obj 97 111 == 1;
Roman Haefeli's avatar
Roman Haefeli committed
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
#X obj 205 406 r \$0.select.range;
#N canvas 0 99 397 249 filter.click.on.notes 0;
#X obj 37 37 inlet;
#X obj 37 210 outlet;
#X obj 203 29 r \$0.note.send;
#X obj 203 52 route click;
#X obj 203 75 b;
#X obj 37 60 t b a b, f 16;
#X obj 37 105 del 0;
#X obj 37 128 f;
#X obj 37 151 sel 1;
#X msg 203 98 0;
#X msg 130 92 1;
#X obj 37 174 f, f 8;
#X connect 0 0 5 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 9 0;
#X connect 5 0 6 0;
#X connect 5 1 11 1;
#X connect 5 2 10 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 8 0 11 0;
#X connect 9 0 7 1;
#X connect 10 0 7 1;
#X connect 11 0 1 0;
#X restore 19 173 pd filter.click.on.notes;
3354
3355
#X connect 0 0 12 0;
#X connect 1 0 2 0;
Roman Haefeli's avatar
Roman Haefeli committed
3356
#X connect 2 0 36 0;
3357
3358
3359
3360
3361
3362
3363
3364
3365
#X connect 3 0 6 0;
#X connect 4 0 3 0;
#X connect 5 0 7 0;
#X connect 6 0 5 1;
#X connect 7 0 10 0;
#X connect 8 0 11 0;
#X connect 9 0 11 1;
#X connect 10 0 8 0;
#X connect 10 1 9 0;
3366
#X connect 11 0 17 0;
3367
#X connect 12 0 1 0;
3368
3369
#X connect 13 0 34 0;
#X connect 14 0 15 0;
3370
#X connect 15 0 16 0;
3371
3372
#X connect 16 0 17 1;
#X connect 16 0 18 0;
3373
#X connect 17 0 19 0;
3374
3375
3376
#X connect 18 0 23 0;
#X connect 19 0 20 0;
#X connect 19 1 24 1;
3377
#X connect 20 0 21 0;
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
#X connect 21 0 24 0;
#X connect 21 1 22 0;
#X connect 22 0 20 1;
#X connect 23 0 20 1;
#X connect 24 0 25 0;
#X connect 25 0 27 0;
#X connect 25 1 26 0;
#X connect 26 0 27 2;
#X connect 26 1 27 3;
#X connect 27 0 29 0;
#X connect 29 0 28 0;
#X connect 33 0 34 1;
#X connect 34 0 12 1;
#X connect 35 0 15 1;
Roman Haefeli's avatar
Roman Haefeli committed
3392
#X connect 36 0 5 0;
Roman Haefeli's avatar
Roman Haefeli committed
3393
#X restore 16 191 pd note.select;
3394
#X text 15 17 GENERATE EVENTS;
Roman Haefeli's avatar
Roman Haefeli committed
3395
#N canvas 336 294 405 188 note.unselect 0;
3396
3397
3398
#X obj 25 133 s \$0.global.receive;
#X text 148 135 <- we use the selection only locally;
#X msg 25 110 note unselect;
3399
3400
3401
#X obj 25 76 r \$0.unselect.selection;
#X connect 2 0 0 0;
#X connect 3 0 2 0;
Roman Haefeli's avatar
Roman Haefeli committed
3402
3403
#X restore 16 216 pd note.unselect;
#N canvas 269 598 348 183 delete.selection 0;
3404
#X obj 11 27 r \$0.delete.selection;
Roman Haefeli's avatar
Roman Haefeli committed
3405
#N canvas 371 289 445 257 get.selection 0;
3406
#X obj 20 7 inlet;
Roman Haefeli's avatar
Roman Haefeli committed
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
#X obj 20 182 outlet;
#X obj 20 55 array max \$0.marked;
#X obj 20 32 b;
#X obj 20 78 sel 1;
#N canvas 0 99 430 197 count.to.1000 0;
#X obj 10 19 inlet;
#X msg 10 68 1000;
#X obj 10 91 until;
#X obj 10 46 t b b;
#X msg 50 78 0;
#X obj 10 114 f;
#X obj 90 134 + 1;
#X obj 10 137 t a a;
#X obj 10 160 outlet;
3421
3422
3423
3424
3425
3426
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 2 0 5 0;
#X connect 3 0 1 0;
#X connect 3 1 4 0;
#X connect 4 0 5 1;
Roman Haefeli's avatar
Roman Haefeli committed
3427
#X connect 5 0 7 0;
3428
#X connect 6 0 5 1;
Roman Haefeli's avatar
Roman Haefeli committed
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
#X connect 7 0 8 0;
#X connect 7 1 6 0;
#X restore 20 103 pd count.to.1000;
#N canvas 0 99 408 213 filter.active 0;
#X obj 23 28 inlet;
#X obj 23 101 pack f f;
#X obj 23 124 route 1;
#X obj 23 55 t a a;
#X obj 23 78 tabread \$0.active;
#X obj 23 147 outlet;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 2 0 5 0;
#X connect 3 0 4 0;
#X connect 3 1 1 1;
#X connect 4 0 1 0;
#X restore 20 130 pd filter.active;
#N canvas 0 99 401 218 filter.marked 0;
#X obj 16 12 inlet;
#X obj 16 70 tabread \$0.marked;
#X obj 16 93 pack f f;
#X obj 16 117 route 1;
#X obj 16 47 t a a;
#X obj 16 160 outlet;
#X connect 0 0 4 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 5 0;
#X connect 4 0 1 0;
#X connect 4 1 2 1;
#X restore 20 154 pd filter.marked;
#X text 153 56 are there marked notes at all?;
#X connect 0 0 3 0;
#X connect 2 0 4 0;
#X connect 3 0 2 0;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 1 0;
3468
#X restore 11 53 pd get.selection;
3469
3470
3471
3472
3473
#X msg 11 108 note delete \$1;
#X obj 11 131 s \$0.global.send;
#X msg 183 66 \$1 0;
#X obj 183 89 s \$0.marked;
#X obj 11 76 t a a;
3474
#X connect 0 0 1 0;
3475
#X connect 1 0 6 0;
3476
#X connect 2 0 3 0;
3477
3478
3479
#X connect 4 0 5 0;
#X connect 6 0 2 0;
#X connect 6 1 4 0;
3480
3481
#X restore 243 40 pd delete.selection;
#X text 244 17 KEY COMMANDS;
3482
#N canvas 234 180 599 558 move.selection 0;
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
#X obj 17 19 r \$0.move.up.selection;
#X obj 51 41 r \$0.move.down.selection;
#X obj 88 66 r \$0.move.left.selection;
#X obj 125 88 r \$0.move.right.selection;
#X obj 359 67 r \$0.griddivision;
#X obj 385 90 r \$0.gridsubdivision;
#X obj 385 113 t b a;
#X obj 359 138 *;
#X msg 17 42 0 1;
#X msg 51 64 0 -1;
#X msg 88 89 -1 0;
#X msg 125 111 1 0;
#X obj 344 166 f;
#X obj 308 19 r \$0.mod.key;
#X obj 340 42 r \$0.move.notes.bar;
#X obj 308 141 sel 0 1;
#X msg 308 164 1;
#X obj 48 141 unpack f f;
#X obj 48 175 *;
#X obj 308 193 t a;
#X obj 445 163 r \$0.move.notes.octave;
#X obj 411 139 r \$0.mod.key;
3505
3506
3507
3508
#X obj 411 210 sel 0 1;
#X msg 411 233 1;
#X msg 442 233 12;
#X obj 411 260 t a;
3509
3510
3511
#X obj 105 203 *;
#X obj 48 233 pack f f;
#X obj 48 256 t b a;
3512
3513
3514
3515
3516
3517
#X obj 89 410 tabread \$0.step;
#X obj 130 366 tabread \$0.pitch;
#X obj 89 433 +;
#X obj 130 389 +;
#X obj 106 285 unpack;
#X obj 48 466 pack f f f, f 14;
3518
3519
#X msg 48 489 note change pos \$1 \$2 \$3;
#X obj 48 512 s \$0.global.send;
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
#X obj 411 162 &;
#X obj 308 42 &;
#X obj 308 68 > 0;
#X obj 411 187 > 0;
#X obj 353 339 r \$0.copy.and.move;
#X obj 325 316 r \$0.mod.key;
#X obj 325 339 &;
#X obj 325 365 > 0;
#X obj 48 337 t a a a a, f 21;
#X obj 292 394 spigot;
#N canvas 0 99 418 242 get.note.params 0;
#X obj 24 141 tabread \$0.step;
#X obj 39 121 tabread \$0.pitch;
#X obj 55 101 tabread \$0.velocity;
#X obj 71 81 tabread \$0.duration;
#X obj 87 61 tabread \$0.gid;
#X obj 24 167 pack f f f f f;
#X obj 24 33 t a a a a a;
#X obj 24 10 inlet;
#X obj 24 190 outlet;
#X connect 0 0 5 0;
#X connect 1 0 5 1;
#X connect 2 0 5 2;
#X connect 3 0 5 3;
#X connect 4 0 5 4;
#X connect 5 0 8 0;
#X connect 6 0 0 0;
#X connect 6 1 1 0;
#X connect 6 2 2 0;
#X connect 6 3 3 0;
#X connect 6 4 4 0;
#X connect 7 0 6 0;
#X restore 292 421 pd get.note.params;
#X obj 292 444 list prepend note create;
#X obj 292 467 list trim;
#X obj 292 490 s \$0.global.send;
Roman Haefeli's avatar
Roman Haefeli committed
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
#N canvas 371 289 445 257 get.selection 0;
#X obj 20 7 inlet;
#X obj 20 182 outlet;
#X obj 20 55 array max \$0.marked;
#X obj 20 32 b;
#X obj 20 78 sel 1;
#N canvas 0 99 430 197 count.to.1000 0;
#X obj 10 19 inlet;
#X msg 10 68 1000;
#X obj 10 91 until;
#X obj 10 46 t b b;
#X msg 50 78 0;
#X obj 10 114 f;
#X obj 90 134 + 1;
#X obj 10 137 t a a;
#X obj 10 160 outlet;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 2 0 5 0;
#X connect 3 0 1 0;
#X connect 3 1 4 0;
#X connect 4 0 5 1;
#X connect 5 0 7 0;
#X connect 6 0 5 1;
#X connect 7 0 8 0;
#X connect 7 1 6 0;
#X restore 20 103 pd count.to.1000;
#N canvas 0 99 408 213 filter.active 0;
#X obj 23 28 inlet;
#X obj 23 101 pack f f;
#X obj 23 124 route 1;
#X obj 23 55 t a a;
#X obj 23 78 tabread \$0.active;
#X obj 23 147 outlet;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 2 0 5 0;
#X connect 3 0 4 0;
#X connect 3 1 1 1;
#X connect 4 0 1 0;
#X restore 20 130 pd filter.active;
#N canvas 0 99 401 218 filter.marked 0;
#X obj 16 12 inlet;
#X obj 16 70 tabread \$0.marked;
#X obj 16 93 pack f f;
#X obj 16 117 route 1;
#X obj 16 47 t a a;
#X obj 16 160 outlet;
#X connect 0 0 4 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 5 0;
#X connect 4 0 1 0;
#X connect 4 1 2 1;
#X restore 20 154 pd filter.marked;
#X text 153 56 are there marked notes at all?;
#X connect 0 0 3 0;
#X connect 2 0 4 0;
#X connect 3 0 2 0;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 1 0;
#X restore 48 306 pd get.selection;
#X connect 0 0 8 0;
3621
3622
3623
#X connect 1 0 9 0;
#X connect 2 0 10 0;
#X connect 3 0 11 0;
Roman Haefeli's avatar
Roman Haefeli committed
3624
3625
#X connect 4 0 7 0;
#X connect 5 0 6 0;
3626
#X connect 6 0 7 0;
Roman Haefeli's avatar
Roman Haefeli committed
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
#X connect 6 1 7 1;
#X connect 7 0 12 1;
#X connect 8 0 17 0;
#X connect 9 0 17 0;
#X connect 10 0 17 0;
#X connect 11 0 17 0;
#X connect 12 0 19 0;
#X connect 13 0 38 0;
#X connect 14 0 38 1;
#X connect 15 0 16 0;
#X connect 15 1 12 0;
#X connect 16 0 19 0;
#X connect 17 0 18 0;
#X connect 17 1 26 0;
#X connect 18 0 27 0;
#X connect 19 0 18 1;
#X connect 20 0 37 1;
#X connect 21 0 37 0;
#X connect 22 0 23 0;
#X connect 22 1 24 0;
#X connect 23 0 25 0;
#X connect 24 0 25 0;
#X connect 25 0 26 1;
3650
#X connect 26 0 27 1;
Roman Haefeli's avatar
Roman Haefeli committed
3651
3652
3653
3654
#X connect 27 0 28 0;
#X connect 28 0 51 0;
#X connect 28 1 33 0;
#X connect 29 0 31 0;
3655
#X connect 30 0 32 0;
Roman Haefeli's avatar
Roman Haefeli committed
3656
3657
3658
3659
3660
#X connect 31 0 34 1;
#X connect 32 0 34 2;
#X connect 33 0 31 1;
#X connect 33 1 32 1;
#X connect 34 0 35 0;
3661
#X connect 35 0 36 0;
Roman Haefeli's avatar
Roman Haefeli committed
3662
3663
3664
3665
3666
3667
#X connect 37 0 40 0;
#X connect 38 0 39 0;
#X connect 39 0 15 0;
#X connect 40 0 22 0;
#X connect 41 0 43 1;
#X connect 42 0 43 0;
3668
#X connect 43 0 44 0;
Roman Haefeli's avatar
Roman Haefeli committed
3669
3670
3671
3672
3673
3674
#X connect 44 0 46 1;
#X connect 45 0 34 0;
#X connect 45 1 29 0;
#X connect 45 2 30 0;
#X connect 45 3 46 0;
#X connect 46 0 47 0;
3675
3676
3677
#X connect 47 0 48 0;
#X connect 48 0 49 0;
#X connect 49 0 50 0;
Roman Haefeli's avatar
Roman Haefeli committed
3678
#X connect 51 0 45 0;
3679
#X restore 244 65 pd move.selection;
Roman Haefeli's avatar
Roman Haefeli committed
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
#N canvas 0 99 624 313 note.edit.modes.selection 0;
#X obj 31 31 r \$0.default.gid;
#X obj 76 77 route gid;
#X obj 76 54 r \$0.edit.modes;
#X obj 224 54 r \$0.edit.modes;
#X obj 180 31 r \$0.default.vel;
#X obj 224 77 route velocity;
#X obj 388 53 r \$0.edit.modes;
#X obj 340 31 r \$0.default.dur;
#X obj 388 76 route duration;
#X obj 340 54 spigot;
#X obj 180 54 spigot;
#X obj 31 54 spigot;
#N canvas 371 289 445 257 get.selection 0;
#X obj 20 7 inlet;
#X obj 20 182 outlet;
#X obj 20 55 array max \$0.marked;
#X obj 20 32 b;
#X obj 20 78 sel 1;
#N canvas 0 99 430 197 count.to.1000 0;
#X obj 10 19 inlet;
#X msg 10 68 1000;
#X obj 10 91 until;
#X obj 10 46 t b b;
#X msg 50 78 0;
#X obj 10 114 f;
#X obj 90 134 + 1;
#X obj 10 137 t a a;
#X obj 10 160 outlet;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 2 0 5 0;
#X connect 3 0 1 0;
#X connect 3 1 4 0;
#X connect 4 0 5 1;
#X connect 5 0 7 0;
#X connect 6 0 5 1;
#X connect 7 0 8 0;
#X connect 7 1 6 0;
#X restore 20 103 pd count.to.1000;
#N canvas 0 99 408 213 filter.active 0;
#X obj 23 28 inlet;
#X obj 23 101 pack f f;
#X obj 23 124 route 1;
#X obj 23 55 t a a;
#X obj 23 78 tabread \$0.active;
#X obj 23 147 outlet;
#X connect 0 0 3 0;
#X connect 1 0 2 0;
#X connect 2 0 5 0;
#X connect 3 0 4 0;
#X connect 3 1 1 1;
#X connect 4 0 1 0;
#X restore 20 130 pd filter.active;
#N canvas 0 99 401 218 filter.marked 0;
#X obj 16 12 inlet;
#X obj 16 70 tabread \$0.marked;
#X obj 16 93 pack f f;
#X obj 16 117 route 1;
#X obj 16 47 t a a;
#X obj 16 160 outlet;
#X connect 0 0 4 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 5 0;
#X connect 4 0 1 0;
#X connect 4 1 2 1;
#X restore 20 154 pd filter.marked;
#X text 153 56 are there marked notes at all?;
#X connect 0 0 3 0;
#X connect 2 0 4 0;
#X connect 3 0 2 0;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 1 0;
#X restore 31 194 pd get.selection;
#X msg 31 122 gid \$1;
#X msg 180 122 velocity \$1;
#X msg 340 122 duration \$1;
#X obj 31 164 t b a;
#X obj 31 217 list prepend;
#X msg 31 240 note change \$1 \$3 \$2;
#X obj 31 101 change -1;
#X obj 180 101 change -1;
#X obj 340 101 change -1;
#X obj 31 271 s \$0.global.send;
#X connect 0 0 11 0;
#X connect 1 0 11 1;
#X connect 2 0 1 0;
#X connect 3 0 5 0;
#X connect 4 0 10 0;
#X connect 5 0 10 1;
#X connect 6 0 8 0;
#X connect 7 0 9 0;
#X connect 8 0 9 1;
#X connect 9 0 21 0;
#X connect 10 0 20 0;
#X connect 11 0 19 0;
#X connect 12 0 17 0;
#X connect 13 0 16 0;
#X connect 14 0 16 0;
#X connect 15 0 16 0;
#X connect 16 0 12 0;
#X connect 16 1 17 1;
#X connect 17 0 18 0;
#X connect 18 0 22 0;
#X connect 19 0 13 0;
#X connect 20 0 14 0;
#X connect 21 0 15 0;
#X restore 16 166 pd note.edit.modes.selection;
3791
#X restore 19 155 pd generate.events;
3792
#N canvas 0 99 378 327 process.events 0;
3793
#N canvas 59 156 654 539 note.create 0;
3794
3795
3796
3797
#X obj 6 8 r \$0.global.receive;
#X obj 6 31 route note;
#X obj 6 54 route create;
#X text 95 56 step pitch vel dur gid;
3798
3799
3800
3801
3802
3803
3804
#X obj 33 152 s \$0.active;
#X obj 110 152 s \$0.step;
#X obj 173 152 s \$0.pitch;
#X obj 331 152 s \$0.duration;
#X obj 242 152 s \$0.velocity;
#X obj 422 152 s \$0.gid;
#X msg 33 127 \$1 1;
3805
#X obj 6 100 t a a;
3806
3807
3808
3809
3810
#X msg 110 127 \$1 \$2;
#X msg 173 127 \$1 \$3;
#X msg 242 127 \$1 \$4;
#X msg 331 127 \$1 \$5;
#X msg 422 127 \$1 \$6;
3811
3812
#X obj 6 419 list prepend scalar \$0.note;
#X obj 6 442 list trim;
3813
#N canvas 51 152 524 298 w 0;
3814
#X obj 7 21 inlet;
3815
#X obj 7 140 outlet;
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
#N canvas 0 99 405 189 duration->w 0;
#X obj 13 14 inlet;
#X obj 13 37 t b a;
#X obj 13 114 list append;
#X obj 13 137 outlet;
#X obj 40 63 s \$0.convert.duration->w.get;
#X obj 40 85 r \$0.convert.duration->w;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 1 4 0;
#X connect 2 0 3 0;
#X connect 5 0 2 1;
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
#X restore 7 112 pd duration->w;
#N canvas 83 99 410 208 id->visible.length 0;
#X obj 13 14 inlet;
#X obj 13 37 t b a;
#X obj 13 114 list append;
#X obj 13 137 outlet;
#X obj 76 88 r \$0.convert.id->visible.length;
#X obj 76 66 s \$0.convert.id->visible.length.get;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 1 5 0;
#X connect 2 0 3 0;
#X connect 4 0 2 1;
#X restore 7 75 pd id->visible.length;
#X msg 7 44 \$1;
#X text 42 49 for the length limitation we need the id;
#X connect 0 0 4 0;
#X connect 2 0 1 0;
#X connect 3 0 2 0;
#X connect 4 0 3 0;
3848
3849
#X restore 86 251 pd w;
#N canvas 6 99 432 235 h 0;
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
#X obj 7 21 inlet;
#X obj 7 159 outlet;
#X obj 42 79 r \$0.stepvisheight;
#X obj 42 102 - 1;
#X obj 7 88 f;
#X obj 7 44 b;
#X connect 0 0 5 0;
#X connect 2 0 3 0;
#X connect 3 0 4 1;
#X connect 4 0 1 0;
#X connect 5 0 4 0;
3861
#X restore 126 251 pd h;
3862
#N canvas 16 99 410 257 id 0;
3863
3864
3865
3866
3867
#X obj 7 21 inlet;
#X obj 7 211 outlet;
#X msg 7 93 \$1;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
3868
#X restore 166 251 pd id;
3869
3870
3871
3872
3873
3874
#N canvas 125 91 416 204 gid 0;
#X obj 7 21 inlet;
#X obj 7 137 outlet;
#X msg 7 72 \$6;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
3875
#X restore 207 251 pd gid;
3876
3877
3878
3879
3880
#N canvas 15 91 396 215 vel 0;
#X obj 20 21 inlet;
#X obj 20 162 outlet;
#X msg 20 76 \$4;
#X connect 0 0 2 0;
3881
#X connect 2 0 1 0;
3882
#X restore 257 251 pd vel;
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
#N canvas 16 91 427 356 c 0;
#X obj 7 21 inlet;
#X obj 7 262 outlet;
#N canvas 320 203 446 363 clr.* 0;
#X obj 28 62 t a a a;
#X obj 28 112 div 100;
#X obj 78 113 mod 100;
#X obj 78 136 div 10;
#X obj 128 112 mod 10;
#X obj 28 165 *;
#X obj 28 188 int;
#X obj 78 165 *;
#X obj 78 188 int;
#X obj 128 165 *;
#X obj 128 188 int;
#X obj 230 103 inlet;
#X obj 28 212 min 9;
#X obj 78 212 min 9;
#X obj 128 212 min 9;
#X obj 28 235 * 100;
#X obj 78 235 * 10;
#X obj 128 235 * 1;
#X obj 28 262 +;
#X obj 28 285 +;
#X obj 28 311 outlet;
#X obj 28 24 inlet;
3909
#X connect 0 0 1 0;
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
#X connect 0 1 2 0;
#X connect 0 2 4 0;
#X connect 1 0 5 0;
#X connect 2 0 3 0;
#X connect 3 0 7 0;
#X connect 4 0 9 0;
#X connect 5 0 6 0;
#X connect 6 0 12 0;
#X connect 7 0 8 0;
#X connect 8 0 13 0;
#X connect 9 0 10 0;
#X connect 10 0 14 0;
#X connect 11 0 9 1;
#X connect 11 0 7 1;
#X connect 11 0 5 1;
#X connect 12 0 15 0;
#X connect 13 0 16 0;
#X connect 14 0 17 0;
#X connect 15 0 18 0;
#X connect 16 0 18 1;
#X connect 17 0 19 1;
#X connect 18 0 19 0;
#X connect 19 0 20 0;
#X connect 21 0 0 0;
#X restore 7 221 pd clr.*;
#X obj 109 120 / 113;
#X obj 7 44 t a a;
#X msg 7 82 \$6;
#X msg 109 94 \$4;
#N canvas 73 91 410 208 gid->gclr 0;
#X obj 13 14 inlet;
#X obj 13 37 t b a;
#X obj 13 114 list append;
#X obj 13 137 outlet;
#X obj 40 63 s \$0.convert.gid->gclr.get;
#X obj 40 86 r \$0.convert.gid->gclr;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 1 4 0;
#X connect 2 0 3 0;
#X connect 5 0 2 1;
#X restore 7 117 pd gid->gclr;
#X connect 0 0 4 0;
#X connect 2 0 1 0;
#X connect 3 0 2 1;
#X connect 4 0 5 0;
#X connect 4 1 6 0;
3957
#X connect 5 0 7 0;
3958
3959
#X connect 6 0 3 0;
#X connect 7 0 2 0;
3960
#X restore 346 251 pd c;
3961
3962
3963
3964
3965
3966
3967
3968
#N canvas 16 91 414 215 vis 0;
#X obj 7 21 inlet;
#X obj 7 126 outlet;
#X msg 7 74 1;
#X obj 7 44 b;
#X connect 0 0 3 0;
#X connect 2 0 1 0;
#X connect 3 0 2 0;
3969
#X restore 378 251 pd vis;
3970
#N canvas 10 276 283 216 x 0;
3971
#X obj 7 21 inlet;
3972
#X obj 7 172 outlet;
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
#N canvas 0 99 405 189 step->x 0;
#X obj 13 14 inlet;
#X obj 13 37 t b a;
#X obj 13 114 list append;
#X obj 13 137 outlet;
#X obj 40 63 s \$0.convert.step->x.get;
#X obj 40 85 r \$0.convert.step->x;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 1 4 0;
#X connect 2 0 3 0;
#X connect 5 0 2 1;
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
#X restore 7 132 pd step->x;
#N canvas 338 529 349 170 id->isvisible|step 0;
#X obj 13 14 inlet;
#X obj 13 37 t b a;
#X obj 13 114 list append;
#X obj 13 137 outlet;
#X obj 76 67 s \$0.convert.id->step|isvisble.get;
#X obj 76 87 r \$0.convert.id->step|isvisble;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 1 1 4 0;
#X connect 2 0 3 0;
#X connect 5 0 2 1;
#X restore 7 76 pd id->isvisible|step;
#X msg 7 47 \$1;
#X obj 7 99 unpack f f;
For faster browsing, not all history is shown. View entire blame