-
wadeorz
Does anyone know if there is a way to make PD keep "hearing" keystrokes when it is not the active window/application?
Let me explain. I use PD as a MIDI controller for ableton live. it lets me get custom functionality out of old hardware controllers.
What I want to do is map knobs in ableton to pairs of keystrokes in PD - very easy -
"A" key = turn knob right
"Z" key = turn knob left.This works fine AS LONG AS PD is the active window - i.e. the last program to be clicked on.
But as soon as I touch sometghing in ableton with the mouse PD stops hearing the keystrokes - and I need to be able to use the mouse with ableton
Anyone know a workaround??
Cheers
W
-
wadeorz
Hi all,
This should be the easiest thing in the world, but I cant for the life of me figure it out.
I need to populate an array with input from four different number streams were the order of appearence of numbers in the stream puts them into an queue to bang messages from 0,1,2 etc.
A brief explanation
I presume is pretty
easy when you know how, but A brief explanation of the project might be in orderThe idea is to back project onto a series of screens and give people
IR LED "paintbrushes" so they can paint with procedural graphics and
sound.We're using "touchlib" blob tracking software (and webcams)to
differentiate between the blobs. the software assigns each blob a
numbered ID for the length of its lifetime, based on the order in
which they come into existence : so the first blob in existence is "ID
0" (until it dies, when it takes its pace in the queue), the second
is "ID 1" etc.These IDs allow us to assign specific graphics to different blobs in
Processing, and also to give each an individual piece of audio.Its easy with just one machine sending these messages as each ID
corresponds nicely to the order of tracks to be triggered in the
sequencer,
but we're using four separate modular machines each running touchlib
and we want the sound to be global.We have networked the machines and each of the four graphics modules
can talk to the machine running the sound. The sound module is running
PD which receives messages from the other machines and then sends MIDI
messages to the sequencer. So PD is getting four streams of numbers -say from zero to three- which correspond to the order in which touchlib blob IDs pop into existence - (each stream local to its own machine)these numbers trigger a fade in/out of a
mixer track in say for example Reason). Ideally the first person who enters the space will
trigger some pad sounds (fader 1 in reason say) regardless of which
screen they paint on.that way it will work if there is only one person in the space. The
next person would trigger some percussion, and the full track would
build naturally. The alternative is to have every ID locked to a
sound, meaning it would really only work for four people in the space.So to the question. There are 4 data streams coming into PD, literally
numbers 0 - 3 in each number box. as you can see in the
"four_machine_dilemma"patch attached.what I need to do is fix it so that if (and only if) computer A has
sent a message triggering track 1 that computer B, or the next stream,
when it sends its own "ID number 1" is converted to ID number 2 , that
is, it occupies the next position in the global array, triggering
track two (because track 1 is occupied) even though it thinks it is
"ID number 1", and so on down the chain.is there some way to store a boolean for the track's on state and use
it to reassign a value to the next incoming message?Or just to fill positions in an array with the incoming messages in
the order they are received. It seems like it it should be
straight-forward but I'll be buggered blind if I can figure it out.Hope this is not to long winded for a simple question.
Thanks in advance,
wadeorz
-
wadeorz
I am trying to get the PD reactivision client to work in order to pick up messages from touchlib
The Processing client does this no problem on the same port 3333 but PD picks up
sweet F A.I really need to get touchlib talking directly to PD for an exhibition in a month.
All help dearly appreciated,
Thankyou.
-
-
wadeorz
Thanks ... it is indeed. What does it do? The help file just has a patch which lists devices without explaining what it does ... How can it help me route keystrokes to PD when its not the active window ?
if it helps this is what I get when I run the patch
hidin: ** found 9 devices on your system
DEVICES: -1 None
DEVICES: 1
DEVICES: 2
DEVICES: 3
DEVICES: 4
hidin: -- could not get device #5: Access is denied.hidin: -- can not read from mouse and keyboard
DEVICES: 5 Unsupported Device
hidin: -- could not get device #6: Access is denied.hidin: -- can not read from mouse and keyboard
DEVICES: 6 Unsupported Device
hidin: -- could not get device #7: Access is denied.hidin: -- can not read from mouse and keyboard
DEVICES: 7 Unsupported Device
hidin: -- could not get device #8: Access is denied.hidin: -- can not read from mouse and keyboard
DEVICES: 8 Unsupported Device
hidin: -- could not get device #9: Access is denied.hidin: -- can not read from mouse and keyboard
DEVICES: 9 Unsupported DeviceThanks again.
W
-
wadeorz
is hid an object? I'm on a windows machine unfortunately : (
-
wadeorz
...eh, right. buggy then?
say I wanted to make a switch to reset in case of noise/bugs whatever.
would the safest thing be to overwrite all the arrays to 0?
Thanks again for all your wonderful help!
-
wadeorz
what would you define as an"undefined execution order?"
-
-
wadeorz
Wow. I'm speechless. You're a genius. Check out the link below for info on the project (you'll be getting a mention on the website!)
https://www.cs.tcd.ie/~odwyernc/zenTech/research.html
I just have 1 more question (ok maybe two)
as you can see from the attached "saviour.pd" (yes thats you) patch
I have the faders rigged to receive a separate bang for on and off messages. This is because processing actually sends two different messages(with the same ID but a different message name - on or off)
Whereas you seem to have done everything "in the box"
The route object will trigger the on messages perfectly but the deallocation of the voices uses the same channel so I'm wondering:
is it possible to use one [poly low] for on messages and one for off (i'm guessing not) or how can I hook up/route the [poly low] object to the faders so that the first bang on a channel is ON and the seccond OFF?