![]() |
#1 |
Human being with feelings
Join Date: May 2016
Location: out west
Posts: 303
|
![]()
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: Last edited by brummbear; 02-09-2024 at 09:17 PM. |
![]() |
![]() |
![]() |
#2 |
Administrator
Join Date: Mar 2007
Location: NY
Posts: 16,955
|
![]()
Unfortunately the demo version does not allow saving so I can't test this from our side. Maybe Helgoboss can help.
|
![]() |
![]() |
![]() |
#3 |
Human being with feelings
Join Date: May 2016
Location: out west
Posts: 303
|
![]()
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.) |
![]() |
![]() |
![]() |
#4 |
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 16,223
|
![]()
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. |
![]() |
![]() |
![]() |
#5 |
Human being with feelings
Join Date: May 2016
Location: out west
Posts: 303
|
![]()
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.... |
![]() |
![]() |
![]() |
#6 | |
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 16,223
|
![]() Quote:
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. |
|
![]() |
![]() |
![]() |
#7 | |
Human being with feelings
Join Date: May 2016
Location: out west
Posts: 303
|
![]() Quote:
|
|
![]() |
![]() |
![]() |
#8 |
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 16,223
|
![]()
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... |
![]() |
![]() |
![]() |
#9 |
Human being with feelings
Join Date: May 2016
Location: out west
Posts: 303
|
![]()
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 |
![]() |
![]() |
![]() |
#10 |
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 16,223
|
![]()
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.
|
![]() |
![]() |
![]() |
#11 |
Human being with feelings
Join Date: May 2016
Location: out west
Posts: 303
|
![]()
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.
|
![]() |
![]() |
![]() |
#12 |
Human being with feelings
Join Date: May 2016
Location: out west
Posts: 303
|
![]()
Will test what GetProjectPath and GetProjectPathEx return on my machine in the different versions. I assume this is what Playtime uses?
|
![]() |
![]() |
![]() |
#13 |
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 16,223
|
![]()
Not sure, it's closed source heh. Anyway, if 7.11 behaves the same as 7.09, that's cool, good enough!
|
![]() |
![]() |
![]() |
#14 |
Human being with feelings
Join Date: May 2016
Location: out west
Posts: 303
|
![]()
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 |
![]() |
![]() |
![]() |
#15 |
Human being with feelings
Join Date: May 2016
Location: out west
Posts: 303
|
![]()
Tested on 7.09 and v7.10:
Code:
reaper.GetProjectPath() reaper.GetProjectPathEx(reaper.EnumProjects(-1)) Code:
string = ""; bool = false; reaper.GetSetProjectInfo_String(reaper.EnumProjects(-1), "RECORD_PATH", string, bool) 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. |
![]() |
![]() |
![]() |
Thread Tools | |
|
|