Commit Graph

227 Commits

Author SHA1 Message Date
Paul Licameli e57afb3729 Fix many unused argument warnings in Menus.cpp 2018-02-21 15:18:38 -05:00
Paul Licameli f78a418df8 An alpha-only toggle command for extra dropout detection; default off 2018-01-17 20:35:56 -05:00
Paul Licameli 9777d3e880 Alert user to drop-outs during recording...
1) When the program detects this, insert zeroes into the recording to keep the
other good parts synchronized.

2) When recording stops, a message box alerts the user, and a label track is
added showing the lost parts, labelled with consecutive numbers.

3) A menu item visible in alpha builds only is added to Tools, to simulate
recording errors at random times and test the reporting feature.
2018-01-15 14:48:39 -05:00
David Bailes 6ca8cef34a Fix for select next/previous clip
Problem (at least on Windows 10): The commands no longer work properly. For a simple example, with one track selected, and the last clip selected, next clip moves to a non existant clip.
This was caused be commit baec816. In this commit, a member function was added to the struct FoundClip. Because FoundClip is no longer POD, statements such as:
AudacityProject::FoundClip result{}; no longer zero initialize the struct.

Fix: explicitly zero initialize the data members of FoundClip. I've also zero initialized the data members of FoundClipBoundary, where their are potentially similar problems, although there were no problems in my tests.
2018-01-09 11:24:57 +00:00
James Crook 0cc9c6bc3b Zoom Toggle
Added preferences for Zoom-Toggle and put into menus.
New helper functions for determining zoom scaling.

Optional EXPERIMENTAL_ZOOM_TOGGLE_BUTTON added, and Light theme updated.
Not enabled for 2.2.2.
2018-01-07 17:14:33 +00:00
Paul Licameli ab6de1181d No more functor objects; all command handler functions take same args 2018-01-05 09:27:29 -05:00
Paul Licameli 77c392d29c AudacityProject::OnEffect wraps new function DoEffect 2018-01-05 09:27:28 -05:00
Paul Licameli 1f7b62f056 AudacityProject::RebuildAllMenuBars is static 2018-01-05 09:19:07 -05:00
Paul Licameli baec816142 Rewrite the composition of clip messages in i18n-friendly way 2018-01-04 09:43:25 -05:00
Paul Licameli f0de38dec1 Scanned for bad naked new; found none; changed comments, used safenew 2017-07-23 09:35:01 -04:00
Pokechu22 681161f60b Add MIDI device diagnostics
* MIDI Device Info menu item, like Audio Device Info

 * MIDI device info in crash reports

 * Only enabled with EXPERIMENTAL_MIDI_OUT, but tracks info related to the (unimplemented) EXPERIMENTAL_MIDI_IN
2017-07-16 10:58:53 -04:00
David Bailes 71ac4bb2f5 Fixes for commands to move cursor to or select to clip boundaries
The messages sent to screen readers for these commands were incorrect when stereo tracks were present. This has been fixed, including the case where the two channels of a stereo track have different clip boundaries.
2017-07-11 15:27:33 +01:00
David Bailes 71a75fc28d Fixes for commands to select next/previous clip
The messages sent to screen readers for these commands were incorrect when stereo tracks were present. This has been fixed, including the case where the two channels of a stereo track have different clip boundaries.
2017-07-11 11:30:18 +01:00
Paul Licameli ef38af71dd Move more time-shifting functions out of TrackPanel.cpp 2017-06-15 08:21:01 -04:00
Paul Licameli e2d77b399d Move one more selection function out of TrackPanel 2017-06-11 16:14:26 -04:00
Paul Licameli d834bcdbd1 Move some command handlers for selection and focus out of TrackPanel 2017-06-11 11:03:28 -04:00
James Crook adc7312954 Auto-Select off by default.
I've implemented three states for what to do if no selection:
0 - Grey out (no longer used)
1 - Auto-select
2 - Give the warning message and try again.
2017-06-09 19:40:28 +01:00
Paul Licameli a33ec61ddf Move code for toggling spectral selection (Q key) out of TrackPanel 2017-06-08 12:48:28 -04:00
Paul Licameli d210b18aad Limit consolidation of undo items by other means 2017-05-24 00:23:25 -04:00
David Bailes cd6c9834f6 Clip move commands - minor fix.
Forgot that the name of data members should begin with the letter m. Fixed this.
2017-05-23 12:56:11 +01:00
David Bailes f46ac268f4 Update commands for moving clips using the keyboard
Second attempt at getting the commands to update history, so that they can be undone (previous attempt at b911607, which didn't call the undo manager for each keydown).

Both a single keypress (keydown, then keyup), and holding down a key (multiple keydowns followed by a keyup) result in a single entry in Audacity's history dialog. Note that this code relies on a change to the undo mananger in commit 63ae687.
2017-05-23 10:29:49 +01:00
Paul Licameli f7578193b4 TrackPanel::OnClipMove is a static function 2017-05-18 07:46:54 -04:00
Paul Licameli d36ac2cedb Revert "Fix for keyboard commands for time shifting clips"
This reverts commit b91160795d.
2017-05-18 07:06:22 -04:00
David Bailes b91160795d Fix for keyboard commands for time shifting clips
Commands didn't update history etc.

Fix: Commands now call TrackPanel::MakeParentPushState.
2017-05-15 13:12:11 +01:00
James Crook 0ac2d90d8a SelectAllIfNone now selects all time if none, and all tracks if none.
This means you can now select just a time, and get all tracks selected, or some tracks, and get all time selected.
One side effect of this is that if you select a label (only) and apply 'cut' you now just cut the label, rather than cutting all tracks.  If you select a label and apply echo, you now get an error message, rather than applying echo to all tracks.
2017-05-13 10:06:52 +01:00
James Crook 35fe313f30 Smarter SelectAllIfNone
Now if there is a time selection and no tracks selected, then just select all the tracks, preserving the time selection.
This helps in the case a user has made a time selection, e.g. with selection toolbar, and then clicked on track panel, losing the selection of tracks but preserving the time selection.

I also shortened some repeated cut-and-pasted code.
2017-05-11 22:36:55 +01:00
David Bailes b2d8f36969 Fix for bugs in keyboard clip commands due to rounding errors
When When two clips are immediately next to each other, the GetEndTime() of the first clip and the GetStartTime() of the second clip may not be exactly equal due to rounding errors. The existing code assumed they were equal, and this lead to the wrong clip boundaries or clips being found.

There are a number of ways of fixing this which could be explored. The current solution involves changing only the code for the keyboard interaction with clips.

The fix:
1. The test used for two clips being immediately next to each other is that GetEndSample() on the first clip is equal to to GetStartSample() on the second clip.
2. When searching for the start/end times of clips, the cases where GetEndTime() and GetStartTime() are not equal are taken into account. This is done in the two functions AudacityProject::AdjustForFindingStartTimes and AudacityProject::AdjustForFindingEndTimes.
2017-05-10 09:24:25 +01:00
James Crook 9d501f69d6 Add preference for Record being to new track. 2017-05-01 12:04:27 +01:00
David Bailes baf46c1f85 Update to Select Previous/Next clip commands
Previously, these two commands used the clips in the focused track. They now have similar to the Tracks->Pan->Left/Right/Center commands. That is if any audio tracks are selected, the clips in these tracks are used, otherwise the clips in all audio tracks are used.
2017-05-01 09:20:44 +01:00
David Bailes ce1d067f84 Update to Clip Boundary commands
This update affects the four commands:
Cursor to Previous clip boundary
Cursor to Next clip boundary
Select previous clip boundary to cursor
Select cursor to next clip boundary

Previously these commands all used the clips in the focused track. This update changes this so that their behaviour is the same as the Tracks->Pan->Left/Right/Center commands. That is, if any audio tracks are selected, all the clips in these tracks are used, else the clips in all audio tracks are used.
2017-05-01 08:58:46 +01:00
James Crook 6d361687d6 Add Show/Hide Extra menus preference.
The new preference is in the view menu and on the Gui preferences page.
Also Ext Menus rearranged to more closely match default toolbar order.
Also F11 (a new menu command to show/hide maximised) now has a check mark.

This change needs testing on mac as mac is pickier about when menus are updated.
2017-04-21 17:32:53 +01:00
David Bailes 592453082b Removed zoom presets
Removed the zoom presets which I added in commit 1fa97a4. Nobody else wanted them.
2017-04-21 15:15:38 +01:00
James Crook 221b0271ca Bug 1628 - Tracks > Align items two submenus deep
Fixed by adding a new on/off option, "Move  Selection With Tracks".
2017-04-08 11:54:25 +01:00
David Bailes caca4d20f3 Zoom presets: wording change
Thousandth second -> Millisecond
2017-04-07 08:57:48 +01:00
David Bailes 1fa97a4b37 Added zoom presets
Please Note:
In ViewInfo.h there is the comment left by Paul:
// There is NO GetZoom()!
// Use TimeToPosition and PositionToTime and OffsetTimeByPixels!

I needed to get the value of the current zoom so that I could use the functions AudacityProject::ZoomInByFactor and AudacityProject::ZoomOutByFactor to handle the change in zoom when a preset zoom is chosen. So I added GetZoom() for this use.
2017-04-06 12:49:38 +01:00
James Crook 52f0f750d9 Add Tracks->Pan->Left/Right/Center 2017-04-03 22:35:19 +01:00
David Bailes a7a4a70e5f Two commands added, neither on a menu:
Clip Left
Clip Right

If the cursor lies within a clip, the clip and the cursor is moved 1 pixel left/right.
If the cursor position is at both a clip end and a clip start, the second of these clips is moved.

The movement currently ignores the snap to setting on the selection bar, and there is no snapping to the clip boundaries of other clips.
Following the behaviour or shifting with the mouse, the distance moved is rounded to an integral number of samples, and the minimum distance moved is one sample.
2017-04-03 13:53:48 +01:00
David Bailes c382139c05 New commands for selecting clips using the keyboard
Added two commands:
Select > Previous clip. Select the previous clip for which clip start < selection start/cursor position.

Select > Next clip. If the position of selection start/cursor is at the start of a clip, and selection end is not at the end of the clip, select that clip. Otherwise, select the next clip for which clip start > selection start/cursor position.
2017-04-03 13:45:58 +01:00
David Bailes a519e6fc7d New commands for clip boundaries using the keyboard
Added the commands:
Cursor to > Previous clip boundary
Cursor to > Next clip boundary
Select > Previous clip boundary to cursor
Select > Cursor to next clip boundary
2017-04-03 13:35:46 +01:00
Paul Licameli 1552ff188f When opening a file into a new project, delete the project on failure 2017-03-21 14:11:28 -04:00
James Crook 5c1f4d24b5 Menu rearrangement merged from DarkAudacity 2017-03-19 16:43:51 +00:00
Paul Licameli 9eaa40659e Utility for track editing leaves fewer direct calls to GetLinked() 2017-03-17 17:52:28 -04:00
Paul Licameli 6665370f61 Fix spelling in a function name 2017-03-17 17:52:21 -04:00
James Crook c53e2dbb77 Bug 1597 - Enh: Greater clarity over status of versions needed
- For ALPHA builds we do a check version with the Welcome screen (if welcome screen is enabled).
- A 'Check Online' in the About box provides a new route to check version
- Check Version now passes CommitId and Build Date/Time to identify a version.

To actually close the bug we need the javascript on the server page to put up informative messages.
2017-02-25 23:00:39 +00:00
Steve Daulton 15aa84f10b Fix bug 1575
Includes fix by PRL:
https://github.com/Paul-Licameli/audacity/commit/cbca44e
2017-01-16 12:35:07 +00:00
David Bailes 87c0eb1563 Rename the two commands for the Saved cursor position
After discussion on Audacity-quality mailing list, the commands now refer to the stored cursor position, rather than the saved cursor position. (This position is not saved to disc).
2016-11-20 12:44:13 +00:00
David Bailes cc24472d09 Add two new commands for selecting a time range using the keyboard
The new commands are "Save Cursor Position" and "(Select) Cursor to Saved Cursor Position"
2016-11-08 08:58:48 +00:00
David Bailes 5542f88089 Changed names of the commands to move to next/previous label
Selection to next label => Move to Next Label
Selection to previous label => Move to Previous Label
2016-11-01 14:09:03 +00:00
David Bailes a79596fb4e Add a setting for whether labels can be created by typing
Added a setting for whether labels can be created by typing in a label track.
The setting can be changed in either the Tracks menu, or the Tracks category in Preferences.
By default the setting is set to on.
2016-10-26 13:11:07 +01:00
David Bailes ff9763f984 Add two commands to move the cursor/selection to next/prev label
The two commands are "selection to next label" and "selection to previous label".
They have default shortcuts alt+right and alt+left.

A label track does not have to be the focus. If there is a single label track in the project, that it used. If there is more than one label track, then the first label track, if any, starting at the focused track is used.

If the commands are used during playback of the project, playback continues from the new cursor/selection.

The commands provide feedback to screen readers: the name of the label, and position in the form of "i of n".
2016-10-24 14:24:20 +01:00
Paul Licameli 302ac247e1 Implmement option+command+M on Mac to minimize all projects 2016-06-29 14:24:51 -04:00
Paul Licameli 617fdb387f Bugs 1119, 1198: Bring back the Mac Window menu, at least partly...
... This poor imitation of the standard Mac Window menu only includes
Minimize and Zoom.

But this may be adequate for the complaints in Bug1198, when the yellow title
bar button is hidden and unreachable.
2016-06-28 15:52:33 -04:00
Paul Licameli 53e30e5533 Label context menu can bring up the edit dialog 2016-06-26 13:34:52 -04:00
Paul Licameli 5a121bbbd8 Bug1252 more: Omit empty tool docks from ctrl+f6 rotation 2016-06-23 17:56:30 -04:00
Paul Licameli df0e4945de Remove scrolling left of zero check mark from Tracks menu...
... Less need now to make it more discoverable, because we override an "off"
setting during transport with a pinned play head, thus removing some
inconsistency and confusion.
2016-06-08 18:33:02 -04:00
Paul Licameli fd9d6a8fcf Set selection whenever scrub/seek stops by any means besides ESC key 2016-06-06 01:45:54 -04:00
Paul Licameli f5c4c85653 New scrubbing toolbar; remove ruler pushbuttons. 2016-06-05 01:03:24 -04:00
Paul Licameli e39da0c42b New preference for pinned play head, also in Transport menu 2016-06-01 13:25:01 -04:00
Paul Licameli 4394ad1b70 Add a check item to Tracks menu for the scrolling beyond zero preference 2016-05-10 12:47:34 -04:00
Paul Licameli 19ef2f6681 Implement drag-scrub, compatibly with the existing move-scrub...
... Start scrub by click or double click on the scrub head; release button or
not; then move.

If you release before moving, you get scrubbing as before, controlled by
motion.  Click or drag to switch in and out of seeking.  Stop with ESC,
spacebar, etc.  No change of selection.

But now if you drag, then scrubbing contines until you release the mouse or
otherwise stop with a key.

If by release of the mouse, then the selection changes as if by a click at
the last play position.  If you hold shift, then, as if by shift-click.

If drag begins with a double-click, then the play head remains centered and
the track moves.
2016-05-10 09:37:10 -04:00
Paul Licameli 014d5ab93c Type safety in the use of command flags, and make enum wide, allowing more bits 2016-05-05 20:02:13 -04:00
Paul Licameli 4fba13bd2a Improved behavior of scrubbing menu items: Checkmarks, and toggling behavior. 2016-04-23 15:07:45 -04:00
Paul Licameli 26771b6db9 Add transport menu items for scrubbing and seeking...
... This includes new always-seeking modes unlike scrubbing which can switch
to seeking and back according to the left mouse button state.

The reason for this is that visually impaired users should not be required to
click with the mouse in the track panel window to signal seeking.  But mouse
movements can still control scrubbing, because we poll the global mouse
position in the timer, not relying on events from any window object.
2016-04-21 12:13:39 -04:00
Paul Licameli 81c2cc950f Rewrite the sorting of tracks 2016-03-26 15:41:24 -04:00
Paul Licameli 4cf9e0e6d6 Bug1354: Importing MIDI via Import Audio... and list-of-files should undo...
... also fixes a possible memory leak in direct Import MIDI... along the
failure path.
2016-03-14 11:02:09 -04:00
Paul Licameli dfc84d030c Fix warnings for out-of-order initializers, with in-class member initializers 2016-02-26 14:56:30 -05:00
Paul Licameli 88eeebcb8b Undoing and redoing of Tags...
Use reference counting (in std::shared_ptr) to avoid replicating Tags with each
Undo state.
2016-02-24 19:25:39 -05:00
Paul Licameli 116ea61d11 Bug30: During playback, after CTRL+M, chars, ENTER -- restore track focus. 2016-01-21 10:18:41 -05:00
Steve Daulton 1d6d08c47d Don't push effects that can't be undone onto the Undo Stack 2016-01-21 02:07:28 +00:00
Paul Licameli 1278b9644a Uniform naming of symbols in Experimental.h 2015-08-31 17:55:56 -04:00
Paul Licameli 01fe404a02 Move track permuting details out of TrackPanel.cpp 2015-08-29 13:46:35 -04:00
Paul Licameli e7482c74bd Move cursor moving functions out of TrackPanel 2015-08-27 21:22:41 -04:00
Leland Lucius 5bdfcff97d Menu shortcut hiding has been removed
It had been causing problems in Unity for a while now and they
were missing on OSX as well in wx3.  So, the old menu Open/Close
method of hiding has been removed and replaced with an event
filter/monitor which looks for wxEVT_CHAR_HOOK events to pass
key events to the handler that has the keyboard captured.
2015-07-28 14:35:09 -05:00
Paul-Licameli 5a6d5d1443 Add and use some ZoomInfo and ViewInfo member functions, so we can eliminate...
... miscellaneous direct uses of ZoomInfo::zoom to test and set zoom level.

This includes all the remaining assignments to it.

But moving TrackInfo::PositionToTime and TrackInfo::TimeToPosition into
ZoomInfo and using them is needed to eliminate many more uses.

Also #if'd out the unused AudacityProject::OnZoomToggle().
2015-07-19 11:44:02 -04:00
James Crook 8ae6fc42e1 Added 'More...' to Generate and Analyze menus 2015-05-14 16:11:46 +01:00
Leland Lucius 7407243e25 Save/restore effect state during batch processing 2015-04-27 09:22:47 -05:00
Leland Lucius 4f4acffad1 Allow chains to use current/factory presets/settings
Also gives builtin effects a mean to determine if batch processing
is active, IsBatchProcessing() returns true if so.
2015-04-26 16:41:05 -05:00
James Crook 9bc32b0e6b EXPERIMENTAL_EFFECT_MANAGEMENT
On a reset preferences, this adds the default built in effects only.  The effects menu now has a 'More...' as its last item, and the list of plugins is invoked there.  We can add from that list to the menus from that.
2015-04-25 19:07:43 +01:00
James Crook 3146c2eb07 Merge remote-tracking branch 'dave/moreplaysnippets' into up_master 2015-04-24 16:41:26 +01:00
David Bailes 90c2b503ea added commands PlayBeforeAndAfterSelectionStart and PlayBeforeAndAfterSelectionEnd. Useful for checking the joins after pasting or aligning. 2015-04-24 16:23:17 +01:00
David Bailes 593197c2db add commands for moving focused track up, down, to top, and to bottom 2015-04-24 16:19:28 +01:00
David Bailes 0b2d5729c5 added two commands to move to first or last track 2015-04-24 11:38:55 +01:00
James Crook b7d6af1d87 Added "Check for updates" menu item.
Also fixed line endings on AudacityApp.cpp.
2015-04-23 22:31:10 +01:00
Leland Lucius 923827966c Add debug report (crash report) to Help menu
This captures crashes on Windows along with the stack backtrace.

On Linux (fedora 21 at least), the necessary function to enable
capture is not included in the system wx libs.  But, a self built
version works fine and capture the backtrace, so I'm assuming
other distros will probably work as well.

On OSX, the crashes are caught, but it does not include the
backtrace.

But, really, the backtraces aren't all that useful in a release
build since we don't ship with debug symbols and optimization
plays havoc with proper backtraces anyway.

The real benefit will be for the support folks as they can now
get consistent info from user by asking the to generate a report
from the "Help->Generate Support Data" menu item.
2015-04-18 05:06:28 -05:00
Leland Lucius 8fbfa460c4 Migrating the remaining effects
This brings the builtin, LV2, and VAMP effects inline with the
Audio Units, LADSPA, and VST effects.  All effects now share
a common UI.

This gives all effects (though not implemented for all):

User and factory preset capability
Preset import/export capability
Shared or private configuration options

Builtin effects can now be migrated to RTP, depending on algorithm.
LV2 effects now support graphical interfaces if the plugin supplies one.
Nyquist prompt enhanced to provide some features of the Nyquist Workbench.

It may not look like it, but this was a LOT of work, so trust me, there
WILL be problems and everything effect related should be suspect.  Keep
a sharp eye (or two) open.
2015-04-16 23:36:28 -05:00
David Bailes c6455312aa provide a limited version of functionality of AudacityProject::OnPlayToSelection() for keyboard users 2015-04-10 14:53:48 +01:00
lllucius 3a098714d9 Persist looped button across toolbar resets...
...when started from the keyboard.
2015-01-03 11:27:24 +00:00
lllucius 2c6401b564 Committing Paul's spectral nagivation commands patch
From:

http://audacity.238276.n2.nabble.com/Patch-spectral-peak-snapping-navigation-commands-td7565648.html
2014-12-22 08:03:41 +00:00
lllucius@gmail.com 07b5a68274 Do not breakup default effects into subgroups based on count 2014-12-14 16:22:13 +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 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
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
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
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 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
benjamin.drung@gmail.com 277932dccb Remove trailing spaces. 2014-06-03 20:30:19 +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
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 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
v.audacity cc876ce7be just some cleanups on FIXMEs and unused method parameters 2013-08-31 05:57:48 +00:00
v.audacity 2bd622abe9 modified version of Steve's further patch for Tracks > Align submenus:
* Fixes enabling/disabling of submenu items. 

* Puts a separator in the Align Tracks submenu.
2013-08-27 00:16:03 +00:00
martynshaw99 1af35d4168 Removal of all the stuff marked as 'Experimental CLEANSPEECH' about a year ago. 2013-04-29 23:23:14 +00:00
martynshaw99 3089dab83a George Simon's patch to make moving to the start and end of a selection easier. It put the ends of a selection on-screen, and often in the middle (if not at the extreme ends). We might like to argue about the shortcuts. 2013-02-28 01:38:48 +00:00
v.audacity a8c69337c2 Steve's patch for "Chains compatibility 2.0.4 to 2.0.3" 2013-02-24 03:48:34 +00:00
martynshaw99 758a8f65e6 Inserting CLEANSPEECH ifdef's around anything CleanSpeech so that CleanSpeech can be removed easily in the (not to distant) future. The idea is never to turn CLEANSPEECH on, but fix any (unexpected) differences this may make. 2012-04-26 22:57:04 +00:00
v.audacity 5c454c5a74 Comment out unused AudacityProject::OnSplitLabelsToTracks(). 2011-11-30 23:56:34 +00:00
clayton.otey 71dedc3d35 Revert r11214 (sbsms timescale effect update) & r11215 (mixed-radix-fft narrow/broaden spectrum menu items) to honor the feature freeze. 2011-07-06 09:49:59 +00:00
clayton.otey df9865f26a Added an sse enabled mixed-radix-fft implementation and a menu/view/{narrow,broaden} spectrum item which adjusts the spectrogram window size 2011-07-02 18:42:38 +00:00
v.audacity de184c3b86 clarifications and corrections in some comments 2011-04-26 21:19:59 +00:00
mchinen 4a762fc936 bug 29/11 - add rescan capability for devices.
This is a workaround for the portaudio issue where changing the default device in xp will corrupt the portaudio device indecies.
This combined with the portmixer fix (earlier today) should address bug 29.
2011-02-13 23:00:43 +00:00
mchinen 47ac55b29c bug 11 followup: Add dialogs and shortcuts for each combo of device toolbar 2011-01-29 18:46:06 +00:00
v.audacity 93485f5c50 ControlToolBar now appears in GUI as "Transport Toolbar" instead of "Control Toolbar", to better relate it to the Transport menu. 2010-11-16 01:18:39 +00:00
v.audacity e3f3b687c1 When we bring up the log window, raise it to top of Z order. 2010-08-14 00:41:48 +00:00
v.audacity 209a2b193d Consolidate multiple names for the same feature: sticky/linked/sync/synchro/grouped -> sync-lock. 2010-08-11 22:47:26 +00:00
v.audacity c7826bcdf9 Correct some comments.
Rename method for consistency.
2010-08-08 00:26:07 +00:00
v.audacity 5ac36ecd71 (significant changes to OnPaste -- needs lots of testing)
Reviewed Al's patch for OnPaste (bug 177) and made these changes. 

OnPaste method has grown too long and complicated:
   Broke out independent sections to new HandleTextPaste and HandlePasteNothingSelected methods. 

   Made pastedSomething bool (now "bPastedSomething") cumulative, per Al's correction. Previously, if the last clip paste failed, it showed the whole paste failed. Clearly, the philosophy for paste has been that we take what we can get. There were numerous places (and still some) where the paste results were not even checked. 

   Added a couple of missing checks for bPastedSomething on paste results.


Declarations: 
   Made declarations clearer about public vs private methods. 

   Removed declarations of unused/undefined CommandManagerCallback and CommandManagerListCallback methods. 

   Moved mSel0save and mSel1save member vars closer to the methods that use them.
2010-08-06 04:16:18 +00:00
v.audacity a6cb3debe9 (bug 113)
Comments about what's wrong with the DirManager::ProjectFSCK "Missing Aliased Files" dialog actions and what to do about it. (More to follow!)

Changed PushState for project repair from "Repair" to "Project Repair" to distinguish from Repair effect.

renames for clarity
2010-08-01 00:04:23 +00:00
v.audacity be83111226 cleanup 2010-07-31 00:29:21 +00:00
v.audacity e30ce7ddb7 Remove EXPERIMENTAL_LYRICS_WINDOW and EXPERIMENTAL_MIXER_BOARD. They've been in every beta for almost a year, so they're no longer experimental. 2010-07-21 04:53:38 +00:00
BusinessmanProgrammerSteve 2b3a50bd09 1. Consolidate linking enable/disable logic b/w Edit Toolbar and Menu
2. Save user's preference for enabling linking

3. fix a bug by which changes to global prefs like SWPlaythrough were not
visually reflected in other open projects.
2010-03-13 17:40:17 +00:00
BusinessmanProgrammerSteve 445c430d14 Cosmetic changes to the Select In Sync-Selected Tracks menu item, add
Select In All Tracks.
2010-03-08 19:37:13 +00:00
BusinessmanProgrammerSteve 4b7b8ff672 Add command to select sync-selected tracks 2010-03-07 00:21:53 +00:00
ra e74978ba77 Locate and position the current Audacity source code, and clear a variety of old junk out of the way into junk-branches 2010-01-23 19:44:49 +00:00