[Audacity-devel] Nyquist, search paths, man
A free multi-track audio editor and recorder
Brought to you by:
aosiniao
From: Dominic M. <do...@mi...> - 2002-09-17 07:27:07
|
Hello again, I'm back! I had a nice vacation, and I just had a very productive weekend hacking, too! I've skimmed the mailing list, and the project menu changes look great! I'll read through the list and I may respond to some old messages if anything jumps out at me, but if there's anything in particular you wanted me to comment on, please just post another message. Here's what I added this weekend and tonight: * Nyquist is now checked in. You can try it out on Linux by doing a full update (with -d to get new directories) and then configuring using the --with-nyquist option. I'm working on porting it to OS X now, and I'll do Windows later. The Windows build shouldn't be broken in the meantime; none of the Nyquist code will get compiled in unless you configure it that way (but let me know if I messed up). Some example Nyquist plug-ins are in the "plug-ins" directory. Don't worry that most of these are trivial - this is only beginning to scratch the surface of what is possible. If you're interested in writing Nyquist plug-ins, the best thing to do would be to download the full version of Nyquist from CMU and experiment with that. BTW, all of the Nyquist authors have agreed to re-release it under the BSD license (with a few nonbinding clauses added), so you can safely disregard any non-GPL-friendly copyright terms you see in the source code or documentation. They'll all be fixed within the next few weeks. * To go along with the Nyquist plug-ins, I wrote a bunch of code to help Audacity search for files in predetermined locations. I added everything to AudacityApp for now. Basically, Audacity now has a concept of a "search path" that it uses to find help files, localization files, and plug-ins. On Windows and Mac OS, these files are normally stored next to the Audacity executable, so the search path just contains this folder (which can be found using argv[0] or getcwd(), depending on the platform). On Unix, I set the search path to the following locations, in this order: - Everything in the AUDACITY_PATH environment variable - The current directory (on program startup) - ~/audacity-files (a convenient place for users to put plug-ins when they don't want to install them system-wide) - <prefix>/share/audacity - <prefix>/share/doc/audacity/ (where <prefix> is derived from the configure script.) The new static methods in AudacityApp are: static void AddUniquePathToPathList(wxString path, wxArrayString &pathList); static void AddMultiPathsToPathList(wxString multiPathString, wxArrayString &pathList); static void FindFilesInPathList(wxString pattern, wxArrayString pathList, int flags, // wxFILE, wxDIR, or 0 wxArrayString &results); These methods automatically use the wxFileName class to canonicalize each path, if wxFileName is available (wx 2.3+) I attempted to use this new code everywhere Audacity is searching for files, including locale files, so hopefully this will solve the foreign language bugs on Windows (but I haven't tested it there yet). * Finally, I created an Audacity man page in help/audacity.1 to describe the new search path and other unix-specific stuff. Feel free to edit it or add to it. Fixing directory searching (esp. for languages) was one of the main things I wanted to have before releasing 1.1.1. What else do people want to see before we release 1.1.1? I'm thinking of hacking on just a few more things and then preparing the release sometime in the next few weeks. - Dominic |