Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Bug Reports

Reply
 
Thread Tools Display Modes
Old 02-09-2024, 01:06 PM   #1
brummbear
Human being with feelings
 
brummbear's Avatar
 
Join Date: May 2016
Location: out west
Posts: 298
Default Solved: Playtime: V7.10 breaks saving recorded media to disk

Tested multiple times and can reproduce issue introduced with V7.10.
No issue with V7.09 or earlier.

Symptom: "Playtime" plugin from Helgoboss throws error when recording clips. Error is "cannot save to file...", it seems that the plugin does not find the path to the directory or file that it normally saves to. Or that the file is somehow blocked for write access. Since the problem only starts with Reaper V7.10 I speculate that the plugin calls some Reaper API for file operations and the code behind the API has changed from 7.09 to 7.10.

Edit: As far as I can tell the plugin can save one recorded clip but afterwards fails for any subsequent attempts to record and save further clips.

Last edited by brummbear; 02-09-2024 at 09:17 PM.
brummbear is offline   Reply With Quote
Old 02-09-2024, 01:52 PM   #2
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 15,708
Default

Unfortunately the demo version does not allow saving so I can't test this from our side. Maybe Helgoboss can help.
schwa is offline   Reply With Quote
Old 02-09-2024, 03:23 PM   #3
brummbear
Human being with feelings
 
brummbear's Avatar
 
Join Date: May 2016
Location: out west
Posts: 298
Default

Thanks schwa, I will ping Benjamin (Helgoboss). He does not actively maintain Playtime 1 anymore since he works on the successor but maybe he can still give a clue what API call may be behind the issue.

I should mention that I tested on a Windows 10 system.

My hunch is that the offending API call is made from the PlaytimeWorker.dll. The error message from Playtime is the following:

"Playtime unable to create file. Playtime could not create the file for recording. Probably you have set a default recording path in REAPER preferences -> General -> Paths and that path doesn't exist. Please check and restart Playtime!"

Upon further testing I found that Playtime has no issues recording MIDI clips in Reaper V7.10. The problem only happens when trying to record audio. This happens always and immediately (I first mistakenly thought it was possible to record one first clip but this not the case - it was MIDI which worked, audio always fails.)
brummbear is offline   Reply With Quote
Old 02-09-2024, 04:34 PM   #4
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,706
Default

Try setting the project media path to a blank path (it looks like it incorrectly handles this path). We can fix on our end.

There's a second bug, which prevents Playtime from getting the record media type, which we will fix too.

Last edited by Justin; 02-09-2024 at 04:44 PM.
Justin is offline   Reply With Quote
Old 02-09-2024, 04:55 PM   #5
brummbear
Human being with feelings
 
brummbear's Avatar
 
Join Date: May 2016
Location: out west
Posts: 298
Default

yup, this leads into the right direction - thank you!!

I had the media path under project settings already blank (which should then default to same path as project file). Does not work.
However, if I set it explicitly to a path it does work!

So, for now, I will use this as a workaround. Normally I would always want this to be blank but for Playtime projects will provide the path explicitly. Will test in future version if this is still necessary.

It really seem Playtime does not pick up the path correctly. Haha, I am so happy now! Already started to check your latest WDL changes (WIN32_FIND_DATA vs WIN32_FIND_DATAA) and decompiling playtime.dll in desperation....
brummbear is offline   Reply With Quote
Old 02-09-2024, 05:17 PM   #6
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,706
Default

Quote:
Originally Posted by brummbear View Post
yup, this leads into the right direction - thank you!!

I had the media path under project settings already blank (which should then default to same path as project file). Does not work.
However, if I set it explicitly to a path it does work!

So, for now, I will use this as a workaround. Normally I would always want this to be blank but for Playtime projects will provide the path explicitly. Will test in future version if this is still necessary.

It really seem Playtime does not pick up the path correctly. Haha, I am so happy now! Already started to check your latest WDL changes (WIN32_FIND_DATA vs WIN32_FIND_DATAA) and decompiling playtime.dll in desperation....

hmm odd, the way Playtime queries the media path will always return NULL in 7.09, and in 7.10 we now return the path. For 7.11 we'll not return the path again, as it's not really the correct API to for it to be querying. We'll post 7.11rc1 in a few hours to the pre-release forum, if you could test that.
Justin is offline   Reply With Quote
Old 02-09-2024, 05:23 PM   #7
brummbear
Human being with feelings
 
brummbear's Avatar
 
Join Date: May 2016
Location: out west
Posts: 298
Default

Quote:
Originally Posted by Justin View Post
hmm odd, the way Playtime queries the media path will always return NULL in 7.09, and in 7.10 we now return the path. For 7.11 we'll not return the path again, as it's not really the correct API to for it to be querying. We'll post 7.11rc1 in a few hours to the pre-release forum, if you could test that.
thank you, Justin, will test later tonight. Or latest on Monday, as I'm on the go over the weekend. Yeah, it is weird - the exact opposite of what would be expected. I played around with relative file paths and Reaper does create directories in the right spot but Playtime will never pick it up unless the full path is explicitly specified.
brummbear is offline   Reply With Quote
Old 02-09-2024, 05:56 PM   #8
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,706
Default

Try 7.11rc1, just posted.

Also curious if Playtime picks up paths in 7.09 for you. If you want to test that to compare...
Justin is offline   Reply With Quote
Old 02-09-2024, 06:11 PM   #9
brummbear
Human being with feelings
 
brummbear's Avatar
 
Join Date: May 2016
Location: out west
Posts: 298
Default

7.09:
blank path: works
absolute path: works
relative path: works

7.10:
blank path: does NOT work
absolute path: works
relative path: does NOT work

7.11rc1:
blank path: works
absolute path: works
relative path: works

All full installations, not portable.

PS: I cannot believe how fast you fixed, built and posted. Eyes pop
brummbear is offline   Reply With Quote
Old 02-09-2024, 06:46 PM   #10
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,706
Default

7.09 -- if you specify a path, does it use the path? My prediction is that it does not use it at all. Which should be the same in 7.11.
Justin is offline   Reply With Quote
Old 02-09-2024, 07:14 PM   #11
brummbear
Human being with feelings
 
brummbear's Avatar
 
Join Date: May 2016
Location: out west
Posts: 298
Default

Yes, in both 7.09 and 7.11rc1 it uses the path. I can direct it wherever I want, works fine. Both relative and absolute paths work. I have no idea how exactly Playtime uses the API to get it (closed source) but it certainly works fine in all versions but 7.10.
brummbear is offline   Reply With Quote
Old 02-09-2024, 07:22 PM   #12
brummbear
Human being with feelings
 
brummbear's Avatar
 
Join Date: May 2016
Location: out west
Posts: 298
Default

Will test what GetProjectPath and GetProjectPathEx return on my machine in the different versions. I assume this is what Playtime uses?
brummbear is offline   Reply With Quote
Old 02-09-2024, 07:29 PM   #13
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,706
Default

Not sure, it's closed source heh. Anyway, if 7.11 behaves the same as 7.09, that's cool, good enough!
Justin is offline   Reply With Quote
Old 02-09-2024, 07:36 PM   #14
brummbear
Human being with feelings
 
brummbear's Avatar
 
Join Date: May 2016
Location: out west
Posts: 298
Default

I'll poke around a little bit and report back if I can find anything of value. Thinking about it, Playtime should rather use GetSetProjectInfo to get the path. However, when I scanned through the dll I did not find any trace of it being used. To the contrary it appears it uses the other two functions. Shrug.

Anyway, everything is working fine again in 7.11
brummbear is offline   Reply With Quote
Old 02-09-2024, 09:15 PM   #15
brummbear
Human being with feelings
 
brummbear's Avatar
 
Join Date: May 2016
Location: out west
Posts: 298
Default

Tested on 7.09 and v7.10:
Code:
reaper.GetProjectPath()
reaper.GetProjectPathEx(reaper.EnumProjects(-1))
Both functions return the absolute project path fine.
Code:
string = ""; bool = false;
reaper.GetSetProjectInfo_String(reaper.EnumProjects(-1), "RECORD_PATH", string, bool)
Returns media path just fine if set in project settings. Returns empty string if left blank.

In short: Playtime 1 retrieves the path apparently via ConfigVar and therefore needs the fix on Reaper side. It could also be fixed on Playtime side by using the above functions, but I doubt Benjamin has much appetite for that.
brummbear is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 12:59 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.