New plug-in: Tone Generator

Similar to the normal Audacity “Tone…” generator, but with extended capabilities.
This plug-in is likely to be of more interest to anyone that is experimenting with Nyquist code than as a production" tool.

Includes presets for generating Sine waves, Triangle waves, Sawtooth waves, Square waves, White Noise and Silence.
May also be used to generate custom waveforms based on snippets of Nyquist code.
The Help menu includes examples of Nyquist code for generating custom tones.

Could someone check on Mac/Windows if the example code snippets can be copied/pasted from the Help screens into the plug-in.
Thanks.

[Update Aug 29 2012: Corrected a few typos in the help screens and corrected some bugs in the error checking code.]
tone-generator.ny (5.61 KB)

Can’t be done on Mac. Perhaps these will need to be in a separate code snippets text file?

– Bill

A couple of other comments.

  1. Cutom Oscillator”? :astonished:

  2. Creates a track even if you choose to view help, then you’re left with an empty track.

– Bill

Where? Oh yes - updated.

Unfortunately that can’t currently be avoided.
Personally I’d like to be able to display a help file and keep the plug-in open, then the plug-in could be run, using the created track.

That’s a shame - Is the problem with copying the text rather than pasting the text?

(Thought - I’d be happy to also include user-contributed snippets on an additional help page).

Thanks for testing.

Can’t copy text from the help window.

– Bill

It’s the same on Windows - can’t copy from the Help window, but …
what about putting the examples in the Debug window to copy and paste?
There’s not a lot of space, and you would have quotation marks around them, but it would be something.

POL

Just a couple of comments:

  1. Custom Oscilators :astonished:

  2. The Debug window appears every time the plug-in is run, irrespective of whether Debug is clicked or not. Is this intentional?

POL

Oh poo - I never said I could spell. (updated)

No, not intentional, I think that may be a new bug in Audacity.
Once a plug-in has been run with debug it seems that it will run as debug each time until Audacity is restarted.
It’s not specific to this plug-in - it’s all Nyquist plug-ins. What do you think - bug or feature?

I think that rather than do a dirty hack, I’ll just include a text file to cater for inferior operating systems :wink:

Strange how I never noticed that until now!
I’d call it a bug. I don’t want to have to click to get rid of the Debug window unless I looked for Debug output when running the plug-in.

POL

I think it’s only 1.3.13



Yes, it’a bug in the Audacity Nyquist interface (at least in Audacity_1.3.13-alpha). It doesn’t only appear with the “Tone Generator” but with all Nyquist plugins (generate, effect, analyze).

In the file “src/effects/nyquist/Nyquist.cpp” [same file as usual] at the end of the function “Process()” around line 610, you’ll find the following code fragment:

   this->ReplaceProcessedTracks(success);

   //mDebug = false;    // <- uncomment this line

   return success;
}                       // <- end of function Process()

Remove the “//” before “mDebug = false;” and make the code look like this:

   this->ReplaceProcessedTracks(success);

   mDebug = false;

   return success;
}

Then re-compile Audacity. Now the debug window only appears if you press “Debug”, and not with “OK” any longer. I still haven’t tested if this has unwanted side-effects with the “;debugflags” plugin header line or the Nyquist Workbench.

I first will search for the unicode filename problems later on before I send a patch to the Audacity developers list.

  • edgar

Minor update to the plug-in. Mostly correcting typos in the help screens but also some bug fixes in the error checking code. No functional changes.

Updated description in the original post to indicate that it is more likely to be of interest to people that are interested in experimenting with Nyquist rather than for general production work.

Rather late for me to comment, but this bug is now fixed (fixed a long time ago).