Commit Graph

74 Commits

Author SHA1 Message Date
Paul Licameli 84c0337aba Fix TAB key navigation on Mac for all dialogs (not only for panels) 2016-07-10 17:12:27 -04:00
Paul Licameli f2c6fbfc1b Bug1318 fixed again so that generators and effects on Windows still work 2016-04-24 10:32:20 -04:00
Paul Licameli 879ecefdaa Bug1318: ESC key or red close button should not leave the app unresponsive...
... I don't fully understand why this fixes it, but I could figure out what
was different between ESC and Cancel button which did not have the problem.
2016-04-23 08:49:11 -04:00
Paul Licameli a6ca36cdab TrackList holds smart pointers to tracks, Add() only takes rvalue refs to such 2016-03-26 15:41:31 -04:00
Leland Lucius 9dc9348127 Fixes bug #1344 (mac build)
In addition, the Xcode project can now build against the 10.6
or 10.7 SDKs.  All that is needed is to change the SDK version
and the other settings will change automatically.
2016-03-07 00:29:26 -06:00
Paul Licameli 0094c4f465 Bug1348, partial: Fix bad undo after cancelling Vamp or FindClipping analyzer 2016-02-27 18:12:36 -05:00
Paul Licameli 60bcd7aea2 Fix warnings for unused variables and functions 2016-02-26 14:56:26 -05:00
Paul Licameli 990080ae7d Replace virtual with override wherever possible; eliminate needless virtual...
... for functions in final classes.

override is like const -- it's not necessary, but it helps the compiler to
catch mistakes.

There may be some overriding functions not explicitly declared virtual and I did
not identify such cases, in which I might also add override.
2016-02-26 12:35:38 -05:00
Paul Licameli 89f28546a3 Commented suspicious non-override virtual functions of Effect 2016-02-26 12:35:29 -05:00
Paul Licameli 7824e94030 Harmlessly qualify classes as final (or explicitly comment not)...
... Should have no effect on generated code, except perhaps some slight faster
virtual function calls.  Mostly useful as documentation of design intent.

Tried to mark every one of our classes that inherits from another, or is a
base for others, or has abstract virtual functions, and a few others besides.
2016-02-24 20:58:30 -05:00
Paul Licameli 99f161c36c Sweep unnecessary wxString copies: effects 2016-02-22 22:31:47 -05:00
Paul Licameli dbaa811577 Stack-allocate where possible! ...
... Removed many unnecessary naked news and deletes.
2016-02-17 18:15:57 -05:00
Paul Licameli 7c4c45a0d5 "new"->"NEW" in comments, easier to find remaining naked operator new 2016-02-14 18:52:41 -05:00
Paul Licameli 56e7653343 "delete"->"DELETE" in comments, easier to find remaining naked operator delete 2016-02-14 18:50:45 -05:00
Steve Daulton 46055cde25 Fix effect preview issues
Fixes bug 1274 and unblocks bug 995.
2016-01-20 18:19:11 +00:00
Leland Lucius 6a9dae20f5 Appearance on OSX is now back to normal or better
Some additional wx3 cleanup as well.
2015-08-23 20:25:01 -05:00
Steve Daulton 2cb32c763f Fix for bug 558 2015-08-13 13:06:12 +01:00
Paul Licameli d39eaa4e65 Remove WaveTrack.h from other headers 2015-07-28 10:02:05 -04:00
Paul Licameli e70f91c64e Removed ShuttleGui.h from other headers 2015-07-19 12:31:03 -04:00
Steve Daulton 78d0347be2 More complete fix for bug 1060 issues 2015-07-18 18:31:36 +01:00
Leland Lucius 34114aa1f7 Change "Builtin" to "Built-in" 2015-06-09 14:02:09 -05:00
Leland Lucius 0ef7ccb1d1 Fix permissions...not sure why this was happening though 2015-05-29 19:49:28 -05:00
Steve Daulton 5378b0a951 Update to non-real-time preview.
Fixes and updates on top of some code clean-up from Leland.
2015-05-29 22:08:16 +01:00
Leland Lucius 0d62be7776 Use a common method for the duration format in generators 2015-05-27 08:42:15 -05:00
Leland Lucius f9061e3916 Let's try Effect management once more
As usual, I started out intending to do as little as possible
to this to get it working and wound up going overboard.

However, I believe it does allow easy management of the effects
and this will provide a basis for the full blown plugin manager
dialog.
2015-05-22 10:15:47 -05:00
Steve Daulton fbaab8702e Small optimization - non-linear preview copies only selected tracks by default. 2015-05-15 16:57:29 +01:00
Steve Daulton d9f3c432d4 Fix for bugs 943, 942, 941, 843 and 775.
Non-linear effects now process tracks before mixing.
This will be slower when multiple tracks are selected
but the preview should now match the applied effect.
SetLinearEffectFlag(true) allows linear effects to
preview more quickly when multiple tracks selected, by
pre-mixing selected tracks.
Simple generators like Tone and Noise may be marked as
'linear' so that they only preview a few seconds.
Generators that vary over time (such as Chirp) must use
the full duration that is set. As this currently
requires calculating the full duration, preview for
'non-linear' generators are not limited to the preview
length.
2015-05-15 12:51:51 +01:00
James Crook 8ae6fc42e1 Added 'More...' to Generate and Analyze menus 2015-05-14 16:11:46 +01:00
Leland Lucius 7950d4fd5a Workaround text controls not getting autoselected
Also fix AutoDuck so the panel doesn't get focus.
2015-04-29 03:31:40 -05:00
Leland Lucius e684fe9e1f Change affirmative button label to OK for modal dialogs 2015-04-27 13:16:08 -05:00
Leland Lucius 7407243e25 Save/restore effect state during batch processing 2015-04-27 09:22:47 -05:00
Leland Lucius e41db0e4b4 Preload the "Select Preset" with current setting
Also, loads the command parameters box with the default preset if
the selected effect doesn't expose any automation parameters.
2015-04-27 05:02:56 -05:00
Leland Lucius 4f4acffad1 Allow chains to use current/factory presets/settings
Also gives builtin effects a mean to determine if batch processing
is active, IsBatchProcessing() returns true if so.
2015-04-26 16:41:05 -05:00
Leland Lucius e8b0ca8707 Bring back the Nyquist debug button 2015-04-22 15:55:58 -05:00
Leland Lucius 5e27710495 All generator effects now use common Duration handling
(Also updated a few windows IDs to fit the pattern)
2015-04-19 19:48:04 -05:00
Leland Lucius 8fbfa460c4 Migrating the remaining effects
This brings the builtin, LV2, and VAMP effects inline with the
Audio Units, LADSPA, and VST effects.  All effects now share
a common UI.

This gives all effects (though not implemented for all):

User and factory preset capability
Preset import/export capability
Shared or private configuration options

Builtin effects can now be migrated to RTP, depending on algorithm.
LV2 effects now support graphical interfaces if the plugin supplies one.
Nyquist prompt enhanced to provide some features of the Nyquist Workbench.

It may not look like it, but this was a LOT of work, so trust me, there
WILL be problems and everything effect related should be suspect.  Keep
a sharp eye (or two) open.
2015-04-16 23:36:28 -05:00
lllucius 10f62cdae5 Fix for bug #833
This allows duplicate items in the effects menus and provides a
means to uniquely identify each item.
2015-01-19 16:28:48 +00:00
lllucius@gmail.com aa49817563 Fixes 2 VST issues, an RTP issue, and relaxes an AU restriction
1)  Shell VSTs were completely unrecognized...that is no longer the case
2)  All VSTs will now ALWAYS be initialized and cleaned up from the main
    GUI thread.  I found that some Waves VSTs would freeze Audacity when
    initialized in the audio thread and closed in the GUI thread.
3)  While realtime previewing, it was possible that the wrong slave 
    could be used to process new blocks of audio.
4)  I found that the Waves AUs don't crash on a real Mac (instead of a
    virtual machine), so I removed the "black list" I'd put in just for
    them.  (Something to do with needing full 3D support I think.)

Anyway, #2 and #3 were quite intrusive, so as much RTP testing as possible
would be a good thing.
2015-01-02 05:24:43 +00:00
lllucius e64019dcf6 Trying a checkbox to control enabled state 2014-12-20 18:22:44 +00:00
lllucius@gmail.com 9a23598d3f Fix for Linux and Mac builds...
Tried to second guess the headers neads and failed.
2014-12-19 17:05:54 +00:00
lllucius 9bbc261321 Attempt #2 at taming the meter toolbars
It corrects several "multiple project" problems with the
meter toolbars and meters.

In addition, there was a "multiple project" issue where
the transport buttons didn't disable properly in the
non-active project.
2014-12-19 16:38:56 +00:00
lllucius adeb0997e1 Replacing "power on/off" with "enable/disable" 2014-12-19 06:57:22 +00:00
lllucius 7b6cbeec22 Distinct button bars for graphical and textual modes
This bit the textual mode plain old text based buttons
and retains the bitmap buttons for graphical mode.

It also allowed me to remove the manual accelerator table 
building (no access keys in GUI mode) which was a good 
thing as I really didn't know if the was gonna work for
non-English keyboards anyway.
2014-12-16 21:41:58 +00:00
lllucius 16ca4f17eb Re-adding localized menu labels for effects
If you can believe it, this whole big mess is
just to get localized effect labels back into
the menus.

I sure wish I'd had a little bit more time to
finish up all of the effects.  It sure would 
be a lot cleaner (code wise).
2014-12-15 21:54:23 +00:00
lllucius 7fd0f4e8bc Change label/tooltip for power button to indicate action
(Holler if it should indicate state instead and if the
play/stop button should do the same)
2014-12-14 16:28:19 +00:00
lllucius 6ecf2e38e9 Separate power button and playing state
This will allow the power button to function independently
of the actual playback state.  It also gets rid of the whole
"Bypass" folderol.
2014-12-13 18:24:11 +00:00
lllucius 6ea62095de (Hopefully) Provide for localized accelerator keys 2014-12-12 14:44:50 +00:00
lllucius@gmail.com 994acab14f Fix for bug #773
This is only a workaround since the real problem is in wxGTK.  Hoping
it has been fixed in wx3.
2014-12-12 08:53:28 +00:00
lllucius@gmail.com cddff18025 Resolves reported bugs and (most) recommendations
All:

Export/Import now disabled if the Effect (family) doesn't support it
Options disabled if the Effect (family) doesn't support it
Standarized on "Latency compensation" instead of "Buffer delay compensation"
Correct loading/saving of factory default settings
Fixed "Mannage" to be "Manage"
Removed conditional code since we're keeping the transport buttons
Play bases state on actual playback status
Play no longer monkeys with selection
Play will now start from where it left off IF:
   The user stops the playback via the Effect Stop button
   If the user wants to restart from the beginning of the selection
   then the user can click Rewind while stopped.
Rewind will not go past start of selection (sorry Steve ;-))
   If Rewind is clicked while not playing, playback will next
   start at beginning of selection.
Fast Forward will stop at end of selection
   However, if FFwd is clicked while not playing, it will
   put playback at the end of selection and the next time
   the user clicks the Effect play button, playback will
   continue from the end of selection to the end of track.
Deleting a preset now prompts user to confirm
Button faces should now look a little better
Bypass (should we rename that???) button now grays when disabled

Audio Units:

Corrected all user visible "AudioUnit" strings to be "Audio Unit"
Removed unneeded "Buffer Size" in settings dialog
Only uses latency if user said it was okay

Ladspa:

Added settings dialog to allow control of latency usage
Removed unused "user selectable" buffer size
Only use latency if user wants it
Refresh controls when presets are loaded

VST:

Removed unused "Rescan at startup" setting
Propogate parameter loads to slave effects
2014-12-04 06:10:27 +00:00
lllucius 4d76e14794 Changes to the Effect dialog based on QA suggestions
Solves the problem of what the "Settings" button should say
by converting it to a bitmap button.

Adds the missing "bypass effect" button.

The Ok/Cancel buttons are now Apply/Close buttons and the
dialog stays open after the apply is done.

Record is no longer disabled when an RTP effect is open as
the RTP effect now monitors when recording starts and disables
its buttons as needed.

Added "Play", "Skip forward", and "Skip backward" buttons.
While the other stuff is required, this last one is in to
get a feel for its usefulness.  We'll need to get feedback
on it pretty quickly so we can rip it out if need be.
2014-12-02 08:55:02 +00:00