1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-02 16:49:41 +02:00

Track.cpp does not depend directly on AudioIO

This commit is contained in:
Paul Licameli 2019-06-04 13:35:23 -04:00
parent d85b297ca5
commit 98960c4fc3
4 changed files with 15 additions and 18 deletions

View File

@ -1394,20 +1394,6 @@ bool TrackList::HasPendingTracks() const
return false;
}
#include "AudioIO.h"
TransportTracks GetAllPlaybackTracks(TrackList &trackList, bool selectedOnly, bool useMidi)
{
TransportTracks result;
result.playbackTracks = trackList.GetWaveTrackArray(selectedOnly);
#ifdef EXPERIMENTAL_MIDI_OUT
if (useMidi)
result.midiTracks = trackList.GetNoteTrackConstArray(selectedOnly);
#else
WXUNUSED(useMidi);
#endif
return result;
}
#include "ViewInfo.h"
static auto TrackFactoryFactory = []( AudacityProject &project ) {
auto &dirManager = DirManager::Get( project );

View File

@ -1654,8 +1654,4 @@ class AUDACITY_DLL_API TrackFactory final
#endif
};
// global functions
struct TransportTracks;
TransportTracks GetAllPlaybackTracks(TrackList &trackList, bool selectedOnly, bool useMidi = false);
#endif

View File

@ -1544,3 +1544,16 @@ void ControlToolBar::CancelRecording()
const auto project = GetActiveProject();
TrackList::Get( *project ).ClearPendingTracks();
}
TransportTracks GetAllPlaybackTracks(TrackList &trackList, bool selectedOnly, bool useMidi)
{
TransportTracks result;
result.playbackTracks = trackList.GetWaveTrackArray(selectedOnly);
#ifdef EXPERIMENTAL_MIDI_OUT
if (useMidi)
result.midiTracks = trackList.GetNoteTrackConstArray(selectedOnly);
#else
WXUNUSED(useMidi);
#endif
return result;
}

View File

@ -43,6 +43,8 @@ class WaveTrack;
using WaveTrackArray = std::vector < std::shared_ptr < WaveTrack > >;
struct TransportTracks;
TransportTracks GetAllPlaybackTracks(
TrackList &trackList, bool selectedOnly, bool useMidi = false);
// In the GUI, ControlToolBar appears as the "Transport Toolbar". "Control Toolbar" is historic.
class ControlToolBar final : public ToolBar {