Re: Audio Triggering + Mouse Event latency
Or loop station : http://www.youtube.com/watch?v=VOhEmferYjA Le 16 nov. 2010 à 14:46, René Micout a écrit : Fred, 1. PlayCommand Agent X (for Mac - available also for Windows) is a part (engine) of Shakobox : http://www.hyperactivesw.com/resources_shakobox.html 2. For your problem : why not using something like a looper, example : http://forum.recordingreview.com/f62/digitech-jamman-looper-reviews-7528/ Cordialement René Le 16 nov. 2010 à 14:30, Fred Moyer a écrit : Where can I get PlayCommand? I can't find it on Jacque's site. This discussion reminds me of my problem. I am a pianist and am trying to use Revolution in my concerts. A typical performance starts with me playing on the piano alone -- and at a specific moment I bring in a recorded accompaniment which is in a Player in Revolution. I do it with a foot pedal that generates a mouseclick (my hands are busy.) When I press the foot pedal Revolution starts the player which is already loaded with the soundfile. Here's the problem: if Revolution loads the file and I press the foot pedal within about 20 secondso, the sound plays immediately -- no problem. But if my piano solo part is longer than that, it seems that Quicktime (or Revolution?) goes into some kind of hibernation mode and now when I press the foot pedal there is a delay of perhaps a second before the sound plays. This is death for the performance! So now I have to press the foot pedal about a second before the sound starts; it is really a drag! Any ideas? Based on this discussion, I gather it would be quicker if I could get the foot pedal to generate a keydown? Any ideas how to do this? How do you make an external mouse generate a keydown instead of a mousedown? Is there any way to set Quicktime to not go into that hibernation mode? I have Snow Leopard. Would it help to move to Quicktime Pro? Or Quicktime X? Thanks for any suggestions. Fred Moyer On Nov 16, 2010, at 4:33 AM, use-revolution-requ...@lists.runrev.com wrote: Message: 26 Date: Tue, 16 Nov 2010 10:26:25 +0100 From: Ren? Micout rene.mic...@numericable.com Subject: Re: Audio Triggering + Mouse Event latency To: How to use Revolution use-revolution@lists.runrev.com Message-ID: 2769f86d-1364-4199-8005-d5376bffb...@numericable.com Content-Type: text/plain; charset=iso-8859-1 Hello Anthony, I just returned from a trip and I discovered the discussion. For months (years...) I work on this problem and the best solution I've found in terms of responsiveness is to use PlayCommand Agent X (see Jacqueline web site for that) which controls the QuickTime synthesizer via AppleScript. I have a (Mac) prototype in progress (for iPad in final) called Exapad which is based on the principles you have mentioned and which uses MouseDown to start the sound and MouseUp to stop it. Hare are scripts extremely simplified (because in application chords can be played and arpeggiated) : global vgVolumeGénéral,vgTimbre -- settings with slider and menu on mouseDown hsJouerNotes the cpNoteBase of the target -- custom property of the note or sound (target = image or button) end mouseDown on mouseUp hsArrêtNotes the cpNoteBase of the target end mouseUp private command hsJouerNotes vpFondam SBstartNote vgTimbre,vpFondam,vgVolumeGénéral end hsJouerNotes private command hsArrêtNotes vpFondam SBstopNote vgTimbre,vpFondam end hsArrêtNotes command SBstartNote vpI,vpP,vpV do (tell applicationquote PlayCommand Agent X quote to play note instrument quote vpI quote pitch vpP velocity vpV) as AppleScript end SBstartNote command SBstopNote vpI,vpP do (tell application quote PlayCommand Agent X quote to play note instrument quote vpI quote pitch vpP velocity 0) as AppleScript end SBstopNote No latency. Percussion sounds possible... I stop because I have no more place... Bon souvenir de Paris René ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Audio Triggering + Mouse Event latency
Hello Anthony, I just returned from a trip and I discovered the discussion. For months (years...) I work on this problem and the best solution I've found in terms of responsiveness is to use PlayCommand Agent X (see Jacqueline web site for that) which controls the QuickTime synthesizer via AppleScript. I have a (Mac) prototype in progress (for iPad in final) called Exapad which is based on the principles you have mentioned and which uses MouseDown to start the sound and MouseUp to stop it. Hare are scripts extremely simplified (because in application chords can be played and arpeggiated) : global vgVolumeGénéral,vgTimbre -- settings with slider and menu on mouseDown hsJouerNotes the cpNoteBase of the target -- custom property of the note or sound (target = image or button) end mouseDown on mouseUp hsArrêtNotes the cpNoteBase of the target end mouseUp private command hsJouerNotes vpFondam SBstartNote vgTimbre,vpFondam,vgVolumeGénéral end hsJouerNotes private command hsArrêtNotes vpFondam SBstopNote vgTimbre,vpFondam end hsArrêtNotes command SBstartNote vpI,vpP,vpV do (tell applicationquote PlayCommand Agent X quote to play note instrument quote vpI quote pitch vpP velocity vpV) as AppleScript end SBstartNote command SBstopNote vpI,vpP do (tell application quote PlayCommand Agent X quote to play note instrument quote vpI quote pitch vpP velocity 0) as AppleScript end SBstopNote No latency. Percussion sounds possible... I stop because I have no more place... Bon souvenir de Paris René Le 16 nov. 2010 à 05:59, Anthony Howe a écrit : Hiya Folks, Further to our recent emails on this... I've now just implemented the same functionality using keyboard on keyDown events for each sound instead of the mouseDown event with startling (positive) results. (thanks Jacqueline for suggestion!) It seems that the keyDown event arrives into LC much faster than a mouseDown event does for the purpose of triggering audio on a real time basis. Slightly less responsive on WinXP, but fantastic on OSX. I've even been able to nest the keyDown handler at the card level and run a conditional before triggering the sound in order to get the right one, without affecting playback too much. Whilst this is still not an ideal UI position to be in, and will limit the features we can provide onscreen, at least it's clearer that the issue probably revolves around considerable internal latency with capture of the mouseDown event, in comparison to its 'keyDown' counterpart. If there's any way of tweaking the mouseDown event speed into LC, (assuming that IS actually the problem) it'd be great to provide this dual benefit to our users. Looks like we may be able to avoid the flash/swf implementation by using keyboard events directly into LC though so a solution seems close. Any thoughts based on that discovery folks? Cheers, A.___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Audio Triggering + Mouse Event latency
Where can I get PlayCommand? I can't find it on Jacque's site. This discussion reminds me of my problem. I am a pianist and am trying to use Revolution in my concerts. A typical performance starts with me playing on the piano alone -- and at a specific moment I bring in a recorded accompaniment which is in a Player in Revolution. I do it with a foot pedal that generates a mouseclick (my hands are busy.) When I press the foot pedal Revolution starts the player which is already loaded with the soundfile. Here's the problem: if Revolution loads the file and I press the foot pedal within about 20 secondso, the sound plays immediately -- no problem. But if my piano solo part is longer than that, it seems that Quicktime (or Revolution?) goes into some kind of hibernation mode and now when I press the foot pedal there is a delay of perhaps a second before the sound plays. This is death for the performance! So now I have to press the foot pedal about a second before the sound starts; it is really a drag! Any ideas? Based on this discussion, I gather it would be quicker if I could get the foot pedal to generate a keydown? Any ideas how to do this? How do you make an external mouse generate a keydown instead of a mousedown? Is there any way to set Quicktime to not go into that hibernation mode? I have Snow Leopard. Would it help to move to Quicktime Pro? Or Quicktime X? Thanks for any suggestions. Fred Moyer On Nov 16, 2010, at 4:33 AM, use-revolution-requ...@lists.runrev.com wrote: Message: 26 Date: Tue, 16 Nov 2010 10:26:25 +0100 From: Ren? Micout rene.mic...@numericable.com Subject: Re: Audio Triggering + Mouse Event latency To: How to use Revolution use-revolution@lists.runrev.com Message-ID: 2769f86d-1364-4199-8005-d5376bffb...@numericable.com Content-Type: text/plain; charset=iso-8859-1 Hello Anthony, I just returned from a trip and I discovered the discussion. For months (years...) I work on this problem and the best solution I've found in terms of responsiveness is to use PlayCommand Agent X (see Jacqueline web site for that) which controls the QuickTime synthesizer via AppleScript. I have a (Mac) prototype in progress (for iPad in final) called Exapad which is based on the principles you have mentioned and which uses MouseDown to start the sound and MouseUp to stop it. Hare are scripts extremely simplified (because in application chords can be played and arpeggiated) : global vgVolumeGénéral,vgTimbre -- settings with slider and menu on mouseDown hsJouerNotes the cpNoteBase of the target -- custom property of the note or sound (target = image or button) end mouseDown on mouseUp hsArrêtNotes the cpNoteBase of the target end mouseUp private command hsJouerNotes vpFondam SBstartNote vgTimbre,vpFondam,vgVolumeGénéral end hsJouerNotes private command hsArrêtNotes vpFondam SBstopNote vgTimbre,vpFondam end hsArrêtNotes command SBstartNote vpI,vpP,vpV do (tell applicationquote PlayCommand Agent X quote to play note instrument quote vpI quote pitch vpP velocity vpV) as AppleScript end SBstartNote command SBstopNote vpI,vpP do (tell application quote PlayCommand Agent X quote to play note instrument quote vpI quote pitch vpP velocity 0) as AppleScript end SBstopNote No latency. Percussion sounds possible... I stop because I have no more place... Bon souvenir de Paris René ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Audio Triggering + Mouse Event latency
Fred, 1. PlayCommand Agent X (for Mac - available also for Windows) is a part (engine) of Shakobox : http://www.hyperactivesw.com/resources_shakobox.html 2. For your problem : why not using something like a looper, example : http://forum.recordingreview.com/f62/digitech-jamman-looper-reviews-7528/ Cordialement René Le 16 nov. 2010 à 14:30, Fred Moyer a écrit : Where can I get PlayCommand? I can't find it on Jacque's site. This discussion reminds me of my problem. I am a pianist and am trying to use Revolution in my concerts. A typical performance starts with me playing on the piano alone -- and at a specific moment I bring in a recorded accompaniment which is in a Player in Revolution. I do it with a foot pedal that generates a mouseclick (my hands are busy.) When I press the foot pedal Revolution starts the player which is already loaded with the soundfile. Here's the problem: if Revolution loads the file and I press the foot pedal within about 20 secondso, the sound plays immediately -- no problem. But if my piano solo part is longer than that, it seems that Quicktime (or Revolution?) goes into some kind of hibernation mode and now when I press the foot pedal there is a delay of perhaps a second before the sound plays. This is death for the performance! So now I have to press the foot pedal about a second before the sound starts; it is really a drag! Any ideas? Based on this discussion, I gather it would be quicker if I could get the foot pedal to generate a keydown? Any ideas how to do this? How do you make an external mouse generate a keydown instead of a mousedown? Is there any way to set Quicktime to not go into that hibernation mode? I have Snow Leopard. Would it help to move to Quicktime Pro? Or Quicktime X? Thanks for any suggestions. Fred Moyer On Nov 16, 2010, at 4:33 AM, use-revolution-requ...@lists.runrev.com wrote: Message: 26 Date: Tue, 16 Nov 2010 10:26:25 +0100 From: Ren? Micout rene.mic...@numericable.com Subject: Re: Audio Triggering + Mouse Event latency To: How to use Revolution use-revolution@lists.runrev.com Message-ID: 2769f86d-1364-4199-8005-d5376bffb...@numericable.com Content-Type: text/plain; charset=iso-8859-1 Hello Anthony, I just returned from a trip and I discovered the discussion. For months (years...) I work on this problem and the best solution I've found in terms of responsiveness is to use PlayCommand Agent X (see Jacqueline web site for that) which controls the QuickTime synthesizer via AppleScript. I have a (Mac) prototype in progress (for iPad in final) called Exapad which is based on the principles you have mentioned and which uses MouseDown to start the sound and MouseUp to stop it. Hare are scripts extremely simplified (because in application chords can be played and arpeggiated) : global vgVolumeGénéral,vgTimbre -- settings with slider and menu on mouseDown hsJouerNotes the cpNoteBase of the target -- custom property of the note or sound (target = image or button) end mouseDown on mouseUp hsArrêtNotes the cpNoteBase of the target end mouseUp private command hsJouerNotes vpFondam SBstartNote vgTimbre,vpFondam,vgVolumeGénéral end hsJouerNotes private command hsArrêtNotes vpFondam SBstopNote vgTimbre,vpFondam end hsArrêtNotes command SBstartNote vpI,vpP,vpV do (tell applicationquote PlayCommand Agent X quote to play note instrument quote vpI quote pitch vpP velocity vpV) as AppleScript end SBstartNote command SBstopNote vpI,vpP do (tell application quote PlayCommand Agent X quote to play note instrument quote vpI quote pitch vpP velocity 0) as AppleScript end SBstopNote No latency. Percussion sounds possible... I stop because I have no more place... Bon souvenir de Paris René ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Audio Triggering + Mouse Event latency
On Nov 16, 2010, at 2:30 PM, Fred Moyer wrote: I gather it would be quicker if I could get the foot pedal to generate a keydown? Any ideas how to do this? How do you make an external mouse generate a keydown instead of a mousedown? Will a game controller help you? Can a spacebar tap help you? Can a modified Wacom Tablet work? sims ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Audio Triggering + Mouse Event latency
On 11/16/2010 05:12 PM, Jim Sims wrote: On Nov 16, 2010, at 2:30 PM, Fred Moyer wrote: I gather it would be quicker if I could get the foot pedal to generate a keydown? Any ideas how to do this? How do you make an external mouse generate a keydown instead of a mousedown? Will a game controller help you? Can a spacebar tap help you? Can a modified Wacom Tablet work? sims Nostromo gamepad he cackled manically for the 45th time . . . ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Audio Triggering + Mouse Event latency
On Nov 16, 2010, at 4:36 PM, Richmond wrote: Nostromo gamepad he cackled manically for the 45th time . . . Could you explain what you mean? I have no idea what you are talking about. sims ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Audio Triggering + Mouse Event latency
On 11/16/2010 05:41 PM, Jim Sims wrote: On Nov 16, 2010, at 4:36 PM, Richmond wrote: Nostromo gamepad he cackled manically for the 45th time . . . Could you explain what you mean? I have no idea what you are talking about. sims Nor have I half the time . . . :) The Belkin Nostromo Gamepad is a USB gamepad that I use both with Mac and Linux for programming in RR/LC; it sends keyDown signals and can be configured to do pretty well what you like. IFF one connects it to a Mac that DOES NOT have the Nostromo driver-pref-pane installed the Mac sees it as an unrecognised keyboard. Some Dictaphone transcription foot-pedals can also be configured to send a keyDown from one or more of the foot-pedals. http://www.nxpeds.com/ http://www.altoedge.com/pedals http://www.pedalpax.com/ {this lot look particularly interesting] and this one for the funny bunch: http://www.instructables.com/id/Add-foot-pedals-or-ergonomic-buttons-to-your-compu/ ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Audio Triggering + Mouse Event latency
On that note, I remember reporting that in certain situations a fast mouse click was not seen by (then) RunRev. They are probably related. BTW, do you have any kind of virtual machine software running? It occurs to me that if something like Parallels is running, they install special drivers in the Mac to interface the keyboard with the guest os'es. Nuther shot in the dark. You may be dealing with interrupt priorities. I would poke around in Google and see if there is any way to up the ante on mouse event priorities. Of course, that would mean making modifications to the OS which is not ideal for a commercial application. Bob On Nov 15, 2010, at 8:59 PM, Anthony Howe wrote: Hiya Folks, Further to our recent emails on this... I've now just implemented the same functionality using keyboard on keyDown events for each sound instead of the mouseDown event with startling (positive) results. (thanks Jacqueline for suggestion!) It seems that the keyDown event arrives into LC much faster than a mouseDown event does for the purpose of triggering audio on a real time basis. Slightly less responsive on WinXP, but fantastic on OSX. I've even been able to nest the keyDown handler at the card level and run a conditional before triggering the sound in order to get the right one, without affecting playback too much. Whilst this is still not an ideal UI position to be in, and will limit the features we can provide onscreen, at least it's clearer that the issue probably revolves around considerable internal latency with capture of the mouseDown event, in comparison to its 'keyDown' counterpart. If there's any way of tweaking the mouseDown event speed into LC, (assuming that IS actually the problem) it'd be great to provide this dual benefit to our users. Looks like we may be able to avoid the flash/swf implementation by using keyboard events directly into LC though so a solution seems close. Any thoughts based on that discovery folks? Cheers, A.___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Audio Triggering + Mouse Event latency
The Nostromo (and pretty much every other input device) is now seriously outdated. http://www.plxwave.com/ Scott Rossi Creative Director Tactile Media, UX Design On Nov 16, 2010, at 8:01 AM, Richmond richmondmathew...@gmail.com wrote: The Belkin Nostromo Gamepad is a USB gamepad that I use both with Mac and Linux for programming in RR/LC; it sends keyDown signals and can be configured to do pretty well what you like. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Audio Triggering + Mouse Event latency
On 11/16/2010 07:23 PM, Scott Rossi wrote: The Nostromo (and pretty much every other input device) is now seriously outdated. At 48 the same might be said about myself . . . :) Somebody missing the point, again: what I meant was that there is a whole plethora of USB devices on the market which can deliver a keyDown signal to a RR/LC stack. http://www.plxwave.com/ Scott Rossi Creative Director Tactile Media, UX Design On Nov 16, 2010, at 8:01 AM, Richmondrichmondmathew...@gmail.com wrote: The Belkin Nostromo Gamepad is a USB gamepad that I use both with Mac and Linux for programming in RR/LC; it sends keyDown signals and can be configured to do pretty well what you like. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Audio Triggering + Mouse Event latency
On 11/16/2010 07:23 PM, Scott Rossi wrote: The Nostromo (and pretty much every other input device) is now seriously outdated. http://www.plxwave.com/ How come this is NOT all over the new channels? If this really works it makes all those USB devices look fairly pointless; so how come the internet isn't oozing with Oooos and Wows about this thing? Have you bought one? Have you got the thing to work? Why does it remind me of voice recognition software? . . . and that has, to a large extent, died a death. Scott Rossi Creative Director Tactile Media, UX Design ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Audio Triggering + Mouse Event latency
Recently, Richmond wrote: Somebody missing the point, again: what I meant was that there is a whole plethora of USB devices on the market which can deliver a keyDown signal to a RR/LC stack. And yet somebody else missing the greater point: humor. Regards, Scott Rossi Creative Director Tactile Media, UX Design ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Audio Triggering + Mouse Event latency
It cannot actually control anything... yet. It just monitors your brainwaves and gives you a graphical feedback. For those who actually watched the video, I tried to focus on the device but found myself staring at the beautiful blonde. At that point I realized all I was hearing was blah blah blah blah... but it made me feel totally at peace. Odd, I guess it does work after all. Bob On Nov 16, 2010, at 9:36 AM, Richmond wrote: On 11/16/2010 07:23 PM, Scott Rossi wrote: The Nostromo (and pretty much every other input device) is now seriously outdated. http://www.plxwave.com/ How come this is NOT all over the new channels? If this really works it makes all those USB devices look fairly pointless; so how come the internet isn't oozing with Oooos and Wows about this thing? Have you bought one? Have you got the thing to work? Why does it remind me of voice recognition software? . . . and that has, to a large extent, died a death. Scott Rossi Creative Director Tactile Media, UX Design ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Audio Triggering + Mouse Event latency
On 11/16/2010 07:43 PM, Scott Rossi wrote: Recently, Richmond wrote: Somebody missing the point, again: what I meant was that there is a whole plethora of USB devices on the market which can deliver a keyDown signal to a RR/LC stack. And yet somebody else missing the greater point: humor. Regards, Scott Rossi Creative Director Tactile Media, UX Design ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution I thought that the brain thingy was deadly serious; anyway, over the side of the pond we don't know what 'humor' is; only 'humour' . . . :) ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Audio Triggering + Mouse Event latency
On 11/16/2010 08:46 PM, Bob Sneidar wrote: It cannot actually control anything... yet. It just monitors your brainwaves and gives you a graphical feedback. For those who actually watched the video, I tried to focus on the device but found myself staring at the beautiful blonde. At that point I realized all I was hearing was blah blah blah blah... but it made me feel totally at peace. Odd, I guess it does work after all. Bob Change and decay; remember that beautiful blondes, like Thee and Me, are prone to the forces of entropy; meaning 'decay'; so they will not really give you any lasting peace - sic transit gloria mundi. However I do like your word yet; it is so symptomatic of what is wrong with our society; we are so arrogant that we assume we will solve every besetting problem in due course . . . for peace give me a nice bit of Bach or, even better, Buxtehude, any time (neither of those composers, by the way, was blonde) . . . ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Audio Triggering + Mouse Event latency
And hummus over here is called Dip. Bob On Nov 16, 2010, at 11:01 AM, Richmond wrote: I thought that the brain thingy was deadly serious; anyway, over the side of the pond we don't know what 'humor' is; only 'humour' . . . :) ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
[OT] Re: Audio Triggering + Mouse Event latency
On 16 Nov 2010, at 6:00 pm, Richmond wrote: Why does it remind me of voice recognition software? . . . and that has, to a large extent, died a death. Nah. Must be your accent ;-) I use Dictate for all my reports. Much faster and more accurate than my typing, and no more aches and pains. Now its the *thinking* that is the bottleneck. Best Wishes, David Glasgow Carlton Glasgow Partnership i-psych.co.uk ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: [OT] Re: Audio Triggering + Mouse Event latency
On 11/16/2010 09:31 PM, David Glasgow wrote: On 16 Nov 2010, at 6:00 pm, Richmond wrote: Why does it remind me of voice recognition software? . . . and that has, to a large extent, died a death. Nah. Must be your accent ;-) Ah dinnae jalouse qhuats thon ettlin eftir impunging my accent: 'ekshully' as a bi-cultural Anglo-Scot I can give 'em the old Public school flannel as well as the Orcadian sheep farmer; funny how the Valley Boys over 'there' in California, haven't recognised how vitally important either of those accents/dialects is to the future of computer programming . . . :) I use Dictate for all my reports. Much faster and more accurate than my typing, and no more aches and pains. The rate I wibble on I would suffer from repetitive jaw syndrome . . . Now its the *thinking* that is the bottleneck. I could never work out what 'thinking' entailed; somehow I managed the thousands of lines of code in my Devawriter suite of programs on instinct and coffee alone . . . Best Wishes, David Glasgow Carlton Glasgow Partnership i-psych.co.uk Funny; with that address you don't sound like a 'valley boy'; even though I can say some reasonably offensive things about Milton Keynes . . . :) Trick Question: now that Linus Torvalds lives in California do all other programmers over there have to go to Finishing school ? ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Audio Triggering + Mouse Event latency
One thought: I imagine that a virtual instrument is significantly more effective when relying on the keyboard (multiple sound triggers possible) compared to the mouse (one click at a time), so unless your project has some other requirements that were not shared, it seems that relying on the keyDown message could improve the usability of your app. You may also want to review the keysDown() function in your tests. Glad to hear you're close to a solution. Regards, Scott Rossi Creative Director Tactile Media, UX Design Recently, Anthony Howe wrote: Hiya Folks, Further to our recent emails on this... I've now just implemented the same functionality using keyboard on keyDown events for each sound instead of the mouseDown event with startling (positive) results. (thanks Jacqueline for suggestion!) It seems that the keyDown event arrives into LC much faster than a mouseDown event does for the purpose of triggering audio on a real time basis. Slightly less responsive on WinXP, but fantastic on OSX. I've even been able to nest the keyDown handler at the card level and run a conditional before triggering the sound in order to get the right one, without affecting playback too much. Whilst this is still not an ideal UI position to be in, and will limit the features we can provide onscreen, at least it's clearer that the issue probably revolves around considerable internal latency with capture of the mouseDown event, in comparison to its 'keyDown' counterpart. If there's any way of tweaking the mouseDown event speed into LC, (assuming that IS actually the problem) it'd be great to provide this dual benefit to our users. Looks like we may be able to avoid the flash/swf implementation by using keyboard events directly into LC though so a solution seems close. Any thoughts based on that discovery folks? Cheers, A.___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Audio Triggering + Mouse Event latency
Hiya Scott, Yea.. the mouseDown on a virtual instrument for a user is difficult in a desktop computing scenario for sure. We're different here though...I can't remember if I already specified this, but the target user scenario is aimed at students 'tapping' on an interactive whiteboard with their finger or stylus to play the instruments. In this implementation, the mouseDown event would be the ideal event to handle. It would be MUCH more intuitive for the user (lots of students in a classroom) to simply be able to trigger the events directly from the interactive whiteboard, and not be worried about what key to press to activate what instrument etc... Having said that, we're now putting some more thought into how to make best use of the keyboard as the 'playing surface' of the instrument, given that the mouseDown event does not look like it's going to work out reliablyhope I'm wrong! Cheers, A.___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Audio Triggering + Mouse Event latency
Ah, OK, that's definitely a different implementation than a keyboard. Only a few other options I can think of for the mouseDown message: 1) Trapping mouseDown in a frontScript, which gets executed before any mouseDown events in a button/card/stack. Have you already tried this? 2) Not ideal from a processor use standpoint, but using mouse polling in a tight repeat loop, ie: on trackClicks if the mouse is down then playMySound send trackClicks to me in 10 millisecs end trackClicks 3) Using a wait command, which is better than the above in terms of processor use, but harder to manage: on trackClicks wait while (the mouse is up) with messages playMySound send trackClicks to me in 0 millisecs end trackClicks The above is a bit like a repeat loop that waits for a condition -- the benefit is it doesn't impact processor use like a standard repeat loop, the drawback is, it's harder to get out of (might need a frontScript or similar). Regards, Scott Rossi Creative Director Tactile Media, UX Design Recently, Anthony Howe wrote: Hiya Scott, Yea.. the mouseDown on a virtual instrument for a user is difficult in a desktop computing scenario for sure. We're different here though...I can't remember if I already specified this, but the target user scenario is aimed at students 'tapping' on an interactive whiteboard with their finger or stylus to play the instruments. In this implementation, the mouseDown event would be the ideal event to handle. It would be MUCH more intuitive for the user (lots of students in a classroom) to simply be able to trigger the events directly from the interactive whiteboard, and not be worried about what key to press to activate what instrument etc... Having said that, we're now putting some more thought into how to make best use of the keyboard as the 'playing surface' of the instrument, given that the mouseDown event does not look like it's going to work out reliablyhope I'm wrong! Cheers, A.___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Audio Triggering + Mouse Event latency
If anyone has any suggestions for Anthony, I'd be eager to to hear them as well. I mentioned to him that in my experience, playing sounds imported as audioclips provided the fastest playback response, with the limitation being no multichannel support (one sound at a time with no layering of that sound). I thought FranklinAudio could be a solution, but apparently Anthony is still getting some latency issues. It would be great to see Anthony's project done in LiveCode. Anthony, the only other item I can think of is, by any chance are you running any other scripts while tapping buttons? Any monitors or polling taking place? Regards, Scott Rossi Creative Director Tactile Media, UX Design Recently, Anthony Howe wrote: Hiya Folks, LiveCode firsttimer here, but have been following this great tool for a year or so - just got started a month or so ago. I'm hoping that there's some experience that can help me on this critical feature that I need to sort to move ahead a bit faster than what the last couple of weeks has allowed. As a 'get-started' / performance testing project I've been attempting to create a simple implementation of the following two features on a simple user interface: 1. 6 x buttons with down states (PNG icons) 2. MouseDown event handler which triggers a SHORT .WAV file with little or no latency, and allowing for rapid 'tapping' - so that the button may be used as a virtual percussion instrument, to be played along with a looping .MOV file, triggered independently. LiveCode IDE: 4.5.1, MacOSX 10.6.4 Total audio footprint: 445kb of WAV files, average file size 70KB Sound simple? Well in theory it is. The challenge is the 'little or no latency' bit. Here's the different configurations I've implemented so far: 1. Buffered, offscreen/invisible 'player' object to house each audio file as a .mov, send 'start' command directly to object from MouseDown event on same card. Result = slow, not snappy. 2. AudioClips (imported to stack, not referenced) triggered directly from mouseDown events. Result = less slow, but, not snappy. 3. Purchased and Implemented FranklinAudio external (recently released, based on OpenAL) with buffers for each sound mapped to single source for playback, with alSourcePlay function triggered from MouseDown handler. Result = per (2) above - for 50 times the amount of code. 4. FranklinAudio external with buffers for each sound mapped to multiple (spawning) sources for playback, with alSourcePlay function triggered from MouseDown handler (delivers cascading, layered playback of audio - which is cool side effect) Result = per (2) above - for 100 times the amount of code. (Franklin Audio actually looks really great in terms of extended audio capability, outside of this scenario, and I may not have fully optimised the best implementation in this tool). Key problem? All of these implementations deliver repeatable, less than desirable responsiveness from the button that is being clicked by the user to trigger the audio. It's just initiating playback too slowly to cut it as a playable 'instrument'. I would also be interested in how to improve this latency challenge from a general UI perspective anyway (using audio click sounds on buttons etc...) In contrast, i've been able to achieve much better (acceptable) performance of exactly the same basic functionality in: 1. Flash - (but this is not desirable for distribution requirements and other features of project - so no can do... except MAYBE in revBrowser) :( 2. HTML5 + JS with new audio video tags(very impressive results in Safari on OSX + Firefox, with particularly surprising performance on old WinXP running FF) Alas, web delivery a harder option in this project. 3. iShell - blast from the past, but still performs very well on this particular function, on both mac + win So, I'm wondering if an area that is harder for me to test is perhaps the issue: the internal latency of the MouseDown event listener in LiveCode and the LiveCode runtime. Any thoughts / experience round the table? Happy to share the prototype stacks etc... if you think relevant. Warm regards, Anthony ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
RE: Audio Triggering + Mouse Event latency
I thought FranklinAudio could be a solution, but apparently Anthony is still getting some latency issues. It would be great to see Anthony's project done in LiveCode. Anthony, the only other item I can think of is, by any chance are you running any other scripts while tapping buttons? Any monitors or polling taking place? Have you stripped the application down to its bare minimum to see if that improves results, or increasing the amount of available memory? Im wondering if some key portion of the app or the sounds are somehow being cached to disk rather than staying resident in memory. Best regards, Lynn Fredricks President Paradigma Software http://www.paradigmasoft.com Valentina SQL Server: The Ultra-fast, Royalty Free Database Server ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Audio Triggering + Mouse Event latency
Anthony- First of all, welcome to the list community. You've gone farther down this road than I have, so I don't think I'll have any useful comments on latency for you... Thursday, November 11, 2010, 8:11:18 PM, you wrote: So, I'm wondering if an area that is harder for me to test is perhaps the issue: the internal latency of the MouseDown event listener in LiveCode and the LiveCode runtime. You might try putting the milliseconds into a variable on mouseDown, then comparing that with the milliseconds count after the send or play command. Any thoughts / experience round the table? What hardware are you running this on? Are you using QuickTime? Have you tried fiddling with the QuickTime properties (the qtIdleRate, the dontUseQT)? -- -Mark Wieder mwie...@ahsoftware.net ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
RE: Audio Triggering + Mouse Event latency
What hardware are you running this on? Are you using QuickTime? Have you tried fiddling with the QuickTime properties (the qtIdleRate, the dontUseQT)? Franklin Audio has no dependency on Quicktime. Anthony, you might want to submit a ticket to support to see if there's something wrong happening. Our audio guy is probably going to need to see a code sample as well. Best regards, Lynn Fredricks President Paradigma Software http://www.paradigmasoft.com Valentina SQL Server: The Ultra-fast, Royalty Free Database Server ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Audio Triggering + Mouse Event latency
On 11/11/10 10:11 PM, Anthony Howe wrote: Key problem? All of these implementations deliver repeatable, less than desirable responsiveness from the button that is being clicked by the user to trigger the audio. It's just initiating playback too slowly to cut it as a playable 'instrument'. Fastest results will be with an embedded audio clip, so don't use a player, use the play audioclip command. Then see if performance improves if you suspend the development environment (last entry in the Development menu.) The IDE has a constant stream of behind-the-scenes messaging going on, with lots of pending messages and interceptions. These may be slowing down the response. Suspending the IDE removes these. Also, the first access to the sound clip can be slower because it needs to load. Repeated access after that should be pretty quick. But different things can unload it again. I'm not sure exactly what does that, but I've noticed it when changing cards. If that doesn't work, see if using a keyboard key is faster. Try a keydown handler. -- Jacqueline Landman Gay | jac...@hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Audio Triggering + Mouse Event latency
Thanks for your replies everyone. Just to confirm, the app in it's current state contains ONLY the code to trigger the sounds from the buttons. The only other overhead would be about 200k worth of PNG files as graphics and a buffered qt movie of 100k. Minimal. I started with this function as I knew it may be a challenging area. The latency occurs on the button sounds whether the qt movie is playing or not, and there's definitely nothin else in the app going on during runtime that I have control over. The 'audio clip' implementation, per my last post is most certainly the best performing out of all the solutions I've tried so far. So that's good to know at least! Because the target user scenario is actually destined for the tapping of rhythms on a large interactive whiteboard (mostly by a finger on the active surface, or stylus), rather than a mouse click on screen, the latency we're experiencing is rather magnified. I've even set up a 'beep' test where we are not triggering the wav files at all. Same result, which really does lead me to believe that the mouse events are simply not arriving INTO livecode on a realtime basis. This is the same if I save out to standalone, so would that render the suggestion about suspending the IDE a bit arbitrary? I like the 'milliseconds' suggestion to do some measurement with, I'll try to figure out how to implement that to catch the time it takes a 'mouseDown' to reach LC. Any quick suggestions? Can anyone offer a quick synopsis on the feasibility and likely performance of perhaps mounting these 'instrument' buttons as a floating window of a smaller size using revbrowser, and then using a flash(swf) file to take care of audio triggering? Given the multitude of examples of mouseevents performing much better in flash, we'll have to seriously consider this option now I guess. It's kludgy, but if it gets the result, it could be acceptable. Snags /deployment gotchyas / content embedding? Revbrowser? Can these revbrowser windows be a blank window or do they require some form of browser controls to be displayed I've only read about it (with wariness on the cross platform compatiblity front)? Thanks again guys. Anthony. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution