Community Forums Archive

Go Back

Subject:Record + Play
Posted by: korigan
Date:4/22/2005 12:16:33 AM

My first problem
In fact, I need to automate recording process of several files. Name files are sometimes error prone, so I use script to generate them with audio parameters. When it's time to record I open the recording window. (with a button on my script form)
When I've finished recording, I've nothing to trap to close the recorded window and to open the next file to record.
(I can of course use a next file button on my script form, but maybe you can find something less awkward)
Second problem
When I've finished recording I'd like to play all the recorded files to validate them. But as the preceding problem I've nothing to trap to initialize the next file when the previous one has finished.

Subject:RE: Record + Play
Reply by: korigan
Date:4/22/2005 12:19:33 AM

Sorry, I should have use reply to my preceding message.
(Play + Record)

Subject:RE: Record + Play
Reply by: _TJ
Date:4/22/2005 8:14:40 PM

Yes, we have not yet enabled Record for control by script. The fact that you can get to it from the DoMenu() command is really more of an oversight than by intent.

In fact, DoMenuAndWait() and DoMenu() will both behave the same way with the "Transport.Record" command.

Because Record is a modal dialog, neither of these commands will return control back to the script until after the record dialog has been dismissed. So the AndWait part is moot because of the modal nature of record.

Contrast this to DoMenu("Process.Normalize",false). Where control is returned back to the script after the Normalize dialog has been dismissed but before the normalize operation as completed. while DoMenuAndWait("Process.Normalize",false) doesn't return back to the script until the normalize processing is done.

Since a script doesn't return from the call to DoMenu("Transport.Record") until after the record dialog has been dismissed, there is no real way for the script to dismiss the dialog. For that matter, unless the record dialog is already configured to do a pre-defined timed recording, there isn't any way to actual START recording. All you can do from within a script is bring up the Record dialog and wait for the user to do the rest.

You will have to rely on the user to close the record dialog, then your script will get control back and it can rename files, etc and then DoMenu("Transport.Record") when you are ready to go to the next file.

I'm sorry that we weren't able to make record more scriptable in this version of Sound Forge, but to really do it right would require extensive re-writes to do away with the modal nature of the record dialog, and so that feature didn't make the cut this time.

I would be interested in discussing what you are trying to do in detail at some time so that we we do support Recording, we can make sure to make it powerful enough to solve the problems of users like yourself.

tj

Go Back