Commit 4fc8e6cd authored by Jonathan Wilkes's avatar Jonathan Wilkes
Browse files

Merge branch 'master' into port-float-symbol-method

parents b2da9d2b 5a20d90f
Pipeline #2179 passed with stage
in 312 minutes and 19 seconds
......@@ -19,50 +19,6 @@ debian_stretch_x86_64_deb:
paths:
- pd*.deb
ubuntu_14.04_i386_deb:
tags:
- ubuntu
- v14.04
- i386
script:
- echo "" | sudo -S apt-get -qq purge -y pd-l2ork > /dev/null || echo "couldn't purge..."
- echo "" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get -qq -y update > /dev/null
- echo "" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get -qq -y upgrade > /dev/null
- cd l2ork_addons
- ./tar_em_up.sh -B
- cd ..
- echo "" | sudo -S DEBIAN_FRONTEND=noninteractive dpkg --force-all -i pd-l2ork*.deb > /dev/null
- cd scripts
- valgrind pd-l2ork -noprefs -nogui -nrt -noaudio -send "init dollarzero \$0" regression_tests.pd
- valgrind pd-l2ork -noprefs -nostdpath -nogui -nrt -noaudio external-tests.pd
artifacts:
name: "$CI_RUNNER_DESCRIPTION"
expire_in: 1 day
paths:
- pd*.deb
ubuntu_14.04_x86_64_deb:
tags:
- ubuntu
- v14.04
- x86_64
script:
- echo "" | sudo -S apt-get -qq purge -y pd-l2ork > /dev/null || echo "couldn't purge..."
- echo "" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get -qq -y update > /dev/null
- echo "" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get -qq -y upgrade > /dev/null
- cd l2ork_addons
- ./tar_em_up.sh -B
- cd ..
- echo "" | sudo -S DEBIAN_FRONTEND=noninteractive dpkg --force-all -i pd-l2ork*.deb > /dev/null
- cd scripts
- valgrind pd-l2ork -noprefs -nogui -nrt -noaudio -send "init dollarzero \$0" regression_tests.pd
- valgrind pd-l2ork -noprefs -nostdpath -nogui -nrt -noaudio external-tests.pd
artifacts:
name: "$CI_RUNNER_DESCRIPTION"
expire_in: 1 day
paths:
- pd*.deb
ubuntu_16.04_x86_64_deb:
tags:
- ubuntu
......
#N canvas 283 77 448 570 10;
#X obj 1 1 cnv 15 445 20 empty \$0-pddp.cnv.header tempo 20 10 1 18
-261106 -33289 0;
#X obj 407 2 pddp/pddplink http://puredata.info/dev/pddp -text pddp
;
#X obj 1 548 cnv 15 445 20 empty \$0-pddp.cnv.footer empty 20 12 0
14 -233017 -33289 0;
#N canvas 383 422 494 163 META 0;
#X text 12 45 KEYWORDS tempo all_about_pd;
#X text 12 65 DESCRIPTION using the tempo message with delay and metro
;
#X text 12 85 LIBRARY Vanilla;
#X text 12 105 HELP_PATCH_AUTHORS;
#X restore 392 550 pd META;
#N canvas 522 300 428 392 Related_objects 0;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -261106 -33289 0;
#X obj 22 42 metro;
#X obj 82 42 delay;
#X text 7 2 tempo- Related Objects;
#X obj 132 42 timer;
#X restore 103 550 pd Related_objects;
#X obj 6 550 pddp/pddplink all_about.pd -text All About Pd;
#X text 35 375 If the tempo is changed while the delay is in progress
\, the change only applies to the remaining fraction of the delay.
;
#X text 53 33 The [delay] \, [metro] \, and [timer] objects allow you
to set the tempo. Units can be:;
#X text 73 69 * milliseconds (msec for short);
#X text 73 87 * seconds (sec);
#X text 73 105 * minutes (min);
#X text 73 123 * samples (samp);
#X msg 103 249 2000;
#X obj 75 353 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 74 249 bng 20 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 74 326 delay 1000 1 msec;
#X msg 106 285 tempo 0.5 msec;
#X msg 296 272 2000;
#X obj 255 353 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 254 249 bng 20 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X msg 299 297 tempo 0.5 msec;
#X msg 283 249 stop;
#X obj 254 326 metro 1000 1 msec;
#X text 54 181 Equivalently you can say "tempo 2 permsec" or even "120000
permin". A more traditionally musical way to specify a one-second delay
would be "delay 1" with "tempo 60 permin" as in the second example
below.;
#X text 53 147 In the two examples below the unit is set to 1/2 millisecond
so that '1000' gives a delay of 500 msec (1/2 second).;
#X obj 210 419 delay 1 60 permin;
#X text 5 419 delay of one beat at 60 beats per minute, f 31;
#X text 5 474 other possible ways to get a one second delay (but the
rightmost ones are sample-rate dependent), f 32;
#X obj 209 488 delay 1 1 persec;
#X obj 209 464 delay 1 1 sec;
#X obj 209 511 delay 0.01676 1 min;
#X obj 327 464 delay 1 44100 samp;
#X obj 327 488 delay 44100 1 samp;
#X connect 12 0 15 0;
#X connect 14 0 15 0;
#X connect 15 0 13 0;
#X connect 16 0 15 0;
#X connect 17 0 22 0;
#X connect 19 0 22 0;
#X connect 20 0 22 0;
#X connect 21 0 22 0;
#X connect 22 0 18 0;
#N canvas 430 34 555 619 10;
#N canvas 238 49 555 619 10;
#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header delay 3 12 0 18
-204280 -1 0;
#X obj 0 200 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 482 240 494 386 META 1;
#N canvas 482 240 494 386 META 0;
#X text 12 145 LIBRARY internal;
#X text 12 185 WEBSITE http://crca.ucsd.edu/~msp/;
#X text 12 45 LICENSE SIBSD;
......@@ -23,7 +23,7 @@ for Pd version 0.42.;
#X text 12 25 KEYWORDS control time bang_op;
#X text 12 205 RELEASE_DATE 1997;
#X restore 500 597 pd META;
#X obj 0 393 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
#X obj 0 413 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 446 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
......@@ -57,34 +57,31 @@ may not exist in a single library.;
#X obj 138 133 idelay~;
#X obj 192 133 delay~;
#X restore 101 597 pd Related_objects;
#X obj 78 209 cnv 17 3 145 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
#X obj 78 209 cnv 17 3 160 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X obj 78 402 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
#X obj 78 422 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X obj 78 360 cnv 17 3 17 empty \$0-pddp.cnv.let.1 1 5 9 0 16 -228856
#X obj 78 380 cnv 17 3 17 empty \$0-pddp.cnv.let.1 1 5 9 0 16 -228856
-162280 0;
#X text 98 359 float;
#X text 98 379 float;
#X obj 452 12 delay;
#X text 492 12 or;
#X obj 518 11 del;
#X obj 100 102 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
#X obj 170 102 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 100 150 delay 2000;
#X obj 100 173 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
#X obj 170 155 delay 2000;
#X obj 170 178 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 98 253 bang;
#X text 98 313 stop;
#X text 168 359 - a float to the right inlet sets the delay time (in
#X text 98 252 bang;
#X text 98 309 stop;
#X text 168 379 - a float to the right inlet sets the delay time (in
milliseconds).;
#X text 98 336 list;
#X text 98 401 bang;
#X msg 168 101 stop;
#X msg 122 101 500;
#X floatatom 157 128 0 0 0 0 - - -;
#X text 188 129 <- scroll to change delay time in milliseconds;
#X text 168 401 - [delay] only outputs a bang. It cannot be used like
an "echo" or to delay messages other than bang. For that purpose \,
you should explore [pipe].;
#X text 98 330 list;
#X text 98 421 bang;
#X msg 248 102 stop;
#X msg 202 102 500;
#X floatatom 242 133 0 0 0 0 - - -;
#X text 268 134 <- scroll to change delay time in milliseconds;
#N canvas 106 287 428 250 A_delay_based_metronome 0;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
......@@ -153,14 +150,14 @@ output of SC's "Dust" object.;
#X connect 9 0 8 1;
#X connect 9 0 7 1;
#X restore 101 572 pd Random_Impulse_Generator;
#X text 168 313 - causes [delay] to cancel its scheduled output.;
#X text 168 336 - a list of floats will be truncated to the first element.
#X text 168 309 - causes [delay] to cancel its scheduled output.;
#X text 168 330 - a list of floats will be truncated to the first element.
;
#X text 80 465 1) float;
#X text 97 54 The [delay] object sends a bang to its outlet after a
#X text 87 54 The [delay] object sends a bang to its outlet after a
delay (in milliseconds) \, specified by its right inlet or its creation
argument.;
#X text 168 253 - a bang to the left inlet will output a bang after
#X text 168 252 - a bang to the left inlet will output a bang after
the prescribed time (set either at the right inlet creation argument).
In the above example \, you should notice a delay of 2 seconds \, then
a bang at the outlet.;
......@@ -178,8 +175,15 @@ is already set will reschedule its output \, cancelling the old one.
;
#X obj 298 550 pddp/pddplink ../2.control.examples/07.time.pd;
#X text 11 23 bang after time delay;
#X msg 73 121 tempo 2 msec;
#X text 168 421 - [delay] outputs a bang after the specified delay
;
#X text 98 352 tempo;
#X text 168 352 - set the tempo:;
#X obj 275 352 pddp/pddplink all_about_tempo.pd;
#X connect 15 0 16 0;
#X connect 16 0 17 0;
#X connect 23 0 16 0;
#X connect 24 0 16 0;
#X connect 25 0 16 1;
#X connect 41 0 16 0;
#N canvas 426 34 555 619 10;
#N canvas 255 53 555 619 10;
#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header metro 3 12 0 18
-204280 -1 0;
#X obj 0 327 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
#X obj 0 262 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 465 262 507 361 META 0;
#X text 12 125 LIBRARY internal;
......@@ -22,9 +22,9 @@ revised the patch to conform to the PDDP template for Pd version 0.42.
#X text 12 5 KEYWORDS control time bang_op;
#X text 12 185 RELEASE_DATE 1997;
#X restore 500 597 pd META;
#X obj 0 483 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
#X obj 0 448 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 525 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
#X obj 0 495 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 567 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
......@@ -45,53 +45,62 @@ is:;
#X obj 24 55 pddp/helplink iemlib/t3_metro;
#X obj 24 75 pddp/helplink maxlib/pulse;
#X restore 102 597 pd Related_objects;
#X obj 78 336 cnv 17 3 75 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
#X obj 78 271 cnv 17 3 95 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 335 float;
#X text 98 395 list;
#X obj 78 492 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
#X text 98 270 float;
#X text 98 330 list;
#X obj 78 457 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X obj 78 417 cnv 17 3 55 empty \$0-pddp.cnv.let.1 1 5 9 0 16 -228856
#X obj 78 382 cnv 17 3 55 empty \$0-pddp.cnv.let.1 1 5 9 0 16 -228856
-162280 0;
#X text 98 416 float;
#X text 98 381 float;
#X obj 503 11 metro;
#X obj 109 224 metro 500;
#X floatatom 160 201 4 0 0 0 - - -, f 4;
#X msg 109 125 1;
#X text 177 124 nonzero number or "bang" to start;
#X msg 150 158 0;
#X msg 141 125 bang;
#X msg 182 158 stop;
#X obj 109 247 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
#X obj 79 209 metro 500;
#X floatatom 130 186 4 0 0 0 - - -, f 4;
#X msg 79 60 1;
#X text 147 59 nonzero number or "bang" to start;
#X msg 120 93 0;
#X msg 111 60 bang;
#X msg 152 93 stop;
#X obj 79 232 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 219 158 zero or "stop" to stop;
#X text 168 335 - sending a nonzero number to the left inlet starts
#X text 189 93 zero or "stop" to stop;
#X text 168 270 - sending a nonzero number to the left inlet starts
the metronome. Sending a zero stops it.;
#X text 98 361 bang;
#X text 98 378 stop;
#X text 98 446 list;
#X text 167 446 - a list to the right inlet will be truncated to the
#X text 98 296 bang;
#X text 98 313 stop;
#X text 98 411 list;
#X text 167 411 - a list to the right inlet will be truncated to the
first item.;
#X text 143 247 The metro object sends a series of bangs at a constant
#X text 113 232 The metro object sends a series of bangs at a constant
rate.;
#X text 98 491 bang;
#X text 168 544 - (optional) sets the initial rate in milliseconds.
#X text 98 456 bang;
#X text 168 514 - (optional) sets the initial rate in milliseconds.
;
#X text 168 361 - start the metronome.;
#X text 168 378 - the "stop" message turns off the metronome.;
#X text 167 416 - the right inlet sets the interval in milliseconds
#X text 168 296 - start the metronome.;
#X text 168 313 - the "stop" message turns off the metronome.;
#X text 167 381 - the right inlet sets the interval in milliseconds
between each "bang" that is sent to the outlet of [metro].;
#X text 168 491 - [metro] outputs a bang at a constant rate \, defined
#X text 168 456 - [metro] outputs a bang at a constant rate \, defined
by the creation argument or a value sent to its right inlet.;
#X text 80 544 1) float;
#X text 80 514 1) float;
#X text 11 23 send a bang periodically ala metronome;
#X text 168 395 - a list will be distributed to the inlets of [metro].
#X text 168 330 - a list will be distributed to the inlets of [metro].
;
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X msg 148 137 tempo 2 msec;
#X text 98 350 tempo;
#X text 168 350 - set tempo:;
#X obj 252 350 pddp/pddplink all_about_tempo.pd;
#X text 234 137 set tempo;
#X text 80 534 2-3);
#X text 168 534 - (optional) float and symbol to set tempo. See all_about_tempo.pd
above.;
#X connect 15 0 22 0;
#X connect 16 0 15 1;
#X connect 17 0 15 0;
#X connect 19 0 15 0;
#X connect 20 0 15 0;
#X connect 21 0 15 0;
#X connect 40 0 15 0;
#N canvas 209 25 555 619 10;
#N canvas 210 49 555 619 10;
#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
14 -228856 -66577 0;
#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header timer 3 12 0 18
-204280 -1 0;
#X obj 0 354 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
#X obj 0 309 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13
-228856 -1 0;
#N canvas 484 259 494 368 META 0;
#X text 12 125 LIBRARY internal;
......@@ -22,13 +22,12 @@ for Pd version 0.42.;
#X text 12 105 OUTLET_0 float;
#X text 12 185 RELEASE_DATE 1997;
#X restore 500 597 pd META;
#X obj 0 470 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
#X obj 0 425 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
13 -228856 -1 0;
#X obj 0 512 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
#X obj 0 467 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
0 13 -228856 -1 0;
#X obj 0 539 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
#X obj 0 514 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
0 13 -228856 -1 0;
#X text 98 516 (none);
#N canvas 220 379 428 246 Related_objects 0;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
......@@ -49,35 +48,35 @@ may not exist in a single library.;
#X text 22 70 Externals;
#X obj 24 95 pddp/helplink iemlib/t3_timer;
#X restore 102 597 pd Related_objects;
#X obj 78 363 cnv 17 3 60 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
#X obj 78 318 cnv 17 3 60 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X text 98 478 float;
#X obj 78 479 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
#X text 98 433 float;
#X obj 78 434 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856
-162280 0;
#X obj 78 434 cnv 17 3 25 empty \$0-pddp.cnv.let.1 1 5 9 0 16 -228856
#X obj 78 389 cnv 17 3 25 empty \$0-pddp.cnv.let.1 1 5 9 0 16 -228856
-162280 0;
#X text 168 478 - upon sending the "flush" message to the left inlet
#X text 168 433 - upon sending the "flush" message to the left inlet
\, [bag] will output each value in the order it was received.;
#X obj 503 9 timer;
#X msg 64 220 bang;
#X msg 39 108 bang;
#X obj 39 242 timer;
#X floatatom 39 264 0 0 0 0 - - -;
#X text 74 108 Click here to start or reset;
#X text 34 61 The [timer] object measures elapsed logical time. Logical
#X msg 94 190 bang;
#X msg 69 108 bang;
#X obj 69 212 timer;
#X floatatom 69 234 0 0 0 0 - - -;
#X text 104 108 Click here to start or reset;
#X text 94 51 The [timer] object measures elapsed logical time. Logical
time moves forward as if all computation were instantaneous and as
if all [delay] and [metro] objects were exact.;
#X text 102 221 Click here to get elapsed logical time. Click again...and
#X text 132 191 Click here to get elapsed logical time. Click again...and
again...to see periodic measurements from the start or reset time.
;
#X text 37 290 NOTE: Unlike most other objects in Pd \, the right inlet
of [timer] is the hot one (i.e. \, a bang to it triggers the output).
;
#X text 98 362 bang;
#X text 168 362 - an initial "bang" to the left inlet starts the timer.
#X text 117 260 NOTE: Unlike most other objects in Pd \, the right
inlet of [timer] is the hot one (i.e. \, a bang to it triggers the
output).;
#X text 98 317 bang;
#X text 168 317 - an initial "bang" to the left inlet starts the timer.
Subsequent "bangs" reset the timer.;
#X text 98 433 bang;
#X text 167 433 - a bang to the right inlet causes the elapsed time
#X text 98 388 bang;
#X text 167 388 - a bang to the right inlet causes the elapsed time
to be output (in milliseconds).;
#N canvas 94 193 428 419 Time_Objects 0;
#X text 21 38 In a fantasy world \, computers could exist somehow beyond
......@@ -105,7 +104,7 @@ operating system's internal clock.;
#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
14 -204280 -1 0;
#X text 7 2 [cputime] Why the Discrepencies Between Clocks?;
#X restore 102 548 pd Time_Objects;
#X restore 102 523 pd Time_Objects;
#N canvas 73 72 428 495 Time_Measurements 0;
#X text 21 38 [timer] works like essentially like a stop-watch. Once
it starts \, you can continue to "poll" the [timer] to view the elapsed
......@@ -150,20 +149,24 @@ three...please wait for approximately 3 seconds.;
#X connect 18 0 3 0;
#X connect 18 1 4 0;
#X connect 18 2 5 0;
#X restore 102 572 pd Time_Measurements;
#X restore 102 547 pd Time_Measurements;
#X text 11 23 measure logical time;
#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
;
#X msg 59 145 tempo 1 sec;
#X msg 67 169 tempo 2 msec;
#X text 111 266 Output defaults to milliseconds;
#X text 98 392 tempo;
#X text 152 145 set tempo in units of seconds;
#X text 152 169 set tempo in units of milliseconds;
#X text 168 392 - set tempo to some number of units (msec for short)
#X msg 89 135 tempo 1 sec;
#X msg 97 159 tempo 2 msec;
#X text 141 236 Output defaults to milliseconds;
#X text 98 347 tempo;
#X text 182 135 set tempo in units of seconds;
#X text 182 159 set tempo in units of milliseconds;
#X text 168 347 - set tempo to some number of units (msec for short)
\, seconds (sec) \, minutes (min) or samples (samp).;
#X connect 15 0 17 1;
#X obj 102 572 pddp/pddplink all_about_tempo.pd;
#X text 98 481 1-2);
#X text 168 481 (optional) float followed by a symbol to set the tempo
;
#X connect 14 0 16 1;
#X connect 15 0 16 0;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 31 0 17 0;
#X connect 32 0 17 0;
#X connect 30 0 16 0;
#X connect 31 0 16 0;
......@@ -425,6 +425,7 @@ function create_menu(gui, type) {
modifiers: shortcuts.menu.comment.modifiers,
tooltip: l("menu.comment_tt")
}));
put_menu.append(new gui.MenuItem({ type: "separator" }));
put_menu.append(m.put.dropdown = new gui.MenuItem({
label: l("menu.dropdown"),
key: shortcuts.menu.dropdown.key,
......
......@@ -34,6 +34,8 @@ exports.menu = {
"zoomin": { key: "=", modifiers: cmd_or_ctrl },
"zoomout": { key: "-", modifiers: cmd_or_ctrl },
// uncomment this for AZERTY keyboards:
//"zoomout": { key: "6", modifiers: cmd_or_ctrl },
"zoomreset": { key: "0", modifiers: cmd_or_ctrl },
"zoomoptimal": { key: "9", modifiers: cmd_or_ctrl },
"zoomhoriz": { key: "9", modifiers: cmd_or_ctrl + "+alt" },
......@@ -46,7 +48,7 @@ exports.menu = {
"number": { key: "3", modifiers: cmd_or_ctrl },
"symbol": { key: "4", modifiers: cmd_or_ctrl },
"comment": { key: "5", modifiers: cmd_or_ctrl },
"dropdown": { key: "6", modifiers: cmd_or_ctrl },
"dropdown": { key: "m", modifiers: cmd_or_ctrl + "+shift" },
"bang": { key: "b", modifiers: cmd_or_ctrl + "+shift" },
"toggle": { key: "t", modifiers: cmd_or_ctrl + "+shift" },
"number2": { key: "n", modifiers: cmd_or_ctrl + "+shift" },
......
......@@ -33,19 +33,29 @@ static void *pdint_new(t_floatarg f)
static void pdint_bang(t_pdint *x)
{
outlet_float(x->x_obj.ob_outlet, (t_float)(int)(x->x_f));
outlet_float(x->x_obj.ob_outlet, (t_float)(int64_t)(x->x_f));
}
static void pdint_float(t_pdint *x, t_float f)
{
outlet_float(x->x_obj.ob_outlet, (t_float)(int)(x->x_f = f));
outlet_float(x->x_obj.ob_outlet, (t_float)(int64_t)(x->x_f = f));
}
static void pdint_send(t_pdint *x, t_symbol *s)
{
if (s->s_thing)
pd_float(s->s_thing, (t_float)(int64_t)x->x_f);
else pd_error(x, "%s: no such object", s->s_name);
}
void pdint_setup(void)
{
pdint_class = class_new(gensym("int"), (t_newmethod)pdint_new, 0,
sizeof(t_pdint), 0, A_DEFFLOAT, 0);
class_addcreator((t_newmethod)pdint_new, gensym("i"), A_DEFFLOAT, 0);
class_addmethod(pdint_class, (t_method)pdint_send, gensym("send"),
A_SYMBOL, 0);
class_addbang(pdint_class, pdint_bang);
class_addfloat(pdint_class, pdint_float);
}
......@@ -141,11 +151,20 @@ static void pdfloat_symbol(t_pdfloat *x, t_symbol *s)
}
}
static void pdfloat_send(t_pdfloat *x, t_symbol *s)
{
if (s->s_thing)
pd_float(s->s_thing, x->x_f);
else pd_error(x, "%s: no such object", s->s_name);
}
void pdfloat_setup(void)
{
pdfloat_class = class_new(gensym("float"), (t_newmethod)pdfloat_new, 0,
sizeof(t_pdfloat), 0, A_FLOAT, 0);
class_addcreator((t_newmethod)pdfloat_new2, gensym("f"), A_DEFFLOAT, 0);
class_addmethod(pdfloat_class, (t_method)pdfloat_send, gensym("send"),
A_SYMBOL, 0);
class_addbang(pdfloat_class, pdfloat_bang);
class_addfloat(pdfloat_class, (t_method)pdfloat_float);
class_addsymbol(pdfloat_class, (t_method)pdfloat_symbol);
......@@ -2077,6 +2096,21 @@ static void value_float(t_value *x, t_float f)
*x->x_floatstar = f;
}
/* set method */
static void value_symbol2(t_value *x, t_symbol *s)
{
value_release(x->x_sym);
x->x_sym = s;
x->x_floatstar = value_get(s);
}
static void value_send(t_value *x, t_symbol *s)
{
if (s->s_thing)
pd_float(s->s_thing, *x->x_floatstar);
else pd_error(x, "%s: no such object", s->s_name);
}
static void value_ff(t_value *x)
{
value_release(x->x_sym);
......@@ -2090,6 +2124,9 @@ static void value_setup(void)
class_addcreator((t_newmethod)value_new, gensym("v"), A_DEFSYM, 0);
class_addbang(value_class, value_bang);
class_addfloat(value_class, value_float);
class_addmethod(value_class, (t_method)value_symbol2, gensym("symbol2"),
A_DEFSYM, 0);
class_addmethod(value_class, (t_method)value_send, gensym("send"), A_SYMBOL, 0);
vcommon_class = class_new(gensym("value"), 0, 0,
sizeof(t_vcommon), CLASS_PD, 0);
class_addfloat(vcommon_class, vcommon_float);
......
#N canvas 14 40 749 571 12;
#N canvas 340 105 749 571 12;
#X obj 465 281 r \$0-result;
#X obj 212 239 bng 31 250 50 0 empty empty Run_all 39 13 0 12 -262144
-1 -1;
......@@ -25,7 +25,7 @@ is handy for some binbuf tests.;
#X obj 198 659 rtest makefilename_double_percent;
#X obj 198 710 rtest makefilename_code_coverage;
#N canvas 461 242 450 323 (subpatch) 0;
#X restore 201 1995 pd;
#X restore 201 2175 pd;
#X obj 198 761 rtest makefilename_default;
#X obj 198 812 rtest makefilename_default_bang;
#X obj 198 863 rtest makefilename_float;
......@@ -52,8 +52,11 @@ is handy for some binbuf tests.;
#X obj 127 172 print Done;
#X obj 198 1701 rtest wrap~_compatibility_bug;
#X obj 198 1756 rtest select_bang;
#X obj 198 1811 rtest float_symbol_method;
#X obj 198 1866 rtest type_hint_coverage;
#X obj 198 1811 rtest float_send_method;
#X obj 198 1866 rtest int_send_method;
#X obj 198 1921 rtest value_send_method;
#X obj 198 1976 rtest float_symbol_method;
#X obj 198 2031 rtest type_hint_coverage;
#X connect 0 0 27 0;
#X connect 1 0 4 0;
#X connect 2 0 42 0;
......@@ -93,3 +96,6 @@ is handy for some binbuf tests.;
#X connect 45 0 46 0;
#X connect 46 0 47 0;
#X connect 47 0 48 0;
#X connect 48 0 49 0;
#X connect 49 0 50 0;
#X connect 50 0 51 0;
#N canvas 237 121 450 300 12;
#X obj 57 22 inlet;
#X obj 57 51 ../utils/send-method-wrapper float;
#X obj 57 80 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#N canvas 237 121 450 300 12;
#X obj 57 22 inlet;
#X obj 57 80 outlet;
#X obj 57 51 ../utils/send-method-wrapper int;