本文整理汇总了C++中Tags::ShowEditDialog方法的典型用法代码示例。如果您正苦于以下问题:C++ Tags::ShowEditDialog方法的具体用法?C++ Tags::ShowEditDialog怎么用?C++ Tags::ShowEditDialog使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Tags
的用法示例。
在下文中一共展示了Tags::ShowEditDialog方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnExport
void ExportMultiple::OnExport(wxCommandEvent& event)
{
ShuttleGui S(this, eIsSavingToPrefs);
PopulateOrExchange(S);
// Make sure the output directory is in good shape
if (!DirOk()) {
return;
}
mFormatIndex = mFormat->GetSelection();
bool overwrite = mOverwrite->GetValue();
if (mPlugins[mFormatIndex]->GetCanMetaData()) {
Tags *tags = mProject->GetTags();
if (tags->IsEmpty()) {
wxString saveTitle = tags->GetTitle();
int saveTrackNumber = tags->GetTrackNumber();
tags->SetTitle(wxT("(automatic)"));
tags->SetTrackNumber(0);
tags->AllowEditTitle(false);
tags->AllowEditTrackNumber(false);
bool rval = tags->ShowEditDialog(mProject,
_("Edit the ID3 tags for all MP3 files"),
true);
tags->AllowEditTitle(true);
tags->AllowEditTrackNumber(true);
if (!rval) {
tags->SetTitle(saveTitle);
tags->SetTrackNumber(saveTrackNumber);
return;
}
}
}
bool ok;
if (mLabel->GetValue()) {
ok = ExportMultipleByLabel(mByName->GetValue(),
mPrefix->GetValue());
}
else {
ok = ExportMultipleByTrack(mByName->GetValue(),
mPrefix->GetValue());
}
if (!ok) {
return;
}
EndModal(1);
}
示例2: ExportMP3
bool ExportMP3(AudacityProject *project,
bool stereo, wxString fName,
bool selectionOnly, double t0, double t1)
{
double rate = project->GetRate();
wxWindow *parent = project;
TrackList *tracks = project->GetTracks();
wxLogNull logNo; /* temporarily disable wxWindows error messages */
bool success = GetMP3Exporter()->FindLibrary(parent);
if (!success)
return false;
success = GetMP3Exporter()->LoadLibrary();
if (!success) {
wxMessageBox(_("Could not open MP3 encoding library!"));
gPrefs->Write("/MP3/MP3LibPath", wxString(""));
return false;
}
if(!GetMP3Exporter()->ValidLibraryLoaded()) {
wxMessageBox(_("Not a valid or supported MP3 encoding library!"));
gPrefs->Write("/MP3/MP3LibPath", wxString(""));
return false;
}
/* Open file for writing */
wxFFile outFile(fName, "wb");
if (!outFile.IsOpened()) {
wxMessageBox(_("Unable to open target file for writing"));
return false;
}
/* Put ID3 tags at beginning of file */
Tags *tags = project->GetTags();
if (!tags->ShowEditDialog(project, _("Edit the ID3 tags for the MP3 file")))
return false; // used selected "cancel"
char *id3buffer;
int id3len;
bool endOfFile;
id3len = tags->ExportID3(&id3buffer, &endOfFile);
if (!endOfFile)
outFile.Write(id3buffer, id3len);
/* Export MP3 using DLL */
long bitrate = gPrefs->Read("/FileFormats/MP3Bitrate", 128);
GetMP3Exporter()->SetBitrate(bitrate);
sampleCount inSamples = GetMP3Exporter()->InitializeStream(stereo ? 2 : 1, int(rate + 0.5));
double timeStep = (double)inSamples / rate;
double t = t0;
wxProgressDialog *progress = NULL;
wxYield();
wxStartTimer();
wxBusyCursor busy;
bool cancelling = false;
long bytes;
int bufferSize = GetMP3Exporter()->GetOutBufferSize();
unsigned char *buffer = new unsigned char[bufferSize];
wxASSERT(buffer);
while (t < t1 && !cancelling) {
double deltat = timeStep;
bool lastFrame = false;
sampleCount numSamples = inSamples;
if (t + deltat > t1) {
lastFrame = true;
deltat = t1 - t;
numSamples = int(deltat * rate + 0.5);
}
Mixer *mixer = new Mixer(stereo ? 2 : 1, numSamples, true,
rate, int16Sample);
wxASSERT(mixer);
mixer->Clear();
TrackListIterator iter(tracks);
VTrack *tr = iter.First();
while (tr) {
if (tr->GetKind() == VTrack::Wave) {
if (tr->GetSelected() || !selectionOnly) {
if (tr->GetChannel() == VTrack::MonoChannel)
mixer->MixMono((WaveTrack *) tr, t, t + deltat);
else if (tr->GetChannel() == VTrack::LeftChannel)
mixer->MixLeft((WaveTrack *) tr, t, t + deltat);
//.........这里部分代码省略.........