 |
|
|
09-30-2009, 04:39 AM
|
#1
|
|
Mortal
Join Date: Apr 2008
Location: Saarlänner
Posts: 1,141
|
JS: play_state ignores pause button
In the JS engine the variable 'play_state' seems to ignore the pause button.
transport stopped -> click pause -> play_state=0 (According to the JS reference it should be 2)
transport play -> click pause -> play_state=1 (should be 2)
transport record -> click pause -> play_state=5 (should be 6)
(REAPER 3.11)
In the bug tracker:
http://forum.cockos.com/project.php?issueid=2226
Last edited by Blechi; 02-17-2011 at 05:03 AM.
|
|
|
09-30-2009, 04:53 AM
|
#2
|
|
Mortal
Join Date: Aug 2008
Posts: 1,144
|
Quote:
Originally Posted by Blechi
In the JS engine the variable 'play_state' seems to ignore the pause button.
transport stopped -> click pause -> play_state=0 (According to the JS reference it should be 2)
transport play -> click pause -> play_state=1 (should be 2)
transport record -> click pause -> play_state=5 (should be 6)
(REAPER 3.11)
|
not confirmed.
work very well as it should, here. (new beta relase)
maybe you use old version ?
|
|
|
09-30-2009, 05:04 AM
|
#3
|
|
Mortal
Join Date: Apr 2008
Location: Saarlänner
Posts: 1,141
|
Just installed the new beta, still no luck here. (3.12pre2, Vista)
Has JS to be updated separately?
'play_state' should be 2 here:
and here 'play_state' should be 6:
Last edited by Blechi; 09-30-2009 at 05:30 PM.
|
|
|
09-30-2009, 05:23 AM
|
#4
|
|
Mortal
Join Date: Aug 2008
Posts: 1,144
|
now i see what you mean,
when in record mode, it seems that you have to add 5 to the play_state.
it seems to me correct (== that's how it should be).
EDIT: add 4 (not 5) to the play_state
Last edited by whatsup; 09-30-2009 at 05:26 AM.
|
|
|
09-30-2009, 05:54 AM
|
#5
|
|
Mortal
Join Date: Apr 2008
Location: Saarlänner
Posts: 1,141
|
As it is now you can't tell whether playback/record is paused or not (using 'play_state').
Stopped yes, but not paused.
|
|
|
09-30-2009, 06:25 AM
|
#6
|
|
Mortal
Join Date: Aug 2008
Posts: 1,144
|
Quote:
Originally Posted by Blechi
As it is now you can't tell whether playback/record is paused or not (using 'play_state').
Stopped yes, but not paused.
|
i think you can
if play_state is more than 4, it's in record mode,
now subtract 4 from the play_state to know its play mode.
|
|
|
09-30-2009, 06:35 AM
|
#7
|
|
Mortal
Join Date: Apr 2008
Location: Saarlänner
Posts: 1,141
|
I don't want to know if play or record mode.
I want to know if paused or not and that's not possible now.
|
|
|
09-30-2009, 06:57 AM
|
#8
|
|
Mortal
Join Date: Aug 2008
Posts: 1,144
|
Quote:
Originally Posted by Blechi
I don't want to know if play or record mode.
I want to know if paused or not and that's not possible now.
|
when i said play mode i included the pause too.
let say you get in play_state value of 5, that means reaper is in record mode,
now i subtract 4 i get 1 == play mode
let say i get in play_state value of 6, that means reaper is in record mode,
now i subtract 4 i get 2 == pause mode
and if i get in play_state value below 5 i don't do any subtract.
isn't it so ?
|
|
|
09-30-2009, 07:23 AM
|
#9
|
|
Mortal
Join Date: Apr 2008
Location: Saarlänner
Posts: 1,141
|
That's right.
The thing is i don't get 6 nor 2 in 'play_state' here.
0,1 and 5, that's it.
play AND pause(play) both return 1 in play_state
record AND pause(record) both return 5 in play_state
As it is now i can add and subtract 'til the cows come home and i still don't know if play/record is paused or not.
|
|
|
09-30-2009, 07:51 AM
|
#10
|
|
Mortal
Join Date: Aug 2008
Posts: 1,144
|
Quote:
Originally Posted by Blechi
That's right.
The thing is i don't get 6 nor 2 in 'play_state' here.
0,1 and 5, that's it.
|
now i understand you more, but i do get them, just checked again.
|
|
|
09-30-2009, 09:54 AM
|
#11
|
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 7,158
|
Quote:
Originally Posted by Blechi
That's right.
The thing is i don't get 6 nor 2 in 'play_state' here.
0,1 and 5, that's it.
play AND pause(play) both return 1 in play_state
record AND pause(record) both return 5 in play_state
As it is now i can add and subtract 'til the cows come home and i still don't know if play/record is paused or not.
|
This probably depends on whether you have FX running on stop.. play_state doesn't get updated when the JS is not running/processing audio, and it is likely that in your instance it is not running on pause...
|
|
|
09-30-2009, 10:21 AM
|
#12
|
|
Mortal
Join Date: Apr 2008
Location: Saarlänner
Posts: 1,141
|
Quote:
Originally Posted by Justin
This probably depends on whether you have FX running on stop.. play_state doesn't get updated when the JS is not running/processing audio, and it is likely that in your instance it is not running on pause...
|
Do you mean the 'Run FX when stopped (good for certain VSTi)'-option ?
It's ticked.
'play_state' seems to be updated correctly when the track is record armed.
Then pause shows up in 'play_state'.
Is this supposed to work this way?
|
|
|
09-30-2009, 02:27 PM
|
#13
|
|
Mortal
Join Date: Aug 2008
Posts: 1,144
|
Quote:
Originally Posted by Blechi
Do you mean the 'Run FX when stopped (good for certain VSTi)'-option ?
It's ticked.
|
i think he meant that, yeh.
so what you can do i think, is to upload your reaper.ini file + the project file, so we can look at it, maybe it'll help.
|
|
|
09-30-2009, 04:46 PM
|
#14
|
|
Mortal
Join Date: Apr 2008
Location: Saarlänner
Posts: 1,141
|
Thanks for your efforts.
A testproject and the reaper.ini are attached to this post.
How to reproduce:
- open the JS delay (or any other JS FX) in track one and click on 'edit..'
- look for the variable 'play_state' on the right side of the editor window
- record arm track 1 and click all combinations of play, stop, pause, record watching 'play_state' -> everything is as it should be (play_state= 0,1,2,5 or 6)
- now unarm track 1 and repeat the procedure. -> the pause states (2 and 6) do not show up in 'play_state' (play_state= 0,1 or 5)
pilot error or bug or design?
Last edited by Blechi; 09-30-2009 at 05:29 PM.
|
|
|
10-01-2009, 12:40 AM
|
#15
|
|
Mortal
Join Date: Aug 2008
Posts: 1,144
|
i tried this several times, and it works fine here,
but there are 2 differences:
1. i don't have asio driver
2. i don't have the extensions.
so what you can do is a little test.
first, try to change the audio driver to WaveOut
second, if the problem still exist, rename the extension plugin file from ?.dll to ?. bak and restart reaper.
EDIT: it works fine even when run fx on stop - unchecked
Last edited by whatsup; 10-01-2009 at 01:24 AM.
|
|
|
10-01-2009, 03:09 AM
|
#16
|
|
Mortal
Join Date: Apr 2008
Location: Saarlänner
Posts: 1,141
|
results so far:
- fx on stop un-/checked: no luck
- using other audio drivers: no luck
- disabling extensions: no luck
Last edited by Blechi; 10-01-2009 at 03:13 AM.
|
|
|
10-01-2009, 03:29 AM
|
#17
|
|
Mortal
Join Date: Aug 2008
Posts: 1,144
|
Quote:
Originally Posted by Blechi
- now unarm track 1 and repeat the procedure. -> the pause states (2 and 6) do not show up in 'play_state' (play_state= 0,1 or 5)
|
i'm sorry it's my fault ( i knew i should read it again)
in my settings, each track auto arm on select, so i didn't notice,
but now after re-reading this i got it.
you're absolutly right, the play_state var doesn't get updated on pause when the track is not armed.
Confirmed, it is a bug.
|
|
|
04-25-2011, 12:17 PM
|
#18
|
|
Mortal
Join Date: Sep 2008
Location: Sweden
Posts: 4,569
|
Resurrecting an old thread, sorry...
I just stumbled on this. Pause is not reported as play_state == 2, which is what the JS programming ref claims. Any news on this? Will it be fixed?
What happens is, I play and my JS FX sees play_state == 1, which is fine. Then I hit ENTER to pause, and still play_state == 1, when it should be 2. My code does not work very well, not useful at all actually, since it needs to treat stopped and paused the same way.
And I have "Run FX on stop" turned on, and this is on R4alpha66
|
|
|
| Thread Tools |
|
|
| Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 08:49 AM.
|