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

587 Commits

Author SHA1 Message Date
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
stevethefiddle@gmail.com
127b5d287a Duplicate command moved into basic Edit command group. Incremental update for bug 729. 2014-06-26 13:26:29 +00:00
RichardAsh1981@gmail.com
d974754340 use HelpSystem for links to the manual in existing code 2014-06-25 10:12:19 +00:00
RichardAsh1981@gmail.com
fc3a7558ae re-organise the Help System functions into a class as static methods for future utility 2014-06-09 18:42:19 +00:00
RichardAsh1981@gmail.com
59b8cdeaa8 separate out Help system functions into their own source file (pending some extra ones) and change the required includes to accomodate this. As a result, some error class definitions have to move from .cpp file to .h file. 2014-06-06 21:34:36 +00:00
benjamin.drung@gmail.com
277932dccb Remove trailing spaces. 2014-06-03 20:30:19 +00:00
stevethefiddle@gmail.com
602fdc3ee2 Bug 722 - move basic edit commands to root of Edit menu. 2014-05-28 22:13:22 +00:00
martynshaw99
65e4f56126 Norm's patch to improve selection speed on large projects by reducing the number of unnecessary auto-saves. Maybe vertical zooming should also not trigger an auto-save? 2013-12-30 00:41:18 +00:00
v.audacity
0bfe42280a Steve's patch for http://bugzilla.audacityteam.org/show_bug.cgi?id=691, "Add "Mix and Render to New Track" to Tracks menu.". 2013-12-19 01:45:58 +00:00
v.audacity
52305dfb23 Steve's patch for http://bugzilla.audacityteam.org/show_bug.cgi?id=412, " Transport Menu: Hard to discover Play/Stop shortcuts " and http://bugzilla.audacityteam.org/show_bug.cgi?id=694, " Changing Play/Stop shortcut causes unchanged Play shortcut to fail.". 2013-12-18 23:34:35 +00:00
martynshaw99
8de5487284 Changes from Richard to remove the remains of UploadDialog, which was deemed to be a hazard. + a change for Win. 2013-12-12 00:46:03 +00:00
v.audacity
569c18a6bc Move a separator for more logical grouping. 2013-11-25 05:55:54 +00:00
v.audacity
bf2bc01b64 Steve's patch for http://bugzilla.audacityteam.org/show_bug.cgi?id=687
Changes in AudacityProject::SaveAs() warning dialogs, per 'Save Project warning' discussion on audacity-quality, plus some further changes of my own.

Similar changes for 'Save Compressed Project'.

Added Cancel button to both warnings, so user can opt out immediately, rather than have to wait another dialog. 


Added wxMessageBox's best 'warning' icon to our WarningDialog constructor, so it shows in title bar. It's low-rez (32x32), but all that's available with wxWidgets 2.8.12. Easy to remove if too ugly.
2013-11-25 04:59:07 +00:00
lllucius
f62166f36f Bug 679 - Incorrect keyboard preferences for "Snap To"
http://bugzilla.audacityteam.org/show_bug.cgi?id=679
2013-11-08 14:12:24 +00:00
lllucius
3d95126e0e Bug 275 - Snap-To status/quantisation are global, leading to incorrect indications in multiple projects
This adds (I believe) project specific selection format.
2013-10-27 01:58:35 +00:00
lllucius
3ec8989265 Bug 510 - undo can change which tracks are selected, and focus
Must more extensive review of saving state

Try this one David.  I reviewed all actions in Menus.cpp and have added state
saving where it seemed to be missing.  I had no idea it would be so many (22). 
And that was only reviewing Menus.cpp.  I believe that will get them all since
all keyboard actions are tied to a menu or command action and they all go
through Menus.cpp. (I still have a few to review in TrackPanel.cpp though)
2013-10-23 20:14:09 +00:00
lllucius
03f5088b6a Bug 406 - Label creation/other non-dialogue editing and keyboard selection hang on long projects
This is part 1...

Provides some relief to the selection "hang"

This patch adds the ability for the keyboard based commands (like cursor left,
extend selection right, etc.) to know when the key has been released.

When the patch is applied the current state is saved only when the key is
released and not every time it repeats.

Here's an example of the difference it makes.

This video show the selection "hang", but also watch the CPU usage.  All I'm
doing is pressing SHIFT+RIGHT ARROW.

http://youtu.be/tdMntDwGSkM

This one is the same thing bug with the patch applied.  Notice that the
selection "hang" no longer occurs and look at the CPU usage!

http://youtu.be/EpXNsQ4Cky0
2013-10-23 18:01:14 +00:00
lllucius
4159bf3b8e Bug 355 - Some keyboard shortcuts unresponsive after Mix and Render or Save Project
Track focus was set, but not track panel's
2013-10-23 17:43:26 +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
james.k.crook@gmail.com
02e4e56444 Title of export dialog is now either "Export File" or "Export Selection", so user knows which menu option they selected.
Vaughan, 2013-11-02: James also turned on EXPERIMENTAL_SCIENCE_FILTERS.
2013-10-22 21:11:58 +00:00
lllucius
b8d1d915f8 Fix for bug #632
http://bugzilla.audacityteam.org/show_bug.cgi?id=632
2013-10-09 06:06:00 +00:00
lllucius
a95651275c I was wrong in r12650 when I said the the workaround for bug #458 was
fixed by r12650.  I had tested on Ubuntu only and the menu resize
problem doesn't seem to happen there.

But, it still happens on Fedora 17 at least, so putting the workaround
back in.
2013-10-07 13:04:44 +00:00