1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-11-21 08:27:13 +01:00
Commit Graph

8725 Commits

Author SHA1 Message Date
Paul Licameli
96d8328aa3 fix a comment 2020-02-20 07:19:27 -05:00
Leland Lucius
692174ce2e Forgot several resources in the Mac CMake build
Thanks Peter.
2020-02-19 14:59:33 -06:00
SteveDaulton
3ba5f69089 Fix bug 2328: Ensure fade out at end of each DTMF tone 2020-02-19 19:42:21 +00:00
Leland Lucius
53840f7a3e Various fixes to CMake build
Mostly a result of not defining __WXMSW__, but the portmixer cmakelist
wasn't looking for the right portaudio variables.
2020-02-19 10:53:50 -06:00
David Bailes
b67c82171c Bug 2329 - Keyboard shortcuts: new or changed defaults can create duplicates
Problem:
If a new version of Audacity introduces a new default shortcut, or changes an existing one, then this may be the same shortcut as a user has previously assigned to another command. Both commands will have the same shortcut, and the shortcut will only execute one of those commands.

Fix:
Check for any such duplicates when a user opens a version of audacity using an audacity.cfg file which was created with a different version.
For each duplicate found, remove the shortcut from the command which has a new or changed default.
If duplicates where found, open a message box informing the user of the removed shortcuts.
2020-02-19 15:02:08 +00:00
Paul Licameli
33b5d151ac Bug2271, Compressor ratio slider should not overlap the label...
... commit 707a069 was at fault
2020-02-18 14:21:11 -05:00
Paul Licameli
b423413278 Fix comments 2020-02-17 22:40:05 -05:00
James Crook
38f77e5820 Bug 2276 - Screenshot tool either fails, or may capture the wrong screenshot 2020-02-17 22:50:56 +00:00
James Crook
970061483b Bug 2269 - Linux: Graphic Eq crash 2020-02-17 22:17:16 +00:00
James Crook
b2d9f7c396 Bug 2305 - The Gain, Play-at-Speed and Mixer Board sliders do not display the numeric value in the tooltip when sliding 2020-02-17 21:55:32 +00:00
Paul Licameli
e5540c6118 Don't crash on exit when a module attaches a menu item...
... such as Nyquist Workbench.

I don't fully understand why, but destroying the menu registry items very late,
during the destruction of static objects, causes a crash in memory deallocation,
at least on Mac.

So destroy the menu registry explicitly in application shut-down.
2020-02-17 16:08:59 -05:00
James Crook
0fcb965b15 Revert 72f20d91; Pointer for TCP cursor.
- The TCP cursor is indicating both selection and dragability, so we use the arrow (as UI for tabs does, which are selectable and draggable).
- When actually dragging, we use the clenched fist icon, not the new clenched fist with the fingers cut off icon (aka snowball icon).
2020-02-17 19:17:36 +00:00
James Crook
4512ad76ac Bug 2284 - Macro Manager offers to apply changes to wrong macro 2020-02-17 17:42:17 +00:00
James Crook
a6699ed494 Bug 2283 - Crash on editing Nyquist Generator plug-in parameters in Macro
Big Thanks to Steve for finding this and writing clear steps to reproduce when logging this bug in Bugzilla.  Also thanks to Peter for confirming the same bug is present on Windows, i.e. is all platforms, not just Linux.
2020-02-17 16:31:40 +00:00
James Crook
1d9aa20a40 Bug 2261 - Graphic EQ sliders have no frequency labels 2020-02-17 14:10:37 +00:00
James Crook
4d54430c7c Bug 2270 - Graphic Eq: GUI opens too small vertically 2020-02-17 13:27:13 +00:00
James Crook
3d7cf17950 Bug 2254 - Graphic Eq: Inappropriate presets 2020-02-17 13:21:44 +00:00
James Crook
83c294c844 Bug 2237 - Equalization effects have no Import or Export for curves
This is a minimal fix for this bug, and can be improved on in time.  There is almost no error checking in the file read and write, so if you use a bad presets file, you won't be told (yet).

It does provide import and export for all effects that have presets.
2020-02-17 11:59:40 +00:00
Paul Licameli
11bbce10b1 a null check and a comment 2020-02-16 13:32:10 -05:00
James Crook
60a113da26 Bug 2318 - Time Toolbar is needlessly resized too large when accommodating longer time formats
Tweaks to TimerToolbar.

- When docked, resizer will spring back to right edge when released.
- Now prefers a smaller font, unless bigger is forced.
2020-02-16 11:15:31 +00:00
Paul Licameli
3b9b0eb5f2 Register Wave Color, Spectrogram Settings popup menu items 2020-02-15 15:58:02 -05:00
Paul Licameli
87382d51d8 Demote convenience function that makes computed items to base class 2020-02-15 14:44:17 -05:00
Paul Licameli
4d7a9f00a1 Popup menu table for wave track has member function to get the track 2020-02-15 13:52:41 -05:00
Paul Licameli
cfd07af245 PopupMenuTable supports registration 2020-02-15 13:49:13 -05:00
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
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
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
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
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
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
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