Renaming delays
hi friends,
i have a problem about delwrite~ and delread~ objects,
i want to create an object(patch) with a signal input and signal output, that output will be delayed, and i want to be able to use that object in other patches,
i created a patch 'delayobject' using objects like:
|delwrite~ delay 3000( |delread~ delay 400(
but when i want to use more than one of these 'delayobject' s in an other patch, i get the error
warning: delay: multiply defined
so, for every 'delayobject' that i create i have to give 'delay' a different name automatically,
i try to use something like $1-delay but i can't figure out how, cause there is no inlet for 'name' on delread~,delwrite~ objects,
is there a way that i can rename these objects with a message?
or any other ideas, suggestions?
thanx
The History about a little video launcher patch...
hi, this is my beginning: i need a "thing" who launches two videos and two audios (pre-recorded, aleatory selected) of a list, in the moment that i make a noise (enoug noise) in a microphone, for that i make this simple patch:
----cut from here----
#N canvas 92 55 825 609 12;
#X obj 85 5 gemhead;
#X obj 345 161 pix_film;
#X msg 488 98 auto \$1;
#X obj 488 78 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 825 212 gemwin;
#X msg 805 105 create;
#X msg 892 182 destroy;
#X msg 848 149 1;
#X msg 853 178 0;
#X msg 753 81 border 0;
#X msg 710 155 dimen 2048 768;
#X obj 85 161 pix_film;
#X obj 85 218 pix_texture;
#X msg 192 92 auto \$1;
#X obj 192 71 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X msg 192 126 colorspace RGBA;
#X msg 488 120 colorspace RGBA;
#X obj 345 435 rectangle 0 0;
#X floatatom 419 328 5 0 0 0 - - -;
#X obj 394 405 /;
#X floatatom 465 328 5 0 0 0 - - -;
#X obj 444 405 /;
#X obj 374 290 unpack 0 0 0;
#X obj 85 260 translateXYZ;
#X obj 85 431 rectangle 0 0;
#X floatatom 159 327 5 0 0 0 - - -;
#X obj 134 401 /;
#X floatatom 205 326 5 0 0 0 - - -;
#X obj 184 400 /;
#X obj 114 284 unpack 0 0 0;
#X msg 153 372 60;
#X msg 203 373 50;
#X obj 345 216 pix_texture;
#X obj 345 262 translateXYZ;
#X msg 413 376 60;
#X msg 463 377 50;
#X msg 192 223 -5.5;
#X msg 318 100 open lib/video\$1.mov;
#X msg 8 102 open lib/video\$1.mov;
#X msg 488 225 10.8;
#X obj 1146 4 loadbang;
#X msg 488 45 1;
#X msg 192 46 1;
#X msg 488 167 0;
#X msg 192 174 0;
#X msg 682 447 open lib/audio\$1n.wav;
#X obj 993 124 adc~ 2;
#X obj 995 279 s sincro;
#X obj 957 61 s aleatorio_1;
#X obj 1047 91 s aleatorio_2;
#X obj 144 195 s fin_video;
#X obj 404 190 s fin_video;
#X obj 682 331 r aleatorio_1;
#X obj 957 5 r sincro;
#X obj 1047 4 r sincro;
#X obj 1146 39 s inicio;
#X obj 1024 192 r inicio;
#X obj 753 7 r inicio;
#X obj 805 34 delay 5;
#X obj 848 74 delay 5;
#X msg 936 441 open lib/audio\$1n.wav;
#X obj 853 356 r sincro;
#X obj 681 527 dac~ 3;
#X obj 997 527 dac~ 4;
#X obj 936 335 r aleatorio_2;
#X obj 682 483 readsf~ 2 221000;
#X obj 936 476 readsf~ 2 221000;
#X obj 318 14 r aleatorio_2;
#X obj 192 12 r inicio;
#X obj 134 348 r inicio;
#X obj 488 10 r inicio;
#X obj 401 349 r inicio;
#X obj 717 390 delay 5;
#X obj 971 389 delay 5;
#X obj 599 345 r sincro;
#X msg 599 403 1;
#X obj 624 16 r inicio;
#X msg 624 46 \; pd dsp 1;
#X obj 501 142 r fin_video;
#X obj 221 148 r fin_video;
#X obj 927 266 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X msg 853 417 1;
#X obj 8 51 r aleatorio_1;
#X obj 994 156 hip~ 5;
#X obj 995 246 threshold~;
#X obj 957 32 random 4;
#X obj 1047 31 random 4;
#X msg 1024 220 set 0.6 1000 0 100;
#X obj 717 361 r fin_video;
#X obj 971 360 r fin_video;
#X obj 599 373 delay 6;
#X obj 853 390 delay 6;
#X obj 682 416 float;
#X obj 936 415 float;
#X msg 732 117 cursor 0;
#X connect 0 0 11 0;
#X connect 0 0 1 0;
#X connect 1 0 32 0;
#X connect 1 1 22 0;
#X connect 1 2 51 0;
#X connect 2 0 1 0;
#X connect 3 0 2 0;
#X connect 5 0 4 0;
#X connect 6 0 4 0;
#X connect 7 0 4 0;
#X connect 8 0 4 0;
#X connect 9 0 4 0;
#X connect 10 0 4 0;
#X connect 11 0 12 0;
#X connect 11 1 29 0;
#X connect 11 2 50 0;
#X connect 12 0 23 0;
#X connect 13 0 11 0;
#X connect 14 0 13 0;
#X connect 15 0 11 0;
#X connect 16 0 1 0;
#X connect 18 0 19 0;
#X connect 19 0 17 1;
#X connect 20 0 21 0;
#X connect 21 0 17 2;
#X connect 22 1 18 0;
#X connect 22 2 20 0;
#X connect 23 0 24 0;
#X connect 25 0 26 0;
#X connect 26 0 24 1;
#X connect 27 0 28 0;
#X connect 28 0 24 2;
#X connect 29 1 25 0;
#X connect 29 2 27 0;
#X connect 30 0 26 1;
#X connect 31 0 28 1;
#X connect 32 0 33 0;
#X connect 33 0 17 0;
#X connect 34 0 19 1;
#X connect 35 0 21 1;
#X connect 36 0 23 1;
#X connect 37 0 1 0;
#X connect 38 0 11 0;
#X connect 39 0 33 1;
#X connect 40 0 55 0;
#X connect 41 0 3 0;
#X connect 42 0 14 0;
#X connect 43 0 1 1;
#X connect 44 0 11 1;
#X connect 45 0 65 0;
#X connect 46 0 83 0;
#X connect 52 0 92 0;
#X connect 53 0 85 0;
#X connect 54 0 86 0;
#X connect 56 0 87 0;
#X connect 57 0 9 0;
#X connect 57 0 10 0;
#X connect 57 0 58 0;
#X connect 57 0 94 0;
#X connect 58 0 5 0;
#X connect 58 0 59 0;
#X connect 59 0 7 0;
#X connect 60 0 66 0;
#X connect 61 0 91 0;
#X connect 64 0 93 0;
#X connect 65 0 62 0;
#X connect 66 1 63 0;
#X connect 67 0 37 0;
#X connect 68 0 42 0;
#X connect 68 0 15 0;
#X connect 68 0 44 0;
#X connect 68 0 36 0;
#X connect 69 0 26 0;
#X connect 69 0 30 0;
#X connect 69 0 28 0;
#X connect 69 0 31 0;
#X connect 70 0 41 0;
#X connect 70 0 16 0;
#X connect 70 0 43 0;
#X connect 70 0 39 0;
#X connect 71 0 34 0;
#X connect 71 0 35 0;
#X connect 71 0 19 0;
#X connect 71 0 21 0;
#X connect 72 0 92 0;
#X connect 73 0 93 0;
#X connect 74 0 90 0;
#X connect 75 0 65 0;
#X connect 76 0 77 0;
#X connect 78 0 43 0;
#X connect 79 0 44 0;
#X connect 81 0 66 0;
#X connect 82 0 38 0;
#X connect 83 0 84 0;
#X connect 84 0 47 0;
#X connect 84 0 80 0;
#X connect 85 0 48 0;
#X connect 86 0 49 0;
#X connect 87 0 84 0;
#X connect 88 0 72 0;
#X connect 88 0 90 0;
#X connect 89 0 73 0;
#X connect 89 0 91 0;
#X connect 90 0 75 0;
#X connect 91 0 81 0;
#X connect 92 0 45 0;
#X connect 93 0 60 0;
#X connect 94 0 4 0;
----cut to here---
i'm sorry for space wasted, but is the 4:02 (...of course!),
the "thing" works, i have the video and audio libs in the apropiate site (they are 5 .mov files and 5 .wav, not very heavy content), but at the third clap in front of the mic it hangs, allways on the third, and a bit later a beatiful death blue screen (yes, i'm windozed, linux don't have drivers for my presonus firestation), i test it in two partitions (same machine), any ideas? Thanks for reading, interest, and.. for all, best regards.
jano
Using messages to set properties of other things
ayeee
I've got a metronome triggering slices of a breakbeat and I've set up a way to shift every second metronome bang using a delay object and spigot objects. By altering the delay you can create more or less of a swing to the metronome bangs. However obviously you can only delay the bang so much before it appears in sync with the next bang and this is based the tempo that your working at.
so...
I'd like to use the tempo to calculate a range for the delay.
i.e
If the tempo was 120BPM then the metronome will be 'BANG'ing every 500 ms
so the rage for the delay would be from 0 ms to something less than 500 ms (lets say 450)
If the tempo was 240BPM the metronome will be 'BANG'ing every 250ms
so the range of the delay would be from 0 ms to say 250 ms ( so.... like ..... 225)
so yeah
I'd like to generate the minium and maximum for a vertical slider based on the tempo at run time
hmmmmmm.....
I hope that's kiind of clearer but looking back it's quite long winded
I'm sorry.
let me know if it still doesn't make any sense.
Thank youuuuu
Iain
Clearing delay lines
you might need to use a set up that involves using two (or more) separate delay lines and swapping back and forth between them at the moment you want to 'clean' the delay. here's how it would work:
assume two delwrite~ obects with delay lines named a and b. matching these two delwrite~s are two delread~s. each of these four objects can be 'turned on' or 'muted' (using the method supplied above by giair). muting a delwrite~ object technically means muting the audio going into to the object.
the initial state of the patch would [delwrite~ a] and [delread~ a] turned on and [delwrite~ b] and [delread~ b] muted. when you want to clear the delay line, you would mute [delwrite~ a] and [delread~ a]. at that point you can turn on the 'b' delay line objects. you can switch back and forth between your two delay lines cleanly if you wait an amount of time greater than the length of the delay.
in the case that your delay time is longer than the time you want to wait, you would have to use another delay line. the downside of this is that the control gets a little bit more complicated. if this is something you might apply, check miller puckette's book (pdf available on his website i think) and look at the chapter on polyphonic synthesizers. polyphonic synths require some form of voice allocation and you might be able to use some of pd's voice allocation support to help manage your delay lines, because it is a fairly similar process.
i hope this made sense. i don't think it's as confusing as it sounds, but it is hard to put into words. if you understand what i mean, but aren't sure how to implement it, i could probably post an example; just let me know.
--zac
Startup file in Linux
Files starting with a "." are usually hidden on Linux. The "-a" flag for "ls" forces display of these. For example:
$ cd /home/claude
$ ls
bin bwusage.txt crapart2.wav IMG_0379.JPG incoming ls.txt private public public_html raw.txt Screenshot.png tail.pd tail.pd.png tail.png tmp
These are the files you normally see.
Now I try:
$ cd /home/claude
$ ls -a
. .bashrc .fullcircle .grip-l3enc .lyx .phoenix .Skype .wine
.. .bcast .gaim .grip-lame .macromedia private .soundtracker .Xauthority
.alsaplayer bin .gamix .grip-other .mailcap public .ssh .xawtv
.amsn bwusage.txt .gconf .gstreamer .mcop public_html .sversionrc .xawtv~
.aspell.english.prepl .canna .gconfd .gtkrc .metacity .qt tail.pd .xchat
.aspell.english.pws .cddb .gftp .gtkrc-1.2-gnome2 .mikmodrc raw.txt tail.pd.png .xchm
.aspell.en.prepl .cddbslave .gimp-1.2 .ICEauthority .mime.types .RealNetworks_RealCookies_60 tail.png .xemacs
.aspell.en.pws .cheesetracker_QT .gnome .icons .mozilla .RealNetworks_RealMediaSDK_60 .terminatorXrc .xmms
.audacity crapart2.wav .gnome2 IMG_0379.JPG .mplayer .RealNetworks_RealPlayer_60 .thumbnails .xnviewrc
.autosave .cvspass .gnome2_private incoming .nautilus .RealNetworks_RealShared_00 .thunderbird .xscreensaver
.autothumb .dvdcss .gnome-desktop .jackdrc .netscape .realplayerrc tmp .xvpics
.avidemuxrc .emacs .gnome_private .java .netscape6 .recently-used .Trash .ymessenger
.Azureus .emacs.d .gphoto .kde .nicotine .rezound .user60.rdb
.bash_history .esd_auth .gprename .libquicktime_codecs .openoffice .rhn-applet.conf .viminfo
.bash_logout .fonts .grip .lives .pdrc .sane .wgetrc
.bash_profile .fonts.cache-1 .grip-flac ls.txt .pdrc~ Screenshot.png .wgetrc~
A whole load more files suddenly appear!
Obviously replace the "claude" in /home/claude with your username, too.
