⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 legacyaliasblockfile.cpp

📁 Audacity是一款用於錄音和編輯聲音的、免費的開放源碼軟體。它可以執行於Mac OS X、Microsoft Windows、GNU/Linux和其它作業系統
💻 CPP
字号:
/**********************************************************************  Audacity: A Digital Audio Editor  LegacyAliasBlockFile.cpp  Dominic Mazzoni**********************************************************************/#include <wx/utils.h>#include <wx/wxchar.h>#include <sndfile.h>#include "LegacyAliasBlockFile.h"#include "LegacyBlockFile.h"#include "../FileFormats.h"#include "../Internat.h"LegacyAliasBlockFile::LegacyAliasBlockFile(wxFileName fileName,                                           wxFileName aliasedFile,                                           sampleCount aliasStart,                                           sampleCount aliasLen,                                           int aliasChannel,                                           sampleCount summaryLen,                                           bool noRMS):   PCMAliasBlockFile(fileName, aliasedFile, aliasStart, aliasLen,                     aliasChannel, 0.0, 0.0, 0.0){   sampleFormat format;   if (noRMS)      format = int16Sample;   else      format = floatSample;   ComputeLegacySummaryInfo(fileName,                            summaryLen, format,                            &mSummaryInfo, noRMS, FALSE,                            &mMin, &mMax, &mRMS);}LegacyAliasBlockFile::~LegacyAliasBlockFile(){}/// Construct a new LegacyAliasBlockFile based on this one, but writing/// the summary data to a new file.////// @param newFileName The filename to copy the summary data to.BlockFile *LegacyAliasBlockFile::Copy(wxFileName newFileName){   BlockFile *newBlockFile =      new LegacyAliasBlockFile(newFileName,                               mAliasedFileName, mAliasStart,                               mLen, mAliasChannel,                               mSummaryInfo.totalSummaryBytes,                               mSummaryInfo.fields < 3);   return newBlockFile;}void LegacyAliasBlockFile::SaveXML(int depth, wxFFile &xmlFile){   for(int i = 0; i < depth; i++)      xmlFile.Write(wxT("\t"));   xmlFile.Write(wxT("<legacyblockfile "));   xmlFile.Write(wxT("alias='1' "));   xmlFile.Write(wxString::Format(wxT("name='%s' "),                                  XMLTagHandler::XMLEsc(mFileName.GetFullName()).c_str()));   xmlFile.Write(wxString::Format(wxT("aliaspath='%s' "),                                  XMLTagHandler::XMLEsc(mAliasedFileName.GetFullPath()).c_str()));   xmlFile.Write(wxString::Format(wxT("aliasstart='%d' "), mAliasStart));   xmlFile.Write(wxString::Format(wxT("aliaslen='%d' "), mLen));   xmlFile.Write(wxString::Format(wxT("aliaschannel='%d' "), mAliasChannel));   xmlFile.Write(wxString::Format(wxT("summarylen='%d' "), mSummaryInfo.totalSummaryBytes));   if (mSummaryInfo.fields < 3)      xmlFile.Write(wxString::Format(wxT("norms='1' ")));   xmlFile.Write(wxT("/>\n"));}BlockFile *LegacyAliasBlockFile::BuildFromXML(wxString projDir, const wxChar **attrs){   wxFileName summaryFileName;   wxFileName aliasFileName;      int aliasStart=0, aliasLen=0, aliasChannel=0;   int summaryLen=0;   bool noRMS = false;   while(*attrs)   {       const wxChar *attr =  *attrs++;       const wxChar *value = *attrs++;       if( !wxStricmp(attr, wxT("name")) )          summaryFileName.Assign(projDir, value, wxT(""));       if( !wxStricmp(attr, wxT("aliaspath")) )          aliasFileName.Assign(value);       if( !wxStricmp(attr, wxT("aliasstart")) )          aliasStart = wxAtoi(value);       if( !wxStricmp(attr, wxT("aliaslen")) )          aliasLen = wxAtoi(value);       if( !wxStricmp(attr, wxT("aliaschannel")) )          aliasChannel = wxAtoi(value);       if( !wxStricmp(attr, wxT("summarylen")) )          summaryLen = wxAtoi(value);       if( !wxStricmp(attr, wxT("norms")) )          noRMS = wxAtoi(value)?true:false;   }   return new LegacyAliasBlockFile(summaryFileName, aliasFileName,                                   aliasStart, aliasLen, aliasChannel,                                   summaryLen, noRMS);}// regenerates the summary info, doesn't deal with missing alias filesvoid LegacyAliasBlockFile::Recover(){   WriteSummary();}// Indentation settings for Vim and Emacs and unique identifier for Arch, a// version control system. Please do not modify past this point.//// Local Variables:// c-basic-offset: 3// indent-tabs-mode: nil// End://// vim: et sts=3 sw=3// arch-tag: b5ab502b-a641-4013-b4fd-1dea05d9b3fd

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -