本文整理汇总了C++中WaveTrack::SetSelected方法的典型用法代码示例。如果您正苦于以下问题:C++ WaveTrack::SetSelected方法的具体用法?C++ WaveTrack::SetSelected怎么用?C++ WaveTrack::SetSelected使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WaveTrack
的用法示例。
在下文中一共展示了WaveTrack::SetSelected方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnImportRaw
void AudacityProject::OnImportRaw(wxCommandEvent & event)
{
wxString path = gPrefs->Read("/DefaultOpenPath",::wxGetCwd());
wxString fileName =
wxFileSelector(_("Select any uncompressed audio file..."),
path, // Path
"", // Name
"", // Extension
_("All files (*.*)|*.*"),
0, // Flags
this); // Parent
if (fileName != "") {
path =::wxPathOnly(fileName);
gPrefs->Write("/DefaultOpenPath", path);
WaveTrack *left = 0;
WaveTrack *right = 0;
if (::ImportRaw(this, fileName, &left, &right, &mDirManager)) {
SelectNone();
if (left) {
mTracks->Add(left);
left->SetSelected(true);
}
if (right) {
mTracks->Add(right);
right->SetSelected(true);
}
PushState(wxString::Format(_("Imported raw audio from '%s'"),
fileName.c_str()));
FixScrollbars();
mTrackPanel->Refresh(false);
}
}
}
示例2: OnNewWaveTrack
void AudacityProject::OnNewWaveTrack(wxCommandEvent & event)
{
WaveTrack *t = new WaveTrack(&mDirManager);
SelectNone();
mTracks->Add(t);
t->SetSelected(true);
PushState(_("Created new audio track"));
FixScrollbars();
mTrackPanel->Refresh(false);
}
示例3: BeforeGenerate
void EffectSineSweepGenerator::BeforeGenerate()
{
#ifdef __AUDEBUG__
printf("elsg: BEFOREGENERATE\n"); fflush(stdout);
printf("elsg: detected %d tracks\n", int(GetNumWaveTracks())); fflush(stdout);
#endif
// These lines add new tracks if needed
int existingTracks = GetNumWaveTracks();
int neededTracks = m_pSsg->GetNeededTracks();
//If there are selected tracks it's a mess, better deselect all first...
int i = 1;
if(existingTracks > 1)
{
DeselectAllTracks();
i = 0;
}
while(i < neededTracks)
{
WaveTrack *t = mFactory->NewWaveTrack(floatSample, mProjectRate);
mTracks->Add(t);
t->SetSelected(true);
i++;
}
// Select all tracks
i = 1;
wxString name;
TrackListIterator iter(mTracks);
for (Track *t = iter.First(); t; t = iter.Next())
{
name.Printf(_("Sweep Channel %d"), i);
if(m_pSsg->IsControlPulsesSet()) {
if(i == (neededTracks-1)) name = _("Inverse Filter");
if(i == neededTracks) name = _("Pulses Channel");
}
else
{
if(i == neededTracks) name = _("Inverse Filter");
}
t->SetName(name);
i++;
}
}
示例4: Preview
void Effect::Preview()
{
wxWindow* FocusDialog = wxWindow::FindFocus();
if (gAudioIO->IsBusy())
return;
// Mix a few seconds of audio from all of the tracks
double previewLen = 6.0;
gPrefs->Read(wxT("/AudioIO/EffectsPreviewLen"), &previewLen);
WaveTrack *mixLeft = NULL;
WaveTrack *mixRight = NULL;
double rate = mProjectRate;
double t0 = mT0;
double t1 = t0 + previewLen;
if (t1 > mT1)
t1 = mT1;
if (t1 <= t0)
return;
bool success = ::MixAndRender(mTracks, mFactory, rate, floatSample, t0, t1,
&mixLeft, &mixRight);
if (!success) {
return;
}
// Save the original track list
TrackList *saveTracks = mTracks;
// Build new tracklist from rendering tracks
mTracks = new TrackList();
mixLeft->SetSelected(true);
mTracks->Add(mixLeft);
if (mixRight) {
mixRight->SetSelected(true);
mTracks->Add(mixRight);
}
// Update track/group counts
CountWaveTracks();
// Reset times
t0 = mixLeft->GetStartTime();
t1 = mixLeft->GetEndTime();
double t0save = mT0;
double t1save = mT1;
mT0 = t0;
mT1 = t1;
// Apply effect
// Effect is already inited; we call Process, End, and then Init
// again, so the state is exactly the way it was before Preview
// was called.
mProgress = new ProgressDialog(StripAmpersand(GetEffectName()),
_("Preparing preview"),
pdlgHideCancelButton); // Have only "Stop" button.
bool bSuccess = Process();
delete mProgress;
End();
Init();
if (bSuccess)
{
mT0 = t0save;
mT1 = t1save;
WaveTrackArray playbackTracks;
WaveTrackArray recordingTracks;
// Probably not the same tracks post-processing, so can't rely on previous values of mixLeft & mixRight.
TrackListOfKindIterator iter(Track::Wave, mTracks);
mixLeft = (WaveTrack*)(iter.First());
mixRight = (WaveTrack*)(iter.Next());
playbackTracks.Add(mixLeft);
if (mixRight)
playbackTracks.Add(mixRight);
#ifdef EXPERIMENTAL_MIDI_OUT
NoteTrackArray empty;
#endif
// Start audio playing
int token =
gAudioIO->StartStream(playbackTracks, recordingTracks,
#ifdef EXPERIMENTAL_MIDI_OUT
empty,
#endif
NULL, rate, t0, t1, NULL);
if (token) {
int previewing = eProgressSuccess;
mProgress = new ProgressDialog(StripAmpersand(GetEffectName()),
_("Previewing"), pdlgHideCancelButton);
while (gAudioIO->IsStreamActive(token) && previewing == eProgressSuccess) {
::wxMilliSleep(100);
previewing = mProgress->Update(gAudioIO->GetStreamTime() - t0, t1 - t0);
//.........这里部分代码省略.........