mirror of
https://github.com/cookiengineer/audacity
synced 2026-02-07 04:01:54 +01:00
Track.cpp does not depend directly on its subclasses
This commit is contained in:
@@ -1545,13 +1545,28 @@ void ControlToolBar::CancelRecording()
|
||||
TrackList::Get( *project ).ClearPendingTracks();
|
||||
}
|
||||
|
||||
#ifdef EXPERIMENTAL_MIDI_OUT
|
||||
#include "NoteTrack.h"
|
||||
#endif
|
||||
|
||||
TransportTracks GetAllPlaybackTracks(TrackList &trackList, bool selectedOnly, bool useMidi)
|
||||
{
|
||||
TransportTracks result;
|
||||
result.playbackTracks = trackList.GetWaveTrackArray(selectedOnly);
|
||||
{
|
||||
auto range = trackList.Any< WaveTrack >()
|
||||
+ (selectedOnly ? &Track::IsSelected : &Track::Any );
|
||||
for (auto pTrack: range)
|
||||
result.playbackTracks.push_back(
|
||||
pTrack->SharedPointer< WaveTrack >() );
|
||||
}
|
||||
#ifdef EXPERIMENTAL_MIDI_OUT
|
||||
if (useMidi)
|
||||
result.midiTracks = trackList.GetNoteTrackConstArray(selectedOnly);
|
||||
if (useMidi) {
|
||||
auto range = trackList.Any< const NoteTrack >() +
|
||||
(selectedOnly ? &Track::IsSelected : &Track::Any );
|
||||
for (auto pTrack: range)
|
||||
result.midiTracks.push_back(
|
||||
pTrack->SharedPointer< const NoteTrack >() );
|
||||
}
|
||||
#else
|
||||
WXUNUSED(useMidi);
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user