First I would consider whether you want *exactly* that UI, or whether
something very similar would do.
If similar is OK, then I would invert the logic of the UI:
- if the mouse (pointer) is over a hexagon, and the mouse is not being
pressed - play that note, and keep playing it
- if mouse moves into another hex, change note
- when the mouse is pressed - and for as long as it stays pressed -
play nothing.
That is very easy to do (at least, without testing it :,) :
each hexagon has handlers that do :
on mouseenter
-- do whatever it is you do to play a note (??)
end mouseenter
on mouseup
-- do whatever it is you do to play a note (??)
end mouseup
on mouseleave
-- stop playing the current note
end mouseleave
(actually, probably easier to do single handlers, which check "the
target" to determine which hex is being entered/left). Note that whne
you move form one to another, it's
and the card/group has a handler
on mousedown
-- stop playing the current note
end mousedown
and that, I think, should be all you need..
However - I'm not sure that's a very intuitive UI ("release to play"),
so I'd probably go the extra mile and do the harder one that replicates
the original UI. And that *is* harder, so I will try it out before I say
any more about it ...
On 01/01/2019 15:23, Richmond via use-livecode wrote:
OK, OK; let's be direct and to the point:
I want to "rip off" the functionality of this web-page:
http://terpstrakeyboard.com/about/
Click on the "Play It Now!" menu item and follow through . . .
You will end up with a microtonal keyboard that has this functionality:
1. When one performs a mouseDown on each hexagon a tone is played.
2. While the mouse button is held down the tone continues to sound.
3. If the mouse is dragged (while being pressed) from one hexagon to
the next,
the sound changes from that of the initial hexagon to the new one.
So . . . there would seem to be something "there" that is a bit
difficult to implement in LiveCode.
I have 2 adjacent hexagons, called "h1" and "h2" containing these
scripts, respectively:
...
Dragging one's mouse while it is "down" from "h1" to H2" does not turn
"h2" yellow!
*THIS* is the functionality I am looking for.
Right - won\t work because H2 never gets a mouseEnter or mouseDown
because the mouse was already down when it moved into H2.
I will have a play later tonight and see what I can come up with
Alex.
Richmond.
On 29.12.18 18:52, J. Landman Gay via use-livecode wrote:
MouseDown is a message, not a function. You need:
if the mouse is down then
set the...etc.
--
Jacqueline Landman Gay | [email protected]
HyperActive Software | http://www.hyperactivesw.com
On December 29, 2018 9:07:37 AM Richmond via use-livecode
<[email protected]> wrote:
This does *NOT* work:
on mouseEnter
if mouseDown then
set the backgroundColor of me to red
else
set the backgroundColor of me to green
end if
end mouseEnter
on mouseLeave
set the backgroundColor of me to white
end mouseLeave
which is a "right pox"
Richmond.
On 29.12.18 16:45, Richmond wrote:
This may rank as one of the goofiest questions I've ever asked: Oh,
well, here goes:
Imagine a mosaic of faux buttons if you will.
Each of these buttons will play a tone if I drag my mouse into it:
on mouseEnter
play audioClip "x.aiff"
end mouseEnter
All well and good . . .
BUT, Richmond wants more . . .
I want to get different results from a simple mouseEnter
and a mouseEnter while the left-click button is down.
Richmond.
_______________________________________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
_______________________________________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
_______________________________________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
_______________________________________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode