1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-07-21 06:58:02 +02:00

57 Commits

Author SHA1 Message Date
Paul Licameli
329aa8393e Table includes draw function for Midi controls 2017-06-13 14:02:10 -04:00
Paul Licameli
f0c149b890 Default MIDI track height is enough to display velocity slider...
... It is computed from the layout table, and in fact comes to 158 pixels,
versus 150 for other tracks.
2017-06-06 22:39:30 -04:00
Paul Licameli
5395f253bf Reviewed use of Track::GetY; don't use in NoteTrack; fix off-by-1's 2017-06-04 00:15:29 -04:00
Paul Licameli
a8ac80eda9 Bug1651: NoteTrack sync-lock and crash fixes...
Simplify the logic of duplication of NoteTrack.  Duplicates are always in
serialized state.  Un-serialization can happen on demand in any of the
NoteTrack operations that require a defined sequence.

Changing the duration of the sequence after paste is needed,
as it was also needed, when I fixed Stretch at commit
90eb4ec142f7d575d0870dd9c755589bff520cbe.  I don't know if this should be
considered a bug in Allegro that we are compensating.
2017-05-25 08:08:31 -04:00
Paul Licameli
90eb4ec142 Make MIDI track stretch path-independent 2017-05-22 23:15:26 -04:00
Pokechu22
77db2e7113 Transpose notes even when channel isn't visible
As mentioned by PRL
(https://sourceforge.net/p/audacity/mailman/message/35763043/),
WarpAndTransposeNotes didn't transpose, but _did_ wrap, notes that were on
channels that were hidden.  This behavior is inconsistent with all other
operations, and thus has been changed to always transform and wrap
regardless of visibility.
2017-05-02 00:37:32 -04:00
Pokechu22
298bb3fde8 NoteTrack: Implement Silence and InsertSilence
Additionally, fix the UI portions of these, and fix Trim for note tracks
(the code already existed, but due to flags would not work).  As PRL
requested, this is gated only behind USE_MIDI.
2017-05-02 00:37:31 -04:00
Pokechu22
a76ad22c91 Fix midi channel toggling
This reintroduces the buttons to toggle display of individual midi
channels, and cleans up the code behind that feature.

This functionality has actually been present in production versions of
audacity for a while, at least for clicking.  However, the buttons
themselves were not drawn, making it exteremly painful (but possible) to
use.

As requested by PRL, this is always enabled if USE_MIDI is defined.
2017-05-02 00:37:31 -04:00
Paul Licameli
8bfe4cc685 Fix more cases of Wave and Note track editing wrongly throwing 2017-05-01 04:48:14 -04:00
Paul Licameli
b2b9708b29 Fix possible assertion violations for cut, paste, trim 2017-04-29 15:41:18 -04:00
James Crook
7f98672e22 MIDI_OUT on by default on windows.
The idea is to get SOME use and test of MIDI_OUT even though it does not compile on Linux yet.
2017-04-27 12:56:39 +01:00
Paul Licameli
55439247ad All the catches are in place for BlockFile and other errors, now throw. 2017-04-03 23:32:40 -04:00
Paul Licameli
e1473dfe76 void return, not boolean success, from some Track virtual functions...
... The return codes were mostly ignored anyway, and exceptions will be thrown
instead.

It seems there was also confusion whether the return values of Track::Paste
and Track::SyncLockAdjust were to indicate success or indicate whether there
was any change.  No matter now.
2017-03-31 18:26:52 -04:00
Paul Licameli
6b84dc1c1d Factory methods will return non-NULL or throw 2017-03-31 18:14:29 -04:00
Paul Licameli
f1b354b141 More pure virtuals in Track, supply Note and Time overrides 2017-03-31 18:03:37 -04:00
Paul Licameli
7bda40f656 Common functions read and write mute and solo in Wave and Note 2017-03-30 16:00:27 -04:00
Paul Licameli
d109142693 Make mute and solo of NoteTrack persistent, if EXPERIMENTAL_MIDI_OUT 2017-03-29 13:58:20 -04:00
Paul Licameli
c391a8f884 Define AudioTrack and PlayableTrack as common bases for Wave and Note 2017-03-29 13:27:22 -04:00
Paul Licameli
80984c9f1d From Pokechu22: Rename gain to velocity on note tracks
"Velocity" is the technical term, and it's the term that's used everywhere.
"Gain" was probably only used because "gain" is used on wave tracks; since
note tracks aren't wave tracks (and shouldn't be treated as them) the
corresponding variables should be named velocity.
2017-03-29 13:27:22 -04:00
Pokechu22
2d912f3c93 Replace assert calls with wxASSERT 2017-03-27 01:26:42 -04:00
Pokechu22
0ce9598274 Fix midi-related compile problems in AudioIO and NoteTrack
The compilation was broken in 67cec5a but fixed in ed8c7fd.  However, the warnings weren't fixed.  The same general sign-related changes from 67cec5a were applied, fixing several warnings.

This also changes the arguments for NoteTrack's label click handler, to match the ones found in TrackPanel.  That's needed to handle some other const-related changes.

Additionally, EXPERIMENTAL_MIDI_PLAYBACK was changed to EXPERIMENTAL_MIDI_OUT in the documentation, as that is the correct name.
2017-03-27 01:12:16 -04:00
Paul Licameli
b81cdee7e3 Comment where xml writing functions may throw 2017-03-18 11:45:05 -04:00
Paul Licameli
25619fb46e Don't create placeholder clips in Duplicate command ...
... when there is no clip at the right edge of the selection.
2017-03-17 17:52:39 -04:00
Paul Licameli
509f974dfb Consistently use delete[] not free for NoteTrack serialization...
... Because allocation is with new[], if you search for where it happens in
lib-src.
2017-03-17 17:52:33 -04:00
Paul Licameli
81285ee0c1 More const and override 2017-03-17 17:52:20 -04:00
Paul Licameli
f993f1eadf Regularize casts as (int), so they are easier to find and review 2016-09-20 08:42:11 -04:00
Paul Licameli
fa0a603804 Fix crash when sync-lock adjusting a note track 2016-09-15 08:33:15 -04:00
Paul Licameli
d783762737 Remove unnecessary std::move in return statements...
... and comment where it is necessary.
2016-09-15 07:39:46 -04:00
Paul Licameli
46f38708ed Dir manager uses std::shared_ptr 2016-08-13 12:23:05 -04:00
Paul Licameli
a52f7f8410 new -> NEW in comments, so text search for naked new excludes them 2016-08-08 10:07:37 -04:00
Paul Licameli
20bee00115 Remove some naked new amd delete in: tracks and clips 2016-08-08 07:30:44 -04:00
Paul Licameli
3015a9c8d9 Track cut and copy functions return a unique_ptr argument...
... Because they are factory functions.
2016-03-26 11:50:13 -04:00
Paul Licameli
5ef4dd46a5 TrackFactory functions return std::unique_ptr, although some callers...
... release() them for now.
2016-03-26 11:50:12 -04:00
Paul Licameli
f42a953752 Track duplication methods return unique_ptr, although some callers...
... simply release() them for now.
2016-03-26 11:50:10 -04:00
Paul Licameli
48a5f55179 More const qualifiers, for copying of tracks, and replacing in lists of tracks
... (the tracks may be const, not the list, when replacing)
2016-02-27 17:30:30 -05:00
Paul Licameli
d097c7fad4 More const qualifications. The source of a paste is const. 2016-02-27 12:54:57 -05:00
Paul Licameli
a5b6c9fd8f Add some const qualifiers; define TrackListConstIterator 2016-02-24 19:10:39 -05:00
Paul Licameli
9bf098c7d9 Sweep unnecessary wxString copies: rest 2016-02-23 02:15:56 -05:00
Paul Licameli
7c4c45a0d5 "new"->"NEW" in comments, easier to find remaining naked operator new 2016-02-14 18:52:41 -05:00
Paul Licameli
56e7653343 "delete"->"DELETE" in comments, easier to find remaining naked operator delete 2016-02-14 18:50:45 -05:00
Paul Licameli
9c483e2e86 Add (redundant) #include "Experimental.h" in all .cpp files using the symbols 2015-08-31 17:56:10 -04:00
Paul-Licameli
1992b0c7e3 Fix a compilation warning, make some member functions const 2015-05-29 00:35:00 -04:00
Paul-Licameli
bdc2839112 Preliminaries for bug 900
Create WaveTrackCache as a utility class but don't use it anywhere yet.

The possible minor performance problem with effects is fixed by changes
in WaveTrack::GetBestBlockSize().
2015-05-26 20:02:37 -04:00
david avery
0319f6ea51 merging wx3 changes 2015-04-12 23:52:32 -06:00
benjamin.drung@gmail.com
277932dccb Remove trailing spaces. 2014-06-03 20:30:19 +00:00
martynshaw99
4ce2643d5f Remove the
// Indentation settings for Vim and Emacs
etc. lines from all files, as Campbell's patch (except for other changes to Languages.cpp)
2013-09-24 00:14:37 +00:00
james.k.crook@gmail.com
dba81b3f1c Cleanup: Fixed lots of trivial MSVC warnings. 2013-08-25 21:51:26 +00:00
v.audacity
29f1325c75 Fix bug 331 (P3). 2012-08-03 22:59:25 +00:00
v.audacity
1ceb0ef660 Apply modified version Roger Dannenberg's patch to remedy some problems from commit r10680 and fix some bugs. 2011-10-19 23:06:53 +00:00
rbdannenberg
f274c9fb2b Extended pitch, tempo, and speed effects to operate on NoteTracks. Fixed off-by-one error on channel buttons. 2010-10-28 17:57:14 +00:00