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

11452 Commits

Author SHA1 Message Date
SteveDaulton
63c7f6b722 Nyquist: Handle nyx_list return value
Required to avoid error on running Macoro Scripting commands
from Nyquist.
2020-02-15 15:28:01 +00:00
Leland Lucius
cda8f2fcd6 Detect in-source builds better 2020-02-14 23:14:39 -06:00
Paul Licameli
4cfbf07227 Registry passed to Visit can be const 2020-02-14 22:08:35 -05:00
Paul Licameli
46f958f376 Use computed registry items for conditionally shown popup menu items 2020-02-14 21:38:07 -05:00
Leland Lucius
e07b5df6f3 Reworked cmake command options
And fixed a recursion problem when copying DLLs to dest folder

The command options are now:

   // Enable Audio Unit plug-in support
   audacity_enable_audiounits:BOOL=ON

   // Library preference [system (if available), local]
   audacity_lib_preference:STRING=system

   // Use FileDialog library [local]
   audacity_use_FileDialog:STRING=local

   // Use expat library [local]
   audacity_use_expat:STRING=local

   // Use ffmpeg library [loaded, off]
   audacity_use_ffmpeg:STRING=off

   // Use flac library [system (if available), local, off]
   audacity_use_flac:STRING=local

   // Use id3tag library [system (if available), local, off]
   audacity_use_id3tag:STRING=local

   // Use LADSPA plug-in support [on, off]
   audacity_use_ladspa:BOOL=ON

   // Use lame library [system (if available), local]
   audacity_use_lame:STRING=local

   // Use libextra library [local]
   audacity_use_libextra:STRING=local

   // Use lv2 library [system (if available), local, off]
   audacity_use_lv2:STRING=local

   // Use mad library [system (if available), local, off]
   audacity_use_mad:STRING=local

   // Use midi library [system (if available), local, off]
   audacity_use_midi:STRING=local

   // Use nyquist library [local, off]
   audacity_use_nyquist:STRING=local

   // Use ogg library [system (if available), local, off]
   audacity_use_ogg:STRING=local

   // Use the portaudio CoreAudio interface if available
   audacity_use_pa_coreaudio:BOOL=YES

   // Use the JACK audio interface if available [loaded, linked, off]
   audacity_use_pa_jack:STRING=off

   // Use the OSS audio interface if available
   audacity_use_pa_oss:BOOL=NO

   // Use portaudio library [local]
   audacity_use_portaudio:STRING=local

   // Use portmixer library [local, off]
   audacity_use_portmixer:STRING=local

   // Use portsmf library [system (if available), local, off]
   audacity_use_portsmf:STRING=local

   // Use sbsms library [system (if available), local, off]
   audacity_use_sbsms:STRING=local

   // Use sndfile library [system (if available), local]
   audacity_use_sndfile:STRING=local

   // Use soundtouch library [system (if available), local, off]
   audacity_use_soundtouch:STRING=local

   // Use soxr library [system (if available), local]
   audacity_use_soxr:STRING=local

   // Use twolame library [system (if available), local, off]
   audacity_use_twolame:STRING=local

   // Use vamp library [system (if available), local, off]
   audacity_use_vamp:STRING=local

   // Use vorbis library [system (if available), local, off]
   audacity_use_vorbis:STRING=local

   // Use VST2 plug-in support [on, off]
   audacity_use_vst:BOOL=ON

   // Use wxwidgets library [system (if available), local]
   audacity_use_wxwidgets:STRING=system
2020-02-14 15:56:33 -06:00
Paul Licameli
5501ac0fc2 Move defs of menu items for changing tools, to be with the toolbar 2020-02-14 14:55:39 -05:00
Paul Licameli
d0a99d5ae5 Each toolbar registers its menu item 2020-02-14 14:51:11 -05:00
Paul Licameli
4bbf8bfb6a ToolDock does not depend directly on ToolManager 2020-02-14 12:55:12 -05:00
Paul Licameli
ab4751d092 Remove some unused things 2020-02-14 09:43:55 -05:00
James Crook
f7c230319e Bug 2317 - Scripting: "GetInfo: Commands" omits commands without parameters 2020-02-14 13:37:13 +00:00
James Crook
de2459d98a Allow slightly smaller font to fix an edge case.
With the minimum size of 21, it was still possible to hide the drop-down.
2020-02-14 13:06:25 +00:00
James Crook
b837d49b6b Improve positioning of dock-drop indicator
The triangle showing where in the dock a toolbar will drop now takes into account that overly tall toolbars will be resized to 2 tbs once they are docked.
2020-02-14 12:46:43 +00:00
James Crook
9985b8a9b8 Fix Big Time TimerToolBar, Stage III
Fixed issue where format selector could disappear.
Fixed upgrade from 2.3.3.
Remembers time format.
2020-02-14 12:02:21 +00:00
Leland Lucius
1dffc4fe1f Allow 64-bit common controls to be used
I'd wager that we should simply get rid of this and the similar
pragma in AudacityApp.cpp.
2020-02-12 21:47:44 -06:00
Leland Lucius
709f2f91da Make it build on 64-bit AND 32-bit 2020-02-12 13:28:16 -06:00
Leland Lucius
db70394964 Changes to detect 64-bit builds correctly 2020-02-12 13:08:41 -06:00
Leland Lucius
85219e371c Fix minor issues when building for 64-bit Windows 2020-02-12 13:07:55 -06:00
Leland Lucius
99aded10f5 Default (don't force) platform
This let's the user specify the platform using "cmake -A".
2020-02-12 09:02:00 -06:00
Leland Lucius
efa759d7e7 Temporarily force the Windows cmake arch to 32-bit
We can remove this when we support 64-bit on Windows.
2020-02-12 08:46:21 -06:00
David Bailes
d28c2417db Minor fix to my commit e030225
Forgot that the initial speed can be negative.
2020-02-12 14:06:58 +00:00
Leland Lucius
2430582e90 Destination for file() is always a directory
Thanks RenÃ
2020-02-12 07:54:33 -06:00
Leland Lucius
e79274a403 Various cmake changes
Mostly from suggestions, but there's a couple of other minor
fixes and additions:

   Cmake not decides with SDK to use on Windows

   All Audacity cmake options are not prefixed with "audacity_", but this
   is configurable in audacity/CMakeLists.txt

   Several other options have been marked advanced so they don't clutter
   the CMake GUI

   On Windows, multiple processors will now be used reducing build time
   considerably

   Quieted a couple of package messages that the user doesn't need to see

   No longer tried to create aliases on Windows

   No longer used precompiled headers if ccache is available

   On Windows, only copies the needed wxWidgets and VC runtime libraries
   to the bin directory
2020-02-12 01:05:51 -06:00
Leland Lucius
cb5d1f0bf5 Fix ifdef
Should only test this for definition not a particular value
2020-02-12 00:47:26 -06:00
SteveDaulton
930e74dabc Nyquist: Only import built-in effects
Extreme slowdown has been reported when generating LISP
Functions for all scripting Commands, so only generate
LISP functions for built-in effects.
Additional LISP functions may be generated on demand
using (aud-import <command-name>).
2020-02-11 20:00:23 +00:00
David Bailes
e0302257c5 Keyboard scrubbing and Play-at-speed: remove initial silence
Currently AudioIoCallback::ScrubState::Get(), inserts a period of silence the first time it's called because at this time Scrubber::ContinueScrubbingPoll() has not been called, and so message.end has not been set to an appropriate value.
In the case of keyboard scrubbing and play-at-speed, the initial speed is already known, so message.end can be set to this value, removing the need for an initial silence.
The start of keyboard scrubbing and play-at-speed are now faster (the latter very much faster).
2020-02-11 15:56:12 +00:00
David Bailes
55e44cdc83 Playback cursor jitter when scrubbing backwards
Currently the jitter in the playback cursor is worse when scrubbing backwards than forwards.

Fix:
In AudioIOBase::PlaybackSchedule::AdvancedTrackTime()
in the line:
time += realElapsed * speed;
realElapsed is negative when scrubbing backwards, so need fabs(speed) rather than just speed.
2020-02-11 15:41:08 +00:00
Leland Lucius
70bbfb69d5 Last major update to the cmake build
I'm sure there will be further minor updates, but this
should be the last major update and it should be ready
for testing.

Audacity specific cmake options (cmake -Doption=<yes|no>) include:

   // Disable dynamic loading of ffmpeg libraries
   disable_dynamic_ffmpeg:BOOL=OFF

   // Disable dynamic loading of JACK libraries
   disable_dynamic_jack:BOOL=ON

   // Enable ffmpeg library
   enable_ffmpeg:BOOL=ON

   // Enable flac library
   enable_flac:BOOL=ON

   // Enable id3tag library
   enable_id3tag:BOOL=ON

   // Enable LADSPA plug-in support
   enable_ladspa:BOOL=ON

   // Enable lv2 library
   enable_lv2:BOOL=ON

   // Enable mad library
   enable_mad:BOOL=ON

   // Enable midi library
   enable_midi:BOOL=ON

   // Enable nyquist library
   enable_nyquist:BOOL=ON

   // Enable ogg library
   enable_ogg:BOOL=ON

   // Enable portmixer library
   enable_portmixer:BOOL=ON

   // Enable portsmf library
   enable_portsmf:BOOL=ON

   // Enable sbsms library
   enable_sbsms:BOOL=ON

   // Enable soundtouch library
   enable_soundtouch:BOOL=ON

   // Enable twolame library
   enable_twolame:BOOL=ON

   // Enable vamp library
   enable_vamp:BOOL=ON

   // Enable vorbis library
   enable_vorbis:BOOL=ON

   // Enable VST2 plug-in support
   enable_vst:BOOL=ON

   // Use system libraries if available
   prefer_system_libs:BOOL=ON

   // Enable the portaudio ALSA interface if available
   use_pa_alsa:BOOL=ON

   // Enable the portaudio CoreAudio interface if available
   use_pa_coreaudio:BOOL=ON

   // Enable the portaudio DirectSound interface if available
   use_pa_ds:BOOL=ON

   // Use the JACK audio interface if available
   use_pa_jack:BOOL=ON

   // Use the OSS audio interface if available
   use_pa_oss:BOOL=ON

   // Enable the portaudio WASAPI interface if available
   use_pa_wasapi:BOOL=ON

   // Enable the portaudio WMME interface if available
   use_pa_wmme:BOOL=ON

   // Use ffmpeg system library if available
   use_system_ffmpeg:BOOL=ON

   // Use flac system library if available
   use_system_flac:BOOL=ON

   // Use id3tag system library if available
   use_system_id3tag:BOOL=ON

   // Use lame system library if available
   use_system_lame:BOOL=ON

   // Use lv2 system library if available
   use_system_lv2:BOOL=ON

   // Use mad system library if available
   use_system_mad:BOOL=ON

   // Use midi system library if available
   use_system_midi:BOOL=ON

   // Use ogg system library if available
   use_system_ogg:BOOL=ON

   // Use portsmf system library if available
   use_system_portsmf:BOOL=ON

   // Use sbsms system library if available
   use_system_sbsms:BOOL=ON

   // Use sndfile system library if available
   use_system_sndfile:BOOL=ON

   // Use soundtouch system library if available
   use_system_soundtouch:BOOL=ON

   // Use soxr system library if available
   use_system_soxr:BOOL=ON

   // Use twolame system library if available
   use_system_twolame:BOOL=ON

   // Use vamp system library if available
   use_system_vamp:BOOL=ON

   // Use vorbis system library if available
   use_system_vorbis:BOOL=ON

   // Use wxwidgets system library if available
   use_system_wxwidgets:BOOL=ON
2020-02-11 01:15:26 -06:00
James Crook
371afa3ffa Scripting Help Command now supports JSON, LISP, Brief. 2020-02-10 15:55:39 +00:00
David Bailes
7ff9f1b302 Bug 2293 - Change Tempo effect fails
Problem:
Validation of the length fails, because what should be the min and max are in fact the max and min.

Introduced by commit 1d32824, which got the min and max the wrong way round.
2020-02-10 10:44:03 +00:00
Paul Licameli
52bc74861a Preliminaries before a registration system for track popup menus 2020-02-09 23:51:09 -05:00
Paul Licameli
db3543500c Each popup menu item can carry a callback to check or disable it 2020-02-09 23:48:40 -05:00
Paul Licameli
00a419a280 Store a reference to a handler object in each PopupMenuItem 2020-02-09 23:48:40 -05:00
Paul Licameli
e1e0869e26 Replace some macros for popup menus with function calls 2020-02-09 23:48:40 -05:00
James Crook
30b26a0b99 Add <wx/bmpbuttn.h> needed by Linux. 2020-02-09 20:46:16 +00:00
James Crook
41619af8cd Bug 2274 - Enh: Dialog for orphan block files has no "?" Help button
also

Bug 2273 - Enh: Dialog for missing block files has no "?" Help button

These now link to the appropriate page in the manual.
2020-02-09 20:26:29 +00:00
SteveDaulton
b85a393af4 Increase size of Nyquist string widget 2020-02-09 12:03:46 +00:00
Leland Lucius
19d5f987c4 Add pa_unix_oss.h to portaudio patch 2020-02-09 04:06:41 -06:00
Leland Lucius
b106de19dd File lost in commit 126aec1
When upgrading portaudio to the r1966 revision back in
March of 2016, the pa_unix_oss.h file was lost.  This
is an Audacity specific/provided file.

Doubtful that the OSS interface is used on Linux much,
but it could be used on other Unix-like systems.
2020-02-09 03:41:11 -06:00
Paul Licameli
8f88aa106e Bug2312: don't crash using Wave Color, Format, Rate sub-menus of TCP 2020-02-08 13:20:18 -05:00
Leland Lucius
c2888302fd Fix debug/release mismatch
Visual Studio doesn't like mixing debug and non-debug code.
2020-02-06 23:31:28 -06:00
Leland Lucius
70a67c51d2 Get rid of warning in LV2Effect.cpp
Use the wxCRT_StrdupA to use the appropriate strdup
function for the platform.
2020-02-06 23:18:48 -06:00
Leland Lucius
2ec12c150b Fix multi-config builds
Hopefully, this corrects the handling of the different
configs like Debug, Release, etc, when dealing with
multi-config generators.
2020-02-06 20:10:29 -06:00
Leland Lucius
8e8e71116a Update Mac build instructions
Thanks Cliff!
2020-02-06 17:47:48 -06:00
Paul Licameli
d631697321 Reorganize "Wave Color" and "Spectrogram Settings" in TCP menu...
... Now they are treated more alike:

Each is shown or hidden (not enabled or disabled) as the corresponding sub-view
of the wave track is shown or not.

Each has separator lines above and below.

They are shown (one or the other or both) after the choices for sub-views, and
not near the bottom of the menu.

This makes the TCP menu one item shorter in the default case that you view only
waveform.
2020-02-06 17:52:58 -05:00
Paul Licameli
540f2c5e67 Restore separators after "Move Track to Bottom" in TCP menus 2020-02-06 17:52:45 -05:00
SteveDaulton
3d5b0d4dd0 Clarify comment 2020-02-06 16:55:51 +00:00
James Crook
f3acd4ca00 Preallocate string for aud-do
Helps marginally with speed of commands which generate long strings in many small steps.
2020-02-06 09:40:30 +00:00
James Crook
a09885e995 Fix Big Time TimerToolBar, Stage II
- Naming (Time Toolbar, not TimerToolBar Toolbar)
- Default time format hhmmss
- Lower dock
- Enabled by default
- Sensible min and max font size
- Sensible min and initial width
- Omit Audio Time from Selection Toolbar
2020-02-06 09:40:30 +00:00
Leland Lucius
f0e3ee2cde More cmake updates
Added install target (this is mainly for Linux)
Added mod-nyq-bench

More to come...
2020-02-06 01:17:20 -06:00
Paul Licameli
54ba4e9b8a Rewrite popup menu code to user registry visitors...
... but there are not yet any items moved out as plug-ins
2020-02-06 00:54:08 -05:00