1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-07-17 09:07:41 +02:00

Merge branch 'compilation-dependencies'

* compilation-dependencies:
  Remove Meter.h from other headers
  Remove Envelope.h from other headers
  Remove Sequence.h from other headers
  Remove LabelTrack.h from other headers
  Remove WaveClip.h from other headers
  Remove WaveTrack.h from other headers
  Remove Track.h from other headers
  Remove TimeTrack.h from other headers
This commit is contained in:
Paul Licameli 2015-07-28 10:07:44 -04:00
commit d0ed5796de
107 changed files with 336 additions and 218 deletions

View File

@ -265,8 +265,9 @@ writing audio.
*//*******************************************************************/
#include "Audacity.h"
#include "float_cast.h"
#include "Experimental.h"
#include "AudioIO.h"
#include "float_cast.h"
#include <math.h>
#include <stdlib.h>
@ -294,7 +295,7 @@ writing audio.
#include <wx/txtstrm.h>
#include "AudacityApp.h"
#include "AudioIO.h"
#include "Envelope.h"
#include "Mix.h"
#include "MixerBoard.h"
#include "Resample.h"
@ -308,8 +309,6 @@ writing audio.
#include "toolbars/ControlToolBar.h"
#include "widgets/Meter.h"
#include "Experimental.h"
#ifdef EXPERIMENTAL_MIDI_OUT
#define MIDI_SLEEP 10 /* milliseconds */
#define ROUND(x) (int) ((x)+0.5)
@ -856,6 +855,8 @@ bool AudioIO::ValidateDeviceNames(wxString play, wxString rec)
AudioIO::AudioIO()
{
mCaptureTracks = mPlaybackTracks = NULL;
mAudioThreadShouldCallFillBuffersOnce = false;
mAudioThreadFillBuffersLoopRunning = false;
mAudioThreadFillBuffersLoopActive = false;
@ -992,6 +993,9 @@ AudioIO::~AudioIO()
#ifdef EXPERIMENTAL_SCRUBBING_SUPPORT
delete mScrubQueue;
#endif
delete mCaptureTracks;
delete mPlaybackTracks;
}
void AudioIO::SetMixer(int inputSource)
@ -1542,8 +1546,8 @@ int AudioIO::StartStream(WaveTrackArray playbackTracks,
mTime = t0;
mSeek = 0;
mLastRecordingOffset = 0;
mPlaybackTracks = playbackTracks;
mCaptureTracks = captureTracks;
mPlaybackTracks = new WaveTrackArray(playbackTracks);
mCaptureTracks = new WaveTrackArray(captureTracks);
#ifdef EXPERIMENTAL_MIDI_OUT
mMidiPlaybackTracks = midiPlaybackTracks;
#endif
@ -1563,7 +1567,7 @@ int AudioIO::StartStream(WaveTrackArray playbackTracks,
double minScrubStutter = options.minScrubStutter;
if (scrubbing)
{
if (mCaptureTracks.GetCount() > 0 ||
if (mCaptureTracks->GetCount() > 0 ||
mPlayMode == PLAY_LOOPED ||
mTimeTrack != NULL ||
options.maxScrubSpeed < GetMinScrubSpeed())
@ -1625,8 +1629,8 @@ int AudioIO::StartStream(WaveTrackArray playbackTracks,
// Capacity of the playback buffer.
mPlaybackRingBufferSecs = 10.0;
mCaptureRingBufferSecs = 4.5 + 0.5 * std::min(size_t(16), mCaptureTracks.GetCount());
mMinCaptureSecsToCopy = 0.2 + 0.2 * std::min(size_t(16), mCaptureTracks.GetCount());
mCaptureRingBufferSecs = 4.5 + 0.5 * std::min(size_t(16), mCaptureTracks->GetCount());
mMinCaptureSecsToCopy = 0.2 + 0.2 * std::min(size_t(16), mCaptureTracks->GetCount());
unsigned int playbackChannels = 0;
unsigned int captureChannels = 0;
@ -1641,7 +1645,7 @@ int AudioIO::StartStream(WaveTrackArray playbackTracks,
if( captureTracks.GetCount() > 0 )
{
// For capture, every input channel gets its own track
captureChannels = mCaptureTracks.GetCount();
captureChannels = mCaptureTracks->GetCount();
// I don't deal with the possibility of the capture tracks
// having different sample formats, since it will never happen
// with the current code. This code wouldn't *break* if this
@ -1650,7 +1654,7 @@ int AudioIO::StartStream(WaveTrackArray playbackTracks,
// we would set the sound card to capture in 16 bits and the second
// track wouldn't get the benefit of all 24 bits the card is capable
// of.
captureFormat = mCaptureTracks[0]->GetSampleFormat();
captureFormat = (*mCaptureTracks)[0]->GetSampleFormat();
// Tell project that we are about to start recording
if (mListener)
@ -1711,12 +1715,12 @@ int AudioIO::StartStream(WaveTrackArray playbackTracks,
return 0;
}
mPlaybackBuffers = new RingBuffer* [mPlaybackTracks.GetCount()];
mPlaybackMixers = new Mixer* [mPlaybackTracks.GetCount()];
mPlaybackBuffers = new RingBuffer* [mPlaybackTracks->GetCount()];
mPlaybackMixers = new Mixer* [mPlaybackTracks->GetCount()];
// Set everything to zero in case we have to delete these due to a memory exception.
memset(mPlaybackBuffers, 0, sizeof(RingBuffer*)*mPlaybackTracks.GetCount());
memset(mPlaybackMixers, 0, sizeof(Mixer*)*mPlaybackTracks.GetCount());
memset(mPlaybackBuffers, 0, sizeof(RingBuffer*)*mPlaybackTracks->GetCount());
memset(mPlaybackMixers, 0, sizeof(Mixer*)*mPlaybackTracks->GetCount());
const Mixer::WarpOptions &warpOptions =
#ifdef EXPERIMENTAL_SCRUBBING_SUPPORT
@ -1724,12 +1728,12 @@ int AudioIO::StartStream(WaveTrackArray playbackTracks,
#endif
Mixer::WarpOptions(mTimeTrack);
for (unsigned int i = 0; i < mPlaybackTracks.GetCount(); i++)
for (unsigned int i = 0; i < mPlaybackTracks->GetCount(); i++)
{
mPlaybackBuffers[i] = new RingBuffer(floatSample, playbackBufferSize);
// MB: use normal time for the end time, not warped time!
mPlaybackMixers[i] = new Mixer(1, &mPlaybackTracks[i],
mPlaybackMixers[i] = new Mixer(1, &(*mPlaybackTracks)[i],
warpOptions,
mT0, mT1, 1,
playbackMixBufferSize, false,
@ -1753,17 +1757,17 @@ int AudioIO::StartStream(WaveTrackArray playbackTracks,
return 0;
}
mCaptureBuffers = new RingBuffer* [mCaptureTracks.GetCount()];
mResample = new Resample* [mCaptureTracks.GetCount()];
mCaptureBuffers = new RingBuffer* [mCaptureTracks->GetCount()];
mResample = new Resample* [mCaptureTracks->GetCount()];
mFactor = sampleRate / mRate;
// Set everything to zero in case we have to delete these due to a memory exception.
memset(mCaptureBuffers, 0, sizeof(RingBuffer*)*mCaptureTracks.GetCount());
memset(mResample, 0, sizeof(Resample*)*mCaptureTracks.GetCount());
memset(mCaptureBuffers, 0, sizeof(RingBuffer*)*mCaptureTracks->GetCount());
memset(mResample, 0, sizeof(Resample*)*mCaptureTracks->GetCount());
for( unsigned int i = 0; i < mCaptureTracks.GetCount(); i++ )
for( unsigned int i = 0; i < mCaptureTracks->GetCount(); i++ )
{
mCaptureBuffers[i] = new RingBuffer( mCaptureTracks[i]->GetSampleFormat(),
mCaptureBuffers[i] = new RingBuffer( (*mCaptureTracks)[i]->GetSampleFormat(),
captureBufferSize );
mResample[i] = new Resample(true, mFactor, mFactor); // constant rate resampling
}
@ -1791,9 +1795,9 @@ int AudioIO::StartStream(WaveTrackArray playbackTracks,
// group determination should mimic what is done in audacityAudioCallback()
// when calling RealtimeProcess().
int group = 0;
for (size_t i = 0, cnt = mPlaybackTracks.GetCount(); i < cnt; i++)
for (size_t i = 0, cnt = mPlaybackTracks->GetCount(); i < cnt; i++)
{
WaveTrack *vt = gAudioIO->mPlaybackTracks[i];
WaveTrack *vt = (*gAudioIO->mPlaybackTracks)[i];
int chanCnt = 1;
if (vt->GetLinked())
@ -1815,7 +1819,7 @@ int AudioIO::StartStream(WaveTrackArray playbackTracks,
// Calculate the new time position
mTime = std::max(mT0, std::min(mT1, *options.pStartTime));
// Reset mixer positions for all playback tracks
unsigned numMixers = mPlaybackTracks.GetCount();
unsigned numMixers = mPlaybackTracks->GetCount();
for (unsigned ii = 0; ii < numMixers; ++ii)
mPlaybackMixers[ii]->Reposition(mTime);
if(mTimeTrack)
@ -1919,7 +1923,7 @@ void AudioIO::StartStreamCleanup(bool bOnlyBuffers)
if(mPlaybackBuffers)
{
for( unsigned int i = 0; i < mPlaybackTracks.GetCount(); i++ )
for( unsigned int i = 0; i < mPlaybackTracks->GetCount(); i++ )
delete mPlaybackBuffers[i];
delete [] mPlaybackBuffers;
mPlaybackBuffers = NULL;
@ -1927,7 +1931,7 @@ void AudioIO::StartStreamCleanup(bool bOnlyBuffers)
if(mPlaybackMixers)
{
for( unsigned int i = 0; i < mPlaybackTracks.GetCount(); i++ )
for( unsigned int i = 0; i < mPlaybackTracks->GetCount(); i++ )
delete mPlaybackMixers[i];
delete [] mPlaybackMixers;
mPlaybackMixers = NULL;
@ -1935,7 +1939,7 @@ void AudioIO::StartStreamCleanup(bool bOnlyBuffers)
if(mCaptureBuffers)
{
for( unsigned int i = 0; i < mCaptureTracks.GetCount(); i++ )
for( unsigned int i = 0; i < mCaptureTracks->GetCount(); i++ )
delete mCaptureBuffers[i];
delete [] mCaptureBuffers;
mCaptureBuffers = NULL;
@ -1943,7 +1947,7 @@ void AudioIO::StartStreamCleanup(bool bOnlyBuffers)
if(mResample)
{
for( unsigned int i = 0; i < mCaptureTracks.GetCount(); i++ )
for( unsigned int i = 0; i < mCaptureTracks->GetCount(); i++ )
delete mResample[i];
delete [] mResample;
mResample = NULL;
@ -2268,9 +2272,9 @@ void AudioIO::StopStream()
// we allocated in StartStream()
//
if( mPlaybackTracks.GetCount() > 0 )
if( mPlaybackTracks->GetCount() > 0 )
{
for( unsigned int i = 0; i < mPlaybackTracks.GetCount(); i++ )
for( unsigned int i = 0; i < mPlaybackTracks->GetCount(); i++ )
{
delete mPlaybackBuffers[i];
delete mPlaybackMixers[i];
@ -2283,7 +2287,7 @@ void AudioIO::StopStream()
//
// Offset all recorded tracks to account for latency
//
if( mCaptureTracks.GetCount() > 0 )
if( mCaptureTracks->GetCount() > 0 )
{
//
// We only apply latency correction when we actually played back
@ -2298,15 +2302,15 @@ void AudioIO::StopStream()
double recordingOffset =
mLastRecordingOffset + latencyCorrection / 1000.0;
for( unsigned int i = 0; i < mCaptureTracks.GetCount(); i++ )
for( unsigned int i = 0; i < mCaptureTracks->GetCount(); i++ )
{
delete mCaptureBuffers[i];
delete mResample[i];
WaveTrack* track = mCaptureTracks[i];
WaveTrack* track = (*mCaptureTracks)[i];
track->Flush();
if (mPlaybackTracks.GetCount() > 0)
if (mPlaybackTracks->GetCount() > 0)
{ // only do latency correction if some tracks are being played back
WaveTrackArray playbackTracks;
AudacityProject *p = GetActiveProject();
@ -2873,7 +2877,7 @@ int AudioIO::GetCommonlyAvailPlayback()
int commonlyAvail = mPlaybackBuffers[0]->AvailForPut();
unsigned int i;
for( i = 1; i < mPlaybackTracks.GetCount(); i++ )
for( i = 1; i < mPlaybackTracks->GetCount(); i++ )
{
int thisBlockAvail = mPlaybackBuffers[i]->AvailForPut();
@ -2889,7 +2893,7 @@ int AudioIO::GetCommonlyAvailCapture()
int commonlyAvail = mCaptureBuffers[0]->AvailForGet();
unsigned int i;
for( i = 1; i < mCaptureTracks.GetCount(); i++ )
for( i = 1; i < mCaptureTracks->GetCount(); i++ )
{
int avail = mCaptureBuffers[i]->AvailForGet();
if( avail < commonlyAvail )
@ -3266,7 +3270,7 @@ void AudioIO::FillBuffers()
{
unsigned int i;
if( mPlaybackTracks.GetCount() > 0 )
if( mPlaybackTracks->GetCount() > 0 )
{
// Though extremely unlikely, it is possible that some buffers
// will have more samples available than others. This could happen
@ -3323,7 +3327,7 @@ void AudioIO::FillBuffers()
mWarpedTime += deltat;
}
for( i = 0; i < mPlaybackTracks.GetCount(); i++ )
for( i = 0; i < mPlaybackTracks->GetCount(); i++ )
{
// The mixer here isn't actually mixing: it's just doing
// resampling, format conversion, and possibly time track
@ -3400,7 +3404,7 @@ void AudioIO::FillBuffers()
startTime = startSample / mRate;
endTime = endSample / mRate;
speed = double(abs(endSample - startSample)) / mScrubDuration;
for (i = 0; i < mPlaybackTracks.GetCount(); i++)
for (i = 0; i < mPlaybackTracks->GetCount(); i++)
mPlaybackMixers[i]->SetTimesAndSpeed(startTime, endTime, speed);
}
}
@ -3415,7 +3419,7 @@ void AudioIO::FillBuffers()
// and if yes, restart from the beginning.
if (mWarpedTime >= mWarpedLength)
{
for (i = 0; i < mPlaybackTracks.GetCount(); i++)
for (i = 0; i < mPlaybackTracks->GetCount(); i++)
mPlaybackMixers[i]->Restart();
mWarpedTime = 0.0;
}
@ -3429,7 +3433,7 @@ void AudioIO::FillBuffers()
}
} // end of playback buffering
if( mCaptureTracks.GetCount() > 0 ) // start record buffering
if( mCaptureTracks->GetCount() > 0 ) // start record buffering
{
int commonlyAvail = GetCommonlyAvailCapture();
@ -3444,12 +3448,12 @@ void AudioIO::FillBuffers()
// Append captured samples to the end of the WaveTracks.
// The WaveTracks have their own buffering for efficiency.
AutoSaveFile blockFileLog;
int numChannels = mCaptureTracks.GetCount();
int numChannels = mCaptureTracks->GetCount();
for( i = 0; (int)i < numChannels; i++ )
{
int avail = commonlyAvail;
sampleFormat trackFormat = mCaptureTracks[i]->GetSampleFormat();
sampleFormat trackFormat = (*mCaptureTracks)[i]->GetSampleFormat();
AutoSaveFile appendLog;
@ -3457,7 +3461,7 @@ void AudioIO::FillBuffers()
{
samplePtr temp = NewSamples(avail, trackFormat);
mCaptureBuffers[i]->Get (temp, trackFormat, avail);
mCaptureTracks[i]-> Append(temp, trackFormat, avail, 1,
(*mCaptureTracks)[i]-> Append(temp, trackFormat, avail, 1,
&appendLog);
DeleteSamples(temp);
}
@ -3473,7 +3477,7 @@ void AudioIO::FillBuffers()
*/
size = mResample[i]->Process(mFactor, (float *)temp1, avail, !IsStreamActive(),
&size, (float *)temp2, size);
mCaptureTracks[i]-> Append(temp2, floatSample, size, 1,
(*mCaptureTracks)[i]-> Append(temp2, floatSample, size, 1,
&appendLog);
DeleteSamples(temp1);
DeleteSamples(temp2);
@ -3482,7 +3486,7 @@ void AudioIO::FillBuffers()
if (!appendLog.IsEmpty())
{
blockFileLog.StartTag(wxT("recordingrecovery"));
blockFileLog.WriteAttr(wxT("id"), mCaptureTracks[i]->GetAutoSaveIdent());
blockFileLog.WriteAttr(wxT("id"), (*mCaptureTracks)[i]->GetAutoSaveIdent());
blockFileLog.WriteAttr(wxT("channel"), (int)i);
blockFileLog.WriteAttr(wxT("numchannels"), numChannels);
blockFileLog.WriteSubTree(appendLog);
@ -3675,7 +3679,7 @@ bool AudioIO::SetHasSolo(bool hasSolo)
void AudioIO::FillMidiBuffers()
{
bool hasSolo = false;
int numPlaybackTracks = gAudioIO->mPlaybackTracks.GetCount();
int numPlaybackTracks = gAudioIO->mPlaybackTracks->GetCount();
int t;
for(t = 0; t < numPlaybackTracks; t++ )
if( gAudioIO->mPlaybackTracks[t]->GetSolo() ) {
@ -3956,7 +3960,7 @@ int audacityAudioCallback(const void *inputBuffer, void *outputBuffer,
const PaStreamCallbackFlags WXUNUSED(statusFlags), void * WXUNUSED(userData) )
{
int numPlaybackChannels = gAudioIO->mNumPlaybackChannels;
int numPlaybackTracks = gAudioIO->mPlaybackTracks.GetCount();
int numPlaybackTracks = gAudioIO->mPlaybackTracks->GetCount();
int numCaptureChannels = gAudioIO->mNumCaptureChannels;
int callbackReturn = paContinue;
void *tempBuffer = alloca(framesPerBuffer*sizeof(float)*
@ -4137,7 +4141,7 @@ int audacityAudioCallback(const void *inputBuffer, void *outputBuffer,
int numSolo = 0;
for( t = 0; t < numPlaybackTracks; t++ )
if( gAudioIO->mPlaybackTracks[t]->GetSolo() )
if( (*gAudioIO->mPlaybackTracks)[t]->GetSolo() )
numSolo++;
#ifdef EXPERIMENTAL_MIDI_OUT
int numMidiPlaybackTracks = gAudioIO->mMidiPlaybackTracks.GetCount();
@ -4162,7 +4166,7 @@ int audacityAudioCallback(const void *inputBuffer, void *outputBuffer,
int maxLen = 0;
for (t = 0; t < numPlaybackTracks; t++)
{
WaveTrack *vt = gAudioIO->mPlaybackTracks[t];
WaveTrack *vt = (*gAudioIO->mPlaybackTracks)[t];
chans[chanCnt] = vt;

View File

@ -29,10 +29,10 @@
#include "portmixer.h"
#endif
#include <wx/event.h>
#include <wx/string.h>
#include <wx/thread.h>
#include "WaveTrack.h"
#include "SampleFormat.h"
class AudioIO;
@ -46,6 +46,9 @@ class SelectedRegion;
class TimeTrack;
class wxDialog;
class AudacityProject;
class WaveTrackArray;
extern AUDACITY_DLL_API AudioIO *gAudioIO;
void InitAudioIO();
@ -571,9 +574,9 @@ private:
#endif
Resample **mResample;
RingBuffer **mCaptureBuffers;
WaveTrackArray mCaptureTracks;
WaveTrackArray *mCaptureTracks;
RingBuffer **mPlaybackBuffers;
WaveTrackArray mPlaybackTracks;
WaveTrackArray *mPlaybackTracks;
Mixer **mPlaybackMixers;
volatile int mStreamToken;

View File

@ -19,6 +19,7 @@ recover previous Audacity projects that were closed incorrectly.
#include "AudacityApp.h"
#include "FileNames.h"
#include "blockfile/SimpleBlockFile.h"
#include "Sequence.h"
#include "ShuttleGui.h"
#include <wx/wxprec.h>
@ -27,6 +28,8 @@ recover previous Audacity projects that were closed incorrectly.
#include <wx/dialog.h>
#include <wx/app.h>
#include "WaveTrack.h"
enum {
ID_RECOVER_ALL = 10000,
ID_RECOVER_NONE,

View File

@ -17,6 +17,7 @@ See also BatchCommandDialog and BatchProcessDialog.
#include "Audacity.h"
#include "BatchCommands.h"
#include <wx/defs.h>
#include <wx/dir.h>
@ -25,7 +26,6 @@ See also BatchCommandDialog and BatchProcessDialog.
#include <wx/textfile.h>
#include "Project.h"
#include "BatchCommands.h"
#include "commands/CommandManager.h"
#include "effects/EffectManager.h"
#include "FileNames.h"
@ -41,6 +41,7 @@ See also BatchCommandDialog and BatchProcessDialog.
#include "Theme.h"
#include "AllThemeResources.h"
#include "Track.h"
// KLUDGE: All commands should be on the same footing
// however, for historical reasons we distinguish between

View File

@ -42,6 +42,8 @@ out.
*//*******************************************************************/
#include "BlockFile.h"
#include <float.h>
#include <math.h>
@ -51,7 +53,6 @@ out.
#include <wx/log.h>
#include <wx/math.h>
#include "BlockFile.h"
#include "Internat.h"
// msmeyer: Define this to add debug output via printf()

View File

@ -16,11 +16,11 @@
#include <wx/ffile.h>
#include <wx/filename.h>
#include "WaveTrack.h"
#include "xml/XMLTagHandler.h"
#include "xml/XMLWriter.h"
#include "SampleFormat.h"
class SummaryInfo {
public:
@ -209,7 +209,7 @@ class AliasBlockFile : public BlockFile
//
// These methods are for advanced use only!
//
wxFileName GetAliasedFileName() { return mAliasedFileName; };
wxFileName GetAliasedFileName() { return mAliasedFileName; }
void ChangeAliasedFileName(wxFileName newAliasedFile);
virtual bool IsAlias() { return true; }

View File

@ -21,6 +21,8 @@
**********************************************************************/
#include "Dependencies.h"
#include <wx/button.h>
#include <wx/defs.h>
#include <wx/dialog.h>
@ -30,13 +32,14 @@
#include <wx/choice.h>
#include "BlockFile.h"
#include "Dependencies.h"
#include "DirManager.h"
#include "Internat.h"
#include "Prefs.h"
#include "Project.h"
#include "Sequence.h"
#include "ShuttleGui.h"
#include "Track.h"
#include "WaveTrack.h"
#include "WaveClip.h"
// Note, this #include must occur here, not up with the others!
// It must be between the WX_DECLARE_OBJARRAY and WX_DEFINE_OBJARRAY.

View File

@ -15,6 +15,7 @@
#define __AUDACITY_DEPENDENCIES__
#include <wx/dynarray.h>
#include <wx/filename.h>
class AudacityProject;

View File

@ -62,6 +62,7 @@
#include "Audacity.h"
#include "DirManager.h"
#include <time.h> // to use time() for srand()
@ -94,7 +95,6 @@
#include "blockfile/PCMAliasBlockFile.h"
#include "blockfile/ODPCMAliasBlockFile.h"
#include "blockfile/ODDecodeBlockFile.h"
#include "DirManager.h"
#include "Internat.h"
#include "Project.h"
#include "Prefs.h"
@ -103,6 +103,8 @@
#include "ondemand/ODManager.h"
#include "Track.h"
#if defined(__WXMAC__)
#include <mach/mach.h>
#include <mach/vm_statistics.h>

View File

@ -15,8 +15,10 @@
#include <wx/string.h>
#include <wx/filename.h>
#include <wx/hashmap.h>
#include <wx/utils.h>
#include "WaveTrack.h"
#include "audacity/Types.h"
#include "xml/XMLTagHandler.h"
class wxHashTable;
class BlockFile;
@ -105,7 +107,7 @@ class DirManager: public XMLTagHandler {
void SetMaxSamples(sampleCount max) { mMaxSamples = max; }
bool HandleXMLTag(const wxChar *tag, const wxChar **attrs);
XMLTagHandler *HandleXMLChild(const wxChar * WXUNUSED(tag)) { return NULL; }
void WriteXML(XMLWriter & WXUNUSED(xmlFile)) { wxASSERT(false); }; // This class only reads tags.
void WriteXML(XMLWriter & WXUNUSED(xmlFile)) { wxASSERT(false); } // This class only reads tags.
bool AssignFile(wxFileName &filename,wxString value,bool check);
// Clean the temp dir. Note that now where we have auto recovery the temp

View File

@ -128,6 +128,8 @@ extern "C" {
#endif
#include "Audacity.h"
#include "Experimental.h"
/* rather earlier than normal, but pulls in config*.h and other program stuff
* we need for the next bit */
#include <wx/string.h>
@ -141,10 +143,8 @@ extern "C" {
#include "Prefs.h"
#include <wx/checkbox.h>
#include <wx/textctrl.h>
// needed for sampleCount
#include "Sequence.h"
#include "Experimental.h"
#include "audacity/Types.h"
// if you needed them, any other audacity header files would go here

View File

@ -71,6 +71,7 @@ and in the spectrogram spectral selection.
#include <math.h>
#include "Envelope.h"
#include "ShuttleGui.h"
#include "AColor.h"
#include "FFT.h"
@ -84,6 +85,8 @@ and in the spectrogram spectral selection.
#include "FileDialog.h"
#include "WaveTrack.h"
#if defined(__WXGTK__)
#define GSocket GSocketHack
#include <gtk/gtk.h>

View File

@ -35,7 +35,6 @@
#include "LabelTrack.h"
#include "Prefs.h"
#include "Project.h"
#include "Track.h"
#include "ViewInfo.h"
#include "widgets/NumericTextCtrl.h"

View File

@ -31,6 +31,7 @@ simplifies construction of menu items.
*//*******************************************************************/
#include "Audacity.h"
#include "Project.h"
#include <iterator>
#include <limits>
@ -53,7 +54,6 @@ simplifies construction of menu items.
#include "effects/Contrast.h"
#include "TrackPanel.h"
#include "Project.h"
#include "effects/EffectManager.h"
#include "AudacityApp.h"
@ -120,6 +120,8 @@ simplifies construction of menu items.
#include "CaptureEvents.h"
#include "Snap.h"
#include "WaveTrack.h"
#if defined(EXPERIMENTAL_CRASH_REPORT)
#include <wx/debugrpt.h>
#endif

View File

@ -35,11 +35,11 @@
#include "WaveTrack.h"
#include "DirManager.h"
#include "Envelope.h"
#include "Internat.h"
#include "Prefs.h"
#include "Project.h"
#include "Resample.h"
#include "TimeTrack.h"
#include "float_cast.h"
//TODO-MB: wouldn't it make more sense to delete the time track after 'mix and render'?

View File

@ -15,11 +15,13 @@
#include <wx/string.h>
#include "SampleFormat.h"
#include "WaveTrack.h"
#include "TimeTrack.h"
#include "Resample.h"
class DirManager;
class TimeTrack;
class TrackFactory;
class TrackList;
class WaveTrack;
/** @brief Mixes together all input tracks, applying any envelopes, amplitude
* gain, panning, and real-time effects in the process.

View File

@ -10,8 +10,8 @@
**********************************************************************/
#include "Audacity.h"
#include "Experimental.h"
#include "MixerBoard.h"
#include <math.h>
@ -22,12 +22,13 @@
#include "AColor.h"
#include "AudioIO.h"
#include "MixerBoard.h"
#ifdef EXPERIMENTAL_MIDI_OUT
#include "NoteTrack.h"
#endif
#include "Project.h"
#include "Track.h"
#include "WaveTrack.h"
#include "widgets/Meter.h"
#include "../images/MusicalInstruments.h"

View File

@ -24,7 +24,6 @@
#include "widgets/AButton.h"
#include "widgets/ASlider.h"
#include "widgets/Meter.h"
// containment hierarchy:
// MixerBoardFrame -> MixerBoard -> MixerBoardScrolledWindow -> MixerTrackCluster(s)
@ -45,7 +44,7 @@ public:
bool canUseShift = true,
float stepValue = STEP_CONTINUOUS,
int orientation = wxHORIZONTAL);
virtual ~MixerTrackSlider() {};
virtual ~MixerTrackSlider() {}
void OnMouseEvent(wxMouseEvent & event);
@ -61,6 +60,7 @@ public:
class AudacityProject;
class Meter;
class MixerBoard;
#ifdef EXPERIMENTAL_MIDI_OUT
class Track;
@ -76,7 +76,7 @@ public:
WaveTrack* pLeftTrack, WaveTrack* pRightTrack = NULL,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize);
virtual ~MixerTrackCluster() {};
virtual ~MixerTrackCluster() {}
void HandleResize(); // For wxSizeEvents, update gain slider and meter.

View File

@ -25,7 +25,6 @@
#include <wx/printdlg.h>
#include "AColor.h"
#include "Track.h"
#include "TrackArtist.h"
#include "ViewInfo.h"
#include "WaveTrack.h"

View File

@ -110,10 +110,10 @@ scroll information. It also has some status flags.
#include "Mix.h"
#include "NoteTrack.h"
#include "Prefs.h"
#include "Sequence.h"
#include "Snap.h"
#include "Tags.h"
#include "TimeTrack.h"
#include "Track.h"
#include "TrackPanel.h"
#include "WaveTrack.h"
#include "DirManager.h"
@ -121,7 +121,6 @@ scroll information. It also has some status flags.
#include "prefs/PrefsDialog.h"
#include "widgets/LinkingHtmlWindow.h"
#include "widgets/ErrorDialog.h"
#include "widgets/Meter.h"
#include "widgets/Ruler.h"
#include "widgets/Warning.h"
#include "xml/XMLFileReader.h"
@ -1216,6 +1215,11 @@ void AudacityProject::SetProjectTitle()
SetName(name); // to make the nvda screen reader read the correct title
}
bool AudacityProject::GetIsEmpty()
{
return mTracks->IsEmpty();
}
double AudacityProject::AS_GetRate()
{
return mRate;
@ -4421,7 +4425,7 @@ void AudacityProject::GetRegionsByLabel( Regions &regions )
//If the function replaces the selection with audio of a different length,
// bSyncLockedTracks should be set true to perform the same action on sync-lock selected
// tracks.
void AudacityProject::EditByLabel( WaveTrack::EditFunction action,
void AudacityProject::EditByLabel( EditFunction action,
bool bSyncLockedTracks )
{
Regions regions;
@ -4470,7 +4474,7 @@ void AudacityProject::EditByLabel( WaveTrack::EditFunction action,
//Functions copy the edited regions to clipboard, possibly in multiple tracks
//This probably should not be called if *action() changes the timeline, because
// the copy needs to happen by track, and the timeline change by group.
void AudacityProject::EditClipboardByLabel( WaveTrack::EditDestFunction action )
void AudacityProject::EditClipboardByLabel( EditDestFunction action )
{
Regions regions;

View File

@ -86,6 +86,9 @@ class MixerBoardFrame;
struct AudioIOStartStreamOptions;
class WaveTrackArray;
class Regions;
AudacityProject *CreateNewAudacityProject();
AUDACITY_DLL_API AudacityProject *GetActiveProject();
void RedrawAllProjects();
@ -236,7 +239,7 @@ class AUDACITY_DLL_API AudacityProject: public wxFrame,
TrackPanel * GetTrackPanel(){return mTrackPanel;}
bool GetIsEmpty() { return mTracks->IsEmpty(); }
bool GetIsEmpty();
bool GetTracksFitVerticallyZoomed() { return mTracksFitVerticallyZoomed; } //lda
void SetTracksFitVerticallyZoomed(bool flag) { mTracksFitVerticallyZoomed = flag; } //lda
@ -313,8 +316,14 @@ class AUDACITY_DLL_API AudacityProject: public wxFrame,
void ZoomBy(double multiplier);
void Rewind(bool shift);
void SkipEnd(bool shift);
void EditByLabel( WaveTrack::EditFunction action, bool bSyncLockedTracks );
void EditClipboardByLabel( WaveTrack::EditDestFunction action );
typedef bool (WaveTrack::* EditFunction)(double, double);
typedef bool (WaveTrack::* EditDestFunction)(double, double, Track**);
void EditByLabel(EditFunction action, bool bSyncLockedTracks);
void EditClipboardByLabel(EditDestFunction action );
bool IsSyncLocked();
void SetSyncLock(bool flag);

View File

@ -34,6 +34,8 @@
#include "Prefs.h"
#include "toolbars/ToolManager.h"
#include "Track.h"
class CommandType;
////////////////////////////////////////////////////////////////////////////////

View File

@ -16,6 +16,7 @@
#include "LabelTrack.h"
#include "Project.h"
#include "TrackPanel.h"
#include "WaveTrack.h"
#include "widgets/NumericTextCtrl.h"
// Change this to "true" to snap to nearest and "false" to snap to previous

View File

@ -18,9 +18,10 @@
#include <wx/defs.h>
#include <wx/dynarray.h>
#include "Track.h"
#include "widgets/NumericTextCtrl.h"
class Track;
class TrackList;
class TrackClipArray;
class ZoomInfo;

View File

@ -11,7 +11,6 @@
#ifndef __AUDACITY_SPECTRUM__
#define __AUDACITY_SPECTRUM__
#include "WaveTrack.h"
#include "FFT.h"
/*

View File

@ -19,6 +19,7 @@
#include <wx/intl.h>
#include "AColor.h"
#include "widgets/Ruler.h"
#include "Envelope.h"
#include "Prefs.h"
#include "Internat.h"
#include "Resample.h"

View File

@ -29,6 +29,7 @@
#include <wx/string.h>
#include <wx/timer.h>
#include <wx/dynlib.h> //<! For windows.h
#include <wx/msgdlg.h>
#include "ShuttleGui.h"
#include "Project.h"

View File

@ -23,9 +23,7 @@ and TimeTrack.
#include "Track.h"
#include "WaveTrack.h"
#include "NoteTrack.h"
#include "LabelTrack.h"
#include "Project.h"
#include "TimeTrack.h"
#include "DirManager.h"
#ifdef _MSC_VER

View File

@ -169,14 +169,12 @@ audio tracks.
#include "BlockFile.h"
#include "Envelope.h"
#include "NumberScale.h"
#include "Track.h"
#include "WaveTrack.h"
#include "LabelTrack.h"
#include "TimeTrack.h"
#include "Prefs.h"
#include "prefs/SpectrogramSettings.h"
#include "prefs/WaveformSettings.h"
#include "Sequence.h"
#include "Spectrum.h"
#include "ViewInfo.h"
#include "widgets/Ruler.h"
@ -1442,7 +1440,7 @@ void TrackArtist::DrawWaveform(WaveTrack *track,
if (xx >= 0 && xx < rect.width) {
dc.SetPen(*wxGREY_PEN);
AColor::Line(dc, (int) (rect.x + xx - 1), rect.y, (int) (rect.x + xx - 1), rect.y + rect.height);
if (loc.typ == WaveTrack::locationCutLine) {
if (loc.typ == WaveTrackLocation::locationCutLine) {
dc.SetPen(*wxRED_PEN);
}
else {

View File

@ -208,7 +208,6 @@ is time to refresh some aspect of the screen.
#include "ShuttleGui.h"
#include "Theme.h"
#include "TimeTrack.h"
#include "Track.h"
#include "TrackArtist.h"
#include "TrackPanelAx.h"
#include "ViewInfo.h"
@ -6538,7 +6537,7 @@ bool TrackPanel::HandleTrackLocationMouseEvent(WaveTrack * track, wxRect &r, wxM
if (event.LeftDown())
{
if (mCapturedTrackLocation.typ == WaveTrack::locationCutLine)
if (mCapturedTrackLocation.typ == WaveTrackLocation::locationCutLine)
{
// When user presses left button on cut line, expand the line again
double cutlineStart = 0, cutlineEnd = 0;
@ -6559,7 +6558,7 @@ bool TrackPanel::HandleTrackLocationMouseEvent(WaveTrack * track, wxRect &r, wxM
MakeParentPushState(_("Expanded Cut Line"), _("Expand"));
handled = true;
}
} else if (mCapturedTrackLocation.typ == WaveTrack::locationMergePoint)
} else if (mCapturedTrackLocation.typ == WaveTrackLocation::locationMergePoint)
{
if (!track->MergeClips(mCapturedTrackLocation.clipidx1, mCapturedTrackLocation.clipidx2))
return false;

View File

@ -21,12 +21,12 @@
#include <wx/window.h>
#include "Experimental.h"
#include "Sequence.h" //Stm: included for the sampleCount declaration
#include "WaveClip.h"
#include "WaveTrack.h"
#include "audacity/Types.h"
#include "UndoManager.h" //JKC: Included for PUSH_XXX definitions.
#include "widgets/NumericTextCtrl.h"
#include "WaveTrackLocation.h"
class wxMenu;
class wxRect;
@ -47,6 +47,10 @@ class TrackPanelAx;
class ViewInfo;
class WaveTrack;
class WaveClip;
class Envelope;
WX_DEFINE_ARRAY(LWSlider *, LWSliderArray);
class AUDACITY_DLL_API TrackClip
@ -643,7 +647,7 @@ protected:
WaveClip *mCapturedClip;
TrackClipArray mCapturedClipArray;
bool mCapturedClipIsSelection;
WaveTrack::Location mCapturedTrackLocation;
WaveTrackLocation mCapturedTrackLocation;
wxRect mCapturedTrackLocationRect;
wxRect mCapturedRect;

View File

@ -14,6 +14,9 @@
*//*******************************************************************/
#include "Audacity.h"
#include "TrackPanelAx.h"
// For compilers that support precompilation, includes "wx/wx.h".
#include <wx/wxprec.h>
@ -23,11 +26,10 @@
#endif
#include "Audacity.h"
#include "TrackPanelAx.h"
#include <wx/intl.h>
#include "Track.h"
TrackPanelAx::TrackPanelAx( wxWindow *window )
#if wxUSE_ACCESSIBILITY
:wxWindowAccessible( window )

View File

@ -28,7 +28,6 @@ UndoManager
#include "Diags.h"
#include "Internat.h"
#include "Sequence.h"
#include "Track.h"
#include "WaveTrack.h" // temp
#include "NoteTrack.h" // for Sonify* function declarations
#include "Diags.h"

View File

@ -32,6 +32,8 @@ or "OFF" point
#include <wx/intl.h>
#include <iostream>
#include "WaveTrack.h"
using std::cout;
using std::endl;

View File

@ -11,13 +11,15 @@
#ifndef __AUDACITY_VOICEKEY__
#define __AUDACITY_VOICEKEY__
#include "WaveTrack.h"
#ifndef M_PI
#define M_PI 3.14159265358979323846 /* pi */
#endif
#include "audacity/Types.h"
class WaveTrack;
enum VoiceKeyTypes
{
VKT_NONE = 0,
@ -91,10 +93,10 @@ class VoiceKey {
};
inline int sgn(int number){ return (number<0) ? -1: 1;};
inline int sgn(int number){ return (number<0) ? -1: 1;}
//This returns a logistic density based on a z-score
// a logistic distn has variance (pi*s)^2/3
//inline float inline float logistic(float z){ return fexp(-1 * z/(pi / sqrt(3)) / (1 + pow(fexp(-1 * z(pi / sqrt(3))),2)));};
//inline float inline float logistic(float z){ return fexp(-1 * z/(pi / sqrt(3)) / (1 + pow(fexp(-1 * z(pi / sqrt(3))),2)));}
#endif

View File

@ -27,11 +27,13 @@
#include <vector>
#include <wx/log.h>
#include "Sequence.h"
#include "Spectrum.h"
#include "Prefs.h"
#include "Envelope.h"
#include "Resample.h"
#include "Project.h"
#include "WaveTrack.h"
#include "prefs/SpectrogramSettings.h"
@ -367,6 +369,11 @@ bool WaveClip::SetSamples(samplePtr buffer, sampleFormat format,
return bResult;
}
BlockArray* WaveClip::GetSequenceBlockArray()
{
return mSequence->GetBlockArray();
}
double WaveClip::GetStartTime() const
{
// JS: mOffset is the minimum value and it is returned; no clipping to 0
@ -394,6 +401,11 @@ sampleCount WaveClip::GetEndSample() const
return GetStartSample() + mSequence->GetNumSamples();
}
sampleCount WaveClip::GetNumSamples() const
{
return mSequence->GetNumSamples();
}
bool WaveClip::WithinClip(double t) const
{
sampleCount ts = (sampleCount)floor(t * mRate + 0.5);

View File

@ -14,7 +14,6 @@
#include "Audacity.h"
#include "SampleFormat.h"
#include "Sequence.h"
#include "widgets/ProgressDialog.h"
#include "ondemand/ODTaskThread.h"
#include "xml/XMLTagHandler.h"
@ -31,7 +30,10 @@
#include <vector>
class BlockArray;
class DirManager;
class Envelope;
class Sequence;
class SpectrogramSettings;
class WaveCache;
class WaveTrackCache;
@ -249,7 +251,7 @@ public:
double GetEndTime() const;
sampleCount GetStartSample() const;
sampleCount GetEndSample() const;
sampleCount GetNumSamples() const { return mSequence->GetNumSamples(); }
sampleCount GetNumSamples() const;
// One and only one of the following is true for a given t (unless the clip
// has zero length -- then BeforeClip() and AfterClip() can both be true).
@ -264,7 +266,7 @@ public:
sampleCount start, sampleCount len);
Envelope* GetEnvelope() { return mEnvelope; }
BlockArray* GetSequenceBlockArray() { return mSequence->GetBlockArray(); }
BlockArray* GetSequenceBlockArray();
// Get low-level access to the sequence. Whenever possible, don't use this,
// but use more high-level functions inside WaveClip (or add them if you

View File

@ -39,8 +39,6 @@ Track classes.
#include "float_cast.h"
#include "LabelTrack.h"
#include "Envelope.h"
#include "Sequence.h"
#include "Spectrum.h"
@ -2407,7 +2405,7 @@ void WaveTrack::UpdateLocationsCache()
it = it->GetNext())
{
// Add cut line expander point
mDisplayLocations[curpos].typ = locationCutLine;
mDisplayLocations[curpos].typ = WaveTrackLocation::locationCutLine;
mDisplayLocations[curpos].pos =
clip->GetOffset() + it->GetData()->GetOffset();
curpos++;
@ -2421,7 +2419,7 @@ void WaveTrack::UpdateLocationsCache()
< WAVETRACK_MERGE_POINT_TOLERANCE)
{
// Add merge point
mDisplayLocations[curpos].typ = locationMergePoint;
mDisplayLocations[curpos].typ = WaveTrackLocation::locationMergePoint;
mDisplayLocations[curpos].pos = clips.Item(i-1)->GetEndTime();
mDisplayLocations[curpos].clipidx1 = mClips.IndexOf(previousClip);
mDisplayLocations[curpos].clipidx2 = mClips.IndexOf(clip);

View File

@ -13,7 +13,6 @@
#include "Track.h"
#include "SampleFormat.h"
#include "Sequence.h"
#include "WaveClip.h"
#include "Experimental.h"
#include "widgets/ProgressDialog.h"
@ -22,6 +21,8 @@
#include <wx/longlong.h>
#include <wx/thread.h>
#include "WaveTrackLocation.h"
class SpectrogramSettings;
class WaveformSettings;
class TimeWarper;
@ -53,7 +54,7 @@ WX_DEFINE_ARRAY( Region*, Regions );
class Envelope;
class AUDACITY_DLL_API WaveTrack: public Track {
class AUDACITY_DLL_API WaveTrack : public Track {
private:
@ -79,22 +80,8 @@ class AUDACITY_DLL_API WaveTrack: public Track {
#ifdef EXPERIMENTAL_OUTPUT_DISPLAY
static bool mMonoAsVirtualStereo;
#endif
enum LocationType {
locationCutLine = 1,
locationMergePoint
};
struct Location {
// Position of track location
double pos;
// Type of track location
LocationType typ;
// Only for typ==locationMergePoint
int clipidx1; // first clip (left one)
int clipidx2; // second clip (right one)
};
typedef WaveTrackLocation Location;
virtual ~WaveTrack();
virtual double GetOffset() const;
@ -184,9 +171,6 @@ class AUDACITY_DLL_API WaveTrack: public Track {
virtual bool Join (double t0, double t1);
virtual bool Disjoin (double t0, double t1);
typedef bool ( WaveTrack::* EditFunction )( double, double );
typedef bool ( WaveTrack::* EditDestFunction )( double, double, Track** );
virtual bool Trim (double t0, double t1);
bool HandleClear(double t0, double t1, bool addCutLines, bool split);

32
src/WaveTrackLocation.h Normal file
View File

@ -0,0 +1,32 @@
/**********************************************************************
Audacity: A Digital Audio Editor
WaveTrackLocation.h
Paul Licameli -- split from WaveTrack.h
**********************************************************************/
#ifndef __AUDACITY_WAVE_TRACK_LOCATION__
#define __AUDACITY_WAVE_TRACK_LOCATION__
struct WaveTrackLocation {
enum LocationType {
locationCutLine = 1,
locationMergePoint
};
// Position of track location
double pos;
// Type of track location
LocationType typ;
// Only for typ==locationMergePoint
int clipidx1; // first clip (left one)
int clipidx2; // second clip (right one)
};
#endif

View File

@ -20,6 +20,7 @@ threshold of difference in two selected tracks
#include "CompareAudioCommand.h"
#include "../Project.h"
#include "Command.h"
#include "../WaveTrack.h"
wxString CompareAudioCommandType::BuildName()
{

View File

@ -20,7 +20,6 @@
#include "../TrackPanel.h"
#include "../Project.h"
#include "../Track.h"
#include "../WaveTrack.h"
wxString GetProjectInfoCommandType::BuildName()
{
@ -149,3 +148,23 @@ void GetProjectInfoCommand::SendTracksInfo(TrackList *projTracks,
}
Status(boolValueStr);
}
bool GetProjectInfoCommand::testSelected(Track * track) const
{
return track->GetSelected();
}
bool GetProjectInfoCommand::testLinked(Track * track) const
{
return track->GetLinked();
}
bool GetProjectInfoCommand::testSolo(Track * track) const
{
return track->GetSolo();
}
bool GetProjectInfoCommand::testMute(Track * track) const
{
return track->GetMute();
}

View File

@ -18,7 +18,6 @@
#include "Command.h"
#include "CommandType.h"
#include "../Track.h"
class GetProjectInfoCommandType : public CommandType
{
@ -51,10 +50,10 @@ private:
void SendTracksInfo(TrackList *projTracks, Getter);
// Functions pointed to for getting track parameters
bool testSelected(Track * track) const {return track->GetSelected();}
bool testLinked( Track * track) const {return track->GetLinked();}
bool testSolo( Track * track) const {return track->GetSolo();}
bool testMute( Track * track) const {return track->GetMute();}
bool testSelected(Track * track) const;
bool testLinked(Track * track) const;
bool testSolo(Track * track) const;
bool testMute(Track * track) const;
};

View File

@ -19,7 +19,6 @@
#include "GetTrackInfoCommand.h"
#include "../TrackPanel.h"
#include "../Project.h"
#include "../Track.h"
#include "../WaveTrack.h"
wxString GetTrackInfoCommandType::BuildName()

View File

@ -15,6 +15,7 @@
#include "ImportExportCommands.h"
#include "../Project.h"
#include "../Track.h"
#include "../export/Export.h"
// Import

View File

@ -25,6 +25,7 @@ project window.
#include <wx/settings.h>
#include <wx/bitmap.h>
#include "../Track.h"
#include "../TrackPanel.h"
#include "../toolbars/ToolManager.h"
#include "../toolbars/ToolBar.h"

View File

@ -19,6 +19,7 @@
#include "SelectCommand.h"
#include <wx/string.h>
#include "../Project.h"
#include "../Track.h"
wxString SelectCommandType::BuildName()
{

View File

@ -19,7 +19,6 @@
#include "SetProjectInfoCommand.h"
#include "../Project.h"
#include "../Track.h"
#include "../WaveTrack.h"
// The following parameters have a boolean string, indicated by the kSetOfTracksStr
#define kSetOfTracksStr "TrackSet"

View File

@ -33,6 +33,8 @@
#include "../Theme.h"
#include "../widgets/valnum.h"
#include "../WaveTrack.h"
// Define keys, defaults, minimums, and maximums for the effect parameters
//
// Name Type Key Def Min Max Scale

View File

@ -19,8 +19,6 @@
#include <wx/textctrl.h>
#include <wx/window.h>
#include "../WaveTrack.h"
#include "Effect.h"
class EffectAutoDuckPanel;

View File

@ -14,12 +14,12 @@
*//*******************************************************************/
#include "../Audacity.h"
#include "ChangeSpeed.h"
#include <math.h>
#include <wx/intl.h>
#include "../Envelope.h"
#include "../LabelTrack.h"
#include "../Prefs.h"
#include "../Project.h"
@ -27,9 +27,8 @@
#include "../ShuttleGui.h"
#include "../widgets/valnum.h"
#include "ChangeSpeed.h"
#include "TimeWarper.h"
#include "../WaveTrack.h"
enum
{

View File

@ -19,8 +19,6 @@
#include <wx/string.h>
#include <wx/textctrl.h>
#include "../Track.h"
#include "../WaveTrack.h"
#include "../widgets/NumericTextCtrl.h"
#include "Effect.h"

View File

@ -37,6 +37,8 @@
#include "../ShuttleGui.h"
#include "../widgets/valnum.h"
#include "../WaveTrack.h"
enum
{
ID_Thresh = 10000,

View File

@ -21,11 +21,9 @@
#include <wx/string.h>
#include <wx/textctrl.h>
#include "../Envelope.h"
#include "../WaveTrack.h"
#include "Effect.h"
class Envelope;
class ShuttleGui;
#define CLICKREMOVAL_PLUGIN_SYMBOL XO("Click Removal")

View File

@ -41,6 +41,8 @@
#include "../float_cast.h"
#include "../widgets/Ruler.h"
#include "../WaveTrack.h"
enum
{
ID_Threshold = 10000,

View File

@ -14,7 +14,6 @@
#include "../AudacityApp.h"
#include "../Envelope.h"
#include "../FFT.h"
#include "../WaveTrack.h"
#include "../Prefs.h"

View File

@ -2060,6 +2060,11 @@ TimeWarper *Effect::GetTimeWarper()
// Use these two methods to copy the input tracks to mOutputTracks, if
// doing the processing on them, and replacing the originals only on success (and not cancel).
// Copy the group tracks that have tracks selected
void Effect::CopyInputTracks()
{
CopyInputTracks(Track::Wave);
}
void Effect::CopyInputTracks(int trackType)
{
// Reset map

View File

@ -30,7 +30,6 @@ class wxWindow;
#include "audacity/EffectInterface.h"
#include "../Experimental.h"
#include "../WaveTrack.h"
#include "../SelectedRegion.h"
#include "../Shuttle.h"
#include "../Internat.h"
@ -40,9 +39,14 @@ class ShuttleGui;
#define BUILTIN_EFFECT_PREFIX wxT("Built-in Effect: ")
class AudacityProject;
class SelectedRegion;
class TimeWarper;
class EffectUIHost;
class Track;
class TrackList;
class TrackFactory;
class WaveTrack;
// TODO: Apr-06-2015
// TODO: Much more cleanup of old methods and variables is needed, but
@ -337,7 +341,8 @@ protected:
// Use these two methods to copy the input tracks to mOutputTracks, if
// doing the processing on them, and replacing the originals only on success (and not cancel).
void CopyInputTracks(int trackType = Track::Wave);
void CopyInputTracks(); // trackType = Track::Wave
void CopyInputTracks(int trackType);
// If bGoodResult, replace mWaveTracks tracks in mTracks with successfully processed
// mOutputTracks copies, get rid of old mWaveTracks, and set mWaveTracks to mOutputTracks.

View File

@ -53,6 +53,7 @@
#include "../Audacity.h"
#include "Equalization.h"
#include <math.h>
#include <vector>
@ -95,13 +96,10 @@
#include "../xml/XMLFileReader.h"
#include "../Theme.h"
#include "../AllThemeResources.h"
#include "../WaveTrack.h"
#include "../float_cast.h"
#include "FileDialog.h"
#include "Equalization.h"
#ifdef EXPERIMENTAL_EQ_SSE_THREADED
#include "Equalization48x.h"
#endif

View File

@ -35,8 +35,6 @@
#endif
#include "Effect.h"
#include "../Envelope.h"
#include "../WaveTrack.h"
#include "../xml/XMLTagHandler.h"
#include "../widgets/Grid.h"
#include "../widgets/Ruler.h"
@ -45,6 +43,7 @@
#define EQUALIZATION_PLUGIN_SYMBOL XO("Equalization")
class Envelope;
class EqualizationPanel;
//

View File

@ -30,6 +30,9 @@
#include "../ShuttleGui.h"
#include "../widgets/valnum.h"
#include "../LabelTrack.h"
#include "../Wavetrack.h"
// Define keys, defaults, minimums, and maximums for the effect parameters
//
// Name Type Key Def Min Max Scale

View File

@ -14,10 +14,9 @@
class wxString;
#include <wx/string.h>
class LabelTrack;
#include "../LabelTrack.h"
#include "../WaveTrack.h"
#include <wx/string.h>
#include "Effect.h"

View File

@ -14,10 +14,12 @@
**********************************************************************/
#include "Generator.h"
#include "../Project.h"
#include "../Prefs.h"
#include "../WaveTrack.h"
#include "Generator.h"
#include "TimeWarper.h"
#include <memory>

View File

@ -43,6 +43,8 @@
#include "../ShuttleGui.h"
#include "../Prefs.h"
#include "../WaveTrack.h"
#include <algorithm>
#include <vector>
#include <math.h>

View File

@ -16,6 +16,7 @@
#include "../Audacity.h" // for rint from configwin.h
#include "Normalize.h"
#include <math.h>
@ -28,8 +29,6 @@
#include "../WaveTrack.h"
#include "../widgets/valnum.h"
#include "Normalize.h"
// Define keys, defaults, minimums, and maximums for the effect parameters
//
// Name Type Key Def Min Max Scale

View File

@ -18,8 +18,6 @@
#include <wx/string.h>
#include <wx/textctrl.h>
#include "../WaveTrack.h"
#include "Effect.h"
class ShuttleGui;

View File

@ -27,6 +27,8 @@
#include "../FFT.h"
#include "../widgets/valnum.h"
#include "../WaveTrack.h"
// Define keys, defaults, minimums, and maximums for the effect parameters
//
// Name Type Key Def Min Max Scale

View File

@ -12,8 +12,6 @@
#include <wx/string.h>
#include "../WaveTrack.h"
#include "Effect.h"
class ShuttleGui;

View File

@ -15,14 +15,14 @@
#include "../Audacity.h"
#include "Reverse.h"
#include <math.h>
#include <wx/intl.h>
#include "../LabelTrack.h"
#include "Reverse.h"
#include "../WaveTrack.h"
//
// EffectReverse

View File

@ -15,8 +15,6 @@
#include <wx/string.h>
#include "../WaveTrack.h"
#include "Effect.h"
#define REVERSE_PLUGIN_SYMBOL XO("Reverse")

View File

@ -19,6 +19,7 @@
#include <wx/intl.h>
#include "../ShuttleGui.h"
#include "../WaveTrack.h"
EffectSilence::EffectSilence()
{

View File

@ -15,7 +15,6 @@
#include <wx/string.h>
#include "../WaveTrack.h"
#include "../widgets/NumericTextCtrl.h"
#include "Generator.h"

View File

@ -14,12 +14,12 @@
*//*******************************************************************/
#include "../Audacity.h"
#include "StereoToMono.h"
#include <wx/intl.h>
#include "../Project.h"
#include "StereoToMono.h"
#include "../WaveTrack.h"
EffectStereoToMono::EffectStereoToMono()
{

View File

@ -22,6 +22,8 @@ doing the second pass over all selected tracks.
#include "TwoPassSimpleMono.h"
#include "../WaveTrack.h"
bool EffectTwoPassSimpleMono::Process()
{
mPass = 0;

View File

@ -40,6 +40,9 @@
#include "../../ShuttleGui.h"
#include "../../widgets/valnum.h"
#include "../../LabelTrack.h"
#include "../../WaveTrack.h"
enum
{
ID_Program = 10000,

View File

@ -25,10 +25,10 @@
#include <vamp-hostsdk/PluginLoader.h>
#include "../../LabelTrack.h"
#include "../Effect.h"
class LabelTrack;
#define VAMPEFFECTS_VERSION wxT("1.0.0.0")
#define VAMPEFFECTS_FAMILY wxT("Vamp")

View File

@ -66,16 +66,13 @@
#include "../DirManager.h"
#include "../FileFormats.h"
#include "../Internat.h"
#include "../LabelTrack.h"
#include "../Mix.h"
#include "../Prefs.h"
#include "../Project.h"
#include "../ShuttleGui.h"
#include "../Track.h"
#include "../WaveTrack.h"
#include "../widgets/Warning.h"
#include "../AColor.h"
#include "../TimeTrack.h"
#include "../Dependencies.h"
// Callback to display format options

View File

@ -18,6 +18,7 @@
#include <wx/button.h>
#include <wx/combobox.h>
#include <wx/log.h>
#include <wx/msgdlg.h>
#include <wx/process.h>
#include <wx/sizer.h>
#include <wx/textctrl.h>
@ -31,6 +32,8 @@
#include "../float_cast.h"
#include "../widgets/FileHistory.h"
#include "../Track.h"
//----------------------------------------------------------------------------
// ExportCLOptions

View File

@ -36,13 +36,11 @@ function.
#include "../FileFormats.h"
#include "../Internat.h"
#include "../LabelTrack.h"
#include "../Mix.h"
#include "../Prefs.h"
#include "../Project.h"
#include "../Tags.h"
#include "../Track.h"
#include "../WaveTrack.h"
#include "Export.h"
#include "ExportFFmpeg.h"

View File

@ -56,13 +56,10 @@
#include "../FileFormats.h"
#include "../Internat.h"
#include "../LabelTrack.h"
#include "../Mix.h"
#include "../Prefs.h"
#include "../Project.h"
#include "../Tags.h"
#include "../Track.h"
#include "../WaveTrack.h"
#include "Export.h"

View File

@ -41,6 +41,8 @@ and libvorbis examples, Monty <monty@xiph.org>
#include "../Internat.h"
#include "../Tags.h"
#include "../Track.h"
//----------------------------------------------------------------------------
// ExportFLACOptions Class
//----------------------------------------------------------------------------

View File

@ -55,7 +55,7 @@
#include "../Project.h"
#include "../ShuttleGui.h"
#include "../Tags.h"
#include "../WaveTrack.h"
#include "../Track.h"
#define LIBTWOLAME_STATIC
#include "twolame.h"

View File

@ -86,7 +86,7 @@
#include "../Project.h"
#include "../ShuttleGui.h"
#include "../Tags.h"
#include "../WaveTrack.h"
#include "../Track.h"
#include "../widgets/LinkingHtmlWindow.h"
#include "FileDialog.h"

View File

@ -48,6 +48,7 @@
#include "../Prefs.h"
#include "../ShuttleGui.h"
#include "../Tags.h"
#include "../WaveTrack.h"
#include "../widgets/HelpSystem.h"
@ -104,6 +105,7 @@ END_EVENT_TABLE()
ExportMultiple::ExportMultiple(AudacityProject *project)
: wxDialog(project, wxID_ANY, wxString(_("Export Multiple")))
, mIterator(new TrackListIterator)
{
SetName(GetTitle());
@ -137,6 +139,7 @@ ExportMultiple::ExportMultiple(AudacityProject *project)
ExportMultiple::~ExportMultiple()
{
delete mIterator;
}
void ExportMultiple::CountTracksAndLabels()
@ -146,7 +149,7 @@ void ExportMultiple::CountTracksAndLabels()
mNumWaveTracks = 0;
Track* pTrack;
for (pTrack = mIterator.First(mTracks); pTrack != NULL; pTrack = mIterator.Next())
for (pTrack = mIterator->First(mTracks); pTrack != NULL; pTrack = mIterator->Next())
{
switch (pTrack->GetKind())
{
@ -731,7 +734,7 @@ int ExportMultiple::ExportMultipleByTrack(bool byName,
wxString title; // un-messed-with title of file for tagging with
/* Remember which tracks were selected, and set them to unselected */
for (tr = mIterator.First(mTracks); tr != NULL; tr = mIterator.Next()) {
for (tr = mIterator->First(mTracks); tr != NULL; tr = mIterator->Next()) {
if (tr->GetKind() != Track::Wave) {
continue;
}
@ -747,7 +750,7 @@ int ExportMultiple::ExportMultipleByTrack(bool byName,
}
/* Examine all tracks in turn, collecting export information */
for (tr = mIterator.First(mTracks); tr != NULL; tr = mIterator.Next()) {
for (tr = mIterator->First(mTracks); tr != NULL; tr = mIterator->Next()) {
// Want only non-muted wave tracks.
if ((tr->GetKind() != Track::Wave) || tr->GetMute())
@ -760,7 +763,7 @@ int ExportMultiple::ExportMultipleByTrack(bool byName,
// Check for a linked track
tr2 = NULL;
if (tr->GetLinked()) {
tr2 = mIterator.Next();
tr2 = mIterator->Next();
if (tr2) {
// Make sure it gets included
@ -830,7 +833,7 @@ int ExportMultiple::ExportMultipleByTrack(bool byName,
// loop
int count = 0; // count the number of sucessful runs
ExportKit activeSetting; // pointer to the settings in use for this export
for (tr = mIterator.First(mTracks); tr != NULL; tr = mIterator.Next()) {
for (tr = mIterator->First(mTracks); tr != NULL; tr = mIterator->Next()) {
// Want only non-muted wave tracks.
if ((tr->GetKind() != Track::Wave) || (tr->GetMute() == true)) {
@ -843,7 +846,7 @@ int ExportMultiple::ExportMultipleByTrack(bool byName,
// Check for a linked track
tr2 = NULL;
if (tr->GetLinked()) {
tr2 = mIterator.Next();
tr2 = mIterator->Next();
if (tr2) {
// Select it also
tr2->SetSelected(true);

View File

@ -17,7 +17,6 @@
#include <wx/listctrl.h>
#include "Export.h"
#include "../Track.h"
#include "../Tags.h" // we need to know about the Tags class for metadata
class wxButton;
@ -27,7 +26,9 @@ class wxRadioButton;
class wxTextCtrl;
class AudacityProject;
class LabelTrack;
class ShuttleGui;
class TrackListIterator;
class ExportMultiple : public wxDialog
{
@ -107,7 +108,7 @@ private:
AudacityProject *mProject;
TrackList *mTracks; /**< The list of tracks in the project that is
being exported */
TrackListIterator mIterator; /**< Iterator used to work through all the
TrackListIterator *mIterator; /**< Iterator used to work through all the
tracks in the project */
LabelTrack *mLabels;
int mNumLabels;

View File

@ -35,6 +35,7 @@
#include "../Internat.h"
#include "../Tags.h"
#include "../Track.h"
//----------------------------------------------------------------------------
// ExportOGGOptions

View File

@ -28,14 +28,12 @@
#include "../FileFormats.h"
#include "../Internat.h"
#include "../LabelTrack.h"
#include "../Mix.h"
#include "../Prefs.h"
#include "../Project.h"
#include "../ShuttleGui.h"
#include "../Tags.h"
#include "../Track.h"
#include "../WaveTrack.h"
#include "../ondemand/ODManager.h"
#include "Export.h"

View File

@ -58,7 +58,6 @@ and ImportLOF.cpp.
#include "ImportFLAC.h"
#include "ImportFFmpeg.h"
#include "ImportGStreamer.h"
#include "../Track.h"
#include "../Prefs.h"
WX_DEFINE_LIST(ImportPluginList);

View File

@ -90,7 +90,6 @@
#include "../Project.h"
#include "../FileFormats.h"
#include "../Prefs.h"
#include "../WaveTrack.h"
#include "../Internat.h"
#define BINARY_FILE_CHECK_BUFFER_SIZE 1024

View File

@ -20,6 +20,8 @@ updating the ODPCMAliasBlockFile and the GUI of the newly available data.
#include "ODComputeSummaryTask.h"
#include "../blockfile/ODPCMAliasBlockFile.h"
#include "../Sequence.h"
#include "../WaveTrack.h"
#include <wx/wx.h>
//36 blockfiles > 3 minutes stereo 44.1kHz per ODTask::DoSome

View File

@ -18,6 +18,8 @@ updating the ODPCMAliasBlockFile and the GUI of the newly available data.
#include "ODDecodeTask.h"
#include "../blockfile/ODDecodeBlockFile.h"
#include "../Sequence.h"
#include "../WaveTrack.h"
#include <wx/wx.h>
///Creates a new task that computes summaries for a wavetrack that needs to be specified through SetWaveTrack()

View File

@ -21,7 +21,6 @@
#include <wx/textdlg.h>
#include "BatchPrefs.h"
#include "../Envelope.h"
#include "../Languages.h"
#include "../Prefs.h"
#include "../Project.h"

View File

@ -20,12 +20,15 @@ KeyConfigPrefs and MousePrefs use.
*//*********************************************************************/
#include "../Audacity.h"
#include "../Experimental.h"
#include "KeyConfigPrefs.h"
#include <wx/defs.h>
#include <wx/ffile.h>
#include <wx/intl.h>
#include <wx/filedlg.h>
#include <wx/button.h>
#include <wx/msgdlg.h>
#include "../Prefs.h"
#include "../Project.h"
@ -35,7 +38,6 @@ KeyConfigPrefs and MousePrefs use.
#include "../Internat.h"
#include "../ShuttleGui.h"
#include "KeyConfigPrefs.h"
#include "FileDialog.h"

View File

@ -30,6 +30,8 @@ class ShuttleGui;
#include "PrefsPanel.h"
class wxStaticText;
class KeyConfigPrefs :public PrefsPanel
{
public:

View File

@ -16,6 +16,7 @@
*//*******************************************************************/
#include "../Audacity.h"
#include "QualityPrefs.h"
#include <wx/defs.h>
@ -26,8 +27,6 @@
#include "../SampleFormat.h"
#include "../ShuttleGui.h"
#include "QualityPrefs.h"
#define ID_SAMPLE_RATE_CHOICE 7001
BEGIN_EVENT_TABLE(QualityPrefs, PrefsPanel)

View File

@ -21,6 +21,7 @@ Paul Licameli
#include "../Project.h"
#include "../TrackPanel.h"
#include "../ShuttleGui.h"
#include "../WaveTrack.h"
WaveformPrefs::WaveformPrefs(wxWindow * parent, WaveTrack *wt)
: PrefsPanel(parent, _("Waveforms"))

View File

@ -36,6 +36,7 @@
#include "../Audacity.h"
#include "../Experimental.h"
#include "ControlToolBar.h"
// For compilers that support precompilation, includes "wx/wx.h".
#include <wx/wxprec.h>
@ -51,7 +52,6 @@
#endif
#include <wx/tooltip.h>
#include "ControlToolBar.h"
#include "TranscriptionToolBar.h"
#include "MeterToolBar.h"
@ -62,7 +62,7 @@
#include "../Prefs.h"
#include "../Project.h"
#include "../Theme.h"
#include "../Track.h"
#include "../WaveTrack.h"
#include "../widgets/AButton.h"
#include "../widgets/Meter.h"

View File

@ -52,6 +52,7 @@
#include "../Prefs.h"
#include "../Project.h"
#include "../Theme.h"
#include "../Track.h"
#include "../UndoManager.h"
#include "../widgets/AButton.h"

View File

@ -15,6 +15,7 @@
*//*******************************************************************/
#include "../Audacity.h"
#include "TranscriptionToolBar.h"
// For compilers that support precompilation, includes "wx/wx.h".
#include <wx/wxprec.h>
@ -28,7 +29,6 @@
#endif // WX_PRECOMP
#include "../Envelope.h"
#include "TranscriptionToolBar.h"
#include "ControlToolBar.h"
#include "../AudacityApp.h"

View File

@ -18,7 +18,7 @@
#include <wx/brush.h>
#include <wx/pen.h>
#include "../Sequence.h"
#include "audacity/Types.h"
#include "../Theme.h"
class wxBitmap;
@ -82,7 +82,7 @@ class TranscriptionToolBar:public ToolBar {
virtual void OnSensitivitySlider(wxCommandEvent & event);
virtual void Populate();
virtual void Repaint(wxDC * WXUNUSED(dc)) {};
virtual void Repaint(wxDC * WXUNUSED(dc)) {}
virtual void EnableDisableButtons();
virtual void UpdatePrefs();

Some files were not shown because too many files have changed in this diff Show More