Warning...this required a small hack that allowed updating the
menus even if the toplevel frame is not the project window. This
is because with the active frame actually becomes the effect dialog
and UpdateMenus() bailed if it wasn't the project frame.
This should be removed when we get multiple effect support.
These are mostly under an EXPERIMENTAL_ #ifdef. Also has a change for the prompt string for preferences so the displayed keybinding is adjusted when in multitool mode.
* Loop play-at-speed and cut preview play-at-speed implemented.
* Shift or ctrl down now affect all relevant buttons, loop or cut preview, normal or at speed, and append-record.
1. Put the new files at the proper level of the Solution Explorer tree.
2. Fix a tiny tiny inefficiency in RotateHistoryWindows().
3. Do not use leading zero-padded windows when gathering statistics.
4. Hamming windows are in the advanced menu of choices, following Federico Miyara's suggestion.
I added a few assertions just to be safe. Haven't hit
the particular situations yet, but I've only tested less
than 50 or so AUs.
We were missing a few Apple AUs like panners and mixers.
The plugin "installation" dialog sort is reversed on the Mac...weird
Made the effect windows float on top of the owning project window.
Looking for opinions on which method is best.
Needed to redo a bit of code so that effects would work
without the rack in the middle. I wanted to disconnect
it completely as I'm not sure it something that will be
kept around.
During realtime preview, effects will be applied in the
order their dialogs were opened...hmmm...what happens
if they don't have a dialog??? I look into that.
Fixed the focus target for windows when cycling among
active windows as suggested by David B.
Fixed plugin registration if the plugins were located
in the "Plug-ins" folder. I believe this problem may
have played a role in the duplicate menu items.
With realtime preview, the keyboard user will need this to get
back and forth between the effect and the project window. Actualy,
the "problem" existed before this since the keyboard user couldn't
switch between project and Plot Spectrum windows.
The normal flags-based keyboard handling would not work since it
depends on the state of the project and requires a project window
to have the current focus.
In this new case, a modeless dialog may actually have the focus and
using the "switch window" key combo may happen in nearly any mode, like
while playing.
So, I "created" the concept of "meta" commands...ones that do not have
the restrictions mentioned above. The should be used sparingly and
you must be careful about what happens within their handlers.
They now work on Yosemite.
AudioUnits with a custom Cocoa UI now display graphically
instead of reverting to the generic view
The Cocoa version of the generic view is now used when
needed...instead of the Carbon version.
The order of UI preference is Cocoa, Carbon, Generic,
unless force to Generic view user setting.
They now support realtime preview.
They also support dialog resizing as I found many that
scaled nicely (mostly Apple's).
Uses the new Effect format so now supports user and
factory presets.
NOTE: Be VERY critical when testing this as I've
never written Objective-C or Cocoa code
before!
* Removed duplicate paragraph about instructions for Cygwin.
* Restored Leland's added hyphens for headings. :-)
* Reduced STEP 1 to be less redundant, and to only link to wxWidgets.org, rather than the places they are currently storing downloads, which also reduces their version numbers that we need to maintain.
* Step 2.2: Changed remaining ref to 3.0.2 back to 2.8.12.
* Step 2.3:
** reordered the first two paragraphs, so you get the warning about pht.h before getting instructions that say "Build" (and changed them to be about build configuration, not actually doing the build).
** Added information about "audacity-src\win\wxWidgets_additions\window.cpp" to avoid editing the file.
** Restored the paragraph about the 5 core wxWidgets libs we use. Saves build time, and without that paragraph the subsequent "Because of dependencies..." makes no sense -- the dependencies are specified by those 5.
* Step 4:
** Restored the steps 4.1 - 4.8. Good to have, for those who don't already know how to do it this way.
** Restored the instruction about how to alternatively set WXWIN via cmd.exe, and made it explicit that's what it referred to. For lot of devs, that's easier.
* Step 5.3: Removed refs to LAME and FFmpeg, per discussion on -devel.
* typos and rewordings
I've added some of the new plugin stuff to LV2, Nyquist, and
Vamp so that they play better in the new system. They no
longer get bunched in with the Audacity effects when sorting
or grouping the menus. They have not been fully converted
but they should be good for 2.1.0.
Nyquist plugins now include ";author" and ";copyright"
statements.
Added the 4 new Nyquist plugins to the Windows build.
Audiounits are still coming...had to push them to the back
burner to get this other stuff out of the way.
Scanning for new plugins has been improved so that newly
discovered ones will be shown to the user when Audacity starts.
Effects menu sorting has been fixed and improved.
Disabling effect types in Preferences works again and you
no longer have to restart Audacity for them the change to work.
Effect usage in chains works again.
Plugin registration dialog code simplified a bit.
Group names in the pluginregistry are now base64 encoded. I
never really thought about it, but wxFileConfig group names
are case insensitive and since I was using the group name as
the plugin ID, I ran into a conflict on Linux where there
were two plugins with the same name, just different case. (And
they were different plugins.) Hoping all of this will change
when/if the config file gets converted to XML. (wx3 if finally
including XML support)
A fair amount of cleanup of this new code has been done and
will continue as more stuff is converted.