reaper-oss / sws

The SWS extension is a collection of features that seamlessly integrate into REAPER, the Digital Audio Workstation (DAW) software by Cockos, Inc
https://www.sws-extension.org/
MIT License
448 stars 85 forks source link

BR_GetMouseCursorContext as conditional statement in CAE #666

Open renothestraws opened 10 years ago

renothestraws commented 10 years ago

now that BR_GetMouseCursorContext exist would be possible to have the mouse context as conditional statement with cycle action editor and IF, IFNOT conditional action?

exemple IF mouse context : item group selected item ENDIF IF mouse context : tcp set track grouping parameter ENDIF

could be very handy to my humble opinion :dancer:

Breeder commented 10 years ago

This was already considered. First I wanted to create it in a way that allows contextual toolbars to be set up. But that proved too complicated for cycle actions so separate mechanism for contextual toolbars is currently in the works.

Some kind of basic support could probably get added. The thing with BR_GetMouseCursorContext() is that it can detect a lot of stuff...

Window Segment Details
unknown "" ""
ruler region_lane ""
marker_lane ""
tempo_lane ""
timeline ""
transport "" ""
tcp track ""
envelope ""
empty ""
mcp track ""
empty ""
arrange track item, env_point, env_segment, empty
envelope env_point, env_segment, empty
empty ""
midi_editor unknown ""
ruler ""
piano ""
notes ""
cc_lane cc_selector, cc_lane

Item, TCP track, MCP track, empty arrange space definitely seem useful. I'm open to suggestions on what else could prove useful in cycle action context without over-complicating stuff...

Breeder commented 9 years ago

Removed assignment due to reasons explained in #710 Of course, if someone else wants to do it, please go ahead...everything you need is in BR_MouseInfo class :)

renothestraws commented 9 years ago

Ah les programmeurs... Ils pensent qu'on est tous capable de comprendre comment fonctionne un script :)

J'ai fait mes premiers pas en java et j'ai déjà bcp de mal avec la syntaxe, les modulo et les return...

Ceci dit, je ne suis pas du tout d'accord avec lui sur la quantité limitée d'action qu'on pourrait faire grace a ca... Pour les couleurs, pour la navigation (spacebar multifonction) pour le split, pour l'édition en général. ...

J'attendrais l'implémentation dans le cae.

-----Message d'origine----- De : "Breeder" notifications@github.com Envoyé : ‎22-‎04-‎15 16:31 À : "Jeff0S/sws" sws@noreply.github.com Cc : "renothestraws" renaudrum@gmail.com Objet : Re: [sws] BR_GetMouseCursorContext as conditional statement in CAE(#666)

Removed assignment due to reasons explained in #710 Of course, if someone else wants to do it, please go ahead...everything you need is in BR_MouseInfo class :) — Reply to this email directly or view it on GitHub.

renothestraws commented 9 years ago

just tried the code

error message :

_'BRGetMouseCursorContext': expected 4 arguments minimum

???

Le 22 avril 2015 18:00, Renaud Labarbe renaudrum@gmail.com a écrit :

Ah les programmeurs... Ils pensent qu'on est tous capable de comprendre comment fonctionne un script :)

J'ai fait mes premiers pas en java et j'ai déjà bcp de mal avec la syntaxe, les modulo et les return...

Ceci dit, je ne suis pas du tout d'accord avec lui sur la quantité limitée d'action qu'on pourrait faire grace a ca... Pour les couleurs, pour la navigation (spacebar multifonction) pour le split, pour l'édition en général. ...

J'attendrais l'implémentation dans le cae.

De : Breeder notifications@github.com Envoyé : ‎22-‎04-‎15 16:31 À : Jeff0S/sws sws@noreply.github.com Cc : renothestraws renaudrum@gmail.com Objet : Re: [sws] BR_GetMouseCursorContext as conditional statement in CAE(#666)

Removed assignment due to reasons explained in #710 https://github.com/Jeff0S/sws/issues/710 Of course, if someone else wants to do it, please go ahead...everything you need is in BR_MouseInfo class :)

— Reply to this email directly or view it on GitHub https://github.com/Jeff0S/sws/issues/666#issuecomment-95207988.

http://www.myspace.com/thestrawsmusicwww.daysofsamara.com

Breeder commented 9 years ago

That's cause you're not using latest SWS code base, sorry about that...I wrote this with latest code compiled...

Sorry about that, but since 5 brings so many changes regarding API (lua is getting a lot of attention on the forums, people are doing amazing stuff with it!!) it naturally evolves a bit (and at whole version number pre-release, that seems like a right time to do these changes)

You just need to add another parameter to BRGetMouseCursorContext (buffer size, which is now obsolete thanks to latest REAPER 5 pre...so version I posted at #710 will only work after new SWS comes out)_ In the mean time you can use this:

// Call BR_GetMouseCursorContext API from SWS to get current details for stuff under mouse cursor
extension_api("BR_GetMouseCursorContext", #window, #segment, #details, 128);

// If mouse is over TCP track, execute this
!strcmp(#window, "tcp") && !strcmp(#segment, "track") ?
(
  Main_OnCommand(40113, 0); // Call the action "View: Toggle track zoom to maximum height"...we got that number by right-clicking the action in action list and selecting "Copy selected action command ID"
)

// If mouse is over arrange item, execute this
: !strcmp(#window, "arrange") && !strcmp(#segment, "track") && !strcmp(#details, "item") ?
(
  Main_OnCommand(NamedCommandLookup("_SWS_ITEMZOOM"), 0); // Call the action "SWS: Zoom to selected item"...we got that string by right-clicking the action n action list and selecting "Copy selected action command ID"
)

// If mouse is either over TCP envelope panel or arrange envelope lane execute this
: (!strcmp(#window, "tcp") && !strcmp(#segment, "envelope")) || (!strcmp(#window, "arrange") && !strcmp(#segment, "envelope")) ?
(
  SetCursorContext(2, extension_api("BR_GetMouseCursorContext_Envelope", 0)); // instead of calling the actions, you can also use the API which can offer a lot of additional stuff
  UpdateArrange() // need to call this to update display after selecting envelope
)

Sorry if this seems important to you, but I just don't have the time for this right now - what little free time I have, I invest in small stuff I really need... Don't worry...ask on the forums if you're having problems and someone will help you for sure. API makes it really easy :)

renothestraws commented 9 years ago

Same problem

here's a licecap

https://dl.dropboxusercontent.com/u/30049114/same%20problem.gif

I think I don't get the good version of r5 and sws combinaison

I'll wait for the new sws

thanks

Regards

2015-04-22 20:56 GMT+02:00 Breeder notifications@github.com:

That's cause you're not using latest SWS code base, sorry about that...I wrote this with latest code compiled...

Sorry about that, but since 5 brings so many changes regarding API (lua is getting a lot of attention on the forums, people are doing amazing stuff with it!!) it naturally evolves a bit (and at whole version number pre-release, that seems like a right time to do these changes)

You just need to add another parameter to BRGetMouseCursorContext (buffer size, which is now obsolete thanks to latest REAPER 5 pre...so version I posted at #710 https://github.com/Jeff0S/sws/issues/710 will only work after new SWS comes out)_ In the mean time you can use this:

// Call BR_GetMouseCursorContext API from SWS to get current details for stuff under mouse cursor extension_api("BR_GetMouseCursorContext", #window, #segment, #details, 128);

// If mouse is over TCP track, execute this !strcmp(#window, "tcp") && !strcmp(#segment, "track") ? ( Main_OnCommand(40113, 0); // Call the action "View: Toggle track zoom to maximum height"...we got that number by right-clicking the action in action list and selecting "Copy selected action command ID" )

// If mouse is over arrange item, execute this : !strcmp(#window, "arrange") && !strcmp(#segment, "track") && !strcmp(#details, "item") ? ( Main_OnCommand(NamedCommandLookup("_SWS_ITEMZOOM"), 0); // Call the action "SWS: Zoom to selected item"...we got that string by right-clicking the action n action list and selecting "Copy selected action command ID" )

// If mouse is either over TCP envelope panel or arrange envelope lane execute this : (!strcmp(#window, "tcp") && !strcmp(#segment, "envelope")) || (!strcmp(#window, "arrange") && !strcmp(#segment, "envelope")) ? ( SetCursorContext(2, extension_api("BR_GetMouseCursorContext_Envelope", 0)); // instead of calling the actions, you can also use the API which can offer a lot of additional stuff UpdateArrange() // need to call this to update display after selecting envelope )```

Sorry if this seems important to you, but I just don't have the time for this right now - what little free time I have, I invest in small stuff I really need... Don't worry...ask on the forums if you're having problems and someone will help you for sure. API makes it really easy :)

— Reply to this email directly or view it on GitHub https://github.com/Jeff0S/sws/issues/666#issuecomment-95302172.

http://www.myspace.com/thestrawsmusicwww.daysofsamara.com

Breeder commented 9 years ago

Just get the latest version from here: http://forum.cockos.com/showthread.php?t=153702

and here: http://forum.cockos.com/showthread.php?t=22836

renothestraws commented 9 years ago

That's what i have (look at my gif) reaper 5 pre27 and sws 2.6.3 built #0

but still not working :S

2015-04-22 21:06 GMT+02:00 Breeder notifications@github.com:

Just get the latest version from here: http://forum.cockos.com/showthread.php?t=153702

and here: http://forum.cockos.com/showthread.php?t=22836

— Reply to this email directly or view it on GitHub https://github.com/Jeff0S/sws/issues/666#issuecomment-95306453.

http://www.myspace.com/thestrawsmusicwww.daysofsamara.com

renothestraws commented 9 years ago

did the test with reaper 5 pre24 and sws 2.6.3 built 0

error message

Error: C:\Users\Renaud Labarbe\Desktop\r5\Scripts\test.eel:21: syntax error: ') <!> ``'

2015-04-22 21:10 GMT+02:00 Renaud Labarbe renaudrum@gmail.com:

That's what i have (look at my gif) reaper 5 pre27 and sws 2.6.3 built #0

but still not working :S

2015-04-22 21:06 GMT+02:00 Breeder notifications@github.com:

Just get the latest version from here: http://forum.cockos.com/showthread.php?t=153702

and here: http://forum.cockos.com/showthread.php?t=22836

— Reply to this email directly or view it on GitHub https://github.com/Jeff0S/sws/issues/666#issuecomment-95306453.

http://www.myspace.com/thestrawsmusicwww.daysofsamara.com

http://www.myspace.com/thestrawsmusicwww.daysofsamara.com

Breeder commented 9 years ago

This is actually quite interesting because it works here?! Notice the code, it's a direct paste from my upper post? :/

reno test

The only difference that could be between our two gifs is the operating system? I'm using win 8.1 x64 (but I tried boh with x86 and x64 versions and they both worked...

renothestraws commented 9 years ago

my OS is windows 7 pro SP1 64 bit

2015-04-22 21:22 GMT+02:00 Breeder notifications@github.com:

This is actually quite interesting because it works here?! Notice the code, it's a direct paste from my upper post? :/

[image: reno test] https://cloud.githubusercontent.com/assets/7748689/7283199/5895abac-e935-11e4-9110-9a84b1d8703f.gif

The only difference that could be between our two gifs is the operating system? I'm using win 8.1 x64 (but I tried boh with x86 and x64 versions and they both worked...

— Reply to this email directly or view it on GitHub https://github.com/Jeff0S/sws/issues/666#issuecomment-95309815.

http://www.myspace.com/thestrawsmusicwww.daysofsamara.com

renothestraws commented 9 years ago

believe it or not... it's now working after restaring windows :) (and nope i didn't update anything!)

thanks for your help!

Now I will try to make my own! :)

2015-04-22 21:25 GMT+02:00 Renaud Labarbe renaudrum@gmail.com:

my OS is windows 7 pro SP1 64 bit

2015-04-22 21:22 GMT+02:00 Breeder notifications@github.com:

This is actually quite interesting because it works here?! Notice the code, it's a direct paste from my upper post? :/

[image: reno test] https://cloud.githubusercontent.com/assets/7748689/7283199/5895abac-e935-11e4-9110-9a84b1d8703f.gif

The only difference that could be between our two gifs is the operating system? I'm using win 8.1 x64 (but I tried boh with x86 and x64 versions and they both worked...

— Reply to this email directly or view it on GitHub https://github.com/Jeff0S/sws/issues/666#issuecomment-95309815.

http://www.myspace.com/thestrawsmusicwww.daysofsamara.com

http://www.myspace.com/thestrawsmusicwww.daysofsamara.com

renothestraws commented 9 years ago

OH MY GOD!!! it's freaking awesome

I just made additional stuff in your code

Thanks a million!!

extension_api("BR_GetMouseCursorContext", #window, #segment, #details, 128);

!strcmp(#window, "tcp") && !strcmp(#segment, "track") ? ( Main_OnCommand(40113, 0); // Call the action "View: Toggle track zoom to maximum height"...we got that number by right-clicking the action in action list and selecting "Copy selected action command ID" )

: !strcmp(#window, "arrange") && !strcmp(#segment, "track") && !strcmp(#details, "item") ? ( Main_OnCommand(40528, 0); Main_OnCommand(NamedCommandLookup("_SWS_TOGZOOMIONLY"), 0);

)

: !strcmp(#window, "arrange") && !strcmp(#segment, "track") && !strcmp(#details, "empty") ? ( Main_OnCommand(40295, 0);

)

: !strcmp(#window, "ruler") && !strcmp(#segment, "region_lane") ? ( Main_OnCommand(NamedCommandLookup("_SWS_TOGZOOMHORIZ_TSEL"), 0);

)

: (!strcmp(#window, "tcp") && !strcmp(#segment, "envelope")) || (!strcmp(#window, "arrange") && !strcmp(#segment, "envelope")) ? ( SetCursorContext(2, extension_api("BR_GetMouseCursorContext_Envelope", 0)); // instead of calling the actions, you can also use the API which can offer a lot of additional stuff UpdateArrange() )

2015-04-22 21:28 GMT+02:00 Renaud Labarbe renaudrum@gmail.com:

believe it or not... it's now working after restaring windows :) (and nope i didn't update anything!)

thanks for your help!

Now I will try to make my own! :)

2015-04-22 21:25 GMT+02:00 Renaud Labarbe renaudrum@gmail.com:

my OS is windows 7 pro SP1 64 bit

2015-04-22 21:22 GMT+02:00 Breeder notifications@github.com:

This is actually quite interesting because it works here?! Notice the code, it's a direct paste from my upper post? :/

[image: reno test] https://cloud.githubusercontent.com/assets/7748689/7283199/5895abac-e935-11e4-9110-9a84b1d8703f.gif

The only difference that could be between our two gifs is the operating system? I'm using win 8.1 x64 (but I tried boh with x86 and x64 versions and they both worked...

— Reply to this email directly or view it on GitHub https://github.com/Jeff0S/sws/issues/666#issuecomment-95309815.

http://www.myspace.com/thestrawsmusicwww.daysofsamara.com

http://www.myspace.com/thestrawsmusicwww.daysofsamara.com

http://www.myspace.com/thestrawsmusicwww.daysofsamara.com

renothestraws commented 9 years ago

I've made a template code with all the available context. At the moment, the triggered actions are "no op" and "SWS left mouse click"... Nothing but I just have to copy ID strings in the context I want and voilà. If you see something wrong, can you please tell me :D

I don't know if I can upload this on the reaper stash and forum?

// Call BR_GetMouseCursorContext API from SWS to get current details for stuff under mouse cursor extension_api("BR_GetMouseCursorContext", #window, #segment, #details, 128);

// If mouse is over TCP track, execute this !strcmp(#window, "tcp") && !strcmp(#segment, "track") ? ( Main_OnCommand(65535, 0); Main_OnCommand(NamedCommandLookup("_S&M_MOUSE_L_CLICK"), 0); ) // If mouse is over empty tcp, execute this : !strcmp(#window, "tcp") && !strcmp(#segment, "empty") ? ( Main_OnCommand(65535, 0); Main_OnCommand(NamedCommandLookup("_S&M_MOUSE_L_CLICK"), 0); ) // If mouse is over ECP , execute this : !strcmp(#window, "tcp") && !strcmp(#segment, "envelope") ? ( Main_OnCommand(65535, 0); Main_OnCommand(NamedCommandLookup("_S&M_MOUSE_L_CLICK"), 0); ) // If mouse is over region lane , execute this : !strcmp(#window, "ruler") && !strcmp(#segment, "region_lane") ? ( Main_OnCommand(65535, 0); Main_OnCommand(NamedCommandLookup("_S&M_MOUSE_L_CLICK"), 0); ) // If mouse is over Marker lane , execute this : !strcmp(#window, "ruler") && !strcmp(#segment, "marker_lane") ? ( Main_OnCommand(65535, 0); Main_OnCommand(NamedCommandLookup("_S&M_MOUSE_L_CLICK"), 0); ) // If mouse is over Tempo lane , execute this : !strcmp(#window, "ruler") && !strcmp(#segment, "tempo_lane") ? ( Main_OnCommand(65535, 0); Main_OnCommand(NamedCommandLookup("_S&M_MOUSE_L_CLICK"), 0); ) // If mouse is over Timeline , execute this : !strcmp(#window, "ruler") && !strcmp(#segment, "timeline") ? ( Main_OnCommand(65535, 0); Main_OnCommand(NamedCommandLookup("_S&M_MOUSE_L_CLICK"), 0); ) // If mouse is over Transport , execute this : !strcmp(#window, "Transport") ? ( Main_OnCommand(65535, 0); Main_OnCommand(NamedCommandLookup("_S&M_MOUSE_L_CLICK"), 0); ) // If mouse is over MCP Track , execute this : !strcmp(#window, "mcp") && !strcmp(#segment, "track") ? ( Main_OnCommand(65535, 0); Main_OnCommand(NamedCommandLookup("_S&M_MOUSE_L_CLICK"), 0); ) // If mouse is over MCP Track , execute this : !strcmp(#window, "mcp") && !strcmp(#segment, "empty") ? ( Main_OnCommand(65535, 0); Main_OnCommand(NamedCommandLookup("_S&M_MOUSE_L_CLICK"), 0); ) // If mouse is over arrange empty, execute this : !strcmp(#window, "arrange") && !strcmp(#segment, "track") && !strcmp(#details, "empty") ? ( Main_OnCommand(65535, 0); Main_OnCommand(NamedCommandLookup("_S&M_MOUSE_L_CLICK"), 0); ) // If mouse is over an item, execute this : !strcmp(#window, "arrange") && !strcmp(#segment, "track") && !strcmp(#details, "item") ? ( Main_OnCommand(65535, 0); Main_OnCommand(NamedCommandLookup("_S&M_MOUSE_L_CLICK"), 0); ) // If mouse is over an item stretch marker, execute this : !strcmp(#window, "arrange") && !strcmp(#segment, "track") && !strcmp(#details, "item_stretch_marker") ? ( Main_OnCommand(65535, 0); Main_OnCommand(NamedCommandLookup("_S&M_MOUSE_L_CLICK"), 0); ) // If mouse is over an envelope point in the track lane, execute this : !strcmp(#window, "arrange") && !strcmp(#segment, "track") && !strcmp(#details, "env_point") ? ( Main_OnCommand(65535, 0); Main_OnCommand(NamedCommandLookup("_S&M_MOUSE_L_CLICK"), 0); ) // If mouse is over an envelope segment in the track lane, execute this : !strcmp(#window, "arrange") && !strcmp(#segment, "track") && !strcmp(#details, "env_segment") ? ( Main_OnCommand(65535, 0); Main_OnCommand(NamedCommandLookup("_S&M_MOUSE_L_CLICK"), 0); ) // If mouse is over an empty envelope, execute this : !strcmp(#window, "arrange") && !strcmp(#segment, "envelope") && !strcmp(#details, "empty") ? ( Main_OnCommand(65535, 0); Main_OnCommand(NamedCommandLookup("_S&M_MOUSE_L_CLICK"), 0); ) // If mouse is over an envelope point, execute this : !strcmp(#window, "arrange") && !strcmp(#segment, "envelope") && !strcmp(#details, "env_point") ? ( Main_OnCommand(65535, 0); Main_OnCommand(NamedCommandLookup("_S&M_MOUSE_L_CLICK"), 0); ) // If mouse is over an envelope segment, execute this : !strcmp(#window, "arrange") && !strcmp(#segment, "envelope") && !strcmp(#details, "env_segment") ? ( Main_OnCommand(65535, 0); Main_OnCommand(NamedCommandLookup("_S&M_MOUSE_L_CLICK"), 0); ) // If mouse is over an empty arrange area, execute this : !strcmp(#window, "arrange") && !strcmp(#segment, "empty") ? ( Main_OnCommand(65535, 0); Main_OnCommand(NamedCommandLookup("_S&M_MOUSE_L_CLICK"), 0); ) // If mouse is over MIDI Editor Ruler, execute this : !strcmp(#window, "midi_editor") && !strcmp(#segment, "ruler") ? ( Main_OnCommand(65535, 0); Main_OnCommand(NamedCommandLookup("_S&M_MOUSE_L_CLICK"), 0); ) // If mouse is over MIDI Editor Piano, execute this : !strcmp(#window, "midi_editor") && !strcmp(#segment, "piano") ? ( Main_OnCommand(65535, 0); Main_OnCommand(NamedCommandLookup("_S&M_MOUSE_L_CLICK"), 0); ) // If mouse is over MIDI Editor Notes, execute this : !strcmp(#window, "midi_editor") && !strcmp(#segment, "notes") ? ( Main_OnCommand(65535, 0); Main_OnCommand(NamedCommandLookup("_S&M_MOUSE_L_CLICK"), 0); ) // If mouse is over MIDI CC selector, execute this : !strcmp(#window, "midi_editor") && !strcmp(#segment, "cc_lane") && !strcmp(#details, "cc_selector") ? ( Main_OnCommand(65535, 0); Main_OnCommand(NamedCommandLookup("_S&M_MOUSE_L_CLICK"), 0); ) // If mouse is over MIDI CC lane, execute this : !strcmp(#window, "midi_editor") && !strcmp(#segment, "cc_lane") && !strcmp(#details, "cc_lane") ? ( Main_OnCommand(65535, 0); Main_OnCommand(NamedCommandLookup("_S&M_MOUSE_L_CLICK"), 0); )

// If mouse is either over TCP envelope panel or arrange envelope lane execute this : (!strcmp(#window, "tcp") && !strcmp(#segment, "envelope")) || (!strcmp(#window, "arrange") && !strcmp(#segment, "envelope")) ? ( SetCursorContext(2, extension_api("BR_GetMouseCursorContext_Envelope", 0)); // instead of calling the actions, you can also use the API which can offer a lot of additional stuff UpdateArrange() // need to call this to update display after selecting envelope )

2015-04-22 21:49 GMT+02:00 Renaud Labarbe renaudrum@gmail.com:

OH MY GOD!!! it's freaking awesome

I just made additional stuff in your code

Thanks a million!!

extension_api("BR_GetMouseCursorContext", #window, #segment, #details, 128);

!strcmp(#window, "tcp") && !strcmp(#segment, "track") ? ( Main_OnCommand(40113, 0); // Call the action "View: Toggle track zoom to maximum height"...we got that number by right-clicking the action in action list and selecting "Copy selected action command ID" )

: !strcmp(#window, "arrange") && !strcmp(#segment, "track") && !strcmp(#details, "item") ? ( Main_OnCommand(40528, 0); Main_OnCommand(NamedCommandLookup("_SWS_TOGZOOMIONLY"), 0);

)

: !strcmp(#window, "arrange") && !strcmp(#segment, "track") && !strcmp(#details, "empty") ? ( Main_OnCommand(40295, 0);

)

: !strcmp(#window, "ruler") && !strcmp(#segment, "region_lane") ? ( Main_OnCommand(NamedCommandLookup("_SWS_TOGZOOMHORIZ_TSEL"), 0);

)

: (!strcmp(#window, "tcp") && !strcmp(#segment, "envelope")) || (!strcmp(#window, "arrange") && !strcmp(#segment, "envelope")) ? ( SetCursorContext(2, extension_api("BR_GetMouseCursorContext_Envelope", 0)); // instead of calling the actions, you can also use the API which can offer a lot of additional stuff UpdateArrange() )

2015-04-22 21:28 GMT+02:00 Renaud Labarbe renaudrum@gmail.com:

believe it or not... it's now working after restaring windows :) (and nope i didn't update anything!)

thanks for your help!

Now I will try to make my own! :)

2015-04-22 21:25 GMT+02:00 Renaud Labarbe renaudrum@gmail.com:

my OS is windows 7 pro SP1 64 bit

2015-04-22 21:22 GMT+02:00 Breeder notifications@github.com:

This is actually quite interesting because it works here?! Notice the code, it's a direct paste from my upper post? :/

[image: reno test] https://cloud.githubusercontent.com/assets/7748689/7283199/5895abac-e935-11e4-9110-9a84b1d8703f.gif

The only difference that could be between our two gifs is the operating system? I'm using win 8.1 x64 (but I tried boh with x86 and x64 versions and they both worked...

— Reply to this email directly or view it on GitHub https://github.com/Jeff0S/sws/issues/666#issuecomment-95309815.

http://www.myspace.com/thestrawsmusicwww.daysofsamara.com

http://www.myspace.com/thestrawsmusicwww.daysofsamara.com

http://www.myspace.com/thestrawsmusicwww.daysofsamara.com

http://www.myspace.com/thestrawsmusicwww.daysofsamara.com

Breeder commented 9 years ago

Good job, told you it's not hard :) Please do share it as much as possible, haha...the whole point is to share this stuff :)

Just be careful when the next SWS version comes since you will have to remove that last parameter from BR_GetMouseCursorContext()