1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-06 14:52:34 +02:00

55 Commits

Author SHA1 Message Date
Paul Licameli
737e24e24e Allow pausing and unpausing of scrub. Just treat it differently internally. 2016-05-11 19:59:11 -04:00
Paul Licameli
80e19f2130 Ruler is in the ctrl+f6 cycle instead of reachable by arrows; experimental...
... flag for turning off navigability of the ruler.
2016-05-10 15:16:12 -04:00
Paul Licameli
519a2020ff Navigation to and from the ruler using up and down arrow keys...
... This affects those keys (and NUMPAD arrows), also (shift-)ctrl-f6,
ctrl-home, ctrl-end (which are command-left and right on mac)

Those should be tested to ensure correct restoration of the yellow rectangle,
appropriately in the tracks or the ruler.

This should also be tested with and without the Tracks preference for cyclic
movement of the focus.
2016-05-06 16:50:24 -04:00
Paul Licameli
0d9d8a057d Revert "Disable scrubbing when pause button is down."
This reverts commit 97fdce5f85e884cbe6f161963789694015cdf328.
2016-05-06 11:32:56 -04:00
Paul Licameli
97fdce5f85 Disable scrubbing when pause button is down. 2016-05-05 22:48:23 -04:00
Paul Licameli
014d5ab93c Type safety in the use of command flags, and make enum wide, allowing more bits 2016-05-05 20:02:13 -04:00
Paul Licameli
81fae8d71c Rework the ESC key to stop playback as an application event handler...
... So it does not depend on the focused window, and can work when selection
toolbar has focus.  But TrackPanel's escape handling may still take precedence
over it.
2016-04-20 15:34:49 -04:00
Paul Licameli
ce95bce85a Bug991: Pause button and command should be disabled during scrubbing...
... and they will be as soon as ctrl-mouse down.
2016-04-18 21:49:27 -04:00
Paul Licameli
f94b3b3afa Add some const qualifiers to BlockFile methods 2016-04-10 21:05:20 -04:00
Paul Licameli
414d0faa65 AudacityApp::ParseCommandLine returns smart pointer 2016-04-09 23:02:25 -04:00
Steve Daulton
484f23dcc7 Fix for bug 814 2016-03-28 21:07:25 +01: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
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
9bf098c7d9 Sweep unnecessary wxString copies: rest 2016-02-23 02:15:56 -05:00
Paul Licameli
907c950a0e Bug1288: Don't crash when changing language to "Simplified"...
... but give a warning message about the unknown language.
2016-01-26 20:09:54 -05:00
James Crook
94afd8265b Bug 1271 - Move the Audacity temp dir to a location not scanned by cleanup apps (Residual)
The residual issue here was that an old cfg could go on using the unsafe path.  So we check for the unsafe path at init and silently substitute the good path.  If the user attempts to re-instate the unsafe path we tell them no, with an informative message.  This change was made more complex by windows allowing different strings for the same path, specifically C:\Users\JAMESC~1\AppData\Local\Temp\audacity_temp contains the shortening '~' so in the function that tests 'IsTempDirectoryNameOK' we use GetLongPath() to always compare the expanded names.

I also changed directory prefs to add SessionData rather than audacity_temp on the new directory name, on windows when choosing a new temp directory.
2015-12-26 14:56:47 +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
Leland Lucius
ebc801f864 Revert "Disable autocreation of Xcode schemes"
This reverts commit c15ca44eff4137f3be422f3dcc469c7dfd7d53d8.
2015-08-10 02:18:29 -05:00
Leland Lucius
c15ca44eff Disable autocreation of Xcode schemes 2015-08-10 02:02:50 -05:00
Leland Lucius
79b3d4d7ad Works around "some" of the OSX drawing issues
This is related to a possible wx3 issue:

http://trac.wxwidgets.org/ticket/17091

But, there's still quite a few more to resolve.
2015-08-08 00:24:52 -05:00
Leland Lucius
f36fe29f96 Fixes for bugs 1122 and 1113
Several other issues were also fixed (hopefully ;-)).

This is a major change to accelerator handling and keyboard
capturing.  Menu shortcuts, non-menu commands, label editing,
navigation, and basically anything else were you might use
the keyboard should be thoroughly tested.
2015-08-08 00:01:24 -05:00
Leland Lucius
5bdfcff97d Menu shortcut hiding has been removed
It had been causing problems in Unity for a while now and they
were missing on OSX as well in wx3.  So, the old menu Open/Close
method of hiding has been removed and replaced with an event
filter/monitor which looks for wxEVT_CHAR_HOOK events to pass
key events to the handler that has the keyboard captured.
2015-07-28 14:35:09 -05:00
Leland Lucius
d1f66d768f Updates for wx3
A long way to go yet, but many OSX issues fixed including
conversion of Audio Unit effects.
2015-06-30 11:25:32 -05:00
Steve Daulton
b9dd3e64c6 Fixes for bug 844 2015-05-15 21:17:24 +01:00
Leland Lucius
923827966c Add debug report (crash report) to Help menu
This captures crashes on Windows along with the stack backtrace.

On Linux (fedora 21 at least), the necessary function to enable
capture is not included in the system wx libs.  But, a self built
version works fine and capture the backtrace, so I'm assuming
other distros will probably work as well.

On OSX, the crashes are caught, but it does not include the
backtrace.

But, really, the backtraces aren't all that useful in a release
build since we don't ship with debug symbols and optimization
plays havoc with proper backtraces anyway.

The real benefit will be for the support folks as they can now
get consistent info from user by asking the to generate a report
from the "Help->Generate Support Data" menu item.
2015-04-18 05:06:28 -05:00
lllucius
361d3add9b Revert r13868 and fix access violation on Windows
This puts the single instance checker back to pre-13868
behavior, so we're back to being able to open multiple
instance if the temp directory is different in portable
settings.

The access violation has apparently been happening for
quite a while, just hidden because it happened when
additional Audacity instances were executed and the DDE
command was sent to the first instance.  After sending
the command, the connection was disconnected, but the
object had already been deleted by the command execution
so a first-chance exception was triggered.
2015-01-21 07:52:15 +00:00
lllucius@gmail.com
d03da2deb4 This should be the final fix for bug #202
Command line parsing has been revised and used
for the primary Audacity command line as well as
any secondary Audacity executions.

This way if multiple filenames are included on
the secondary executions, then we now pass ALL
of the filenames instead of just the first one.
2015-01-10 10:25:49 +00:00
lllucius
cdde320f0d Fix startup hangs when opening multiple files on Linux and Mac.
Seem there's either a critter in the wx2812 socket IPC code (the
socket processing was rewritten for the wx3 series) that could
cause Audacity to hang during startup if more than 1 file was
opened at the same time.  It was hit or miss, but more hit than
miss and was likely to occur when opening multiple files in a
file manager.

This fix was to stop using the wx2 IPC code and craft our own
basic startup messaging.
2015-01-09 07:47:28 +00:00
lllucius
945e68ba89 Should fix the single instance detection on OSX
The problem was that different temp directories can
be specified when using Portable Settings.  This caused
the single instance checker to look for it's lock file
in different locations so it was unable to detect that
another instance was running.

This changes the directory for the lock file to be the
user's home directory (which is the default for the checker
anyway).  This allow the user to still specify different
temp directories in the Portable Settings and ensure's 
that only one instance (per user) ever runs.

It now checks the single instance before initializing
preferences since preferences are modified during initialization
which could interere with an already running instance.

In addition, the Mac now uses the DDE IPC startup to 
ensure all files are opened by the single Audacity instance.
Normally this is not needed since we also support the OSX
mechanism for opening by an existing process.  But, that
only works if the exact same Audacity.app is used.  There
are instances when this is not always the case.

I also ran across a problem with language initialization.

Since preferences were initialized before the locale was set,
dialogs would be shown in English.  I've made a change that sets
the language to the system language until the preferences are
loaded and then resets it to the user selected language.
2015-01-07 19:39:44 +00:00
lllucius@gmail.com
bd2ab22001 Fixes bug #202 based on patch by Tobias Platen
Tobias's patch was fine, but it didn't properly exclude wxMac and
exposed a bug that would cause Audacity to crash at termination.
2014-12-05 02:03:15 +00:00
lllucius@gmail.com
3029c1dd3c Re-add timer...fixes bug #655 2014-12-04 07:15:58 +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
lllucius
579c5cbc01 Do not allow realtime effects while recording. 2014-11-30 21:13:24 +00:00
lllucius
c2218d5ddf Only allow one realtime effect at a time
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.
2014-11-29 23:17:03 +00:00
lllucius
1eeb4d979a The fabled realtime effects...
I've made it where you can enable and disable via experimentals:

EXPERIMENTAL_REALTIME_EFFECTS
EXPERIMENTAL_EFFECTS_RACK

You will notice that, as of now, the only effects currently set up for
realtime are VSTs.  Now that this is in, I will start converting the
rest.

As I start to convert the effects, the astute of you may notice that
they no longer directly access tracks or any "internal" Audacity
objects.  This isolates the effects from changes in Audacity and makes
it much easier to add new ones.

Anyway, all 3 platforms can now display VST effects in graphical mode.
Yes, that means Linux too.  There are quite a few VSTs for Linux if
you search for them.

The so-called "rack" definitely needs some discussion, work, and attention
from someone much better at graphics than me.  I'm not really sure it should
stay in as-is.  I'd originally planned for it to be simply a utility window
where you can store your (preconfigured) favorite effects.  It should probably
revert back to that idea.

You may notice that this DOES include the API work I did.  The realtime effects
were too tied to it and I didn't want to redo the whole thing.  As I mentioned
elsewhere, the API stuff may or may not be very future proof.

So, let the critter complaints commence.  I absolute KNOW there will be some.
(I know I'll be hearing from the Linux peeps pretty darn quickly.  ;-))
2014-10-26 03:24:10 +00:00
james.k.crook@gmail.com
7508f10f64 Fixed some memory leaks. 2014-10-24 16:52:17 +00:00
james.k.crook@gmail.com
44808022e1 Split Inits between OnInit() and FinishInits()
This is after reading a note in the release notes for wxWidgets 3.0.0.  We need an event loop running to show a dialog in 3.0.0 (even though the splash screen works without).
2014-10-12 21:57:39 +00:00
benjamin.drung@gmail.com
277932dccb Remove trailing spaces. 2014-06-03 20:30:19 +00:00
lllucius
1fab1cdb21 Bug 337 - New logger class allows log to be initialized immediately without crashing Mac empty project windows
This is an older one...originally from 2011.  Bug says it all, but basically it allows logging
to begin immediately upon startup for all platforms.  And it has multithreading protection, so
it should now be safe to log from the non-GUI threads.
2013-10-23 17:00:28 +00:00
lllucius
401ca077e2 Fixes the real issue described by bug #57.
http://bugzilla.audacityteam.org/show_bug.cgi?id=57
2013-10-11 20:00:47 +00:00
lllucius
423ede06cc Fix for bug #658.
http://bugzilla.audacityteam.org/show_bug.cgi?id=658
2013-10-07 23:30:43 +00:00
martynshaw99
4ce2643d5f Remove the
// Indentation settings for Vim and Emacs
etc. lines from all files, as Campbell's patch (except for other changes to Languages.cpp)
2013-09-24 00:14:37 +00:00
martynshaw99
1af35d4168 Removal of all the stuff marked as 'Experimental CLEANSPEECH' about a year ago. 2013-04-29 23:23:14 +00:00
v.audacity
9d0daf8662 Campbell Barton's patch to turn many, many tabs to our 3-space convenbtion 2013-02-20 23:42:58 +00:00
martynshaw99
758a8f65e6 Inserting CLEANSPEECH ifdef's around anything CleanSpeech so that CleanSpeech can be removed easily in the (not to distant) future. The idea is never to turn CLEANSPEECH on, but fix any (unexpected) differences this may make. 2012-04-26 22:57:04 +00:00
clayton.otey
71dedc3d35 Revert r11214 (sbsms timescale effect update) & r11215 (mixed-radix-fft narrow/broaden spectrum menu items) to honor the feature freeze. 2011-07-06 09:49:59 +00:00
clayton.otey
df9865f26a Added an sse enabled mixed-radix-fft implementation and a menu/view/{narrow,broaden} spectrum item which adjusts the spectrogram window size 2011-07-02 18:42:38 +00:00
mchinen
9a8b53c440 Bug 330 (P2) followup - Make missing aliased warnings 1 per project instead of 1 for all projects 2011-04-02 13:03:02 +00:00
lllucius
0c54afc769 Add missing include 2011-03-30 14:30:58 +00:00
mchinen
91d8f132a6 Bug 330 (P2) - Fix an issue where multiple projects would cause the warning dialogs to pop up above the wrong project.
I refactored the code into AudacityApp with a new timer.  This is provisional pending discussion - if it is decided that it should go somewhere else I will move it.
2011-03-29 23:39:00 +00:00