1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-03 17:19:43 +02:00

2733 Commits

Author SHA1 Message Date
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
richardash1981
8e47b64e2b We have used the present preferences since version 1.3.1, do not bother importing any older ones any more for 2.1.0 release 2014-10-25 20:52:09 +00:00
richardash1981
59aa7b9b84 Updates for automake 1.14 as automake 1.13 is now obsolete. No end-user or compiler impact, this only matters to developers. 2014-10-25 20:50:33 +00:00
richardash1981
8051d96cc7 Updates for automake 1.14 as automake 1.13 is now obsolete. No end-user or compiler impact, this only matters to developers. 2014-10-25 20:49:19 +00:00
james.k.crook@gmail.com
023a2e3849 Simpler version of centering preferences on app.
Simplifies r13489
2014-10-25 16:45:26 +00:00
james.k.crook@gmail.com
99bebceb8c Preferences now centered on app rather than centered on toolbar. 2014-10-25 16:38:06 +00:00
james.k.crook@gmail.com
c26917a0ee Fix to toolbar positioning.
1) No longer have toolbars appearing at top-left of screen.
2) If using an old config, we won't have combined, play and record meter bars all at the same time anymore.
2014-10-25 13:53:25 +00:00
james.k.crook@gmail.com
67a18f165a MSVC 2013: Code analysis tool & -> &&
Via David Avery.
2014-10-25 08:25:22 +00:00
james.k.crook@gmail.com
09c5ffe8f1 Possible fix for position of OnPreferences Dialog. 2014-10-24 22:34:47 +00:00
james.k.crook@gmail.com
d8d5a714de Meters now linear by default.
Done following on from comments and +1's on the wiki page about the meters.
2014-10-24 21:17:55 +00:00
james.k.crook@gmail.com
f824dfcd0d Fix: With no prior config set show Record and Play meter, don't show Combined meter. 2014-10-24 20:37:19 +00:00
james.k.crook@gmail.com
d96bbb1f3a Spectral selection effects now prompt for missing frequency fields when used in time selection mode. 2014-10-24 20:27:04 +00:00
james.k.crook@gmail.com
8567775efb Fixed docking of large toolbars.
Previously there were three problems:
1) Docking marker calculation was relative to the mouse rather than relative to the top left of the dragged toolbar.  On a big toolbar dragged from the bottom of the dragger that could be a long way off.
2) Docking markers appeared too low down.  Their position was relative to the middle of the dragged toolbar.  However as the toolbar may be resized on placement that does not make sense.
3) Large (Height()>120) toolbars could be thought to be too tall to dock in some places.  The positioning code used their current size rather than their minimum size.
2014-10-24 18:18:51 +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
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
stevethefiddle@gmail.com
0ce9f5ad16 Allow all output from Nyquist Prompt effect.
As the Nyquist Prompt is the only direct access to input Nyquist commands, it needs to remain flexible and versatile.
2014-10-24 12:04:06 +00:00
james.k.crook@gmail.com
421bc76856 Fix my regression in previous patch: Edges on grayscale should be white, not black. 2014-10-22 22:45:29 +00:00
james.k.crook@gmail.com
3d7dd6c74a Draw dotted lines on frequency selection.
Patch from Paul Licameli, but simplified.
2014-10-22 21:06:15 +00:00
james.k.crook@gmail.com
57544635f9 Changed colours for spectral selection per Steve's suggestion. 2014-10-22 18:46:42 +00:00
james.k.crook@gmail.com
e31644eda8 Fix: Can now drag double height toolbars onto start of last row, even when last row is single height.
I also simplified the code by (a) exiting from a loop as soon as we know the answer and by (b) not treating the initial case of a loop as 'special'.
2014-10-21 16:36:32 +00:00
windinthew@gmail.com
a0f43759a0 Added missing ellipsis to the two Spectral edit plug-ins that have an interface. 2014-10-21 15:00:03 +00:00
james.k.crook@gmail.com
2c5d9ef569 Comments and new variables in ToolDocking code. No change to function. 2014-10-21 14:17:42 +00:00
james.k.crook@gmail.com
bdbdf68248 Device and Mixer toolbar switched to LeftToRight order, record then play, for consistency with MeterToolbar. 2014-10-21 10:02:05 +00:00
james.k.crook@gmail.com
c47a140bcb Record on left, play on right. Left-to-right flow. 2014-10-20 20:12:56 +00:00
lllucius@gmail.com
7ed0376a6c Bring back the GTK file chooser...fixes configure 2014-10-20 18:10:27 +00:00
lllucius@gmail.com
1b993ccd08 Patch provided by Rob (RPM) to resolve many of the wx3 format string assertions
He wanted to help so I asked if he wanted to track them down.  He agreed and
found more than I probably would have.  And he said there were more, but the
rest were questionable and since he works on Windows, wasn't able to actually
test.

I give a few of the ones he did find a go and they do indeed get rid of the
assertions.

(Basically, a 64-bit/32-bit issue, easily resolved with a typecast.)
2014-10-19 03:08:10 +00:00
lllucius@gmail.com
3361b7e61b Update Xcode project with new files 2014-10-19 02:47:05 +00:00
lllucius@gmail.com
97639c4620 Get rid of build OSX build errors:
/Users/yam/tl/audacity/mac/../src/TrackPanel.cpp:1746: error: '<anonymous enum>' is/uses anonymous type
/Users/yam/tl/audacity/mac/../src/TrackPanel.cpp:1746: error:   trying to instantiate 'template<class A, class B, class DIST> bool within(A, B, DIST)'
2014-10-19 02:46:44 +00:00
james.k.crook@gmail.com
fec5c20c65 Fix warning.
Warning was about deleting an incomplete type.  Needed definition of class Ruler.
2014-10-18 21:18:28 +00:00
james.k.crook@gmail.com
e42ac43908 Added <wx/version.h> so that the wxCHECK_VERSION will work. 2014-10-18 19:18:35 +00:00
james.k.crook@gmail.com
af649b94e1 c_str()'s for Linux.
[Need to review this for wx3.x]
2014-10-18 18:46:50 +00:00
james.k.crook@gmail.com
e77fa72adc wxMemoryDC needed. 2014-10-18 18:41:56 +00:00
james.k.crook@gmail.com
bffa710ce4 Removed TrackPanel:: prefix so can compile under Linux. 2014-10-18 18:36:34 +00:00
james.k.crook@gmail.com
a6f9f6bc58 Spectral Editing: Using subroutines to shorten code, and more comments in the code. 2014-10-18 16:01:50 +00:00
james.k.crook@gmail.com
4a3fc8f9ec Added two new names to Contributors. 2014-10-18 14:29:50 +00:00
james.k.crook@gmail.com
9884538167 New header files that I missed out from the previous commit (Spectral editing) 2014-10-18 14:25:44 +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
lllucius@gmail.com
b84fdb82e1 Looks like accidentially commited this back in 2013.
It should be here and causes problems when committing.
2014-10-18 04:38:46 +00:00
lllucius
0f1d1ad6f9 I missed a few WXWIN variables as pointed out by Rob (RPM) 2014-10-17 17:58:27 +00:00
lllucius
043d776bd1 Just needed to merge the ".user" properties into the main project file
You should now be able to switch between wx2 and wx3 configs.
(For real this time.)
2014-10-17 14:22:09 +00:00
lllucius
5ee1b966dc Provides the debugging settings to allow for wx2 and wx3 switching 2014-10-17 12:40:11 +00:00
james.k.crook@gmail.com
466287b46e Disable splash screen in wx3 whilst we work out what the problem is with showing a dialog and a splash screen at the same time. 2014-10-16 20:23:26 +00:00
lllucius
c512822138 Additional changes for wx3
These are mostly for getting it to build on Linux, but I've
also created new configs in Visual Studio to make it easier
to switch between wx2 and wx3.

For Linux, you have to tell configure where to find the wx3
version of the wx-config script and, since some distros build
wxWidgets v3 against GTK+ v3, you may also need to enable
gtk3 with something like:

./configure --enable-gtk3 WX_CONFIG=/usr/bin/wx-config-3.0

On Windows, I've added "wx3-Debug" and "wx3-Release" to the
existing "Debug" and "Release" configurations.

They depend on you having your WXWIN environment variable
pointing to your wx2 directory and a new WXWIN3 environment
variable pointing to your wx3 directory.  For instance, I
have:

WXWIN=C:\Users\yam\Documents\wxWidgets-2.8.13
WXWIN3=C:\Users\yam\Documents\wxWidgets-3.0.2

Doing this allows you to switch freely among the 4 configurations
without having to get out of Visual Studio and monkey around with
the environment.

The project files will also add the location of the wxWidgets DLLs
to the PATH when running Audacity from within Visual Studio.  They
add %WXWIN%\lib\vc_dll or %WXWIN3%\lib\vc_dll at the beginning
of the PATH variable as appropriate.

I expect that once we convert to wx3 we'll just drop back down to
the normal Debug and Release configurations, but this should make
switching between wx2 and wx3 much easier during the transition.
2014-10-16 16:18:04 +00:00