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

1868 Commits

Author SHA1 Message Date
james.k.crook@gmail.com
d9d193a1ea Wider Audacity and wider meters, now that we are agreed 1000px is fine for a minimum width.
This entailed rearranging the toolbar order.  I've set the width to 940px, but am tempted to take it all the way to 1000.
2014-11-08 18:51:00 +00:00
james.k.crook@gmail.com
cb7d090cd6 Added NumericTextCtrl.cpp and SpectralSelectionBar.cpp 2014-11-08 17:34:35 +00:00
james.k.crook@gmail.com
851e332b7b Disabled EXPERIMENTAL_MIDI_OUT (for linux builds) 2014-11-08 17:11:05 +00:00
james.k.crook@gmail.com
af8457dd1c From: martin@steghoefer.eu [PATCH 16/16] Fix runtime problem with wxWidgets 3.0: Segmentation fault due to events arriving before initialization.
"The dialogs LadspaEffectDialog, LV2EffectDialog and VampEffectDialog receive EVT_TEXT events before the dialog classes are properly initialized. To prevent this, a workaround was already in place, but was only active on Windows. This happens now on more platforms (including GTK). So activate it on the wxGTK with wx3.0, too."
2014-11-08 16:53:43 +00:00
james.k.crook@gmail.com
88ed83d967 Included missing changes to move from TimeTextCtrl to NumericTextCtrl in r13557. 2014-11-08 16:48:36 +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
8305bfdb05 From: martin@steghoefer.eu [PATCH 01/15] Fix runtime problem with wxWidgets 3.0: Correct string formatting: wxLongLong -> %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: In Shuttle.cpp this patch supersedes one related change done in r13466 because a wxLongLong_t can be bigger than an int and in a generic function like "TransferLongLong" this should be taken into account.
2014-11-08 16:06:28 +00:00
james.k.crook@gmail.com
96531ef766 Hide spectral selection bar by default. Tidy up folders within MSVC project. 2014-11-08 15:47:08 +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
james.k.crook@gmail.com
6112a2a8c1 Spectral selection cursor and mode selection changes from Paul Licameli.
This also now shows a new green 'play cursor' when ctrl is held down on wave track, and shift being held down is signalled by a cursor change to finger-pointer too.

I also accidentally enabled EXPERIMENTAL_MIDI_OUT.  We may disable that in December for release.  Leaving it in for now.
2014-11-08 14:30:19 +00:00
lllucius@gmail.com
a4b3ece538 Remove path separator characters from plugin IDs when saving
The characters were a problem on Linux since wxFileConfig was
intepreting them and creating extra (unwanted) groups.

This change will suffice until/if this is converted to XML.
2014-11-07 11:00:12 +00:00
lllucius
7bb4b7c941 More effect changes to new format and realtime preview
Main effect host processing extended to support generate
effects and sync locked tracks.

Ladspa updated to utilize new generate support.

I'll address Analyze plugins when I get to the SBSMS ones.

Shared and private config changes are flushed immediately.

Cancel button restored to VST and Ladspa dialogs.  This
also restores the ESC button functionality.

Current parameters saved with Apply or Ok clicked...not
when Audacity ends.

Ladspa and VST effects with that reports no input and
no outputs are now ignored.

Ladspa effects providing a latency value is now handled.

Ladspa generator effects now use the TimeTextCtrl for
specifying duration.
2014-11-07 09:54:04 +00:00
james.k.crook@gmail.com
ed1338cdec Fix for Bug 781.
Fixes race condition on Audio thread state by using a mutex, so can play and use . (scrubbing forward) and SPACE (play/stop) safely.  Previously crashed.  Patch by Paul Licameli.
2014-11-06 17:48:26 +00:00
lllucius@gmail.com
94d97f87b8 Darn Windows developers! (Or the VS compiler is just too helpful.) 2014-11-06 04:58:40 +00:00
lllucius
3d8de17c22 Slightly better error handling during effect initialization
It at least detects load failures now.  ;-)
2014-11-05 20:41:29 +00:00
lllucius@gmail.com
126152a756 Converts the ladspa effects to the new format and adds realtime support
This also (hopefully) corrects some additional problems in general 
realtime support.  Particular focus should be given to the handling
of various combinations of stereo, left channel mono, right channel
mono, and true mono as this has been a particularly troublesome
area.
2014-11-05 07:06:38 +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
lllucius
4583e91621 More fixes for the realtime stuff.
Nothing new added in this one.  Should fix the odd behavior
with a single track not really working correctly.
2014-11-03 22:47:55 +00:00
james.k.crook@gmail.com
17207fa39a Fix for http://bugzilla.audacityteam.org/show_bug.cgi?id=630 based on investigation by Gabriel Pato.
This is quite an involved piece of code, and to check it is OK it should be checked with mixtures of stereo and mono, looped and non looped, selected region, no selected region.  (I did, but no harm trying variations on that).  Real time effects, if enabled, could also potentially interact with this, and are subject to change in this area of code.
2014-11-03 21:53:30 +00:00
lllucius
cae6669275 Round 3 of realtime changes.
This gets meter type VST effects working again by extending the

The master now maintains his own internal buffers and sums (mixes) all
playing tracks into those buffers.  The buffers are then fed into the
VST effect that is presented to the user.  This allows the effect to
provide feedback to the user if it support it.  Such effects may display
meters or clipping indicators.

Several issues with treading have also been corrected (hopefully ;-)).
These showed up mostly on Linux, but could have happened on the others
as well.

The realtime support is no longer limited to 2 channels per logical
track.  Once support for more channels is added, this should be ready
for it.

The rack dialog can now be toggled via the edit toolbar button.  It
doesn't stay pressed because the closing of the dialog would have to
be communicated back to the toolbar.

As the rack is updated with new or removed effects or active state
changed, all effects in the active list were shutdown and all effects
in the updated list were initialized.  This now shuts down only the
effects no longer in the list and initializes only new ones.

The rack now uses wxBitmapButton instead of Audacity's AButton.  The
AButton has a timing issue that prevents it from being deleted while
processing the click event.  I looked into it, but gave up and switched
to the wxBitmapButton.  Unfortunately, there's a problem with the
wxBitmapButton as well...at least on my setup here.  Either the bitmaps
are being scaled or antialiased.  Will have to get feedback on this.

I finally figured out why some VSTs didn't seem to do anything in
realtime, at least in my case anyway.  I've installed a lot of demo
VSTs and while they work in "batch/offline" mode, some of them will
not work in realtime since vendors tend to remove automation as one
of the demo limitations.

More changes coming shortly...
2014-11-03 06:48:54 +00:00
james.k.crook@gmail.com
f26746a5a2 Removed prompt about ESC being a toggle.
(a) Paul would like to indicate how to toggle the mode some other way.  (b) You only see the prompt if you are already in this mode.  (c) We may no longer use ESC in the future.
2014-11-02 21:57:14 +00:00
james.k.crook@gmail.com
7a60ed4309 Meter tooltip text changes. 2014-11-02 18:02:09 +00:00
james.k.crook@gmail.com
799230b882 Much easier to dock with an empty dock now.
Overlapping a dock is now enough to trigger docking.  Previously the top left corner had to be in the dock.
2014-11-02 17:39:50 +00:00
james.k.crook@gmail.com
72038d0e06 Update to r13516 to also deal with horizontal movement. Toolbars should now dock where you undocked them from, if you don't move them.
Thanks to Gale for a very clear description of the issue, which I hadn't seen because of how I click/drag.
2014-11-01 23:26:52 +00:00
james.k.crook@gmail.com
1a9e19f74a Commented out "ESC" in Mouse Prefs panel. Missed this one in https://code.google.com/p/audacity/source/detail?r=13498# 2014-11-01 17:07:52 +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
df7978d5ce Change case RPM to rpm.
Further changes to Change Speed GUI to follow.
2014-10-31 22:13:48 +00:00
james.k.crook@gmail.com
f55ce48f96 Leak of MidiThread fixed. 2014-10-31 19:05:17 +00:00
lllucius
d50e9fee52 Realtime preview round 2
This changes the realtime preview from using 1 effect for all tracks
to an effect per track (logical track).  This should clear up the 
bad audio when more than one track (or a stereo track) is present.

An unfortunate side effect is that meter effects no longer work since
the one presented to the user is not the one doing the actual work.
Suggestions on how to remedy this are welcome.
2014-10-30 14:04:48 +00:00
james.k.crook@gmail.com
a94bfed0cc Incremental improvement to toolbars.
Fixes the undock-redock moving the toolbar to a new position.  No change expected to 'dock marker vanishes' in linux issue.
2014-10-29 19:15:19 +00:00
lllucius
d48f03518f Fixing some typos and makes effects added to rack OFF by default
That's going to solve some doubling up of effects while playing I think.
2014-10-29 03:46:53 +00:00
lllucius@gmail.com
49ce8fd212 2nd attempt to Add the ability to build without trashing the source tree
In r13510 I had neglected to build with all local libraries and some of
them needed attention.

So, I also took the opportunity to work out the locale directory and
how to keep it unmolested as well.  As a result, all locales are rebuilt
as expected, but into the "build" directory.

As a bonus you may now test Audacity from the "build" directory and have
Nyquist plugins and message catalogs available (so you can test other 
languages again without havint to install).

So, again:

mkdir buildme
cd buildme
../configure
make
./audacity
2014-10-27 23:13:03 +00:00
james.k.crook@gmail.com
f0b3367a8a Effects Rack now appears center screen first time it is used. 2014-10-27 21:47:28 +00:00
lllucius@gmail.com
c6ffa89d23 Add (restore?) the ability to build without trashing the source tree
You may now do:

mkdir build
cd build
../configure
./audacity

And all but one directory will remain unmolested...no more object files
in "src".

And if you look carefully, you'll see that the newly built "audacity" is
copied to the top of the build tree...no more having to use "src/audacity"
to run.

You can of course still do the configure from the top and get all of the
objects strewn about the tree.

I still haven't figured out how to keep the locale directory from getting
soiled.  I'm not really sure there's a way around it really.
2014-10-27 07:34:17 +00:00
stevethefiddle@gmail.com
2abb46b83d Allow generator effects to use preview without requiring a selection to be made.
Documentation: This does not affect any currently shipped effects. This will need documenting on the wiki for writing Nyquist plug-ins.
2014-10-26 20:30:22 +00:00
stevethefiddle@gmail.com
0a6685376e Correct i18n-hints for new meter toolbars 2014-10-26 19:27:23 +00:00
lllucius
96d108f5d5 Add missing include 2014-10-26 18:56:42 +00:00
james.k.crook@gmail.com
8d96bacbf1 Back to old default of dB for meters. 2014-10-26 16:48:35 +00:00
james.k.crook@gmail.com
51be26b49b Restore default meter size.
The meters are back to the length they used to be (with a little space lost for the grabber).  If we want to increase their default lengths then we should look at the space saver idea (make them less tall) or else widen the initial size of Audacity main screen.
2014-10-26 14:42:25 +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
james.k.crook@gmail.com
e9ba00ff6d New behaviour for shift when moving mouse reinstated.
This addition was lost by me in a change I made to Paul's code.
2014-10-26 13:35:17 +00:00
james.k.crook@gmail.com
798f2bb938 Fix memory leak on module list pointer.
Also tweaked code to make it shorter and clearer.
2014-10-26 11:59:02 +00:00
james.k.crook@gmail.com
31fa2be749 Clean up of some spectral selection code making it shorter, clearer and easier to check.
Also added non-shift behaviour for shift and drag center line, that previously asserted.
2014-10-26 10:11:35 +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
789824617c ESC is a toggle, and does not belong as a drag modifier. Commented out for now. 2014-10-25 22:23:59 +00:00
james.k.crook@gmail.com
290a0107c9 Patch from Paul Licameli Improving Spectral Selection
ESC Key toggles snapping of center frequency to peaks (no visual indication of snap to yet)
Description added to mouse prefs - fix later.

Shift now required to keep top/bottom frequency pinned whilst (re)dragging the other one.

Code for status bar messages simplified and made more consistent, and no longer hard codes assumption that preferences is Ctrl-P when prompting user about it.
2014-10-25 22:05:45 +00:00
richardash1981
c2c525dcc3 remove commented out code 2014-10-25 21:16:00 +00:00
richardash1981
b133ba5ab7 Remove some more old preferences code which does not do anything useful, preserving only things which may be useful in the future 2014-10-25 21:08:13 +00:00
richardash1981
384048e1bd Oops, missed this which we don't need any more 2014-10-25 20:58:42 +00:00