1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-25 08:38:39 +02:00

808 Commits

Author SHA1 Message Date
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
Paul-Licameli
2b85d0edb4 Preliminary function argument list changes and comments, for scrubbing project
In particular, use an options structure for AudioIO::StartStream to simplify
calls

ControlToolBar::PlayPlayRegion also takes that structure as an argument, and a
SelectedRegion instead of two times

And other changes
2015-04-17 02:25:39 -04: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
James Crook
28864acb23 beforeLen default now 2.0s
Consistency.  Per eMail from Dave, the default elsewhere is 2s, not 1s.
2015-04-12 12:40:22 +01:00
David Bailes
c6455312aa provide a limited version of functionality of AudacityProject::OnPlayToSelection() for keyboard users 2015-04-10 14:53:48 +01:00
Leland Lucius
2457579091 Bug 765 - Delays using Edit commands and Draw Tool in long projects
A 4hr track used to take about 20s to cut a few samples. This is now significantly improved, to around 3s. Leland did this by

(a) moving the size calculation to when we examine the undo history, so it isn't slowing down the edits.
(b) in size calculation, using sizes that are cached rather than going to disk to find the sizes.
(c) writing the autosave file which is to an FFIle to a string first, i.e. using XMLStringWriter as a buffer for XMLFileWriter.

Step (c) may also make autosave marginally safer, as the risk of a partially updated autosave file is reduced.
2015-04-07 12:20:50 +01:00
v.audacity
58bca2e8a9 fix for http://bugzilla.audacityteam.org/show_bug.cgi?id=883 2015-03-03 01:48:07 +00: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
a286b0e5a4 Don't need the separator on the Mac. 2015-01-12 01:07:11 +00:00
lllucius
3a098714d9 Persist looped button across toolbar resets...
...when started from the keyboard.
2015-01-03 11:27:24 +00:00
lllucius
2c6401b564 Committing Paul's spectral nagivation commands patch
From:

http://audacity.238276.n2.nabble.com/Patch-spectral-peak-snapping-navigation-commands-td7565648.html
2014-12-22 08:03:41 +00:00
lllucius@gmail.com
9404a28954 Fix missing toolbars at startup on Linux
The problem was that on Linux (not Windows or Mac) menu
events are generated when checking the menu items in
the toolbar menu.

Becuase of the recent changes I made and how the toolbars
are being shown (toggled) when the toolbar menu is checked,
they were simply being hidden.  Actually, the were being
shown and then hidden because of the toggle.

So, with this change I made exposing toolbars a bit more
deterministic.  The menus still use a toggle, but the 
ToolManager now shows or hides the bars explicitly during
setup, so the menu toggle issue is resolved.
2014-12-20 20:08:45 +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@gmail.com
07b5a68274 Do not breakup default effects into subgroups based on count 2014-12-14 16:22:13 +00:00
lllucius
2e29d9d2b1 Fix for sticky overdub menu item 2014-12-11 06:04:54 +00:00
stevethefiddle@gmail.com
b3241e5db7 Fix - added missing access key for Mix and Render to New Track. 2014-12-10 13:08:56 +00:00
lllucius@gmail.com
cbe0e38896 Simply toplevel window cycling
It never really worked right on GTK and MAC, so remove all of the
specific code for them and just allow it to work on Windows until
a correct solution is found.

(GTK and MAC have their own cycling key combos anyway)
2014-12-09 05:16:48 +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
da76615bf3 Now do the reverse...disable record if a realtime effect is open. 2014-11-30 21:55:13 +00:00
lllucius
6698c38357 Previous attempt at disabling failed when monitoring...using a different method. 2014-11-30 21:46:20 +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
james.k.crook@gmail.com
7324997db6 Fix for http://bugzilla.audacityteam.org/show_bug.cgi?id=643 "Residual consistency issues with SHIFT showing Loop Play button icon" by Paul Licameli.
* 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.
2014-11-29 17:22:05 +00:00
james.k.crook@gmail.com
2131568876 Spectral Selection Toggle (using q key) by Paul Licameli. 2014-11-29 16:53:28 +00:00
lllucius
071cd0f066 Disables the rack and fixes a couple of other things
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.
2014-11-27 12:22:41 +00:00
lllucius
4b756ce7d6 Give the keyboard user the ability to move among all modeless windows
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.
2014-11-26 18:17:38 +00:00
lllucius
41083f74cc Another round of effects bashing.
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.
2014-11-19 06:58:44 +00:00
windinthew@gmail.com
69e9d8860a Clarify code comment about bug 458 workaround. 2014-11-16 13:08:41 +00:00
lllucius@gmail.com
1e0d040cfb Fix this effect menu grouping and names. 2014-11-15 18:13:50 +00:00
james.k.crook@gmail.com
93060f0ccc One #ifdef EXPERIMENTAL_SPECTRAL_EDITING missing. 2014-11-14 18:32:30 +00:00
james.k.crook@gmail.com
c665792863 Select All Frequencies Patch.
Currently bound to 'Q'.  Not necessarily the final choice.  Original patch by Paul Licameli.
2014-11-14 18:13:22 +00:00
lllucius
ad92e8c4bf One more round of effects changes.
The big thing is the common efffects UI.  Right now Ladspa and VST
have been converted to use it and Audiounits will be next.  It makes
everything nice and consistent while reducing the clutter in the
dialog.

Other goodies are:

Ladspa effects now show output controls when supplied by the effect
Ladspa effects now work fine as Analyze type effects
Ladspa now has user presets
VST effects dialog is now less cluttered...leaving more room for the effect
Ladspa and VST effects now share a common UI
Ladspa and VST effects are now usable in chains
Ladspa and VST effects now handle user presets the same way
Currently active effects settings automatically saved and reloaded
Can now do numeric range checking on input fields.

And, as always, plenty of critter squashing.
2014-11-14 03:03:17 +00:00
james.k.crook@gmail.com
8a9987a0d9 From: martin@steghoefer.eu [PATCHES 02-15 of 15] Fix runtime problem with wxWidgets 3.0:
Correct string formatting for:
2/15  %d + enum => %d + int
3/15  %lld + int64_t => %lld + long long
4/15  %d + int64_t => %lld + long long
5/15  %d + double => %f + double
6/15  %d + int32_t => %d + int
7/15  %d + intptr_t => %p + void*
8/15  gint, guint
9/15  %d + long => %ld + long
10/15 %n + int => %d + int
11/15 %x + int => %x + unsigned int
12/15 %f + int => %d + int
13/15 %S + wxChar* => %s + wxChar*
14/15 %d + size_t => %d + int
15/15 %d + size_t => %lld + long long

"The functions wxString::Format, wxString::Printf (and others indirectly) have become stricter about parameter types that don't match (format specifier vs. function parameters). So the bugs (that were already present in audacity before) become visible in wx3.0 as error message dialogs. I've checked all occurrences of Printf, wxPrintf, PrintfV, Format, FormatV, wxLogDebug and wxLogError systematically and made the type match."

Note (9/15): In TrackPanel.cpp, ExportMP2.cpp and CompareAudioCommand.cpp this patch supersedes related change done in r13466 because the new solution requires fewer casts and therefore simplifies the code.

Note: Many .po files are affected, and we need to be very careful about this.  Incorrect "%d" and similar in translation files may lead to crashes in those languages (only).  This is something we should actually have been more careful about in the past.  We need to write a script to check that the "%d" and similar format specifiers match between English and translation.
2014-11-08 16:42:34 +00:00
james.k.crook@gmail.com
67d2b274e2 Frequency Selection toolbar from Paul Licameli.
Linux/Mac will need new files adding to project, SpectralSelectionBar.cpp, NumericTextCtrl.cpp.
2014-11-08 15:18:43 +00:00
lllucius
080b67ce9e Adds the ability to sort and group the Effects menus
Current options:

Publisher: name (the closest to what we have now)
Name (doesn't include the publisher, just a straigt up alpha sort
Publisher (creates submenus based on the publisher)
Type (creates submenus based on the type, VST, Nyquist, etc.)

And the Linux method of creating submenus based on number of items
is available to all and you can choose how menu you want per submenu.
I had to bring this back since I'd removed it when for the new effects
and I figured why limit it to only Linux...

Check it out in Preferences (effect page).

You'll also notice that the effects page is starting to talk about 
plugins.  That will progress further (baby steps) so bare with me
for just a bit more.
2014-11-04 01:38:13 +00:00
stevethefiddle@gmail.com
a1efa30d6a Move "About Audacity" to conventional place at bottom of Help menu. 2014-11-01 12:47:50 +00:00
stevethefiddle@gmail.com
8020f68691 Remove text "in web browser" from help menu.
Conflicts with http://manual.audacityteam.org/o/man/help_menu.html
2014-10-31 22:16:54 +00:00
stevethefiddle@gmail.com
0a6685376e Correct i18n-hints for new meter toolbars 2014-10-26 19:27:23 +00:00
james.k.crook@gmail.com
a57d8f3b51 For consistency with naming elsewhere in the user interface.
Thanks Gale.
2014-10-26 13:56:54 +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
fbbab2ce1b Now have three varieties of the Meter Toolbar.
We have separate record and play meters.  The original kind of meter is now called a combined meter.  I've kept it because it can be useful when undocked if you do want both meters.  I've also fixed it so that if made very narrow the meters stack vertically just as they already did horizontally.
2014-10-24 16:42:46 +00:00
james.k.crook@gmail.com
37608c2290 Paul Licameli's Spectral Editing Patch.
This relies on three new nyquist scripts to actually do the editing.  The peak-snapping code in FrequencyWindow has been extracted into a new class, SpectrumAnalyst, to provide peak-snapping in spectrogram too.
2014-10-18 14:19:38 +00:00
james.k.crook@gmail.com
93f3c3cef1 Paul Licameli's fix for http://bugzilla.audacityteam.org/show_bug.cgi?id=751. modified. Exclude collapsed tracks from the resizing too, not just from computation of the new size.
The original fix silently change sizes of collapsed wavetracks.  That's not visible, but will be seen when they are next unminimized.  To be consistent with the new size calculation, we now only changes the sizes of the unminimized wavetracks.
2014-10-07 07:30:58 +00:00
v.audacity
67bbebc06b Paul Licameli's fix for http://bugzilla.audacityteam.org/show_bug.cgi?id=751. 2014-10-07 06:53:15 +00:00
lllucius
bdcefb4850 Preliminary changes for wxWidgets 3.0.1
We can't go to 3.0.1 yet as there are still build issues on
Linux and OSX.  You can get Windows to build, but there's
still some display issues.

These changes should work with wxWidgets 2.8.12 as well, so
we can take our time to get things working properly before
switching over.
2014-10-06 08:10:50 +00:00
james.k.crook@gmail.com
f5e593cc4c Paul L's new SelectedRegion class replacing use of t0 and t1. Also LabelTrack.h no longer in TrackPanel.h includes.
This change is believed to be a direct refactoring that does not change functionality.  It paves the way for more complex kinds of selection, such as selections involving frequency as well as time.  It also reduces risk of left and right edges being swapped in future code using SelectedRegion, as the default is to swap on assignment if needed.
2014-10-05 17:10:09 +00:00
RichardAsh1981@gmail.com
a6150f3443 Commit Steve's patch for Bug 728 2014-10-02 21:34:01 +00:00
james.k.crook@gmail.com
b19c1fbeb5 Applied Paul L's patch for save/restore (and compiler warning). Fix for http://bugzilla.audacityteam.org/show_bug.cgi?id=283 2014-08-17 16:32:57 +00:00
james.k.crook@gmail.com
0ff4403911 Modified version of Paul L's patch to correct play button state up/down looped/unlooped. 2014-08-17 10:23:31 +00:00
RichardAsh1981@gmail.com
3f49828d37 Standardise on working oof Recording and Playback rather than Input and Output throughout Audacity. Remove some very old junks strings at the same time. 2014-07-21 21:37:53 +00:00