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

Reply via email to