1
0
mirror of https://github.com/cookiengineer/audacity synced 2026-02-08 04:32:00 +01:00

Group arguments to StartStream, and a bit less of #ifdef for MIDI play...

... And pull choice of tracks and options out of DoRecord
This commit is contained in:
Paul Licameli
2018-05-28 20:44:37 -04:00
parent 0635f8802b
commit 35a97e09e7
7 changed files with 103 additions and 106 deletions

View File

@@ -1354,14 +1354,14 @@ WaveTrackConstArray TrackList::GetWaveTrackConstArray(bool selectionOnly, bool i
}
#if defined(USE_MIDI)
NoteTrackArray TrackList::GetNoteTrackArray(bool selectionOnly)
NoteTrackConstArray TrackList::GetNoteTrackConstArray(bool selectionOnly) const
{
NoteTrackArray noteTrackArray;
NoteTrackConstArray noteTrackArray;
for(const auto &track : *this) {
if (track->GetKind() == Track::Note &&
(track->GetSelected() || !selectionOnly)) {
noteTrackArray.push_back( Track::Pointer<NoteTrack>(track) );
noteTrackArray.push_back( Track::Pointer<const NoteTrack>(track) );
}
}
@@ -1573,3 +1573,17 @@ bool TrackList::HasPendingTracks() const
return true;
return false;
}
#include "AudioIO.h"
TransportTracks GetAllPlaybackTracks(const TrackList &trackList, bool selectedOnly, bool useMidi)
{
TransportTracks result;
result.playbackTracks = trackList.GetWaveTrackConstArray(selectedOnly);
#ifdef EXPERIMENTAL_MIDI_OUT
if (useMidi)
result.midiTracks = trackList.GetNoteTrackConstArray(selectedOnly);
#else
WXUNUSED(useMidi);
#endif
return result;
}