Eliminate all unnecessary uses of L and _T

Originally committed to SVN as r5611.
This commit is contained in:
Thomas Goyne 2011-09-28 19:43:11 +00:00
parent 7250b89cbd
commit d990bbbb99
115 changed files with 1426 additions and 1434 deletions

View file

@ -82,13 +82,13 @@ void AegisubLocale::Init(int language) {
locale = new wxLocale(language);
#ifdef __WINDOWS__
locale->AddCatalogLookupPathPrefix(StandardPaths::DecodePath(_T("?data/locale/")));
locale->AddCatalog(_T("aegisub"));
locale->AddCatalogLookupPathPrefix(StandardPaths::DecodePath("?data/locale/"));
locale->AddCatalog("aegisub");
#else
locale->AddCatalog(_T(GETTEXT_PACKAGE));
locale->AddCatalog(GETTEXT_PACKAGE);
#endif
locale->AddCatalog(_T("wxstd"));
locale->AddCatalog("wxstd");
setlocale(LC_NUMERIC, "C");
setlocale(LC_CTYPE, "C");
}
@ -124,7 +124,7 @@ int AegisubLocale::PickLanguage() {
if (langs.Count() == 0) return -1;
// Popup
int picked = wxGetSingleChoiceIndex(_T("Please choose a language:"),_T("Language"),langNames,NULL,-1,-1,true,300,400);
int picked = wxGetSingleChoiceIndex("Please choose a language:","Language",langNames,NULL,-1,-1,true,300,400);
if (picked == -1) return -1;
return langs[picked];
}
@ -140,15 +140,15 @@ wxArrayInt AegisubLocale::GetAvailableLanguages() {
wxString temp1;
// Open directory
wxString folder = StandardPaths::DecodePath(_T("?data/locale/"));
wxString folder = StandardPaths::DecodePath("?data/locale/");
wxDir dir;
if (!dir.Exists(folder)) return final;
if (!dir.Open(folder)) return final;
// Enumerate folders
for (bool cont = dir.GetFirst(&temp1,_T(""),wxDIR_DIRS);cont;cont = dir.GetNext(&temp1)) {
for (bool cont = dir.GetFirst(&temp1,"",wxDIR_DIRS);cont;cont = dir.GetNext(&temp1)) {
// Check if .so exists inside folder
wxFileName file(folder + temp1 + _T("/aegisub.mo"));
wxFileName file(folder + temp1 + "/aegisub.mo");
if (file.FileExists()) {
const wxLanguageInfo *lang = wxLocale::FindLanguageInfo(temp1);
if (lang) {
@ -159,33 +159,33 @@ wxArrayInt AegisubLocale::GetAvailableLanguages() {
#else
const wchar_t* langs[] = {
_T("ca"),
_T("cs"),
_T("da"),
_T("de"),
_T("el"),
_T("es"),
_T("fi"),
_T("fr_FR"),
_T("hu"),
_T("it"),
_T("ja"),
_T("ko"),
_T("pt_BR"),
_T("ru"),
_T("vi"),
_T("zh_CN"),
_T("zh_TW")
const char* langs[] = {
"ca",
"cs",
"da",
"de",
"el",
"es",
"fi",
"fr_FR",
"hu",
"it",
"ja",
"ko",
"pt_BR",
"ru",
"vi",
"zh_CN",
"zh_TW"
};
size_t len = sizeof(langs)/sizeof(wchar_t*);
size_t len = sizeof(langs)/sizeof(char*);
for (size_t i=0; i<len; i++) {
const wxLanguageInfo *lang = wxLocale::FindLanguageInfo(langs[i]);
// If the locale file doesn't exist then don't list it as an option.
wxString locDir = wxStandardPaths::Get().GetLocalizedResourcesDir(langs[i], wxStandardPathsBase::ResourceCat_Messages);
wxFileName file(wxString::Format(_T("%s/%s.mo"), locDir.c_str(), _T(GETTEXT_PACKAGE)));
wxFileName file(wxString::Format("%s/%s.mo", locDir.c_str(), GETTEXT_PACKAGE));
if (lang && file.FileExists()) final.Add(lang->Language);
}
#endif

View file

@ -57,8 +57,8 @@ AssAttachment::AssAttachment(wxString _name) {
wxFileName fname(GetFileName());
wxString ext = fname.GetExt().Lower();
wxString name;
if (ext == _T("ttf")) {
name = fname.GetName() + _T("_0.") + ext;
if (ext == "ttf") {
name = fname.GetName() + "_0." + ext;
}
else name = _name;
@ -133,9 +133,9 @@ const wxString AssAttachment::GetEntryData() const {
// Write header
wxString entryData;
if (group == _T("[Fonts]")) entryData = _T("fontname: ");
else entryData = _T("filename: ");
entryData += filename + _T("\r\n");
if (group == "[Fonts]") entryData = "fontname: ";
else entryData = "filename: ";
entryData += filename + "\r\n";
// Read three bytes
while (pos < size) {
@ -162,13 +162,13 @@ const wxString AssAttachment::GetEntryData() const {
// Convert to text
for (int i=0;i<toWrite;i++) {
entryData += wxChar(dst[i]+33);
entryData += dst[i]+33;
written++;
// Line break
if (written == 80 && pos < size) {
written = 0;
entryData += _T("\r\n");
entryData += "\r\n";
}
}
}
@ -201,7 +201,7 @@ void AssAttachment::Import(wxString filename) {
// Open file and get size
wxFileInputStream fp(filename);
if (!fp.Ok()) throw _T("Failed opening file");
if (!fp.Ok()) throw "Failed opening file";
int size = fp.SeekI(0,wxFromEnd);
fp.SeekI(0,wxFromStart);
@ -218,18 +218,18 @@ void AssAttachment::Import(wxString filename) {
///
wxString AssAttachment::GetFileName(bool raw) {
// Raw
if (raw || filename.Right(4).Lower() != _T(".ttf")) return filename;
if (raw || filename.Right(4).Lower() != ".ttf") return filename;
// Remove stuff after last underscore if it's a font
int lastUnder = -1;
for (size_t i=0;i<filename.Length();i++) {
if (filename[i] == _T('_')) lastUnder = i;
if (filename[i] == '_') lastUnder = i;
}
// Underline found
wxString final = filename;
if (lastUnder != -1) {
final = filename.Left(lastUnder) + _T(".ttf");
final = filename.Left(lastUnder) + ".ttf";
}
return final;
}

View file

@ -53,12 +53,12 @@ AssDialogue::AssDialogue()
, Layer(0)
, Start(0)
, End(5000)
, Style(L"Default")
, Actor(L"")
, Effect(L"")
, Text(L"")
, Style("Default")
, Actor("")
, Effect("")
, Text("")
{
group = L"[Events]";
group = "[Events]";
Valid = true;
for (int i=0;i<4;i++) Margin[i] = 0;
}
@ -87,12 +87,12 @@ AssDialogue::AssDialogue(wxString _data,int version)
, Layer(0)
, Start(0)
, End(5000)
, Style(L"Default")
, Actor(L"")
, Effect(L"")
, Text(L"")
, Style("Default")
, Actor("")
, Effect("")
, Text("")
{
group = L"[Events]";
group = "[Events]";
Valid = false;
// Try parsing in different ways
int count = 0;
@ -105,7 +105,7 @@ AssDialogue::AssDialogue(wxString _data,int version)
// Not valid
if (!Valid) {
throw _T("Failed parsing line.");
throw "Failed parsing line.";
}
}
@ -122,22 +122,22 @@ bool AssDialogue::Parse(wxString rawData, int version) {
wxString temp;
// Get type
if (rawData.StartsWith(_T("Dialogue:"))) {
if (rawData.StartsWith("Dialogue:")) {
Comment = false;
pos = 10;
}
else if (rawData.StartsWith(_T("Comment:"))) {
else if (rawData.StartsWith("Comment:")) {
Comment = true;
pos = 9;
}
else return false;
wxStringTokenizer tkn(rawData.Mid(pos),_T(","),wxTOKEN_RET_EMPTY_ALL);
wxStringTokenizer tkn(rawData.Mid(pos),",",wxTOKEN_RET_EMPTY_ALL);
if (!tkn.HasMoreTokens()) return false;
// Get first token and see if it has "Marked=" in it
temp = tkn.GetNextToken().Trim(false).Trim(true);
if (temp.Lower().StartsWith(_T("marked="))) version = 0;
if (temp.Lower().StartsWith("marked=")) version = 0;
else if (version == 0) version = 1;
// Get layer number
@ -213,14 +213,14 @@ wxString AssDialogue::GetData(bool ssa) const {
wxString s = Style;
wxString a = Actor;
wxString e = Effect;
s.Replace(L",",L";");
a.Replace(L",",L";");
e.Replace(L",",L";");
s.Replace(",",";");
a.Replace(",",";");
e.Replace(",",";");
wxString str = wxString::Format(
L"%s: %s,%s,%s,%s,%s,%d,%d,%d,%s,%s",
Comment ? L"Comment" : L"Dialogue",
ssa ? L"Marked=0" : wxString::Format("%01d", Layer).c_str(),
"%s: %s,%s,%s,%s,%s,%d,%d,%d,%s,%s",
Comment ? "Comment" : "Dialogue",
ssa ? "Marked=0" : wxString::Format("%01d", Layer).c_str(),
Start.GetASSFormated().c_str(),
End.GetASSFormated().c_str(),
s.c_str(), a.c_str(),
@ -229,8 +229,8 @@ wxString AssDialogue::GetData(bool ssa) const {
Text.c_str());
// Make sure that final has no line breaks
str.Replace(L"\n", "");
str.Replace(L"\r", "");
str.Replace("\n", "");
str.Replace("\r", "");
return str;
}
@ -246,14 +246,14 @@ wxString AssDialogue::GetSSAText () const {
void AssDialogue::ParseSRTTags () {
// Search and replace
size_t total = 0;
total += Text.Replace(_T("<i>"),_T("{\\i1}"));
total += Text.Replace(_T("</i>"),_T("{\\i0}"));
total += Text.Replace(_T("<b>"),_T("{\\b1}"));
total += Text.Replace(_T("</b>"),_T("{\\b0}"));
total += Text.Replace(_T("<u>"),_T("{\\u1}"));
total += Text.Replace(_T("</u>"),_T("{\\u0}"));
total += Text.Replace(_T("<s>"),_T("{\\s1}"));
total += Text.Replace(_T("</s>"),_T("{\\s0}"));
total += Text.Replace("<i>","{\\i1}");
total += Text.Replace("</i>","{\\i0}");
total += Text.Replace("<b>","{\\b1}");
total += Text.Replace("</b>","{\\b0}");
total += Text.Replace("<u>","{\\u1}");
total += Text.Replace("</u>","{\\u0}");
total += Text.Replace("<s>","{\\s1}");
total += Text.Replace("</s>","{\\s0}");
// Process <font> tag
wxString work = Text;
@ -266,8 +266,8 @@ void AssDialogue::ParseSRTTags () {
bool isOpen;
// Iterate
pos_open = work.find(_T("<FONT"),0);
pos_close = work.find(_T("</FONT"),0);
pos_open = work.find("<FONT",0);
pos_close = work.find("</FONT",0);
while (pos_open != wxString::npos || pos_close != wxString::npos) {
// Determine if it's an open or close tag
if (pos_open < pos_close) {
@ -278,7 +278,7 @@ void AssDialogue::ParseSRTTags () {
start = pos_close;
isOpen = false;
}
end = work.find(_T(">"),start)+1;
end = work.find(">",start)+1;
//if (end == wxString::npos) continue;
// Open tag
@ -286,17 +286,17 @@ void AssDialogue::ParseSRTTags () {
wxString replaced;
// Color tag
if ((pos = work.find(_T("COLOR=\""),start)) != wxString::npos) {
if ((pos = work.find("COLOR=\"",start)) != wxString::npos) {
if (pos < end) {
pos += 7;
size_t end_tag = Text.find(_T("\""),pos);
size_t end_tag = Text.find("\"",pos);
if (end_tag != wxString::npos) {
if (end_tag-pos == 7) {
replaced += _T("{\\c&H");
replaced += "{\\c&H";
replaced += work.substr(pos+5,2);
replaced += work.substr(pos+3,2);
replaced += work.substr(pos+1,2);
replaced += _T("&}");
replaced += "&}";
total++;
}
}
@ -304,28 +304,28 @@ void AssDialogue::ParseSRTTags () {
}
// Face tag
if ((pos = work.find(_T("FACE=\""),start)) != wxString::npos) {
if ((pos = work.find("FACE=\"",start)) != wxString::npos) {
if (pos < end) {
pos += 6;
size_t end_tag = work.find(_T("\""),pos);
size_t end_tag = work.find("\"",pos);
if (end_tag != wxString::npos) {
replaced += _T("{\\fn");
replaced += "{\\fn";
replaced += work.substr(pos,end_tag-pos);
replaced += _T("}");
replaced += "}";
total++;
}
}
}
// Size tag
if ((pos = work.find(_T("SIZE=\""),start)) != wxString::npos) {
if ((pos = work.find("SIZE=\"",start)) != wxString::npos) {
if (pos < end) {
pos += 6;
size_t end_tag = Text.find(_T("\""),pos);
size_t end_tag = Text.find("\"",pos);
if (end_tag != wxString::npos) {
replaced += _T("{\\fs");
replaced += "{\\fs";
replaced += work.substr(pos,end_tag-pos);
replaced += _T("}");
replaced += "}";
total++;
}
}
@ -343,18 +343,18 @@ void AssDialogue::ParseSRTTags () {
// Find if it's italic, bold, underline, and strikeout
wxString prev = Text.Left(start);
bool isItalic=false,isBold=false,isUnder=false,isStrike=false;
if (CountMatches(prev,_T("{\\i1}")) > CountMatches(prev,_T("{\\i0}"))) isItalic = true;
if (CountMatches(prev,_T("{\\b1}")) > CountMatches(prev,_T("{\\b0}"))) isBold = true;
if (CountMatches(prev,_T("{\\u1}")) > CountMatches(prev,_T("{\\u0}"))) isUnder = true;
if (CountMatches(prev,_T("{\\s1}")) > CountMatches(prev,_T("{\\s0}"))) isStrike = true;
if (CountMatches(prev,"{\\i1}") > CountMatches(prev,"{\\i0}")) isItalic = true;
if (CountMatches(prev,"{\\b1}") > CountMatches(prev,"{\\b0}")) isBold = true;
if (CountMatches(prev,"{\\u1}") > CountMatches(prev,"{\\u0}")) isUnder = true;
if (CountMatches(prev,"{\\s1}") > CountMatches(prev,"{\\s0}")) isStrike = true;
// Generate new tag, by reseting and then restoring flags
wxString replaced = _T("{\\r");
if (isItalic) replaced += _T("\\i1");
if (isBold) replaced += _T("\\b1");
if (isUnder) replaced += _T("\\u1");
if (isStrike) replaced += _T("\\s1");
replaced += _T("}");
wxString replaced = "{\\r";
if (isItalic) replaced += "\\i1";
if (isBold) replaced += "\\b1";
if (isUnder) replaced += "\\u1";
if (isStrike) replaced += "\\s1";
replaced += "}";
// Replace
//Text = Text.substr(0,start) + replaced + Text.substr(end);
@ -366,12 +366,12 @@ void AssDialogue::ParseSRTTags () {
// Get next
work = Text;
work.UpperCase();
pos_open = work.find(_T("<FONT"),0);
pos_close = work.find(_T("</FONT"),0);
pos_open = work.find("<FONT",0);
pos_close = work.find("</FONT",0);
}
// Remove double tagging
Text.Replace(_T("}{"),_T(""));
Text.Replace("}{","");
}
void AssDialogue::ParseASSTags () {
@ -387,14 +387,14 @@ void AssDialogue::ParseASSTags () {
if (Text[cur] == '{') {
// Get contents of block
wxString work;
end = Text.find(_T("}"),cur);
end = Text.find("}",cur);
if (end == wxString::npos) {
work = Text.substr(cur);
end = len;
}
else work = Text.substr(cur,end-cur+1);
if (work.Find(_T("\\")) == wxNOT_FOUND) {
if (work.Find("\\") == wxNOT_FOUND) {
//We've found an override block with no backslashes
//We're going to assume it's a comment and not consider it an override block
//Currently we'll treat this as a plain text block, but feel free to create a new class
@ -415,7 +415,7 @@ void AssDialogue::ParseASSTags () {
// Look for \p in block
std::vector<AssOverrideTag*>::iterator curTag;
for (curTag = block->Tags.begin();curTag != block->Tags.end();curTag++) {
if ((*curTag)->Name == L"\\p") {
if ((*curTag)->Name == "\\p") {
drawingLevel = (*curTag)->Params[0]->Get<int>(0);
}
}
@ -428,7 +428,7 @@ void AssDialogue::ParseASSTags () {
// Plain-text/drawing block
else {
wxString work;
end = Text.find(_T("{"),cur);
end = Text.find("{",cur);
if (end == wxString::npos) {
work = Text.substr(cur);
end = len;
@ -457,7 +457,7 @@ void AssDialogue::ParseASSTags () {
// Empty line, make an empty block
if (len == 0) {
AssDialogueBlockPlain *block = new AssDialogueBlockPlain;
block->text = _T("");
block->text = "";
Blocks.push_back(block);
}
}
@ -482,7 +482,7 @@ void AssDialogue::StripTag (wxString tagName) {
}
// Insert
if (!temp.IsEmpty()) final += _T("{") + temp + _T("}");
if (!temp.IsEmpty()) final += "{" + temp + "}";
}
else final += (*cur)->GetText();
}
@ -497,7 +497,7 @@ void AssDialogue::ConvertTagsToSRT () {
AssDialogueBlockOverride* curBlock;
AssDialogueBlockPlain *curPlain;
AssOverrideTag* curTag;
wxString final = _T("");
wxString final = "";
bool isItalic=false,isBold=false,isUnder=false,isStrike=false;
bool temp;
@ -511,54 +511,54 @@ void AssDialogue::ConvertTagsToSRT () {
curTag = curBlock->Tags.at(j);
if (curTag->IsValid()) {
// Italics
if (curTag->Name == _T("\\i")) {
if (curTag->Name == "\\i") {
temp = curTag->Params.at(0)->Get<bool>();
if (temp && !isItalic) {
isItalic = true;
final += _T("<i>");
final += "<i>";
}
if (!temp && isItalic) {
isItalic = false;
final += _T("</i>");
final += "</i>";
}
}
// Underline
if (curTag->Name == _T("\\u")) {
if (curTag->Name == "\\u") {
temp = curTag->Params.at(0)->Get<bool>();
if (temp && !isUnder) {
isUnder = true;
final += _T("<u>");
final += "<u>";
}
if (!temp && isUnder) {
isUnder = false;
final += _T("</u>");
final += "</u>";
}
}
// Strikeout
if (curTag->Name == _T("\\s")) {
if (curTag->Name == "\\s") {
temp = curTag->Params.at(0)->Get<bool>();
if (temp && !isStrike) {
isStrike = true;
final += _T("<s>");
final += "<s>";
}
if (!temp && isStrike) {
isStrike = false;
final += _T("</s>");
final += "</s>";
}
}
// Bold
if (curTag->Name == _T("\\b")) {
if (curTag->Name == "\\b") {
temp = curTag->Params.at(0)->Get<bool>();
if (temp && !isBold) {
isBold = true;
final += _T("<b>");
final += "<b>";
}
if (!temp && isBold) {
isBold = false;
final += _T("</b>");
final += "</b>";
}
}
}
@ -576,13 +576,13 @@ void AssDialogue::ConvertTagsToSRT () {
// Ensure all tags are closed
if (isBold)
final += _T("</b>");
final += "</b>";
if (isItalic)
final += _T("</i>");
final += "</i>";
if (isUnder)
final += _T("</u>");
final += "</u>";
if (isStrike)
final += _T("</s>");
final += "</s>";
Text = final;
ClearBlocks();
@ -593,9 +593,9 @@ void AssDialogue::UpdateText () {
Text.clear();
for (std::vector<AssDialogueBlock*>::iterator cur=Blocks.begin();cur!=Blocks.end();cur++) {
if ((*cur)->GetType() == BLOCK_OVERRIDE) {
Text += _T("{");
Text += "{";
Text += (*cur)->GetText();
Text += _T("}");
Text += "}";
}
else Text += (*cur)->GetText();
}
@ -607,7 +607,7 @@ void AssDialogue::SetMarginString(const wxString origvalue,int which) {
// Make it numeric
wxString strvalue = origvalue;
if (!strvalue.IsNumber()) {
strvalue = _T("");
strvalue = "";
for (size_t i=0;i<origvalue.Length();i++) {
if (origvalue.Mid(i,1).IsNumber()) {
strvalue += origvalue.Mid(i,1);
@ -630,8 +630,8 @@ void AssDialogue::SetMarginString(const wxString origvalue,int which) {
wxString AssDialogue::GetMarginString(int which,bool pad) const {
if (which < 0 || which >= 4) throw Aegisub::InvalidMarginIdError();
int value = Margin[which];
if (pad) return wxString::Format(_T("%04i"),value);
else return wxString::Format(_T("%i"),value);
if (pad) return wxString::Format("%04i",value);
else return wxString::Format("%i",value);
}
void AssDialogue::ProcessParameters(AssDialogueBlockOverride::ProcessParametersCallback callback,void *userData) {
@ -657,9 +657,9 @@ bool AssDialogue::CollidesWith(AssDialogue *target) {
}
wxString AssDialogue::GetStrippedText() const {
static wxRegEx reg(_T("\\{[^\\{]*\\}"),wxRE_ADVANCED);
static wxRegEx reg("\\{[^\\{]*\\}",wxRE_ADVANCED);
wxString txt(Text);
reg.Replace(&txt,_T(""));
reg.Replace(&txt,"");
return txt;
}
@ -670,7 +670,7 @@ AssEntry *AssDialogue::Clone() const {
void AssDialogueBlockDrawing::TransformCoords(int mx,int my,double x,double y) {
// HACK: Implement a proper parser ffs!!
// Could use Spline but it'd be slower and this seems to work fine
wxStringTokenizer tkn(GetText(),_T(" "),wxTOKEN_DEFAULT);
wxStringTokenizer tkn(GetText()," ",wxTOKEN_DEFAULT);
wxString cur;
wxString final;
bool isX = true;
@ -688,7 +688,7 @@ void AssDialogueBlockDrawing::TransformCoords(int mx,int my,double x,double y) {
else temp = (long int)((temp+my)*y + 0.5);
// Write back to list
final += wxString::Format(_T("%i "),temp);
final += wxString::Format("%i ",temp);
// Toggle X/Y
isX = !isX;
@ -696,8 +696,8 @@ void AssDialogueBlockDrawing::TransformCoords(int mx,int my,double x,double y) {
// Text
else {
if (cur == _T("m") || cur == _T("n") || cur == _T("l") || cur == _T("b") || cur == _T("s") || cur == _T("p") || cur == _T("c")) isX = true;
final += cur + _T(" ");
if (cur == "m" || cur == "n" || cur == "l" || cur == "b" || cur == "s" || cur == "p" || cur == "c") isX = true;
final += cur + " ";
}
}

View file

@ -68,11 +68,11 @@ AssEntry::~AssEntry() {
///
wxString AssEntry::GetSSAText() const {
// Special cases
if (data.Lower() == _T("[v4+ styles]")) return wxString(_T("[V4 Styles]"));
if (data.Lower() == _T("scripttype: v4.00+")) return wxString(_T("ScriptType: v4.00"));
if (data.Lower().Left(7) == _T("format:")) {
if (group.Lower() == _T("[events]")) return wxString(_T("Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text"));
if (group.Lower() == _T("[v4+ styles]")) return wxString(_T("Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding"));
if (data.Lower() == "[v4+ styles]") return wxString("[V4 Styles]");
if (data.Lower() == "scripttype: v4.00+") return wxString("ScriptType: v4.00");
if (data.Lower().Left(7) == "format:") {
if (group.Lower() == "[events]") return wxString("Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text");
if (group.Lower() == "[v4+ styles]") return wxString("Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding");
}
return GetEntryData();
}

View file

@ -91,7 +91,7 @@ void AssFile::Load(const wxString &_filename,wxString charset,bool addToRecent)
SubtitleFormat *reader = SubtitleFormat::GetReader(_filename);
if (!reader) {
wxMessageBox(L"Unknown file type","Error loading file",wxICON_ERROR | wxOK);
wxMessageBox("Unknown file type","Error loading file",wxICON_ERROR | wxOK);
return;
}
@ -104,25 +104,25 @@ void AssFile::Load(const wxString &_filename,wxString charset,bool addToRecent)
catch (agi::UserCancelException const&) {
return;
}
catch (const wchar_t *except) {
wxMessageBox(except,_T("Error loading file"),wxICON_ERROR | wxOK);
catch (const char *except) {
wxMessageBox(except,"Error loading file",wxICON_ERROR | wxOK);
return;
}
catch (wxString &except) {
wxMessageBox(except,_T("Error loading file"),wxICON_ERROR | wxOK);
wxMessageBox(except,"Error loading file",wxICON_ERROR | wxOK);
return;
}
// Real exception
catch (agi::Exception &e) {
wxMessageBox(wxString(e.GetChainedMessage().c_str(), wxConvUTF8), L"Error loading file", wxICON_ERROR|wxOK);
wxMessageBox(wxString(e.GetChainedMessage().c_str(), wxConvUTF8), "Error loading file", wxICON_ERROR|wxOK);
return;
}
// Other error
catch (...) {
wxMessageBox(_T("Unknown error"),_T("Error loading file"),wxICON_ERROR | wxOK);
wxMessageBox("Unknown error","Error loading file",wxICON_ERROR | wxOK);
return;
}
@ -156,8 +156,8 @@ void AssFile::Load(const wxString &_filename,wxString charset,bool addToRecent)
// Add comments and set vars
AddComment(wxString("Script generated by Aegisub ") + GetAegisubLongVersionString());
AddComment(_T("http://www.aegisub.org/"));
SetScriptInfo(_T("ScriptType"),_T("v4.00+"));
AddComment("http://www.aegisub.org/");
SetScriptInfo("ScriptType","v4.00+");
// Push the initial state of the file onto the undo stack
UndoStack.clear();
@ -195,8 +195,8 @@ void AssFile::Save(wxString filename, bool setfilename, bool addToRecent, wxStri
void AssFile::SaveMemory(std::vector<char> &dst,const wxString encoding) {
// Set encoding
wxString enc = encoding;
if (enc.IsEmpty()) enc = _T("UTF-8");
if (enc != _T("UTF-8")) throw _T("Memory writer only supports UTF-8 for now.");
if (enc.IsEmpty()) enc = "UTF-8";
if (enc != "UTF-8") throw "Memory writer only supports UTF-8 for now.";
// Check if subs contain at least one style
// Add a default style if they don't for compatibility with libass/asa
@ -215,7 +215,7 @@ void AssFile::SaveMemory(std::vector<char> &dst,const wxString encoding) {
wxCharBuffer buffer;
for (cur=Line.begin();cur!=Line.end();cur++) {
// Convert
wxString temp = (*cur)->GetEntryData() + _T("\r\n");
wxString temp = (*cur)->GetEntryData() + "\r\n";
buffer = temp.mb_str(wxConvUTF8);
lineSize = strlen(buffer);
@ -237,16 +237,16 @@ void AssFile::SaveMemory(std::vector<char> &dst,const wxString encoding) {
void AssFile::Export(wxString _filename) {
AssExporter exporter(this);
exporter.AddAutoFilters();
exporter.Export(_filename,_T("UTF-8"));
exporter.Export(_filename,"UTF-8");
}
bool AssFile::CanSave() {
// ASS format?
wxString ext = filename.Lower().Right(4);
if (ext == _T(".ass")) return true;
if (ext == ".ass") return true;
// Never save texts
if (ext == _T(".txt")) return false;
if (ext == ".txt") return false;
// Check if it's a known extension
SubtitleFormat *writer = SubtitleFormat::GetWriter(filename);
@ -254,7 +254,7 @@ bool AssFile::CanSave() {
// Check if format supports timing
bool canTime = true;
//if (filename.Lower().Right(4) == _T(".txt")) canTime = false;
//if (filename.Lower().Right(4) == ".txt") canTime = false;
// Scan through the lines
AssStyle defstyle;
@ -305,7 +305,7 @@ void AssFile::AddLine(wxString data,wxString group,int &version,wxString *outGro
wxString lowGroup = group.Lower();
// Attachment
if (lowGroup == _T("[fonts]") || lowGroup == _T("[graphics]")) {
if (lowGroup == "[fonts]" || lowGroup == "[graphics]") {
// Check if it's valid data
size_t dataLen = data.Length();
bool validData = (dataLen > 0) && (dataLen <= 80);
@ -314,7 +314,7 @@ void AssFile::AddLine(wxString data,wxString group,int &version,wxString *outGro
}
// Is the filename line?
bool isFilename = (data.StartsWith(_T("fontname: ")) || data.StartsWith(_T("filename: ")));
bool isFilename = (data.StartsWith("fontname: ") || data.StartsWith("filename: "));
// The attachment file is static, since it is built through several calls to this
// After it's done building, it's reset to NULL
@ -361,54 +361,54 @@ void AssFile::AddLine(wxString data,wxString group,int &version,wxString *outGro
}
// Dialogue
else if (lowGroup == _T("[events]")) {
if (data.StartsWith(_T("Dialogue:")) || data.StartsWith(_T("Comment:"))) {
else if (lowGroup == "[events]") {
if (data.StartsWith("Dialogue:") || data.StartsWith("Comment:")) {
AssDialogue *diag = new AssDialogue(data,version);
//diag->ParseASSTags();
entry = diag;
entry->group = group;
}
else if (data.StartsWith(_T("Format:"))) {
entry = new AssEntry(_T("Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text"));
else if (data.StartsWith("Format:")) {
entry = new AssEntry("Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text");
entry->group = group;
}
}
// Style
else if (lowGroup == _T("[v4+ styles]")) {
if (data.StartsWith(_T("Style:"))) {
else if (lowGroup == "[v4+ styles]") {
if (data.StartsWith("Style:")) {
AssStyle *style = new AssStyle(data,version);
entry = style;
entry->group = group;
}
if (data.StartsWith(_T("Format:"))) {
entry = new AssEntry(_T("Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding"));
if (data.StartsWith("Format:")) {
entry = new AssEntry("Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding");
entry->group = group;
}
}
// Script info
else if (lowGroup == _T("[script info]")) {
else if (lowGroup == "[script info]") {
// Comment
if (data.StartsWith(_T(";"))) {
if (data.StartsWith(";")) {
// Skip stupid comments added by other programs
// Of course, we'll add our own in place later... ;)
return;
}
// Version
if (data.StartsWith(_T("ScriptType:"))) {
if (data.StartsWith("ScriptType:")) {
wxString versionString = data.Mid(11);
versionString.Trim(true);
versionString.Trim(false);
versionString.MakeLower();
int trueVersion;
if (versionString == _T("v4.00")) trueVersion = 0;
else if (versionString == _T("v4.00+")) trueVersion = 1;
else if (versionString == _T("v4.00++")) trueVersion = 2;
else throw _T("Unknown SSA file format version");
if (versionString == "v4.00") trueVersion = 0;
else if (versionString == "v4.00+") trueVersion = 1;
else if (versionString == "v4.00++") trueVersion = 2;
else throw "Unknown SSA file format version";
if (trueVersion != version) {
if (!(trueVersion == 2 && version == 1)) wxLogMessage(_T("Warning: File has the wrong extension."));
if (!(trueVersion == 2 && version == 1)) wxLogMessage("Warning: File has the wrong extension.");
version = trueVersion;
}
}
@ -447,25 +447,25 @@ void AssFile::LoadDefault(bool defline) {
// Write headers
AssStyle defstyle;
int version = 1;
AddLine(_T("[Script Info]"),_T("[Script Info]"),version);
AddLine(_T("Title: Default Aegisub file"),_T("[Script Info]"),version);
AddLine(_T("ScriptType: v4.00+"),_T("[Script Info]"),version);
AddLine(_T("WrapStyle: 0"), _T("[Script Info]"),version);
AddLine(_T("PlayResX: 640"),_T("[Script Info]"),version);
AddLine(_T("PlayResY: 480"),_T("[Script Info]"),version);
AddLine(_T("ScaledBorderAndShadow: yes"),_T("[Script Info]"),version);
AddLine(_T("Collisions: Normal"),_T("[Script Info]"),version);
AddLine("",_T("[Script Info]"),version);
AddLine(_T("[V4+ Styles]"),_T("[V4+ Styles]"),version);
AddLine(_T("Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding"),_T("[V4+ Styles]"),version);
AddLine(defstyle.GetEntryData(),_T("[V4+ Styles]"),version);
AddLine("",_T("[V4+ Styles]"),version);
AddLine(_T("[Events]"),_T("[Events]"),version);
AddLine(_T("Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text"),_T("[Events]"),version);
AddLine("[Script Info]","[Script Info]",version);
AddLine("Title: Default Aegisub file","[Script Info]",version);
AddLine("ScriptType: v4.00+","[Script Info]",version);
AddLine("WrapStyle: 0", "[Script Info]",version);
AddLine("PlayResX: 640","[Script Info]",version);
AddLine("PlayResY: 480","[Script Info]",version);
AddLine("ScaledBorderAndShadow: yes","[Script Info]",version);
AddLine("Collisions: Normal","[Script Info]",version);
AddLine("","[Script Info]",version);
AddLine("[V4+ Styles]","[V4+ Styles]",version);
AddLine("Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding","[V4+ Styles]",version);
AddLine(defstyle.GetEntryData(),"[V4+ Styles]",version);
AddLine("","[V4+ Styles]",version);
AddLine("[Events]","[Events]",version);
AddLine("Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text","[Events]",version);
if (defline) {
AssDialogue def;
AddLine(def.GetEntryData(),_T("[Events]"),version);
AddLine(def.GetEntryData(),"[Events]",version);
}
Commit("", COMMIT_NEW);
@ -507,7 +507,7 @@ void AssFile::InsertStyle (AssStyle *style) {
// Look for insert position
for (cur=Line.begin();cur!=Line.end();cur++) {
curEntry = *cur;
if (curEntry->GetType() == ENTRY_STYLE || (lastGroup == _T("[V4+ Styles]") && curEntry->GetEntryData().substr(0,7) == _T("Format:"))) {
if (curEntry->GetType() == ENTRY_STYLE || (lastGroup == "[V4+ Styles]" && curEntry->GetEntryData().substr(0,7) == "Format:")) {
lastStyle = cur;
}
lastGroup = curEntry->group;
@ -521,17 +521,17 @@ void AssFile::InsertStyle (AssStyle *style) {
Line.push_back(curEntry);
// Add header
curEntry = new AssEntry(_T("[V4+ Styles]"));
curEntry->group = _T("[V4+ Styles]");
curEntry = new AssEntry("[V4+ Styles]");
curEntry->group = "[V4+ Styles]";
Line.push_back(curEntry);
// Add format line
curEntry = new AssEntry(_T("Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding"));
curEntry->group = _T("[V4+ Styles]");
curEntry = new AssEntry("Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding");
curEntry->group = "[V4+ Styles]";
Line.push_back(curEntry);
// Add style
style->group = _T("[V4+ Styles]");
style->group = "[V4+ Styles]";
Line.push_back(style);
}
@ -590,20 +590,20 @@ void AssFile::InsertAttachment (wxString filename) {
// Insert
wxString ext = filename.Right(4).Lower();
if (ext == _T(".ttf") || ext == _T(".ttc") || ext == _T(".pfb")) newAttach->group = _T("[Fonts]");
else newAttach->group = _T("[Graphics]");
if (ext == ".ttf" || ext == ".ttc" || ext == ".pfb") newAttach->group = "[Fonts]";
else newAttach->group = "[Graphics]";
InsertAttachment(newAttach);
}
wxString AssFile::GetScriptInfo(const wxString _key) {
wxString key = _key;;
key.Lower();
key += _T(":");
key += ":";
std::list<AssEntry*>::iterator cur;
bool GotIn = false;
for (cur=Line.begin();cur!=Line.end();cur++) {
if ((*cur)->group == _T("[Script Info]")) {
if ((*cur)->group == "[Script Info]") {
GotIn = true;
wxString curText = (*cur)->GetEntryData();
curText.Lower();
@ -639,7 +639,7 @@ void AssFile::SetScriptInfo(wxString const& key, wxString const& value) {
bool found_script_info = false;
for (std::list<AssEntry*>::iterator cur = Line.begin(); cur != Line.end(); ++cur) {
if ((*cur)->group == _T("[Script Info]")) {
if ((*cur)->group == "[Script Info]") {
found_script_info = true;
wxString cur_text = (*cur)->GetEntryData().Left(key_size).Lower();
@ -667,7 +667,7 @@ void AssFile::SetScriptInfo(wxString const& key, wxString const& value) {
}
void AssFile::GetResolution(int &sw,int &sh) {
wxString temp = GetScriptInfo(_T("PlayResY"));
wxString temp = GetScriptInfo("PlayResY");
if (temp.IsEmpty() || !temp.IsNumber()) {
sh = 0;
}
@ -677,7 +677,7 @@ void AssFile::GetResolution(int &sw,int &sh) {
sh = templ;
}
temp = GetScriptInfo(_T("PlayResX"));
temp = GetScriptInfo("PlayResX");
if (temp.IsEmpty() || !temp.IsNumber()) {
sw = 0;
}
@ -706,17 +706,17 @@ void AssFile::GetResolution(int &sw,int &sh) {
}
void AssFile::AddComment(const wxString _comment) {
wxString comment = _T("; ");
wxString comment = "; ";
comment += _comment;
std::list<AssEntry*>::iterator cur;
int step = 0;
for (cur=Line.begin();cur!=Line.end();cur++) {
// Start of group
if (step == 0 && (*cur)->group == _T("[Script Info]")) step = 1;
if (step == 0 && (*cur)->group == "[Script Info]") step = 1;
// First line after a ;
else if (step == 1 && !(*cur)->GetEntryData().StartsWith(_T(";"))) {
else if (step == 1 && !(*cur)->GetEntryData().StartsWith(";")) {
AssEntry *prev = *cur;
AssEntry *comm = new AssEntry(comment);
comm->group = prev->group;
@ -755,7 +755,7 @@ void AssFile::AddToRecent(wxString file) {
wxString AssFile::GetWildcardList(int mode) {
if (mode == 0) return SubtitleFormat::GetWildcards(0);
else if (mode == 1) return _T("Advanced Substation Alpha (*.ass)|*.ass");
else if (mode == 1) return "Advanced Substation Alpha (*.ass)|*.ass";
else if (mode == 2) return SubtitleFormat::GetWildcards(1);
else return "";
}

View file

@ -128,10 +128,10 @@ public:
/// @param setfilename Should the filename be changed to the passed path?
/// @param addToRecent Should the file be added to the MRU list?
/// @param encoding Encoding to use, or empty to let the writer decide (which usually means "App/Save Charset")
void Save(wxString file,bool setfilename=false,bool addToRecent=true,const wxString encoding=_T(""));
void Save(wxString file,bool setfilename=false,bool addToRecent=true,const wxString encoding="");
/// @brief Save to a memory buffer. Used for subtitle providers which support it
/// @param[out] dst Destination vector
void SaveMemory(std::vector<char> &dst,const wxString encoding=_T(""));
void SaveMemory(std::vector<char> &dst,const wxString encoding="");
/// @brief Saves exported copy, with effects applied
/// @param file Path to save to; file name is never set to this
void Export(wxString file);

View file

@ -74,21 +74,21 @@ AssDialogueBlockOverride::~AssDialogueBlockOverride() {
void AssDialogueBlockOverride::ParseTags() {
delete_clear(Tags);
wxStringTokenizer tkn(text, L"\\", wxTOKEN_STRTOK);
wxStringTokenizer tkn(text, "\\", wxTOKEN_STRTOK);
wxString curTag;
if (text.StartsWith(L"\\")) curTag = L"\\";
if (text.StartsWith("\\")) curTag = "\\";
while (tkn.HasMoreTokens()) {
curTag += tkn.GetNextToken();
// Check for parenthesis matching for \t
while (curTag.Freq(L'(') > curTag.Freq(L')') && tkn.HasMoreTokens()) {
curTag << L"\\" << tkn.GetNextToken();
while (curTag.Freq('(') > curTag.Freq(')') && tkn.HasMoreTokens()) {
curTag << "\\" << tkn.GetNextToken();
}
Tags.push_back(new AssOverrideTag(curTag));
curTag = L"\\";
curTag = "\\";
}
}
void AssDialogueBlockOverride::AddTag(wxString const& tag) {
@ -149,17 +149,17 @@ static void load_protos() {
// Longer tag names must appear before shorter tag names
proto[0].Set(L"\\alpha", VARDATA_TEXT); // \alpha
proto[++i].Set(L"\\bord", VARDATA_FLOAT,PARCLASS_ABSOLUTE_SIZE); // \bord<depth>
proto[++i].Set(L"\\xbord", VARDATA_FLOAT,PARCLASS_ABSOLUTE_SIZE); // \xbord<depth>
proto[++i].Set(L"\\ybord", VARDATA_FLOAT,PARCLASS_ABSOLUTE_SIZE); // \ybord<depth>
proto[++i].Set(L"\\shad", VARDATA_FLOAT,PARCLASS_ABSOLUTE_SIZE); // \shad<depth>
proto[++i].Set(L"\\xshad", VARDATA_FLOAT,PARCLASS_ABSOLUTE_SIZE); // \xshad<depth>
proto[++i].Set(L"\\yshad", VARDATA_FLOAT,PARCLASS_ABSOLUTE_SIZE); // \yshad<depth>
proto[0].Set("\\alpha", VARDATA_TEXT); // \alpha
proto[++i].Set("\\bord", VARDATA_FLOAT,PARCLASS_ABSOLUTE_SIZE); // \bord<depth>
proto[++i].Set("\\xbord", VARDATA_FLOAT,PARCLASS_ABSOLUTE_SIZE); // \xbord<depth>
proto[++i].Set("\\ybord", VARDATA_FLOAT,PARCLASS_ABSOLUTE_SIZE); // \ybord<depth>
proto[++i].Set("\\shad", VARDATA_FLOAT,PARCLASS_ABSOLUTE_SIZE); // \shad<depth>
proto[++i].Set("\\xshad", VARDATA_FLOAT,PARCLASS_ABSOLUTE_SIZE); // \xshad<depth>
proto[++i].Set("\\yshad", VARDATA_FLOAT,PARCLASS_ABSOLUTE_SIZE); // \yshad<depth>
// \fade(<a1>,<a2>,<a3>,<t1>,<t2>,<t3>,<t4>)
i++;
proto[i].name = L"\\fade";
proto[i].name = "\\fade";
proto[i].AddParam(VARDATA_INT);
proto[i].AddParam(VARDATA_INT);
proto[i].AddParam(VARDATA_INT);
@ -170,7 +170,7 @@ static void load_protos() {
// \move(<x1>,<y1>,<x2>,<y2>[,<t1>,<t2>])
i++;
proto[i].name = L"\\move";
proto[i].name = "\\move";
proto[i].AddParam(VARDATA_FLOAT,PARCLASS_ABSOLUTE_POS_X);
proto[i].AddParam(VARDATA_FLOAT,PARCLASS_ABSOLUTE_POS_Y);
proto[i].AddParam(VARDATA_FLOAT,PARCLASS_ABSOLUTE_POS_X);
@ -181,7 +181,7 @@ static void load_protos() {
// If these are rearranged, keep rect clip and vector clip adjacent in this order
// \clip(<x1>,<y1>,<x2>,<y2>)
i++;
proto[i].name = L"\\clip";
proto[i].name = "\\clip";
proto[i].AddParam(VARDATA_INT,PARCLASS_ABSOLUTE_POS_X);
proto[i].AddParam(VARDATA_INT,PARCLASS_ABSOLUTE_POS_Y);
proto[i].AddParam(VARDATA_INT,PARCLASS_ABSOLUTE_POS_X);
@ -189,13 +189,13 @@ static void load_protos() {
// \clip([<scale>,]<some drawings>)
i++;
proto[i].name = L"\\clip";
proto[i].name = "\\clip";
proto[i].AddParam(VARDATA_INT,PARCLASS_NORMAL,OPTIONAL_2);
proto[i].AddParam(VARDATA_TEXT,PARCLASS_DRAWING);
// \iclip(<x1>,<y1>,<x2>,<y2>)
i++;
proto[i].name = L"\\iclip";
proto[i].name = "\\iclip";
proto[i].AddParam(VARDATA_INT,PARCLASS_ABSOLUTE_POS_X);
proto[i].AddParam(VARDATA_INT,PARCLASS_ABSOLUTE_POS_Y);
proto[i].AddParam(VARDATA_INT,PARCLASS_ABSOLUTE_POS_X);
@ -203,71 +203,71 @@ static void load_protos() {
// \iclip([<scale>,]<some drawings>)
i++;
proto[i].name = L"\\iclip";
proto[i].name = "\\iclip";
proto[i].AddParam(VARDATA_INT,PARCLASS_NORMAL,OPTIONAL_2);
proto[i].AddParam(VARDATA_TEXT,PARCLASS_DRAWING);
proto[++i].Set(L"\\fscx", VARDATA_FLOAT,PARCLASS_RELATIVE_SIZE_X); // \fscx<percent>
proto[++i].Set(L"\\fscy", VARDATA_FLOAT,PARCLASS_RELATIVE_SIZE_Y); // \fscy<percent>
proto[++i].Set("\\fscx", VARDATA_FLOAT,PARCLASS_RELATIVE_SIZE_X); // \fscx<percent>
proto[++i].Set("\\fscy", VARDATA_FLOAT,PARCLASS_RELATIVE_SIZE_Y); // \fscy<percent>
// \pos(<x>,<y>)
i++;
proto[i].name = L"\\pos";
proto[i].name = "\\pos";
proto[i].AddParam(VARDATA_FLOAT,PARCLASS_ABSOLUTE_POS_X);
proto[i].AddParam(VARDATA_FLOAT,PARCLASS_ABSOLUTE_POS_Y);
// \org(<x>,<y>)
i++;
proto[i].name = L"\\org";
proto[i].name = "\\org";
proto[i].AddParam(VARDATA_INT,PARCLASS_ABSOLUTE_POS_X);
proto[i].AddParam(VARDATA_INT,PARCLASS_ABSOLUTE_POS_Y);
proto[++i].Set(L"\\pbo", VARDATA_INT,PARCLASS_ABSOLUTE_POS_Y); // \pbo<y>
proto[++i].Set("\\pbo", VARDATA_INT,PARCLASS_ABSOLUTE_POS_Y); // \pbo<y>
// \fad(<t1>,<t2>)
i++;
proto[i].name = L"\\fad";
proto[i].name = "\\fad";
proto[i].AddParam(VARDATA_INT,PARCLASS_RELATIVE_TIME_START);
proto[i].AddParam(VARDATA_INT,PARCLASS_RELATIVE_TIME_END);
proto[++i].Set(L"\\fsp", VARDATA_FLOAT,PARCLASS_ABSOLUTE_SIZE); // \fsp<pixels>
proto[++i].Set(L"\\frx", VARDATA_FLOAT); // \frx<degrees>
proto[++i].Set(L"\\fry", VARDATA_FLOAT); // \fry<degrees>
proto[++i].Set(L"\\frz", VARDATA_FLOAT); // \frz<degrees>
proto[++i].Set(L"\\fr", VARDATA_FLOAT); // \fr<degrees>
proto[++i].Set(L"\\fax", VARDATA_FLOAT); // \fax<factor>
proto[++i].Set(L"\\fay", VARDATA_FLOAT); // \fay<factor>
proto[++i].Set(L"\\1c", VARDATA_TEXT); // \1c&H<bbggrr>&
proto[++i].Set(L"\\2c", VARDATA_TEXT); // \2c&H<bbggrr>&
proto[++i].Set(L"\\3c", VARDATA_TEXT); // \3c&H<bbggrr>&
proto[++i].Set(L"\\4c", VARDATA_TEXT); // \4c&H<bbggrr>&
proto[++i].Set(L"\\1a", VARDATA_TEXT); // \1a&H<aa>&
proto[++i].Set(L"\\2a", VARDATA_TEXT); // \2a&H<aa>&
proto[++i].Set(L"\\3a", VARDATA_TEXT); // \3a&H<aa>&
proto[++i].Set(L"\\4a", VARDATA_TEXT); // \4a&H<aa>&
proto[++i].Set(L"\\fe", VARDATA_TEXT); // \fe<charset>
proto[++i].Set(L"\\ko", VARDATA_INT,PARCLASS_KARAOKE); // \ko<duration>
proto[++i].Set(L"\\kf", VARDATA_INT,PARCLASS_KARAOKE); // \kf<duration>
proto[++i].Set(L"\\be", VARDATA_INT); // \be<strength>
proto[++i].Set(L"\\blur", VARDATA_FLOAT); // \blur<strength>
proto[++i].Set(L"\\fn", VARDATA_TEXT); // \fn<name>
proto[++i].Set(L"\\fs+", VARDATA_FLOAT); // \fs+<size>
proto[++i].Set(L"\\fs-", VARDATA_FLOAT); // \fs-<size>
proto[++i].Set(L"\\fs", VARDATA_FLOAT,PARCLASS_ABSOLUTE_SIZE); // \fs<size>
proto[++i].Set(L"\\an", VARDATA_INT); // \an<alignment>
proto[++i].Set(L"\\c", VARDATA_TEXT); // \c&H<bbggrr>&
proto[++i].Set(L"\\b", VARDATA_INT); // \b<0/1/weight>
proto[++i].Set(L"\\i", VARDATA_BOOL); // \i<0/1>
proto[++i].Set(L"\\u", VARDATA_BOOL); // \u<0/1>
proto[++i].Set(L"\\s", VARDATA_BOOL); // \s<0/1>
proto[++i].Set(L"\\a", VARDATA_INT); // \a<alignment>
proto[++i].Set(L"\\k", VARDATA_INT,PARCLASS_KARAOKE); // \k<duration>
proto[++i].Set(L"\\K", VARDATA_INT,PARCLASS_KARAOKE); // \K<duration>
proto[++i].Set(L"\\q", VARDATA_INT); // \q<0-3>
proto[++i].Set(L"\\p", VARDATA_INT); // \p<n>
proto[++i].Set(L"\\r", VARDATA_TEXT); // \r[<name>]
proto[++i].Set("\\fsp", VARDATA_FLOAT,PARCLASS_ABSOLUTE_SIZE); // \fsp<pixels>
proto[++i].Set("\\frx", VARDATA_FLOAT); // \frx<degrees>
proto[++i].Set("\\fry", VARDATA_FLOAT); // \fry<degrees>
proto[++i].Set("\\frz", VARDATA_FLOAT); // \frz<degrees>
proto[++i].Set("\\fr", VARDATA_FLOAT); // \fr<degrees>
proto[++i].Set("\\fax", VARDATA_FLOAT); // \fax<factor>
proto[++i].Set("\\fay", VARDATA_FLOAT); // \fay<factor>
proto[++i].Set("\\1c", VARDATA_TEXT); // \1c&H<bbggrr>&
proto[++i].Set("\\2c", VARDATA_TEXT); // \2c&H<bbggrr>&
proto[++i].Set("\\3c", VARDATA_TEXT); // \3c&H<bbggrr>&
proto[++i].Set("\\4c", VARDATA_TEXT); // \4c&H<bbggrr>&
proto[++i].Set("\\1a", VARDATA_TEXT); // \1a&H<aa>&
proto[++i].Set("\\2a", VARDATA_TEXT); // \2a&H<aa>&
proto[++i].Set("\\3a", VARDATA_TEXT); // \3a&H<aa>&
proto[++i].Set("\\4a", VARDATA_TEXT); // \4a&H<aa>&
proto[++i].Set("\\fe", VARDATA_TEXT); // \fe<charset>
proto[++i].Set("\\ko", VARDATA_INT,PARCLASS_KARAOKE); // \ko<duration>
proto[++i].Set("\\kf", VARDATA_INT,PARCLASS_KARAOKE); // \kf<duration>
proto[++i].Set("\\be", VARDATA_INT); // \be<strength>
proto[++i].Set("\\blur", VARDATA_FLOAT); // \blur<strength>
proto[++i].Set("\\fn", VARDATA_TEXT); // \fn<name>
proto[++i].Set("\\fs+", VARDATA_FLOAT); // \fs+<size>
proto[++i].Set("\\fs-", VARDATA_FLOAT); // \fs-<size>
proto[++i].Set("\\fs", VARDATA_FLOAT,PARCLASS_ABSOLUTE_SIZE); // \fs<size>
proto[++i].Set("\\an", VARDATA_INT); // \an<alignment>
proto[++i].Set("\\c", VARDATA_TEXT); // \c&H<bbggrr>&
proto[++i].Set("\\b", VARDATA_INT); // \b<0/1/weight>
proto[++i].Set("\\i", VARDATA_BOOL); // \i<0/1>
proto[++i].Set("\\u", VARDATA_BOOL); // \u<0/1>
proto[++i].Set("\\s", VARDATA_BOOL); // \s<0/1>
proto[++i].Set("\\a", VARDATA_INT); // \a<alignment>
proto[++i].Set("\\k", VARDATA_INT,PARCLASS_KARAOKE); // \k<duration>
proto[++i].Set("\\K", VARDATA_INT,PARCLASS_KARAOKE); // \K<duration>
proto[++i].Set("\\q", VARDATA_INT); // \q<0-3>
proto[++i].Set("\\p", VARDATA_INT); // \p<n>
proto[++i].Set("\\r", VARDATA_TEXT); // \r[<name>]
// \t([<t1>,<t2>,][<accel>,]<style modifiers>)
i++;
proto[i].name = L"\\t";
proto[i].name = "\\t";
proto[i].AddParam(VARDATA_INT,PARCLASS_RELATIVE_TIME_START,OPTIONAL_3 | OPTIONAL_4);
proto[i].AddParam(VARDATA_INT,PARCLASS_RELATIVE_TIME_START,OPTIONAL_3 | OPTIONAL_4);
proto[i].AddParam(VARDATA_FLOAT,PARCLASS_NORMAL,OPTIONAL_2 | OPTIONAL_4);
@ -315,7 +315,7 @@ std::vector<wxString> tokenize(const wxString &text) {
if (text.empty()) {
return paramList;
}
if (text[0] != L'(') {
if (text[0] != '(') {
// There's just one parameter (because there's no parentheses)
// This means text is all our parameters
wxString param(text);
@ -335,12 +335,12 @@ std::vector<wxString> tokenize(const wxString &text) {
while (i < textlen && parDepth > 0) {
wxChar c = text[i];
// parDepth 1 is where we start, and the tag-level we're interested in parsing on
if (c == L',' && parDepth == 1) break;
if (c == _T('(')) parDepth++;
else if (c == _T(')')) {
if (c == ',' && parDepth == 1) break;
if (c == '(') parDepth++;
else if (c == ')') {
parDepth--;
if (parDepth < 0) {
wxLogWarning(L"Unmatched parenthesis near '%s'!\nTag-parsing incomplete.", text.SubString(i, 10).c_str());
wxLogWarning("Unmatched parenthesis near '%s'!\nTag-parsing incomplete.", text.SubString(i, 10).c_str());
return paramList;
}
else if (parDepth == 0) {
@ -372,7 +372,7 @@ void AssOverrideTag::ParseParameters(const wxString &text, AssOverrideTagProto::
int parsFlag = 1 << (totalPars - 1); // Get optional parameters flag
// vector (i)clip is the second clip prototype in the list
if ((Name == L"\\clip" || Name == L"\\iclip") && totalPars != 4) {
if ((Name == "\\clip" || Name == "\\iclip") && totalPars != 4) {
++proto;
}
@ -399,7 +399,7 @@ void AssOverrideTag::ParseParameters(const wxString &text, AssOverrideTagProto::
}
wxChar firstChar = curtok[0];
bool auto4 = (firstChar == _T('!') || firstChar == _T('$') || firstChar == _T('%')) && curproto->type != VARDATA_BLOCK;
bool auto4 = (firstChar == '!' || firstChar == '$' || firstChar == '%') && curproto->type != VARDATA_BLOCK;
if (auto4) {
newparam->Set(curtok);
}
@ -445,27 +445,27 @@ AssOverrideTag::operator wxString() {
// Determine if it needs parentheses
bool parentheses =
Name == L"\\t" ||
Name == L"\\pos" ||
Name == L"\\fad" ||
Name == L"\\org" ||
Name == L"\\clip" ||
Name == L"\\iclip" ||
Name == L"\\move" ||
Name == L"\\fade";
if (parentheses) result += L"(";
Name == "\\t" ||
Name == "\\pos" ||
Name == "\\fad" ||
Name == "\\org" ||
Name == "\\clip" ||
Name == "\\iclip" ||
Name == "\\move" ||
Name == "\\fade";
if (parentheses) result += "(";
// Add parameters
bool any = false;
for (std::vector<AssOverrideParameter*>::iterator cur=Params.begin();cur!=Params.end();cur++) {
if ((*cur)->GetType() != VARDATA_NONE && !(*cur)->omitted) {
result += (*cur)->Get<wxString>();
result += L",";
result += ",";
any = true;
}
}
if (any) result = result.Left(result.Length()-1);
if (parentheses) result += L")";
if (parentheses) result += ")";
return result;
}

View file

@ -67,7 +67,7 @@ AssColor::AssColor (const wxColour &color) {
/// @brief Parse from SSA/ASS
/// @param value
void AssColor::Parse(const wxString value) {
if (value.Len() > 0 && value[0] == _T('#')) {
if (value.Len() > 0 && value[0] == '#') {
// HTML colour
SetWXColor(wxColor(value));
return;
@ -120,10 +120,10 @@ void AssColor::SetWXColor(const wxColor &color) {
/// @return
wxString AssColor::GetASSFormatted(bool alpha,bool stripped,bool isStyle) const {
wxString work;
if (!stripped) work += _T("&H");
if (alpha) work += wxString::Format(_T("%02X"),a);
work += wxString::Format(_T("%02X%02X%02X"),b,g,r);
if (!stripped && !isStyle) work += _T("&");
if (!stripped) work += "&H";
if (alpha) work += wxString::Format("%02X",a);
work += wxString::Format("%02X%02X%02X",b,g,r);
if (!stripped && !isStyle) work += "&";
return work;
}
@ -131,7 +131,7 @@ wxString AssColor::GetASSFormatted(bool alpha,bool stripped,bool isStyle) const
/// @return
wxString AssColor::GetSSAFormatted() const {
long color = (a<<24)+(b<<16)+(g<<8)+r;
wxString output=wxString::Format(_T("%i"),(long)color);
wxString output=wxString::Format("%i",(long)color);
return output;
}
@ -144,8 +144,8 @@ bool AssColor::operator!=(const AssColor &col) const {
}
AssStyle::AssStyle()
: name(L"Default")
, font(L"Arial")
: name("Default")
, font("Arial")
, fontsize(20.)
, primary(255, 255, 255)
, secondary(255, 0, 0)
@ -166,7 +166,7 @@ AssStyle::AssStyle()
, encoding(1)
, relativeTo(1)
{
group = L"[V4+ Styles]";
group = "[V4+ Styles]";
for (int i = 0; i < 4; i++)
Margin[i] = 10;
@ -197,7 +197,7 @@ AssStyle::AssStyle(const AssStyle& s)
, encoding(s.encoding)
, relativeTo(s.relativeTo)
{
group = L"[V4+ Styles]";
group = "[V4+ Styles]";
memcpy(Margin, s.Margin, sizeof(Margin));
SetEntryData(s.GetEntryData());
}
@ -205,7 +205,7 @@ AssStyle::AssStyle(const AssStyle& s)
AssStyle::AssStyle(wxString _data,int version) {
Valid = Parse(_data,version);
if (!Valid) {
throw _T("[Error] Failed parsing line.");
throw "[Error] Failed parsing line.";
}
UpdateData();
}
@ -222,7 +222,7 @@ bool AssStyle::Parse(wxString rawData,int version) {
// Tokenize
wxString temp;
long templ;
wxStringTokenizer tkn(rawData.Trim(false).Mid(6),_T(","),wxTOKEN_RET_EMPTY_ALL);
wxStringTokenizer tkn(rawData.Trim(false).Mid(6),",",wxTOKEN_RET_EMPTY_ALL);
// Read name
if (!tkn.HasMoreTokens()) return false;
@ -424,11 +424,11 @@ bool AssStyle::Parse(wxString rawData,int version) {
void AssStyle::UpdateData() {
wxString final;
name.Replace(_T(","),_T(";"));
font.Replace(_T(","),_T(";"));
name.Replace(",",";");
font.Replace(",",";");
final = wxString::Format(_T("Style: %s,%s,%g,%s,%s,%s,%s,%d,%d,%d,%d,%g,%g,%g,%g,%d,%g,%g,%i,%i,%i,%i,%i"),
final = wxString::Format("Style: %s,%s,%g,%s,%s,%s,%s,%d,%d,%d,%d,%g,%g,%g,%g,%d,%g,%g,%i,%i,%i,%i,%i",
name.c_str(), font.c_str(), fontsize,
primary.GetASSFormatted(true,false,true).c_str(),
secondary.GetASSFormatted(true,false,true).c_str(),
@ -449,7 +449,7 @@ void AssStyle::UpdateData() {
///
void AssStyle::SetMarginString(const wxString str,int which) {
if (which < 0 || which >= 4) throw Aegisub::InvalidMarginIdError();
if (!str.IsNumber()) throw _T("Invalid margin value");
if (!str.IsNumber()) throw "Invalid margin value";
long value;
str.ToLong(&value);
if (value < 0) value = 0;
@ -464,7 +464,7 @@ void AssStyle::SetMarginString(const wxString str,int which) {
///
wxString AssStyle::GetMarginString(int which) const {
if (which < 0 || which >= 4) throw Aegisub::InvalidMarginIdError();
wxString result = wxString::Format(_T("%04i"),Margin[which]);
wxString result = wxString::Format("%04i",Margin[which]);
return result;
}
@ -486,11 +486,11 @@ wxString AssStyle::GetSSAText() const {
case 9: align = 7; break;
}
wxString n = name;
n.Replace(L",", L";");
n.Replace(",", ";");
wxString f = font;
f.Replace(L",", L";");
f.Replace(",", ";");
output = wxString::Format(_T("Style: %s,%s,%g,%s,%s,0,%s,%d,%d,%d,%g,%g,%d,%d,%d,%d,0,%i"),
output = wxString::Format("Style: %s,%s,%g,%s,%s,0,%s,%d,%d,%d,%g,%g,%d,%d,%d,%d,0,%i",
n.c_str(), f.c_str(), fontsize,
primary.GetSSAFormatted().c_str(),
secondary.GetSSAFormatted().c_str(),
@ -554,25 +554,25 @@ bool AssStyle::IsEqualTo(AssStyle *style) const {
///
void AssStyle::GetEncodings(wxArrayString &encodingStrings) {
encodingStrings.Clear();
encodingStrings.Add(wxString(_T("0 - ")) + _("ANSI"));
encodingStrings.Add(wxString(_T("1 - ")) + _("Default"));
encodingStrings.Add(wxString(_T("2 - ")) + _("Symbol"));
encodingStrings.Add(wxString(_T("77 - ")) + _("Mac"));
encodingStrings.Add(wxString(_T("128 - ")) + _("Shift_JIS"));
encodingStrings.Add(wxString(_T("129 - ")) + _("Hangeul"));
encodingStrings.Add(wxString(_T("130 - ")) + _("Johab"));
encodingStrings.Add(wxString(_T("134 - ")) + _("GB2312"));
encodingStrings.Add(wxString(_T("136 - ")) + _("Chinese BIG5"));
encodingStrings.Add(wxString(_T("161 - ")) + _("Greek"));
encodingStrings.Add(wxString(_T("162 - ")) + _("Turkish"));
encodingStrings.Add(wxString(_T("163 - ")) + _("Vietnamese"));
encodingStrings.Add(wxString(_T("177 - ")) + _("Hebrew"));
encodingStrings.Add(wxString(_T("178 - ")) + _("Arabic"));
encodingStrings.Add(wxString(_T("186 - ")) + _("Baltic"));
encodingStrings.Add(wxString(_T("204 - ")) + _("Russian"));
encodingStrings.Add(wxString(_T("222 - ")) + _("Thai"));
encodingStrings.Add(wxString(_T("238 - ")) + _("East European"));
encodingStrings.Add(wxString(_T("255 - ")) + _("OEM"));
encodingStrings.Add(wxString("0 - ") + _("ANSI"));
encodingStrings.Add(wxString("1 - ") + _("Default"));
encodingStrings.Add(wxString("2 - ") + _("Symbol"));
encodingStrings.Add(wxString("77 - ") + _("Mac"));
encodingStrings.Add(wxString("128 - ") + _("Shift_JIS"));
encodingStrings.Add(wxString("129 - ") + _("Hangeul"));
encodingStrings.Add(wxString("130 - ") + _("Johab"));
encodingStrings.Add(wxString("134 - ") + _("GB2312"));
encodingStrings.Add(wxString("136 - ") + _("Chinese BIG5"));
encodingStrings.Add(wxString("161 - ") + _("Greek"));
encodingStrings.Add(wxString("162 - ") + _("Turkish"));
encodingStrings.Add(wxString("163 - ") + _("Vietnamese"));
encodingStrings.Add(wxString("177 - ") + _("Hebrew"));
encodingStrings.Add(wxString("178 - ") + _("Arabic"));
encodingStrings.Add(wxString("186 - ") + _("Baltic"));
encodingStrings.Add(wxString("204 - ") + _("Russian"));
encodingStrings.Add(wxString("222 - ") + _("Thai"));
encodingStrings.Add(wxString("238 - ") + _("East European"));
encodingStrings.Add(wxString("255 - ") + _("OEM"));
}

View file

@ -58,7 +58,7 @@
void AssStyleStorage::Save(wxString name) {
if (name.IsEmpty()) return;
TextFileWriter file(StandardPaths::DecodePath(_T("?user/catalog/")+name+_T(".sty")), _T("UTF-8"));
TextFileWriter file(StandardPaths::DecodePath("?user/catalog/"+name+".sty"), "UTF-8");
for (std::list<AssStyle*>::iterator cur=style.begin();cur!=style.end();cur++) {
file.WriteLineToFile((*cur)->GetEntryData());
@ -75,12 +75,12 @@ void AssStyleStorage::Load(wxString name) {
if (name.IsEmpty()) return;
Clear();
TextFileReader file(StandardPaths::DecodePath(_T("?user/catalog/")+name+_T(".sty")), _T("UTF-8"));
TextFileReader file(StandardPaths::DecodePath("?user/catalog/"+name+".sty"), "UTF-8");
AssStyle *curStyle;
while (file.HasMoreLines()) {
wxString data = file.ReadLineFromFile();
if (data.substr(0,6) == _T("Style:")) {
if (data.substr(0,6) == "Style:") {
try {
curStyle = new AssStyle(data);
style.push_back(curStyle);

View file

@ -71,13 +71,13 @@ void AssTime::ParseASS (const wxString text) {
// Count the number of colons
size_t len = text.Length();
int colons = 0;
for (pos=0;pos<len;pos++) if (text[pos] == _T(':')) colons++;
for (pos=0;pos<len;pos++) if (text[pos] == ':') colons++;
pos = 0;
// Set start so that there are only two colons at most
if (colons > 2) {
for (pos=0;pos<len;pos++) {
if (text[pos] == _T(':')) {
if (text[pos] == ':') {
colons--;
if (colons == 2) break;
}
@ -89,14 +89,14 @@ void AssTime::ParseASS (const wxString text) {
try {
// Hours
if (colons == 2) {
while (text[end++] != _T(':')) {};
while (text[end++] != ':') {};
th = AegiStringToInt(text,pos,end);
pos = end;
}
// Minutes
if (colons >= 1) {
while (text[end++] != _T(':')) {};
while (text[end++] != ':') {};
tm = AegiStringToInt(text,pos,end);
pos = end;
}
@ -183,8 +183,8 @@ wxString AssTime::GetASSFormated (bool msPrecision) const {
int s = (ms / 1000) % 60;
ms = ms % 1000;
if (msPrecision) return wxString::Format(_T("%01i:%02i:%02i.%03i"),h,m,s,ms);
else return wxString::Format(_T("%01i:%02i:%02i.%02i"),h,m,s,ms/10);
if (msPrecision) return wxString::Format("%01i:%02i:%02i.%03i",h,m,s,ms);
else return wxString::Format("%01i:%02i:%02i.%02i",h,m,s,ms/10);
}
@ -230,7 +230,7 @@ wxString AssTime::GetSRTFormated () {
}
ms = _ms;
wxString result = wxString::Format(_T("%02i:%02i:%02i,%03i"),h,m,s,ms);
wxString result = wxString::Format("%02i:%02i:%02i,%03i",h,m,s,ms);
return result;
}
@ -358,9 +358,9 @@ FractionalTime::FractionalTime (wxString separator, int numerator, int denominat
// fractions < 1 are not welcome here
if ((num <= 0 || den <= 0) || (num < den))
throw _T("FractionalTime: nonsensical enumerator or denominator");
throw "FractionalTime: nonsensical enumerator or denominator";
if (sep.IsEmpty())
throw _T("FractionalTime: no separator specified");
throw "FractionalTime: no separator specified";
}
@ -377,17 +377,17 @@ FractionalTime::~FractionalTime () {
///
int FractionalTime::ToMillisecs (wxString _text) {
wxString text = _text;
wxString re_str = _T("");
wxString re_str = "";
text.Trim(false);
text.Trim(true);
long h=0,m=0,s=0,f=0;
// hour minute second fraction
re_str << _T("(\\d+)") << sep << _T("(\\d+)") << sep << _T("(\\d+)") << sep << _T("(\\d+)");
re_str << "(\\d+)" << sep << "(\\d+)" << sep << "(\\d+)" << sep << "(\\d+)";
wxRegEx re(re_str, wxRE_ADVANCED);
if (!re.IsValid())
throw _T("FractionalTime: regex failure");
throw "FractionalTime: regex failure";
if (!re.Matches(text))
return 0; // FIXME: throw here too?
@ -505,7 +505,7 @@ wxString FractionalTime::FromMillisecs(int64_t msec) {
}
RETURN:
return wxString::Format(_T("%02i") + sep + _T("%02i") + sep + _T("%02i") + sep + _T("%02i"),h,m,s,f);
return wxString::Format("%02i" + sep + "%02i" + sep + "%02i" + sep + "%02i",h,m,s,f);
}

View file

@ -204,7 +204,7 @@ void AudioController::OpenAudio(const wxString &url)
wxString path_part;
if (url.StartsWith(_T("dummy-audio:"), &path_part))
if (url.StartsWith("dummy-audio:", &path_part))
{
/*
* scheme ::= "dummy-audio" ":" signal-specifier "?" signal-parameters
@ -226,9 +226,9 @@ void AudioController::OpenAudio(const wxString &url)
* in every channel even if one would be LFE.
* "ln", length of signal in samples. ln/sr gives signal length in seconds.
*/
provider = new DummyAudioProvider(5*30*60*1000, path_part.StartsWith(L"noise"));
provider = new DummyAudioProvider(5*30*60*1000, path_part.StartsWith("noise"));
}
else if (url.StartsWith(_T("video-audio:"), &path_part))
else if (url.StartsWith("video-audio:", &path_part))
{
/*
* scheme ::= "video-audio" ":" stream-type
@ -244,7 +244,7 @@ void AudioController::OpenAudio(const wxString &url)
* stream has to be decoded and stored.
*/
}
else if (url.StartsWith(_T("file:"), &path_part))
else if (url.StartsWith("file:", &path_part))
{
/*
* scheme ::= "file" ":" "//" file-system-path

View file

@ -252,7 +252,7 @@ public:
int GetHeight() const
{
int width, height;
display->GetTextExtent(_T("0123456789:."), &width, &height);
display->GetTextExtent("0123456789:.", &width, &height);
return height + 4;
}
@ -397,21 +397,21 @@ public:
if (changed_hour)
{
time_string = wxString::Format(_T("%d:%02d:"), mark_hour, mark_minute);
time_string = wxString::Format("%d:%02d:", mark_hour, mark_minute);
last_hour = mark_hour;
last_minute = mark_minute;
}
else if (changed_minute)
{
time_string = wxString::Format(_T("%d:"), mark_minute);
time_string = wxString::Format("%d:", mark_minute);
last_minute = mark_minute;
}
if (scale_minor >= Sc_Decisecond)
time_string += wxString::Format(_T("%02d"), (int)mark_second);
time_string += wxString::Format("%02d", (int)mark_second);
else if (scale_minor == Sc_Centisecond)
time_string += wxString::Format(_T("%02.1f"), mark_second);
time_string += wxString::Format("%02.1f", mark_second);
else
time_string += wxString::Format(_T("%02.2f"), mark_second);
time_string += wxString::Format("%02.2f", mark_second);
int tw, th;
dc.GetTextExtent(time_string, &tw, &th);

View file

@ -100,7 +100,7 @@ void AudioPlayer::OnStopAudio(wxCommandEvent &event) {
///
AudioPlayer* AudioPlayerFactory::GetAudioPlayer() {
std::vector<std::string> list = GetClasses(OPT_GET("Audio/Player")->GetString());
if (list.empty()) throw _T("No audio players are available.");
if (list.empty()) throw "No audio players are available.";
wxString error;
for (unsigned int i=0;i<list.size();i++) {
@ -108,9 +108,9 @@ AudioPlayer* AudioPlayerFactory::GetAudioPlayer() {
AudioPlayer *player = Create(list[i]);
if (player) return player;
}
catch (wxString err) { error += list[i] + _T(" factory: ") + err + _T("\n"); }
catch (const wxChar *err) { error += list[i] + _T(" factory: ") + wxString(err) + _T("\n"); }
catch (...) { error += list[i] + _T(" factory: Unknown error\n"); }
catch (wxString err) { error += list[i] + " factory: " + err + "\n"; }
catch (const wxChar *err) { error += list[i] + " factory: " + wxString(err) + "\n"; }
catch (...) { error += list[i] + " factory: Unknown error\n"; }
}
throw error;
}

View file

@ -75,7 +75,7 @@ void DirectSoundPlayer::OpenStream() {
// Initialize the DirectSound object
HRESULT res;
res = DirectSoundCreate8(&DSDEVID_DefaultPlayback,&directSound,NULL); // TODO: support selecting audio device
if (FAILED(res)) throw _T("Failed initializing DirectSound");
if (FAILED(res)) throw "Failed initializing DirectSound";
// Set DirectSound parameters
AegisubApp *app = (AegisubApp*) wxTheApp;
@ -107,11 +107,11 @@ void DirectSoundPlayer::OpenStream() {
// Create the buffer
IDirectSoundBuffer *buf;
res = directSound->CreateSoundBuffer(&desc,&buf,NULL);
if (res != DS_OK) throw _T("Failed creating DirectSound buffer");
if (res != DS_OK) throw "Failed creating DirectSound buffer";
// Copy interface to buffer
res = buf->QueryInterface(IID_IDirectSoundBuffer8,(LPVOID*) &buffer);
if (res != S_OK) throw _T("Failed casting interface to IDirectSoundBuffer8");
if (res != S_OK) throw "Failed casting interface to IDirectSoundBuffer8";
// Set data
offset = 0;

View file

@ -199,7 +199,7 @@ class DirectSoundPlayer2Thread {
Win32KernelHandle error_happened;
/// Statically allocated error message text describing reason for error_happened being set
const wxChar *error_message;
const char *error_message;
/// Playback volume, 1.0 is "unchanged"
double volume;
@ -261,7 +261,7 @@ void DirectSoundPlayer2Thread::Run()
{
/// Macro used to set error_message, error_happened and end the thread
#define REPORT_ERROR(msg) { error_message = _T("DirectSoundPlayer2Thread: ") _T(msg); SetEvent(error_happened); return; }
#define REPORT_ERROR(msg) { error_message = "DirectSoundPlayer2Thread: " msg; SetEvent(error_happened); return; }
COMInitialization COM_library;
try { COM_library.Init(); }
@ -313,7 +313,7 @@ void DirectSoundPlayer2Thread::Run()
bfr7->Release();
bfr7 = 0;
//wx Log Debug(_T("DirectSoundPlayer2: Created buffer of %d bytes, supposed to be %d milliseconds or %d frames"), bufSize, WANTED_LATENCY*BUFFER_LENGTH, bufSize/provider->GetBytesPerSample());
//wx Log Debug("DirectSoundPlayer2: Created buffer of %d bytes, supposed to be %d milliseconds or %d frames", bufSize, WANTED_LATENCY*BUFFER_LENGTH, bufSize/provider->GetBytesPerSample());
// Now we're ready to roll!
@ -638,10 +638,10 @@ void DirectSoundPlayer2Thread::CheckError()
throw error_message;
case WAIT_ABANDONED:
throw _T("The DirectShowPlayer2Thread error signal event was abandoned, somehow. This should not happen.");
throw "The DirectShowPlayer2Thread error signal event was abandoned, somehow. This should not happen.";
case WAIT_FAILED:
throw _T("Failed checking state of DirectShowPlayer2Thread error signal event.");
throw "Failed checking state of DirectShowPlayer2Thread error signal event.";
case WAIT_TIMEOUT:
default:
@ -685,7 +685,7 @@ DirectSoundPlayer2Thread::DirectSoundPlayer2Thread(AudioProvider *provider, int
thread_handle.handle = (HANDLE)_beginthreadex(0, 0, ThreadProc, this, 0, 0);
if (!thread_handle)
throw _T("Failed creating playback thread in DirectSoundPlayer2. This is bad.");
throw "Failed creating playback thread in DirectSoundPlayer2. This is bad.";
HANDLE running_or_error[] = { thread_running, error_happened };
switch (WaitForMultipleObjects(2, running_or_error, FALSE, INFINITE))
@ -699,7 +699,7 @@ DirectSoundPlayer2Thread::DirectSoundPlayer2Thread(AudioProvider *provider, int
throw error_message;
default:
throw _T("Failed wait for thread start or thread error in DirectSoundPlayer2. This is bad.");
throw "Failed wait for thread start or thread error in DirectSoundPlayer2. This is bad.";
}
}
@ -775,10 +775,10 @@ bool DirectSoundPlayer2Thread::IsPlaying()
switch (WaitForSingleObject(is_playing, 0))
{
case WAIT_ABANDONED:
throw _T("The DirectShowPlayer2Thread playback state event was abandoned, somehow. This should not happen.");
throw "The DirectShowPlayer2Thread playback state event was abandoned, somehow. This should not happen.";
case WAIT_FAILED:
throw _T("Failed checking state of DirectShowPlayer2Thread playback state event.");
throw "Failed checking state of DirectShowPlayer2Thread playback state event.";
case WAIT_OBJECT_0:
return true;
@ -914,7 +914,7 @@ void DirectSoundPlayer2::OpenStream()
{
thread = new DirectSoundPlayer2Thread(GetProvider(), WantedLatency, BufferLength);
}
catch (const wxChar *msg)
catch (const char *msg)
{
LOG_E("audio/player/dsound") << msg;
wxLogError(msg);
@ -933,7 +933,7 @@ void DirectSoundPlayer2::CloseStream()
{
delete thread;
}
catch (const wxChar *msg)
catch (const char *msg)
{
LOG_E("audio/player/dsound") << msg;
wxLogError(msg);
@ -959,7 +959,7 @@ void DirectSoundPlayer2::SetProvider(AudioProvider *provider)
AudioPlayer::SetProvider(provider);
}
catch (const wxChar *msg)
catch (const char *msg)
{
LOG_E("audio/player/dsound") << msg;
wxLogError(msg);
@ -980,7 +980,7 @@ void DirectSoundPlayer2::Play(int64_t start,int64_t count)
if (displayTimer && !displayTimer->IsRunning()) displayTimer->Start(15);
}
catch (const wxChar *msg)
catch (const char *msg)
{
LOG_E("audio/player/dsound") << msg;
wxLogError(msg);
@ -1002,7 +1002,7 @@ void DirectSoundPlayer2::Stop(bool timerToo)
displayTimer->Stop();
}
}
catch (const wxChar *msg)
catch (const char *msg)
{
LOG_E("audio/player/dsound") << msg;
wxLogError(msg);
@ -1020,7 +1020,7 @@ bool DirectSoundPlayer2::IsPlaying()
if (!IsThreadAlive()) return false;
return thread->IsPlaying();
}
catch (const wxChar *msg)
catch (const char *msg)
{
LOG_E("audio/player/dsound") << msg;
wxLogError(msg);
@ -1041,7 +1041,7 @@ int64_t DirectSoundPlayer2::GetStartPosition()
if (!IsThreadAlive()) return 0;
return thread->GetStartFrame();
}
catch (const wxChar *msg)
catch (const char *msg)
{
LOG_E("audio/player/dsound") << msg;
wxLogError(msg);
@ -1062,7 +1062,7 @@ int64_t DirectSoundPlayer2::GetEndPosition()
if (!IsThreadAlive()) return 0;
return thread->GetEndFrame();
}
catch (const wxChar *msg)
catch (const char *msg)
{
LOG_E("audio/player/dsound") << msg;
wxLogError(msg);
@ -1083,7 +1083,7 @@ int64_t DirectSoundPlayer2::GetCurrentPosition()
if (!IsThreadAlive()) return 0;
return thread->GetCurrentFrame();
}
catch (const wxChar *msg)
catch (const char *msg)
{
LOG_E("audio/player/dsound") << msg;
wxLogError(msg);
@ -1101,7 +1101,7 @@ void DirectSoundPlayer2::SetEndPosition(int64_t pos)
{
if (IsThreadAlive()) thread->SetEndFrame(pos);
}
catch (const wxChar *msg)
catch (const char *msg)
{
LOG_E("audio/player/dsound") << msg;
wxLogError(msg);
@ -1120,7 +1120,7 @@ void DirectSoundPlayer2::SetCurrentPosition(int64_t pos)
{
if (IsThreadAlive()) thread->Play(pos, thread->GetEndFrame()-pos);
}
catch (const wxChar *msg)
catch (const char *msg)
{
LOG_E("audio/player/dsound") << msg;
wxLogError(msg);
@ -1137,7 +1137,7 @@ void DirectSoundPlayer2::SetVolume(double vol)
{
if (IsThreadAlive()) thread->SetVolume(vol);
}
catch (const wxChar *msg)
catch (const char *msg)
{
LOG_E("audio/player/dsound") << msg;
wxLogError(msg);
@ -1155,7 +1155,7 @@ double DirectSoundPlayer2::GetVolume()
if (!IsThreadAlive()) return 0;
return thread->GetVolume();
}
catch (const wxChar *msg)
catch (const char *msg)
{
LOG_E("audio/player/dsound") << msg;
wxLogError(msg);

View file

@ -80,19 +80,19 @@ void OpenALPlayer::OpenStream()
// Open device
device = alcOpenDevice(0);
if (!device) {
throw _T("Failed opening default OpenAL device");
throw "Failed opening default OpenAL device";
}
// Create context
context = alcCreateContext(device, 0);
if (!context) {
alcCloseDevice(device);
throw _T("Failed creating OpenAL context");
throw "Failed creating OpenAL context";
}
if (!alcMakeContextCurrent(context)) {
alcDestroyContext(context);
alcCloseDevice(device);
throw _T("Failed selecting OpenAL context");
throw "Failed selecting OpenAL context";
}
// Clear error code
alGetError();
@ -102,7 +102,7 @@ void OpenALPlayer::OpenStream()
if (alGetError() != AL_NO_ERROR) {
alcDestroyContext(context);
alcCloseDevice(device);
throw _T("Error generating OpenAL buffers");
throw "Error generating OpenAL buffers";
}
// Generate source
@ -111,7 +111,7 @@ void OpenALPlayer::OpenStream()
alDeleteBuffers(num_buffers, buffers);
alcDestroyContext(context);
alcCloseDevice(device);
throw _T("Error generating OpenAL source");
throw "Error generating OpenAL source";
}
// Determine buffer length

View file

@ -81,7 +81,7 @@ void OSSPlayer::OpenStream()
wxString device = lagi_wxString(OPT_GET("Audio/OSS/Device")->GetString());
dspdev = ::open(device.mb_str(wxConvUTF8), O_WRONLY, 0);
if (dspdev < 0) {
throw _T("OSS player: opening device failed");
throw "OSS player: opening device failed";
}
// Use a reasonable buffer policy for low latency (OSS4)
@ -93,7 +93,7 @@ void OSSPlayer::OpenStream()
// Set number of channels
int channels = provider->GetChannels();
if (ioctl(dspdev, SNDCTL_DSP_CHANNELS, &channels) < 0) {
throw _T("OSS player: setting channels failed");
throw "OSS player: setting channels failed";
}
// Set sample format
@ -106,11 +106,11 @@ void OSSPlayer::OpenStream()
sample_format = AFMT_S16_LE;
break;
default:
throw _T("OSS player: can only handle 8 and 16 bit sound");
throw "OSS player: can only handle 8 and 16 bit sound";
}
if (ioctl(dspdev, SNDCTL_DSP_SETFMT, &sample_format) < 0) {
throw _T("OSS player: setting sample format failed");
throw "OSS player: setting sample format failed";
}
// Set sample rate

View file

@ -62,9 +62,9 @@ PortAudioPlayer::PortAudioPlayer() {
PaError err = Pa_Initialize();
if (err != paNoError) {
static wchar_t errormsg[2048];
swprintf(errormsg, 2048, L"Failed opening PortAudio: %s", Pa_GetErrorText(err));
throw (const wchar_t *)errormsg;
static char errormsg[2048];
sprintf(errormsg, 2048, "Failed opening PortAudio: %s", Pa_GetErrorText(err));
throw errormsg;
}
pa_refcount++;
}
@ -112,7 +112,7 @@ void PortAudioPlayer::OpenStream() {
const PaHostErrorInfo *pa_err = Pa_GetLastHostErrorInfo();
LOG_D_IF(pa_err->errorCode != 0, "audio/player/portaudio") << "HostError: API: " << pa_err->hostApiType << ", " << pa_err->errorText << ", " << pa_err->errorCode;
LOG_D("audio/player/portaudio") << "Failed initializing PortAudio stream with error: " << Pa_GetErrorText(err);
throw wxString(_T("Failed initializing PortAudio stream with error: ") + wxString(Pa_GetErrorText(err),csConvLocal));
throw wxString("Failed initializing PortAudio stream with error: " + wxString(Pa_GetErrorText(err),csConvLocal));
}
}

View file

@ -85,7 +85,7 @@ void PulseAudioPlayer::OpenStream()
//printf("Initialising threaded main loop\n");
mainloop = pa_threaded_mainloop_new();
if (!mainloop) {
throw _T("Failed to initialise PulseAudio threaded mainloop object");
throw "Failed to initialise PulseAudio threaded mainloop object";
}
//printf("Starting main loop\n");
pa_threaded_mainloop_start(mainloop);
@ -95,7 +95,7 @@ void PulseAudioPlayer::OpenStream()
context = pa_context_new(pa_threaded_mainloop_get_api(mainloop), "Aegisub");
if (!context) {
pa_threaded_mainloop_free(mainloop);
throw _T("Failed to create PulseAudio context");
throw "Failed to create PulseAudio context";
}
pa_context_set_state_callback(context, (pa_context_notify_cb_t)pa_context_notify, this);
@ -114,7 +114,7 @@ void PulseAudioPlayer::OpenStream()
pa_threaded_mainloop_stop(mainloop);
pa_threaded_mainloop_free(mainloop);
wxString s(pa_strerror(paerror), wxConvUTF8);
s.Prepend(_T("PulseAudio reported error: "));
s.Prepend("PulseAudio reported error: ");
throw s.c_str();
}
// otherwise loop once more
@ -137,7 +137,7 @@ void PulseAudioPlayer::OpenStream()
pa_context_unref(context);
pa_threaded_mainloop_stop(mainloop);
pa_threaded_mainloop_free(mainloop);
throw _T("PulseAudio could not create stream");
throw "PulseAudio could not create stream";
}
pa_stream_set_state_callback(stream, (pa_stream_notify_cb_t)pa_stream_notify, this);
pa_stream_set_write_callback(stream, (pa_stream_request_cb_t)pa_stream_write, this);
@ -148,7 +148,7 @@ void PulseAudioPlayer::OpenStream()
if (paerror) {
printf("PulseAudio reported error: %s (%d)\n", pa_strerror(paerror), paerror);
wxString s(pa_strerror(paerror), wxConvUTF8);
s.Prepend(_T("PulseAudio reported error: "));
s.Prepend("PulseAudio reported error: ");
throw s.c_str();
}
while (true) {
@ -158,7 +158,7 @@ void PulseAudioPlayer::OpenStream()
} else if (sstate == PA_STREAM_FAILED) {
paerror = pa_context_errno(context);
printf("PulseAudio player: Stream connection failed: %s (%d)\n", pa_strerror(paerror), paerror);
throw _T("PulseAudio player: Something went wrong connecting the stream");
throw "PulseAudio player: Something went wrong connecting the stream";
}
}
//printf("Connected playback stream, now playing\n\n");

View file

@ -64,7 +64,7 @@ AvisynthAudioProvider::AvisynthAudioProvider(wxString filename) try : filename(f
throw agi::FileNotFoundError(STD_STR(filename));
// Include
if (filename.EndsWith(_T(".avs"))) {
if (filename.EndsWith(".avs")) {
char *fname = env->SaveString(fn.GetShortPath().mb_str(csConvLocal));
script = env->Invoke("Import", fname);
}
@ -75,7 +75,7 @@ AvisynthAudioProvider::AvisynthAudioProvider(wxString filename) try : filename(f
AVSValue args[3] = { env->SaveString(fn.GetShortPath().mb_str(csConvLocal)), false, true };
// Load DirectShowSource.dll from app dir if it exists
wxFileName dsspath(StandardPaths::DecodePath(_T("?data/DirectShowSource.dll")));
wxFileName dsspath(StandardPaths::DecodePath("?data/DirectShowSource.dll"));
if (dsspath.FileExists()) {
env->Invoke("LoadPlugin",env->SaveString(dsspath.GetShortPath().mb_str(csConvLocal)));
}

View file

@ -78,7 +78,7 @@ HDAudioProvider::HDAudioProvider(AudioProvider *src) {
// Start progress
volatile bool canceled = false;
DialogProgress *progress = new DialogProgress(AegisubApp::Get()->frame,_T("Load audio"),&canceled,_T("Reading to Hard Disk cache"),0,num_samples);
DialogProgress *progress = new DialogProgress(AegisubApp::Get()->frame,"Load audio",&canceled,"Reading to Hard Disk cache",0,num_samples);
progress->Show();
// Write to disk
@ -149,10 +149,10 @@ void HDAudioProvider::GetAudio(void *buf, int64_t start, int64_t count) const {
wxString HDAudioProvider::DiskCachePath() {
// Default
wxString path = lagi_wxString(OPT_GET("Audio/Cache/HD/Location")->GetString());
if (path == _T("default")) return StandardPaths::DecodePath(_T("?temp/"));
if (path == "default") return StandardPaths::DecodePath("?temp/");
// Specified
return DecodeRelativePath(path,StandardPaths::DecodePath(_T("?user/")));
return DecodeRelativePath(path,StandardPaths::DecodePath("?user/"));
}
/// @brief Get disk cache filename
@ -160,7 +160,7 @@ wxString HDAudioProvider::DiskCachePath() {
wxString HDAudioProvider::DiskCacheName() {
// Get pattern
wxString pattern = lagi_wxString(OPT_GET("Audio/Cache/HD/Name")->GetString());
if (pattern.Find(_T("%02i")) == wxNOT_FOUND) pattern = _T("audio%02i.tmp");
if (pattern.Find("%02i") == wxNOT_FOUND) pattern = "audio%02i.tmp";
// Try from 00 to 99
for (int i=0;i<100;i++) {
@ -168,5 +168,5 @@ wxString HDAudioProvider::DiskCacheName() {
wxString curStringTry = DiskCachePath() + wxString::Format(pattern.c_str(),i);
if (!wxFile::Exists(curStringTry)) return curStringTry;
}
return L"";
return "";
}

View file

@ -311,7 +311,7 @@ namespace Automation4 {
///
wxString FeatureFilter::GetScriptSettingsIdentifier()
{
return inline_string_encode(wxString::Format(_T("Automation Settings %s"), GetName().c_str()));
return inline_string_encode(wxString::Format("Automation Settings %s", GetName().c_str()));
}
@ -430,7 +430,7 @@ namespace Automation4 {
///
wxString ScriptConfigDialog::Serialise()
{
return _T("");
return "";
}
@ -441,7 +441,7 @@ namespace Automation4 {
/// @param parent
///
ProgressSink::ProgressSink(wxWindow *parent)
: wxDialog(parent, -1, _T("Automation"), wxDefaultPosition, wxDefaultSize, wxBORDER_RAISED)
: wxDialog(parent, -1, "Automation", wxDefaultPosition, wxDefaultSize, wxBORDER_RAISED)
, debug_visible(false)
, data_updated(false)
, cancelled(false)
@ -450,10 +450,10 @@ namespace Automation4 {
{
// make the controls
progress_display = new wxGauge(this, -1, 1000, wxDefaultPosition, wxSize(300, 20));
title_display = new wxStaticText(this, -1, _T(""), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE|wxST_NO_AUTORESIZE);
task_display = new wxStaticText(this, -1, _T(""), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE|wxST_NO_AUTORESIZE);
title_display = new wxStaticText(this, -1, "", wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE|wxST_NO_AUTORESIZE);
task_display = new wxStaticText(this, -1, "", wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE|wxST_NO_AUTORESIZE);
cancel_button = new wxButton(this, wxID_CANCEL);
debug_output = new wxTextCtrl(this, -1, _T(""), wxDefaultPosition, wxSize(300, 120), wxTE_MULTILINE|wxTE_READONLY);
debug_output = new wxTextCtrl(this, -1, "", wxDefaultPosition, wxSize(300, 120), wxTE_MULTILINE|wxTE_READONLY);
// put it in a sizer
sizer = new wxBoxSizer(wxVERTICAL);
@ -537,7 +537,7 @@ namespace Automation4 {
*debug_output << pending_debug_output;
debug_output->SetInsertionPointEnd();
pending_debug_output = _T("");
pending_debug_output = "";
}
progress_display->SetValue((int)(progress*10));
@ -642,7 +642,7 @@ namespace Automation4 {
evt.config_dialog->DeleteWindow();
delete w;
} else {
wxMessageBox(_T("Uh... no config dialog?"));
wxMessageBox("Uh... no config dialog?");
}
// See note in auto4_base.h
@ -660,16 +660,16 @@ namespace Automation4 {
///
Script::Script(const wxString &_filename)
: filename(_filename)
, name(_T(""))
, description(_T(""))
, author(_T(""))
, version(_T(""))
, name("")
, description("")
, author("")
, version("")
, loaded(false)
{
// copied from auto3
include_path.clear();
include_path.EnsureFileAccessible(filename);
wxStringTokenizer toker(lagi_wxString(OPT_GET("Path/Automation/Include")->GetString()), _T("|"), wxTOKEN_STRTOK);
wxStringTokenizer toker(lagi_wxString(OPT_GET("Path/Automation/Include")->GetString()), "|", wxTOKEN_STRTOK);
while (toker.HasMoreTokens()) {
// todo? make some error reporting here
wxFileName path(StandardPaths::DecodePath(toker.GetNextToken()));
@ -871,21 +871,21 @@ namespace Automation4 {
int error_count = 0;
wxStringTokenizer tok(path, _T("|"), wxTOKEN_STRTOK);
wxStringTokenizer tok(path, "|", wxTOKEN_STRTOK);
while (tok.HasMoreTokens()) {
wxDir dir;
wxString dirname = StandardPaths::DecodePath(tok.GetNextToken());
if (!dir.Exists(dirname)) {
//wxLogWarning(_T("A directory was specified in the Automation autoload path, but it doesn't exist: %s"), dirname.c_str());
//wxLogWarning("A directory was specified in the Automation autoload path, but it doesn't exist: %s", dirname.c_str());
continue;
}
if (!dir.Open(dirname)) {
//wxLogWarning(_T("Failed to open a directory in the Automation autoload path: %s"), dirname.c_str());
//wxLogWarning("Failed to open a directory in the Automation autoload path: %s", dirname.c_str());
continue;
}
wxString fn;
wxFileName script_path(dirname + _T("/"), _T(""));
wxFileName script_path(dirname + "/", "");
bool more = dir.GetFirst(&fn, wxEmptyString, wxDIR_FILES);
while (more) {
script_path.SetName(fn);
@ -897,19 +897,19 @@ namespace Automation4 {
if (!s->GetLoadedState()) error_count++;
}
}
catch (const wchar_t *e) {
catch (const char *e) {
error_count++;
wxLogError(_T("Error loading Automation script: %s\n%s"), fn.c_str(), e);
wxLogError("Error loading Automation script: %s\n%s", fn.c_str(), e);
}
catch (...) {
error_count++;
wxLogError(_T("Error loading Automation script: %s\nUnknown error."), fn.c_str());
wxLogError("Error loading Automation script: %s\nUnknown error.", fn.c_str());
}
more = dir.GetNext(&fn);
}
}
if (error_count > 0) {
wxLogWarning(_T("One or more scripts placed in the Automation autoload directory failed to load\nPlease review the errors above, correct them and use the Reload Autoload dir button in Automation Manager to attempt loading the scripts again."));
wxLogWarning("One or more scripts placed in the Automation autoload directory failed to load\nPlease review the errors above, correct them and use the Reload Autoload dir button in Automation Manager to attempt loading the scripts again.");
}
}
@ -950,7 +950,7 @@ namespace Automation4 {
for (std::vector<ScriptFactory*>::iterator i = factories->begin(); i != factories->end(); ++i) {
if (*i == factory) {
throw _T("Automation 4: Attempt to register the same script factory multiple times. This should never happen.");
throw "Automation 4: Attempt to register the same script factory multiple times. This should never happen.";
}
}
factories->push_back(factory);

View file

@ -197,7 +197,7 @@ namespace Automation4 {
lua_pushstring(L, "path");
lua_gettable(L, -3);
wxStringTokenizer toker(lagi_wxString(OPT_GET("Path/Automation/Include")->GetString()), _T("|"), wxTOKEN_STRTOK);
wxStringTokenizer toker(lagi_wxString(OPT_GET("Path/Automation/Include")->GetString()), "|", wxTOKEN_STRTOK);
while (toker.HasMoreTokens()) {
wxFileName path(StandardPaths::DecodePath(toker.GetNextToken()));
if (path.IsOk() && !path.IsRelative() && path.DirExists()) {
@ -256,7 +256,7 @@ namespace Automation4 {
LuaScriptReader script_reader(GetFilename());
if (lua_load(L, script_reader.reader_func, &script_reader, GetPrettyFilename().mb_str(wxConvUTF8))) {
wxString err(lua_tostring(L, -1), wxConvUTF8);
err.Prepend(_T("Error loading Lua script \"") + GetPrettyFilename() + _T("\":\n\n"));
err.Prepend("Error loading Lua script \"" + GetPrettyFilename() + "\":\n\n");
throw err;
}
_stackcheck.check_stack(1);
@ -266,7 +266,7 @@ namespace Automation4 {
if (lua_pcall(L, 0, 0, 0)) {
// error occurred, assumed to be on top of Lua stack
wxString err(lua_tostring(L, -1), wxConvUTF8);
err.Prepend(_T("Error initialising Lua script \"") + GetPrettyFilename() + _T("\":\n\n"));
err.Prepend("Error initialising Lua script \"" + GetPrettyFilename() + "\":\n\n");
throw err;
}
_stackcheck.check_stack(0);
@ -276,7 +276,7 @@ namespace Automation4 {
lua_pop(L, 1); // just to avoid tripping the stackcheck in debug
// So this is an auto3 script...
// Throw it as an exception, the script factory manager will catch this and use the auto3 script instead of this script object
throw _T("Attempted to load an Automation 3 script as an Automation 4 Lua script. Automation 3 is no longer supported.");
throw "Attempted to load an Automation 3 script as an Automation 4 Lua script. Automation 3 is no longer supported.";
}
}
lua_getglobal(L, "script_name");
@ -308,12 +308,6 @@ namespace Automation4 {
name = GetPrettyFilename();
description = wxString(e, wxConvUTF8);
}
catch (const wchar_t *e) {
Destroy();
loaded = false;
name = GetPrettyFilename();
description = e;
}
catch (const wxString& e) {
Destroy();
loaded = false;
@ -328,7 +322,7 @@ namespace Automation4 {
Destroy();
loaded = false;
name = GetPrettyFilename();
description = _T("Unknown error initialising Lua script");
description = "Unknown error initialising Lua script";
}
}
@ -435,10 +429,10 @@ namespace Automation4 {
wxString package_paths(lua_tostring(L, -1), wxConvUTF8);
lua_pop(L, 2);
wxStringTokenizer toker(package_paths, L";", wxTOKEN_STRTOK);
wxStringTokenizer toker(package_paths, ";", wxTOKEN_STRTOK);
while (toker.HasMoreTokens()) {
wxString filename = toker.GetNextToken();
filename.Replace(L"?", module);
filename.Replace("?", module);
if (wxFileName::FileExists(filename)) {
LuaScriptReader script_reader(filename);
if (lua_load(L, script_reader.reader_func, &script_reader, filename.utf8_str())) {
@ -590,7 +584,7 @@ namespace Automation4 {
if (result) {
// if the call failed, log the error here
wxString errmsg(lua_tostring(L, -2), wxConvUTF8);
ps->AddDebugOutput(_T("\n\nLua reported a runtime error:\n"));
ps->AddDebugOutput("\n\nLua reported a runtime error:\n");
ps->AddDebugOutput(errmsg);
lua_pop(L, 1);
}
@ -762,7 +756,7 @@ namespace Automation4 {
bool result;
if (err) {
wxString errmsg(lua_tostring(L, -1), wxConvUTF8);
wxLogWarning(_T("Runtime error in Lua macro validation function:\n%s"), errmsg.c_str());
wxLogWarning("Runtime error in Lua macro validation function:\n%s", errmsg.c_str());
result = false;
} else {
result = !!lua_toboolean(L, -1);
@ -954,7 +948,7 @@ namespace Automation4 {
int err = lua_pcall(L, 2, 1, 0);
if (err) {
wxString errmsg(lua_tostring(L, -1), wxConvUTF8);
wxLogWarning(_T("Runtime error in Lua macro validation function:\n%s"), errmsg.c_str());
wxLogWarning("Runtime error in Lua macro validation function:\n%s", errmsg.c_str());
lua_pop(L, 1); // remove error message
return config_dialog = 0;
} else {
@ -1195,8 +1189,8 @@ namespace Automation4 {
///
void LuaScriptFactory::RegisterFactory ()
{
engine_name = _T("Lua");
filename_pattern = _T("*.lua");
engine_name = "Lua";
filename_pattern = "*.lua";
Register(this);
}
@ -1208,7 +1202,7 @@ namespace Automation4 {
{
// Just check if file extension is .lua
// Reject anything else
if (filename.Right(4).Lower() == _T(".lua")) {
if (filename.Right(4).Lower() == ".lua") {
return new LuaScript(filename);
} else {
return 0;

View file

@ -171,7 +171,7 @@ namespace Automation4 {
/// @brief DOCME
/// @return
///
virtual wxString SerialiseValue() { return _T(""); }
virtual wxString SerialiseValue() { return ""; }
/// @brief DOCME
/// @param serialised

View file

@ -102,7 +102,7 @@ namespace Automation4 {
if (StringEmptyOrWhitespace(raw)) {
lua_pushstring(L, "clear");
} else if (raw[0] == _T(';')) {
} else if (raw[0] == ';') {
// "text" field, same as "raw" but with semicolon stripped
wxString text(raw, 1, raw.size()-1);
lua_pushstring(L, text.mb_str(wxConvUTF8));
@ -110,25 +110,25 @@ namespace Automation4 {
lua_pushstring(L, "comment");
} else if (raw[0] == _T('[')) {
} else if (raw[0] == '[') {
lua_pushstring(L, "head");
} else if (section.Lower() == _T("[script info]")) {
} else if (section.Lower() == "[script info]") {
// assumed "info" class
// first "key"
wxString key = raw.BeforeFirst(_T(':'));
wxString key = raw.BeforeFirst(':');
lua_pushstring(L, key.mb_str(wxConvUTF8));
lua_setfield(L, -2, "key");
// then "value"
wxString value = raw.AfterFirst(_T(':'));
wxString value = raw.AfterFirst(':');
lua_pushstring(L, value.mb_str(wxConvUTF8));
lua_setfield(L, -2, "value");
lua_pushstring(L, "info");
} else if (raw.Left(7).Lower() == _T("format:")) {
} else if (raw.Left(7).Lower() == "format:") {
// TODO: parse the format line; just use a tokenizer
@ -325,33 +325,33 @@ namespace Automation4 {
GETSTRING(section, "section", "common")
if (lclass == _T("clear")) {
result = new AssEntry(_T(""));
if (lclass == "clear") {
result = new AssEntry("");
result->group = section;
} else if (lclass == _T("comment")) {
} else if (lclass == "comment") {
GETSTRING(raw, "text", "comment")
raw.Prepend(_T(";"));
raw.Prepend(";");
result = new AssEntry(raw);
result->group = section;
} else if (lclass == _T("head")) {
} else if (lclass == "head") {
result = new AssEntry(section);
result->group = section;
} else if (lclass == _T("info")) {
} else if (lclass == "info") {
GETSTRING(key, "key", "info")
GETSTRING(value, "value", "info")
result = new AssEntry(wxString::Format(_T("%s: %s"), key.c_str(), value.c_str()));
result->group = _T("[Script Info]"); // just so it can be read correctly back
result = new AssEntry(wxString::Format("%s: %s", key.c_str(), value.c_str()));
result->group = "[Script Info]"; // just so it can be read correctly back
} else if (lclass == _T("format")) {
} else if (lclass == "format") {
// ohshi- ...
// *FIXME* maybe ignore the actual data and just put some default stuff based on section?
result = new AssEntry(_T("Format: Auto4,Is,Broken"));
result = new AssEntry("Format: Auto4,Is,Broken");
result->group = section;
} else if (lclass == _T("style")) {
} else if (lclass == "style") {
GETSTRING(name, "name", "style")
GETSTRING(fontname, "fontname", "style")
GETFLOAT(fontsize, "fontsize", "style")
@ -407,12 +407,12 @@ namespace Automation4 {
result = sty;
} else if (lclass == _T("styleex")) {
} else if (lclass == "styleex") {
lua_pushstring(L, "Found line with class 'styleex' which is not supported. Wait until AS5 is a reality.");
lua_error(L);
return 0;
} else if (lclass == _T("dialogue")) {
} else if (lclass == "dialogue") {
GETBOOL(comment, "comment", "dialogue")
GETINT(layer, "layer", "dialogue")
GETINT(start_time, "start_time", "dialogue")
@ -883,9 +883,9 @@ namespace Automation4 {
int kcount = 0;
int kdur = 0;
int ktime = 0;
wxString ktag = _T("");
wxString ktext = _T("");
wxString ktext_stripped = _T("");
wxString ktag = "";
wxString ktext = "";
wxString ktext_stripped = "";
lua_newtable(L);
@ -914,10 +914,10 @@ namespace Automation4 {
for (int j = 0; j < (int)ovr->Tags.size(); j++) {
AssOverrideTag *tag = ovr->Tags[j];
if (tag->IsValid() && tag->Name.Mid(0,2).CmpNoCase(_T("\\k")) == 0) {
if (tag->IsValid() && tag->Name.Mid(0,2).CmpNoCase("\\k") == 0) {
// karaoke tag
if (brackets_open) {
ktext += _T("}");
ktext += "}";
brackets_open = false;
}
@ -941,7 +941,7 @@ namespace Automation4 {
kcount++;
ktag = tag->Name.Mid(1);
// check if it's a "set time" tag, special handling for that (depends on previous syllable duration)
if (ktag == _T("kt")) {
if (ktag == "kt") {
ktime = tag->Params[0]->Get<int>() * 10;
kdur = 0;
} else {
@ -954,7 +954,7 @@ namespace Automation4 {
} else {
// not karaoke tag
if (!brackets_open) {
ktext += _T("{");
ktext += "{";
brackets_open = true;
}
ktext += *tag;
@ -963,7 +963,7 @@ namespace Automation4 {
}
if (brackets_open) {
ktext += _T("}");
ktext += "}";
brackets_open = false;
}

View file

@ -90,7 +90,7 @@ namespace Automation4 {
if (lua_isstring(L, -1)) {
name = wxString(lua_tostring(L, -1), wxConvUTF8);
} else {
name = _T("");
name = "";
}
lua_pop(L, 1);
@ -134,7 +134,7 @@ namespace Automation4 {
if (lua_isstring(L, -1)) {
hint = wxString(lua_tostring(L, -1), wxConvUTF8);
} else {
hint = _T("");
hint = "";
}
lua_pop(L, 1);
@ -520,7 +520,7 @@ nospin:
///
wxString SerialiseValue()
{
return wxString::Format(_T("%d"), value);
return wxString::Format("%d", value);
}
@ -541,7 +541,7 @@ nospin:
///
wxControl *Create(wxWindow *parent)
{
wxSpinCtrl *scw = new wxSpinCtrl(parent, -1, wxString::Format(_T("%d"), value), wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, min, max, value);
wxSpinCtrl *scw = new wxSpinCtrl(parent, -1, wxString::Format("%d", value), wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, min, max, value);
scw->SetToolTip(hint);
cw = scw;
return cw;
@ -833,7 +833,7 @@ nospin:
///
wxString SerialiseValue()
{
return value ? _T("1") : _T("0");
return value ? "1" : "0";
}
@ -843,7 +843,7 @@ nospin:
void UnserialiseValue(const wxString &serialised)
{
// fixme? should this allow more different "false" values?
value = (serialised == _T("0")) ? false : true;
value = (serialised == "0") ? false : true;
}
@ -934,26 +934,26 @@ skipbuttons:
LuaConfigDialogControl *ctl;
// Check control class and create relevant control
if (controlclass == _T("label")) {
if (controlclass == "label") {
ctl = new LuaControl::Label(L);
} else if (controlclass == _T("edit")) {
} else if (controlclass == "edit") {
ctl = new LuaControl::Edit(L);
} else if (controlclass == _T("intedit")) {
} else if (controlclass == "intedit") {
ctl = new LuaControl::IntEdit(L);
} else if (controlclass == _T("floatedit")) {
} else if (controlclass == "floatedit") {
ctl = new LuaControl::FloatEdit(L);
} else if (controlclass == _T("textbox")) {
} else if (controlclass == "textbox") {
ctl = new LuaControl::Textbox(L);
} else if (controlclass == _T("dropdown")) {
} else if (controlclass == "dropdown") {
ctl = new LuaControl::Dropdown(L);
} else if (controlclass == _T("checkbox")) {
} else if (controlclass == "checkbox") {
ctl = new LuaControl::Checkbox(L);
} else if (controlclass == _T("color")) {
} else if (controlclass == "color") {
ctl = new LuaControl::Color(L);
} else if (controlclass == _T("coloralpha")) {
} else if (controlclass == "coloralpha") {
// FIXME
ctl = new LuaControl::Edit(L);
} else if (controlclass == _T("alpha")) {
} else if (controlclass == "alpha") {
// FIXME
ctl = new LuaControl::Edit(L);
} else {
@ -1081,7 +1081,7 @@ badcontrol:
wxString LuaConfigDialog::Serialise()
{
if (controls.size() == 0)
return _T("");
return "";
wxString res;
@ -1090,7 +1090,7 @@ badcontrol:
if (controls[i]->CanSerialiseValue()) {
wxString sn = inline_string_encode(controls[i]->name);
wxString sv = controls[i]->SerialiseValue();
res += wxString::Format(_T("%s:%s|"), sn.c_str(), sv.c_str());
res += wxString::Format("%s:%s|", sn.c_str(), sv.c_str());
}
}
@ -1108,12 +1108,12 @@ badcontrol:
void LuaConfigDialog::Unserialise(const wxString &serialised)
{
// Split by pipe
wxStringTokenizer tk(serialised, _T("|"));
wxStringTokenizer tk(serialised, "|");
while (tk.HasMoreTokens()) {
// Split by colon
wxString pair = tk.GetNextToken();
wxString name = inline_string_decode(pair.BeforeFirst(_T(':')));
wxString value = pair.AfterFirst(_T(':'));
wxString name = inline_string_decode(pair.BeforeFirst(':'));
wxString value = pair.AfterFirst(':');
// Hand value to all controls matching name
for (size_t i = 0; i < controls.size(); ++i) {

View file

@ -52,12 +52,12 @@ namespace Automation4 {
LuaScriptReader::LuaScriptReader(const wxString &filename)
{
#ifdef WIN32
f = _tfopen(filename.c_str(), _T("rb"));
f = _wfopen(filename.wc_str(), L"rb");
#else
f = fopen(filename.fn_str(), "rb");
#endif
if (!f)
throw _T("Could not open script file");
throw "Could not open script file";
first = true;
databuf = new char[bufsize];
}
@ -106,7 +106,7 @@ namespace Automation4 {
(b[0] == 0x2B && b[1] == 0x2F && b[2] == 0x76) || // utf7
(b[0] == 0x00 && b[2] == 0x00) || // looks like utf16be
(b[1] == 0x00 && b[3] == 0x00)) { // looks like utf16le
throw _T("The script file uses an unsupported character set. Only UTF-8 is supported.");
throw "The script file uses an unsupported character set. Only UTF-8 is supported.";
}
// assume utf8 without bom, and rewind file
fseek(f, 0, SEEK_SET);

View file

@ -51,16 +51,16 @@ wxMutex AviSynthWrapper::AviSynthMutex;
///
AviSynthWrapper::AviSynthWrapper() {
if (!avs_refcount) {
hLib=LoadLibrary(_T("avisynth.dll"));
hLib=LoadLibrary(L"avisynth.dll");
if (hLib == NULL) {
throw wxString(_T("Could not load avisynth.dll"));
throw wxString("Could not load avisynth.dll");
}
FUNC *CreateScriptEnv = (FUNC*)GetProcAddress(hLib, "CreateScriptEnvironment");
if (CreateScriptEnv == NULL) {
throw wxString(_T("Failed to get address of CreateScriptEnv from avisynth.dll"));
throw wxString("Failed to get address of CreateScriptEnv from avisynth.dll");
}
// Require Avisynth 2.5.6+?
@ -70,7 +70,7 @@ AviSynthWrapper::AviSynthWrapper() {
env = CreateScriptEnv(AVISYNTH_INTERFACE_VERSION);
if (env == NULL) {
throw wxString(_T("Failed to create a new avisynth script environment. Avisynth is too old?"));
throw wxString("Failed to create a new avisynth script environment. Avisynth is too old?");
}
// Set memory limit
const int memoryMax = OPT_GET("Provider/Avisynth/Memory Max")->GetInt();

View file

@ -59,7 +59,7 @@
/// @param size
///
BrowseButton::BrowseButton(wxWindow *parent,int id,wxString text,BrowseType _type,wxPoint position,wxSize size)
: wxButton (parent,id,text == wxString(_T("")) ? wxString(_("Browse...")) : text,position,size)
: wxButton (parent,id,text == wxString("") ? wxString(_("Browse...")) : text,position,size)
{
type = _type;
ctrl[0] = NULL;
@ -86,11 +86,11 @@ void BrowseButton::OnPressed(wxCommandEvent &event) {
// Folder
if (type == BROWSE_FOLDER) {
// For some reason I can't make this work on Mac... -jfs
wxString def = StandardPaths::DecodePathMaybeRelative(ctrl[0]->GetValue(), _T("?user/"));
wxString def = StandardPaths::DecodePathMaybeRelative(ctrl[0]->GetValue(), "?user/");
wxDirDialog dlg(0, _("Please choose the folder:"), def);
if (dlg.ShowModal() == wxID_OK) {
wxString dir = StandardPaths::EncodePath(dlg.GetPath());
if (dir != _T("")) ctrl[0]->SetValue(dir);
if (dir != "") ctrl[0]->SetValue(dir);
}
}
@ -108,7 +108,7 @@ void BrowseButton::OnPressed(wxCommandEvent &event) {
font = wxGetFontFromUser(NULL,font);
if (font.IsOk()) {
ctrl[0]->SetValue(font.GetFaceName());
ctrl[1]->SetValue(wxString::Format(_T("%i"),font.GetPointSize()));
ctrl[1]->SetValue(wxString::Format("%i",font.GetPointSize()));
}
}
}

View file

@ -77,7 +77,7 @@ private:
void OnPressed(wxCommandEvent &event);
public:
BrowseButton(wxWindow *parent,int id=-1,wxString text=_T(""),BrowseType type=BROWSE_FILE,wxPoint position=wxDefaultPosition,wxSize size=wxDefaultSize);
BrowseButton(wxWindow *parent,int id=-1,wxString text="",BrowseType type=BROWSE_FILE,wxPoint position=wxDefaultPosition,wxSize size=wxDefaultSize);
void Bind(wxTextCtrl *control,int pos=0);
};

View file

@ -80,7 +80,7 @@ wxString GetEncoding(wxString const& filename) {
LOG_I("charset/file") << filename << " (" << log_choice << ")";
int choice = wxGetSingleChoiceIndex(_("Aegisub could not narrow down the character set to a single one.\nPlease pick one below:"),_("Choose character set"),choices);
if (choice == -1) throw _T("Canceled");
if (choice == -1) throw "Canceled";
return choices.Item(choice);
}

View file

@ -446,7 +446,7 @@ void hsl_to_hsv(int iH, int iS, int iL, unsigned char *oH, unsigned char *oS, un
///
wxString color_to_html(wxColour color)
{
return wxString::Format(_T("#%02X%02X%02X"), color.Red(), color.Green(), color.Blue());
return wxString::Format("#%02X%02X%02X", color.Red(), color.Green(), color.Blue());
}
@ -458,7 +458,7 @@ wxColour html_to_color(wxString html)
{
html.Trim(true);
html.Trim(false);
if (html.StartsWith(_T("#"))) {
if (html.StartsWith("#")) {
html.Remove(0, 1);
}
if (html.size() == 6) {

View file

@ -174,7 +174,7 @@ struct app_language : public Command {
OPT_SET("App/Locale")->SetInt(newCode);
// Ask to restart program
int result = wxMessageBox(_T("Aegisub needs to be restarted so that the new language can be applied. Restart now?"),_T("Restart Aegisub?"),wxICON_QUESTION | wxYES_NO);
int result = wxMessageBox("Aegisub needs to be restarted so that the new language can be applied. Restart now?","Restart Aegisub?",wxICON_QUESTION | wxYES_NO);
if (result == wxYES) {
// Restart Aegisub
if (wxGetApp().frame->Close()) {

View file

@ -89,10 +89,10 @@ struct audio_open : public Command {
void operator()(agi::Context *c) {
wxString path = lagi_wxString(OPT_GET("Path/Last/Audio")->GetString());
wxString str = wxString(_("Audio Formats")) + _T(" (*.wav,*.mp3,*.ogg,*.flac,*.mp4,*.ac3,*.aac,*.mka,*.m4a,*.w64)|*.wav;*.mp3;*.ogg;*.flac;*.mp4;*.ac3;*.aac;*.mka;*.m4a;*.w64|")
+ _("Video Formats") + _T(" (*.avi,*.mkv,*.ogm,*.mpg,*.mpeg)|*.avi;*.mkv;*.ogm;*.mp4;*.mpeg;*.mpg|")
+ _("All files") + _T(" (*.*)|*.*");
wxString filename = wxFileSelector(_("Open audio file"),path,_T(""),_T(""),str,wxFD_OPEN | wxFD_FILE_MUST_EXIST);
wxString str = wxString(_("Audio Formats")) + " (*.wav,*.mp3,*.ogg,*.flac,*.mp4,*.ac3,*.aac,*.mka,*.m4a,*.w64)|*.wav;*.mp3;*.ogg;*.flac;*.mp4;*.ac3;*.aac;*.mka;*.m4a;*.w64|"
+ _("Video Formats") + " (*.avi,*.mkv,*.ogm,*.mpg,*.mpeg)|*.avi;*.mkv;*.ogm;*.mp4;*.mpeg;*.mpg|"
+ _("All files") + " (*.*)|*.*";
wxString filename = wxFileSelector(_("Open audio file"),path,"","",str,wxFD_OPEN | wxFD_FILE_MUST_EXIST);
if (!filename.empty()) {
c->audioController->OpenAudio(filename);
OPT_SET("Path/Last/Audio")->SetString(STD_STR(filename));
@ -109,7 +109,7 @@ struct audio_open_blank : public Command {
STR_HELP("Open a 150 minutes blank audio clip, for debugging.")
void operator()(agi::Context *c) {
c->audioController->OpenAudio(_T("dummy-audio:silence?sr=44100&bd=16&ch=1&ln=396900000"));
c->audioController->OpenAudio("dummy-audio:silence?sr=44100&bd=16&ch=1&ln=396900000");
}
};
@ -122,7 +122,7 @@ struct audio_open_noise : public Command {
STR_HELP("Open a 150 minutes noise-filled audio clip, for debugging.")
void operator()(agi::Context *c) {
c->audioController->OpenAudio(_T("dummy-audio:noise?sr=44100&bd=16&ch=1&ln=396900000"));
c->audioController->OpenAudio("dummy-audio:noise?sr=44100&bd=16&ch=1&ln=396900000");
}
};

View file

@ -77,10 +77,10 @@ struct am_manager : public Command {
for (size_t i = 0; i < scripts.size(); ++i) {
try {
scripts[i]->Reload();
} catch (const wchar_t *e) {
} catch (const char *e) {
wxLogError(e);
} catch (...) {
wxLogError(_T("An unknown error occurred reloading Automation script '%s'."), scripts[i]->GetName().c_str());
wxLogError("An unknown error occurred reloading Automation script '%s'.", scripts[i]->GetName().c_str());
}
}

View file

@ -188,7 +188,7 @@ static void combine_karaoke(AssDialogue *first, AssDialogue *second) {
}
static void combine_concat(AssDialogue *first, AssDialogue *second) {
first->Text += L"\\N" + second->Text;
first->Text += "\\N" + second->Text;
}
static void combine_drop(AssDialogue *, AssDialogue *) { }

View file

@ -65,14 +65,14 @@ struct help_bugs : public Command {
void operator()(agi::Context *c) {
if (wxGetMouseState().CmdDown()) {
if (wxGetMouseState().ShiftDown()) {
wxMessageBox(_T("Now crashing with an access violation..."));
wxMessageBox("Now crashing with an access violation...");
for (char *foo = (char*)0;;) *foo++ = 42;
} else {
wxMessageBox(_T("Now crashing with an unhandled exception..."));
wxMessageBox("Now crashing with an unhandled exception...");
throw c->parent;
}
}
AegisubApp::OpenURL(_T("http://devel.aegisub.org/"));
AegisubApp::OpenURL("http://devel.aegisub.org/");
}
};
@ -85,7 +85,7 @@ struct help_contents : public Command {
STR_HELP("Help topics.")
void operator()(agi::Context *c) {
HelpButton::OpenPage(_T("Main"));
HelpButton::OpenPage("Main");
}
};
@ -100,7 +100,7 @@ struct help_files : public Command {
void operator()(agi::Context *c) {
#ifdef __WXMAC__
char *shared_path = agi::util::OSX_GetBundleSharedSupportDirectory();
wxString help_path = wxString::Format(_T("%s/doc"), wxString(shared_path, wxConvUTF8).c_str());
wxString help_path = wxString::Format("%s/doc", wxString(shared_path, wxConvUTF8).c_str());
agi::util::OSX_OpenLocation(help_path.c_str());
free(shared_path);
#endif
@ -116,7 +116,7 @@ struct help_forums : public Command {
STR_HELP("Visit Aegisub's forums.")
void operator()(agi::Context *c) {
AegisubApp::OpenURL(_T("http://forum.aegisub.org/"));
AegisubApp::OpenURL("http://forum.aegisub.org/");
}
};
@ -129,7 +129,7 @@ struct help_irc : public Command {
STR_HELP("Visit Aegisub's official IRC channel.")
void operator()(agi::Context *c) {
AegisubApp::OpenURL(_T("irc://irc.rizon.net/aegisub"));
AegisubApp::OpenURL("irc://irc.rizon.net/aegisub");
}
};
@ -153,7 +153,7 @@ struct help_website : public Command {
STR_HELP("Visit Aegisub's official website.")
void operator()(agi::Context *c) {
AegisubApp::OpenURL(_T("http://www.aegisub.org/"));
AegisubApp::OpenURL("http://www.aegisub.org/");
}
};
}

View file

@ -83,11 +83,11 @@ struct keyframe_open : public Command {
void operator()(agi::Context *c) {
wxString path = lagi_wxString(OPT_GET("Path/Last/Keyframes")->GetString());
wxString filename = wxFileSelector(
_T("Select the keyframes file to open"),
"Select the keyframes file to open",
path,
_T("")
,_T(".txt"),
_T("All supported formats (*.txt, *.pass, *.stats, *.log)|*.txt;*.pass;*.stats;*.log|All files (*.*)|*.*"),
""
,".txt",
"All supported formats (*.txt, *.pass, *.stats, *.log)|*.txt;*.pass;*.stats;*.log|All files (*.*)|*.*",
wxFD_FILE_MUST_EXIST | wxFD_OPEN);
if (filename.empty()) return;
@ -111,7 +111,7 @@ struct keyframe_save : public Command {
void operator()(agi::Context *c) {
wxString path = lagi_wxString(OPT_GET("Path/Last/Keyframes")->GetString());
wxString filename = wxFileSelector(_T("Select the Keyframes file to open"),path,_T(""),_T("*.key.txt"),_T("Text files (*.txt)|*.txt"),wxFD_OVERWRITE_PROMPT | wxFD_SAVE);
wxString filename = wxFileSelector("Select the Keyframes file to open",path,"","*.key.txt","Text files (*.txt)|*.txt",wxFD_OVERWRITE_PROMPT | wxFD_SAVE);
if (filename.empty()) return;
OPT_SET("Path/Last/Keyframes")->SetString(STD_STR(filename));
c->videoController->SaveKeyframes(filename);

View file

@ -259,7 +259,7 @@ struct subtitle_open : public Command {
void operator()(agi::Context *c) {
wxString path = lagi_wxString(OPT_GET("Path/Last/Subtitles")->GetString());
wxString filename = wxFileSelector(_("Open subtitles file"),path,_T(""),_T(""),AssFile::GetWildcardList(0),wxFD_OPEN | wxFD_FILE_MUST_EXIST);
wxString filename = wxFileSelector(_("Open subtitles file"),path,"","",AssFile::GetWildcardList(0),wxFD_OPEN | wxFD_FILE_MUST_EXIST);
if (!filename.empty()) {
wxGetApp().frame->LoadSubtitles(filename);
}
@ -279,7 +279,7 @@ struct subtitle_open_charset : public Command {
wxString path = lagi_wxString(OPT_GET("Path/Last/Subtitles")->GetString());
// Get options and load
wxString filename = wxFileSelector(_("Open subtitles file"),path,_T(""),_T(""),AssFile::GetWildcardList(0),wxFD_OPEN | wxFD_FILE_MUST_EXIST);
wxString filename = wxFileSelector(_("Open subtitles file"),path,"","",AssFile::GetWildcardList(0),wxFD_OPEN | wxFD_FILE_MUST_EXIST);
if (!filename.empty()) {
wxString charset = wxGetSingleChoice(_("Choose charset code:"), _("Charset"), agi::charset::GetEncodingsList<wxArrayString>(), c->parent, -1, -1, true, 250, 200);
if (!charset.empty()) {
@ -336,7 +336,7 @@ static void save_subtitles(agi::Context *c, wxString filename) {
catch (const agi::Exception& err) {
wxMessageBox(lagi_wxString(err.GetMessage()), "Error", wxOK | wxICON_ERROR, NULL);
}
catch (const wchar_t *err) {
catch (const char *err) {
wxMessageBox(err, "Error", wxOK | wxICON_ERROR, NULL);
}
catch (...) {

View file

@ -81,8 +81,8 @@ struct timecode_open : public Command {
void operator()(agi::Context *c) {
wxString path = lagi_wxString(OPT_GET("Path/Last/Timecodes")->GetString());
wxString str = wxString(_("All Supported Types")) + _T("(*.txt)|*.txt|") + _("All Files") + _T(" (*.*)|*.*");
wxString filename = wxFileSelector(_("Open timecodes file"),path,_T(""),_T(""),str,wxFD_OPEN | wxFD_FILE_MUST_EXIST);
wxString str = wxString(_("All Supported Types")) + "(*.txt)|*.txt|" + _("All Files") + " (*.*)|*.*";
wxString filename = wxFileSelector(_("Open timecodes file"),path,"","",str,wxFD_OPEN | wxFD_FILE_MUST_EXIST);
if (!filename.empty()) {
c->videoController->LoadTimecodes(filename);
OPT_SET("Path/Last/Timecodes")->SetString(STD_STR(filename));
@ -105,8 +105,8 @@ struct timecode_save : public Command {
void operator()(agi::Context *c) {
wxString path = lagi_wxString(OPT_GET("Path/Last/Timecodes")->GetString());
wxString str = wxString(_("All Supported Types")) + _T("(*.txt)|*.txt|") + _("All Files") + _T(" (*.*)|*.*");
wxString filename = wxFileSelector(_("Save timecodes file"),path,_T(""),_T(""),str,wxFD_SAVE | wxFD_OVERWRITE_PROMPT);
wxString str = wxString(_("All Supported Types")) + "(*.txt)|*.txt|" + _("All Files") + " (*.*)|*.*";
wxString filename = wxFileSelector(_("Save timecodes file"),path,"","",str,wxFD_SAVE | wxFD_OVERWRITE_PROMPT);
if (!filename.empty()) {
c->videoController->SaveTimecodes(filename);
OPT_SET("Path/Last/Timecodes")->SetString(STD_STR(filename));

View file

@ -133,7 +133,7 @@ struct video_aspect_custom : public validator_video_attached {
//Why bloat using Contains when we can just check the output of Find?
pos = value.Find(':');
if (pos==wxNOT_FOUND) pos = value.Find('/');
if (pos==wxNOT_FOUND&&value.Contains(_T('x'))) {
if (pos==wxNOT_FOUND&&value.Contains('x')) {
pos = value.Find('x');
scale=true;
}
@ -556,9 +556,9 @@ struct video_open : public Command {
void operator()(agi::Context *c) {
wxString path = lagi_wxString(OPT_GET("Path/Last/Video")->GetString());
wxString str = wxString(_("Video Formats")) + _T(" (*.avi,*.mkv,*.mp4,*.avs,*.d2v,*.ogm,*.mpeg,*.mpg,*.vob,*.mov)|*.avi;*.avs;*.d2v;*.mkv;*.ogm;*.mp4;*.mpeg;*.mpg;*.vob;*.mov|")
+ _("All Files") + _T(" (*.*)|*.*");
wxString filename = wxFileSelector(_("Open video file"),path,_T(""),_T(""),str,wxFD_OPEN | wxFD_FILE_MUST_EXIST);
wxString str = wxString(_("Video Formats")) + " (*.avi,*.mkv,*.mp4,*.avs,*.d2v,*.ogm,*.mpeg,*.mpg,*.vob,*.mov)|*.avi;*.avs;*.d2v;*.mkv;*.ogm;*.mp4;*.mpeg;*.mpg;*.vob;*.mov|"
+ _("All Files") + " (*.*)|*.*";
wxString filename = wxFileSelector(_("Open video file"),path,"","",str,wxFD_OPEN | wxFD_FILE_MUST_EXIST);
if (!filename.empty()) {
c->videoController->SetVideo(filename);
OPT_SET("Path/Last/Video")->SetString(STD_STR(filename));

View file

@ -61,91 +61,91 @@ AboutScreen::AboutScreen(wxWindow *parent)
: wxDialog (parent, -1, _("About Aegisub"), wxDefaultPosition, wxDefaultSize, wxCAPTION | wxCLOSE_BOX , _("About Aegisub"))
{
// Generate library string
wxString libString = _T("Aegisub includes portions from the following other projects:\n");
libString += _T(" wxWidgets - Copyright (c) Julian Smart, Robert Roebling et al;\n");
libString += _T(" wxStyledTextCtrl - Copyright (c) Robin Dunn, Neil Hodgson;\n");
libString += _T(" Scintilla - Copyright (c) Neil Hodgson;\n");
libString += _T(" UniversalCharDet - Copyright (c) Netscape Communications Corp.;\n");
wxString libString = "Aegisub includes portions from the following other projects:\n";
libString += " wxWidgets - Copyright (c) Julian Smart, Robert Roebling et al;\n";
libString += " wxStyledTextCtrl - Copyright (c) Robin Dunn, Neil Hodgson;\n";
libString += " Scintilla - Copyright (c) Neil Hodgson;\n";
libString += " UniversalCharDet - Copyright (c) Netscape Communications Corp.;\n";
#ifdef WITH_AUTO4_LUA
libString += _T(" Lua - Copyright (c) Lua.org, PUC-Rio;\n");
libString += " Lua - Copyright (c) Lua.org, PUC-Rio;\n";
#endif
#ifdef WITH_HUNSPELL
libString += _T(" Hunspell - Copyright (c) Kevin Hendricks;\n");
libString += " Hunspell - Copyright (c) Kevin Hendricks;\n";
#endif
#ifdef WITH_PORTAUDIO
libString += _T(" PortAudio - Copyright (c) Ross Bencina, Phil Burk;\n");
libString += " PortAudio - Copyright (c) Ross Bencina, Phil Burk;\n";
#endif
#ifdef WITH_FFMPEGSOURCE
libString += _T(" FFmpeg - Copyright (c) Fabrice Bellard;\n");
libString += _T(" FFmpegSource - Copyright (c) Fredrik Mellbin;\n");
libString += " FFmpeg - Copyright (c) Fabrice Bellard;\n";
libString += " FFmpegSource - Copyright (c) Fredrik Mellbin;\n";
#endif
#ifdef WITH_AVISYNTH
libString += _T(" Avisynth 2.5 - Copyright (c) Ben Rudiak-Gould et al;\n");
libString += " Avisynth 2.5 - Copyright (c) Ben Rudiak-Gould et al;\n";
#endif
#ifdef WITH_CSRI
libString += _T(" csri - Copyright (c) David Lamparter;\n");
libString += " csri - Copyright (c) David Lamparter;\n";
# ifdef __WINDOWS__
libString += _T(" vsfilter - Copyright (c) Gabest;\n");
libString += " vsfilter - Copyright (c) Gabest;\n";
# endif
#endif
#ifdef WITH_LIBASS
libString += _T(" libass - Copyright (c) Evgeniy Stepanov, Grigori Goronzy;\n");
libString += " libass - Copyright (c) Evgeniy Stepanov, Grigori Goronzy;\n";
#endif
#ifdef __WINDOWS__
libString += _T(" Matroska Parser - Copyright (c) Mike Matsnev;\n");
libString += " Matroska Parser - Copyright (c) Mike Matsnev;\n";
#endif
#ifdef WITH_FREETYPE2
libString += _T(" Freetype - Copyright (c) David Turner, Robert Wilhelm, Werner Lemberg;\n");
libString += " Freetype - Copyright (c) David Turner, Robert Wilhelm, Werner Lemberg;\n";
#endif
libString += _T(" MyThes - Copyright (c) Kevin B. Hendricks, Stratford, Ontario, Canada.\n");
libString += " MyThes - Copyright (c) Kevin B. Hendricks, Stratford, Ontario, Canada.\n";
wxString translatorCredit = _("Translated into LANGUAGE by PERSON\n");
if (translatorCredit == _T("Translated into LANGUAGE by PERSON\n")) translatorCredit.Clear();
if (translatorCredit == "Translated into LANGUAGE by PERSON\n") translatorCredit.Clear();
// Generate about string
wxString aboutString;
aboutString += wxString(_T("Aegisub ")) + GetAegisubShortVersionString() + _T(".\n");
aboutString += _T("Copyright (c) 2005-2010 Rodrigo Braz Monteiro, Niels Martin Hansen et al.\n\n");
aboutString += _T("Programmers:\n");
aboutString += _T(" Alysson Souza e Silva\n");
aboutString += _T(" Amar Takhar\n");
aboutString += _T(" Dan Donovan\n");
aboutString += _T(" Daniel Moscoviter\n");
aboutString += _T(" David Conrad\n");
aboutString += _T(" David Lamparter\n");
aboutString += _T(" Eric Batalitzky\n");
aboutString += _T(" Evgeniy Stepanov\n");
aboutString += _T(" Fredrik Mellbin\n");
aboutString += _T(" Grigori Goronzy\n");
aboutString += _T(" Karl Blomster\n");
aboutString += _T(" Mike Matsnev\n");
aboutString += _T(" Moritz Brunner\n");
aboutString += _T(" Muhammad Lukman Nasaruddin\n");
aboutString += _T(" Niels Martin Hansen\n");
aboutString += _T(" Patryk Pomykalski\n");
aboutString += _T(" Ravi Pinjala\n");
aboutString += _T(" Rodrigo Braz Monteiro\n");
aboutString += _T(" Simone Cociancich\n");
aboutString += _T(" Thomas Goyne\n");
aboutString += _T("User manual written by:\n");
aboutString += _T(" Karl Blomster\n");
aboutString += _T(" Niels Martin Hansen\n");
aboutString += _T(" Rodrigo Braz Monteiro\n");
aboutString += _T("Icons by:\n");
aboutString += _T(" Philip Cash\n");
aboutString += _T("Additional thanks to:\n");
aboutString += _T(" Mentar\n");
aboutString += _T(" Sigurd Tao Lyngse\n");
aboutString += _T(" Everyone in the Aegisub IRC channel\n");
aboutString += _T(" Everyone who ever reported a bug\n");
aboutString += wxString("Aegisub ") + GetAegisubShortVersionString() + ".\n";
aboutString += "Copyright (c) 2005-2010 Rodrigo Braz Monteiro, Niels Martin Hansen et al.\n\n";
aboutString += "Programmers:\n";
aboutString += " Alysson Souza e Silva\n";
aboutString += " Amar Takhar\n";
aboutString += " Dan Donovan\n";
aboutString += " Daniel Moscoviter\n";
aboutString += " David Conrad\n";
aboutString += " David Lamparter\n";
aboutString += " Eric Batalitzky\n";
aboutString += " Evgeniy Stepanov\n";
aboutString += " Fredrik Mellbin\n";
aboutString += " Grigori Goronzy\n";
aboutString += " Karl Blomster\n";
aboutString += " Mike Matsnev\n";
aboutString += " Moritz Brunner\n";
aboutString += " Muhammad Lukman Nasaruddin\n";
aboutString += " Niels Martin Hansen\n";
aboutString += " Patryk Pomykalski\n";
aboutString += " Ravi Pinjala\n";
aboutString += " Rodrigo Braz Monteiro\n";
aboutString += " Simone Cociancich\n";
aboutString += " Thomas Goyne\n";
aboutString += "User manual written by:\n";
aboutString += " Karl Blomster\n";
aboutString += " Niels Martin Hansen\n";
aboutString += " Rodrigo Braz Monteiro\n";
aboutString += "Icons by:\n";
aboutString += " Philip Cash\n";
aboutString += "Additional thanks to:\n";
aboutString += " Mentar\n";
aboutString += " Sigurd Tao Lyngse\n";
aboutString += " Everyone in the Aegisub IRC channel\n";
aboutString += " Everyone who ever reported a bug\n";
aboutString += translatorCredit;
aboutString += _T("\n") + libString;
aboutString += "\n" + libString;
aboutString += _("\nSee the help file for full credits.\n");
aboutString += wxString::Format(_("Built by %s on %s."), GetAegisubBuildCredit(), GetAegisubBuildTime());
// Replace copyright symbol
wxChar copySymbol = 0xA9;
aboutString.Replace(_T("(c)"),wxString(copySymbol));
aboutString.Replace("(c)",wxString(copySymbol));
wxTextCtrl *textctrl = new wxTextCtrl(this, -1, aboutString, wxDefaultPosition, wxSize(-1,200), wxTE_MULTILINE|wxTE_READONLY|wxBORDER_NONE);

View file

@ -84,7 +84,7 @@ DialogAttachments::DialogAttachments(wxWindow *parent, AssFile *ass)
buttonSizer->Add(new wxButton(this,BUTTON_ATTACH_GRAPHICS,_("Attach &Graphics")),1,0,0);
buttonSizer->Add(extractButton,1,0,0);
buttonSizer->Add(deleteButton,1,0,0);
buttonSizer->Add(new HelpButton(this,_T("Attachment Manager")),1,wxLEFT,5);
buttonSizer->Add(new HelpButton(this,"Attachment Manager"),1,wxLEFT,5);
buttonSizer->Add(new wxButton(this,wxID_CANCEL,_("&Close")),1,0,0);
// Main sizer
@ -140,10 +140,10 @@ DialogAttachments::~DialogAttachments() {
wxString last_section_name;
while (cur != ass->Line.begin()) {
if (!((*cur)->group == L"[Fonts]" || (*cur)->group == L"[Graphics]"))
if (!((*cur)->group == "[Fonts]" || (*cur)->group == "[Graphics]"))
break;
if ((*cur)->GetEntryData() == L"[Fonts]" || (*cur)->GetEntryData() == L"[Graphics]") {
if ((*cur)->GetEntryData() == "[Fonts]" || (*cur)->GetEntryData() == "[Graphics]") {
if (found_attachments) {
--cur;
continue;
@ -202,7 +202,7 @@ void DialogAttachments::OnAttachFont(wxCommandEvent &event) {
wxArrayString filenames;
wxArrayString paths;
{
wxFileDialog diag (this,_("Choose file to be attached"), lagi_wxString(OPT_GET("Path/Fonts Collector Destination")->GetString()), _T(""), _T("Font Files (*.ttf)|*.ttf"), wxFD_OPEN | wxFD_FILE_MUST_EXIST | wxFD_MULTIPLE);
wxFileDialog diag (this,_("Choose file to be attached"), lagi_wxString(OPT_GET("Path/Fonts Collector Destination")->GetString()), "", "Font Files (*.ttf)|*.ttf", wxFD_OPEN | wxFD_FILE_MUST_EXIST | wxFD_MULTIPLE);
if (diag.ShowModal() == wxID_CANCEL) return;
diag.GetFilenames(filenames);
diag.GetPaths(paths);
@ -219,7 +219,7 @@ void DialogAttachments::OnAttachFont(wxCommandEvent &event) {
delete newAttach;
return;
}
newAttach->group = _T("[Fonts]");
newAttach->group = "[Fonts]";
ass->InsertAttachment(newAttach);
}
@ -240,7 +240,7 @@ void DialogAttachments::OnAttachGraphics(wxCommandEvent &event) {
wxArrayString filenames;
wxArrayString paths;
{
wxFileDialog diag (this,_("Choose file to be attached"), _T(""), _T(""), _T("Graphic Files (*.bmp,*.gif,*.jpg,*.ico,*.wmf)|*.bmp;*.gif;*.jpg;*.ico;*.wmf"), wxFD_OPEN | wxFD_FILE_MUST_EXIST | wxFD_MULTIPLE);
wxFileDialog diag (this,_("Choose file to be attached"), "", "", "Graphic Files (*.bmp,*.gif,*.jpg,*.ico,*.wmf)|*.bmp;*.gif;*.jpg;*.ico;*.wmf", wxFD_OPEN | wxFD_FILE_MUST_EXIST | wxFD_MULTIPLE);
if (diag.ShowModal() == wxID_CANCEL) return;
diag.GetFilenames(filenames);
diag.GetPaths(paths);
@ -257,7 +257,7 @@ void DialogAttachments::OnAttachGraphics(wxCommandEvent &event) {
delete newAttach;
return;
}
newAttach->group = _T("[Graphics]");
newAttach->group = "[Graphics]";
ass->InsertAttachment(newAttach);
}
@ -283,7 +283,7 @@ void DialogAttachments::OnExtract(wxCommandEvent &event) {
bool fullPath = false;
// Multiple or single?
if (listView->GetNextSelected(i) != -1) path = wxDirSelector(_("Select the path to save the files to:"),lagi_wxString(OPT_GET("Path/Fonts Collector Destination")->GetString())) + _T("/");
if (listView->GetNextSelected(i) != -1) path = wxDirSelector(_("Select the path to save the files to:"),lagi_wxString(OPT_GET("Path/Fonts Collector Destination")->GetString())) + "/";
else {
// Default path
wxString defPath = ((AssAttachment*) wxUIntToPtr(listView->GetItemData(i)))->GetFileName();

View file

@ -78,7 +78,7 @@ DialogAutomation::DialogAutomation(wxWindow *parent, Automation4::ScriptManager
close_button = new wxButton(this, wxID_CANCEL, _("&Close"));
// add headers to list view
list->InsertColumn(0, _T(""), wxLIST_FORMAT_CENTER, 20);
list->InsertColumn(0, "", wxLIST_FORMAT_CENTER, 20);
list->InsertColumn(1, _("Name"), wxLIST_FORMAT_LEFT, 140);
list->InsertColumn(2, _("Filename"), wxLIST_FORMAT_LEFT, 90);
list->InsertColumn(3, _("Description"), wxLIST_FORMAT_LEFT, 330);
@ -94,7 +94,7 @@ DialogAutomation::DialogAutomation(wxWindow *parent, Automation4::ScriptManager
button_box->AddSpacer(10);
button_box->Add(reload_autoload_button, 0);
button_box->AddSpacer(10);
button_box->Add(new HelpButton(this,_T("Automation Manager")), 0);
button_box->Add(new HelpButton(this,"Automation Manager"), 0);
button_box->Add(close_button, 0);
button_box->AddStretchSpacer(2);
@ -154,9 +154,9 @@ void DialogAutomation::AddScript(ExtraScriptInfo &ei)
wxListItem itm;
if (ei.is_global) {
itm.SetText(_T("G"));
itm.SetText("G");
} else {
itm.SetText(_T("L"));
itm.SetText("L");
}
itm.SetData((int)script_info.size()-1);
itm.SetId(list->GetItemCount());
@ -215,19 +215,19 @@ void DialogAutomation::OnAdd(wxCommandEvent &evt)
const Automation4::ScriptFactory *fact = factories[i];
if (fact->GetEngineName().IsEmpty() || fact->GetFilenamePattern().IsEmpty())
continue;
fnfilter = wxString::Format(_T("%s%s scripts (%s)|%s|"), fnfilter.c_str(), fact->GetEngineName().c_str(), fact->GetFilenamePattern().c_str(), fact->GetFilenamePattern().c_str());
catchall << fact->GetFilenamePattern() << _T(";");
fnfilter = wxString::Format("%s%s scripts (%s)|%s|", fnfilter.c_str(), fact->GetEngineName().c_str(), fact->GetFilenamePattern().c_str(), fact->GetFilenamePattern().c_str());
catchall << fact->GetFilenamePattern() << ";";
}
#ifdef __WINDOWS__
fnfilter += _T("All files|*.*");
fnfilter += "All files|*.*";
#else
fnfilter += _T("All files|*");
fnfilter += "All files|*";
#endif
if (!catchall.IsEmpty()) {
catchall.RemoveLast();
}
if (factories.size() > 1) {
fnfilter = _T("All supported scripts|") + catchall + _T("|") + fnfilter;
fnfilter = "All supported scripts|" + catchall + "|" + fnfilter;
}
wxString fname = wxFileSelector(_("Add Automation script"), lagi_wxString(OPT_GET("Path/Last/Automation")->GetString()), wxEmptyString, wxEmptyString, fnfilter, wxFD_OPEN|wxFD_FILE_MUST_EXIST, this);
@ -248,11 +248,11 @@ void DialogAutomation::OnAdd(wxCommandEvent &evt)
ei.is_global = false;
AddScript(ei);
}
catch (const wchar_t *e) {
catch (const char *e) {
wxLogError(e);
}
catch (...) {
wxLogError(_T("Unknown error loading script"));
wxLogError("Unknown error loading script");
}
}
}
@ -288,11 +288,11 @@ void DialogAutomation::OnReload(wxCommandEvent &evt)
try {
ei.script->Reload();
}
catch (const wchar_t *e) {
wxMessageBox(e, _T("Error reloading Automation script"), wxOK|wxICON_ERROR, this);
catch (const char *e) {
wxMessageBox(e, "Error reloading Automation script", wxOK|wxICON_ERROR, this);
}
catch (...) {
wxMessageBox(_T("An unknown error occurred reloading Automation script."), _T("Error reloading Automation script"), wxOK|wxICON_ERROR, this);
wxMessageBox("An unknown error occurred reloading Automation script.", "Error reloading Automation script", wxOK|wxICON_ERROR, this);
}
list->SetItem(i, 1, ei.script->GetName());
@ -323,7 +323,7 @@ void DialogAutomation::OnInfo(wxCommandEvent &evt)
info += _("Scripting engines installed:\n");
const std::vector<Automation4::ScriptFactory*> &factories = Automation4::ScriptFactory::GetFactories();
for (std::vector<Automation4::ScriptFactory*>::const_iterator c = factories.begin(); c != factories.end(); ++c) {
info += wxString::Format(_T("- %s (%s)\n"), (*c)->GetEngineName().c_str(), (*c)->GetFilenamePattern().c_str());
info += wxString::Format("- %s (%s)\n", (*c)->GetEngineName().c_str(), (*c)->GetFilenamePattern().c_str());
}
if (ei) {
@ -343,9 +343,9 @@ void DialogAutomation::OnInfo(wxCommandEvent &evt)
case Automation4::SCRIPTFEATURE_SUBFORMAT:
info += _(" Subtitle format handler: "); break;
default:
info += _T(" Unknown class: "); break;
info += " Unknown class: "; break;
}
info += (*f)->GetName() + _T("\n");
info += (*f)->GetName() + "\n";
}
}

View file

@ -560,7 +560,7 @@ ColorPickerRecent::ColorPickerRecent(wxWindow *parent, wxWindowID id, int _cols,
void ColorPickerRecent::LoadFromString(const wxString &recent_string)
{
colors.clear();
wxStringTokenizer toker(recent_string, _T(" "), false);
wxStringTokenizer toker(recent_string, " ", false);
while (toker.HasMoreTokens()) {
AssColor color;
color.Parse(toker.NextToken());
@ -582,7 +582,7 @@ wxString ColorPickerRecent::StoreToString()
wxString res;
for (int i = 0; i < rows*cols; i++) {
AssColor color(colors[i]);
res << color.GetASSFormatted(false, false, false) << _T(" ");
res << color.GetASSFormatted(false, false, false) << " ";
}
res.Trim(true);
return res;
@ -931,29 +931,29 @@ DialogColorPicker::DialogColorPicker(wxWindow *parent, wxColour initial_color, C
wxSizer *spectrum_box = new wxStaticBoxSizer(wxVERTICAL, this, _("Colour spectrum"));
spectrum = new ColorPickerSpectrum(this, SELECTOR_SPECTRUM, 0, -1, -1, ColorPickerSpectrum::HorzVert, wxSize(256, 256));
slider = new ColorPickerSpectrum(this, SELECTOR_SLIDER, 0, -1, -1, ColorPickerSpectrum::Vert, wxSize(slider_width, 256));
wxString modes[] = { _("RGB/R"), _("RGB/G"), _("RGB/B"), _("HSL/L"), _("HSV/H") };
wxString modes[] = { _("RGB/R"), _("RGB/G"), _("RGB/B"), _("HSL/"), _("HSV/H") };
colorspace_choice = new wxChoice(this, SELECTOR_MODE, wxDefaultPosition, wxDefaultSize, 5, modes);
wxSize colorinput_size(70, -1);
wxSize colorinput_labelsize(40, -1);
wxSizer *rgb_box = new wxStaticBoxSizer(wxHORIZONTAL, this, _("RGB colour"));
rgb_input[0] = new wxSpinCtrl(this, SELECTOR_RGB_R, _T(""), wxDefaultPosition, colorinput_size, wxSP_ARROW_KEYS, 0, 255);
rgb_input[1] = new wxSpinCtrl(this, SELECTOR_RGB_G, _T(""), wxDefaultPosition, colorinput_size, wxSP_ARROW_KEYS, 0, 255);
rgb_input[2] = new wxSpinCtrl(this, SELECTOR_RGB_B, _T(""), wxDefaultPosition, colorinput_size, wxSP_ARROW_KEYS, 0, 255);
rgb_input[0] = new wxSpinCtrl(this, SELECTOR_RGB_R, "", wxDefaultPosition, colorinput_size, wxSP_ARROW_KEYS, 0, 255);
rgb_input[1] = new wxSpinCtrl(this, SELECTOR_RGB_G, "", wxDefaultPosition, colorinput_size, wxSP_ARROW_KEYS, 0, 255);
rgb_input[2] = new wxSpinCtrl(this, SELECTOR_RGB_B, "", wxDefaultPosition, colorinput_size, wxSP_ARROW_KEYS, 0, 255);
wxSizer *hsl_box = new wxStaticBoxSizer(wxVERTICAL, this, _("HSL colour"));
hsl_input[0] = new wxSpinCtrl(this, SELECTOR_HSL_H, _T(""), wxDefaultPosition, colorinput_size, wxSP_ARROW_KEYS, 0, 255);
hsl_input[1] = new wxSpinCtrl(this, SELECTOR_HSL_S, _T(""), wxDefaultPosition, colorinput_size, wxSP_ARROW_KEYS, 0, 255);
hsl_input[2] = new wxSpinCtrl(this, SELECTOR_HSL_L, _T(""), wxDefaultPosition, colorinput_size, wxSP_ARROW_KEYS, 0, 255);
hsl_input[0] = new wxSpinCtrl(this, SELECTOR_HSL_H, "", wxDefaultPosition, colorinput_size, wxSP_ARROW_KEYS, 0, 255);
hsl_input[1] = new wxSpinCtrl(this, SELECTOR_HSL_S, "", wxDefaultPosition, colorinput_size, wxSP_ARROW_KEYS, 0, 255);
hsl_input[2] = new wxSpinCtrl(this, SELECTOR_HSL_L, "", wxDefaultPosition, colorinput_size, wxSP_ARROW_KEYS, 0, 255);
wxSizer *hsv_box = new wxStaticBoxSizer(wxVERTICAL, this, _("HSV colour"));
hsv_input[0] = new wxSpinCtrl(this, SELECTOR_HSV_H, _T(""), wxDefaultPosition, colorinput_size, wxSP_ARROW_KEYS, 0, 255);
hsv_input[1] = new wxSpinCtrl(this, SELECTOR_HSV_S, _T(""), wxDefaultPosition, colorinput_size, wxSP_ARROW_KEYS, 0, 255);
hsv_input[2] = new wxSpinCtrl(this, SELECTOR_HSV_V, _T(""), wxDefaultPosition, colorinput_size, wxSP_ARROW_KEYS, 0, 255);
hsv_input[0] = new wxSpinCtrl(this, SELECTOR_HSV_H, "", wxDefaultPosition, colorinput_size, wxSP_ARROW_KEYS, 0, 255);
hsv_input[1] = new wxSpinCtrl(this, SELECTOR_HSV_S, "", wxDefaultPosition, colorinput_size, wxSP_ARROW_KEYS, 0, 255);
hsv_input[2] = new wxSpinCtrl(this, SELECTOR_HSV_V, "", wxDefaultPosition, colorinput_size, wxSP_ARROW_KEYS, 0, 255);
ass_input = new wxTextCtrl(this, SELECTOR_ASS_INPUT, _T(""), wxDefaultPosition, colorinput_size);
html_input = new wxTextCtrl(this, SELECTOR_HTML_INPUT, _T(""), wxDefaultPosition, colorinput_size);
ass_input = new wxTextCtrl(this, SELECTOR_ASS_INPUT, "", wxDefaultPosition, colorinput_size);
html_input = new wxTextCtrl(this, SELECTOR_HTML_INPUT, "", wxDefaultPosition, colorinput_size);
preview_bitmap = wxBitmap(40, 40, 24);
preview_box = new wxStaticBitmap(this, -1, preview_bitmap, wxDefaultPosition, wxSize(40, 40), STATIC_BORDER_FLAG);
@ -989,9 +989,9 @@ DialogColorPicker::DialogColorPicker(wxWindow *parent, wxColour initial_color, C
rgb_box->Add(rgb_sizer, 1, wxEXPAND | wxALL, 3);
wxFlexGridSizer *ass_input_sizer = new wxFlexGridSizer(2, 5, 5);
ass_input_sizer->Add(new wxStaticText(this, -1, _T("ASS:"), wxDefaultPosition, colorinput_labelsize), 1, wxALIGN_CENTER_VERTICAL|wxEXPAND);
ass_input_sizer->Add(new wxStaticText(this, -1, "ASS:", wxDefaultPosition, colorinput_labelsize), 1, wxALIGN_CENTER_VERTICAL|wxEXPAND);
ass_input_sizer->Add(ass_input, 0);
ass_input_sizer->Add(new wxStaticText(this, -1, _T("HTML:"), wxDefaultPosition, colorinput_labelsize), 1, wxALIGN_CENTER_VERTICAL|wxEXPAND);
ass_input_sizer->Add(new wxStaticText(this, -1, "HTML:", wxDefaultPosition, colorinput_labelsize), 1, wxALIGN_CENTER_VERTICAL|wxEXPAND);
ass_input_sizer->Add(html_input, 0);
ass_input_sizer->AddGrowableCol(0,1);
rgb_box->Add(ass_input_sizer, 0, wxALL|wxCENTER|wxEXPAND, 3);
@ -1023,7 +1023,7 @@ DialogColorPicker::DialogColorPicker(wxWindow *parent, wxColour initial_color, C
wxSizer *recent_sizer = new wxBoxSizer(wxVERTICAL);
recent_sizer->Add(recent_box, 1, wxEXPAND);
if (OPT_GET("Tool/Colour Picker/RGBAdjust Tool")->GetBool()) recent_sizer->Add(new wxButton(this,BUTTON_RGBADJUST,_T("rgbadjust()")), 0, wxEXPAND);
if (OPT_GET("Tool/Colour Picker/RGBAdjust Tool")->GetBool()) recent_sizer->Add(new wxButton(this,BUTTON_RGBADJUST,"rgbadjust()"), 0, wxEXPAND);
wxSizer *picker_sizer = new wxBoxSizer(wxHORIZONTAL);
picker_sizer->AddStretchSpacer();
@ -1675,7 +1675,7 @@ void DialogColorPicker::OnDropperMouse(wxMouseEvent &evt)
{
if (evt.LeftDown() && !screen_dropper_icon->HasCapture()) {
#ifdef WIN32
screen_dropper_icon->SetCursor(wxCursor(_T("eyedropper_cursor")));
screen_dropper_icon->SetCursor(wxCursor("eyedropper_cursor"));
#else
screen_dropper_icon->SetCursor(*wxCROSS_CURSOR);
#endif
@ -1732,7 +1732,7 @@ void DialogColorPicker::OnRGBAdjust(wxCommandEvent &evt)
double r = double(cur.Red()) / double(old.Red());
double g = double(cur.Green()) / double(old.Green());
double b = double(cur.Blue()) / double(old.Blue());
wxString data = wxString::Format(L"rgbadjust(%g,%g,%g)", r, g, b);
wxString data = wxString::Format("rgbadjust(%g,%g,%g)", r, g, b);
if (wxTheClipboard->Open()) {
wxTheClipboard->SetData(new wxTextDataObject(data));

View file

@ -54,7 +54,7 @@
struct ResolutionShortcut {
/// DOCME
const wxChar *name;
const char *name;
/// DOCME
int width;
@ -65,15 +65,15 @@ struct ResolutionShortcut {
/// DOCME
static ResolutionShortcut resolutions[] = {
{_T("640x480 (SD fullscreen)"), 640, 480},
{_T("704x480 (SD anamorphic)"), 704, 480},
{_T("640x360 (SD widescreen)"), 640, 360},
{_T("704x396 (SD widescreen)"), 704, 396},
{_T("640x352 (SD widescreen MOD16)"), 640, 352},
{_T("704x400 (SD widescreen MOD16)"), 704, 400},
{_T("1280x720 (HD 720p)"), 1280, 720},
{_T("1920x1080 (HD 1080p)"), 1920, 1080},
{_T("1024x576 (SuperPAL widescreen)"), 1024, 576},
{"640x480 (SD fullscreen)", 640, 480},
{"704x480 (SD anamorphic)", 704, 480},
{"640x360 (SD widescreen)", 640, 360},
{"704x396 (SD widescreen)", 704, 396},
{"640x352 (SD widescreen MOD16)", 640, 352},
{"704x400 (SD widescreen MOD16)", 704, 400},
{"1280x720 (HD 720p)", 1280, 720},
{"1920x1080 (HD 1080p)", 1920, 1080},
{"1024x576 (SuperPAL widescreen)", 1024, 576},
{0, 0, 0}
};
@ -95,29 +95,29 @@ bool DialogDummyVideo::CreateDummyVideo(wxWindow *parent, wxString &out_filename
// Read back values and check sensibility
if (!dlg.fps->GetValue().ToDouble(&fps) || fps <= 0) {
wxLogWarning(_T("Invalid framerate specified, assuming 23.976"));
wxLogWarning("Invalid framerate specified, assuming 23.976");
fps = 24/1.001;
}
if (!dlg.width->GetValue().ToLong(&width) || width <= 0) {
wxLogWarning(_T("Invalid width specified"));
wxLogWarning("Invalid width specified");
width = 0;
}
if (!dlg.height->GetValue().ToLong(&height) || height <= 0) {
wxLogWarning(_T("Invalid height specified"));
wxLogWarning("Invalid height specified");
height = 0;
}
if (width == 0 && height == 0) {
wxLogWarning(_T("Assuming 640x480"));
wxLogWarning("Assuming 640x480");
width = 640; height = 480;
} else if (width == 0) {
width = height * 4 / 3;
wxLogWarning(_T("Assuming 4:3 fullscreen, %dx%d"), width, height);
wxLogWarning("Assuming 4:3 fullscreen, %dx%d", width, height);
} else if (height == 0) {
height = width * 3 / 4;
wxLogWarning(_T("Assuming 4:3 fullscreen, %dx%d"), width, height);
wxLogWarning("Assuming 4:3 fullscreen, %dx%d", width, height);
}
if ((length = dlg.length->GetValue()) <= 0) {
wxLogWarning(_T("Invalid duration, assuming 2 frames"));
wxLogWarning("Invalid duration, assuming 2 frames");
length = 2;
}
colour = dlg.colour->GetColour();
@ -148,14 +148,14 @@ DialogDummyVideo::DialogDummyVideo(wxWindow *parent)
{
// Main controls
length_display = 0;
resolution_shortcuts = new wxComboBox(this, Dummy_Video_Resolution_Shortcut, _T(""), wxDefaultPosition, wxDefaultSize, 0, 0, wxCB_READONLY);
resolution_shortcuts = new wxComboBox(this, Dummy_Video_Resolution_Shortcut, "", wxDefaultPosition, wxDefaultSize, 0, 0, wxCB_READONLY);
width = new wxTextCtrl(this, -1);
height = new wxTextCtrl(this, -1);
colour = new ColourButton(this, -1, wxSize(30, 17), lagi_wxColour(OPT_GET("Colour/Video Dummy/Last Colour")->GetColour()));
pattern = new wxCheckBox(this, -1, _("Checkerboard pattern"));
fps = new wxTextCtrl(this, Dummy_Video_FPS, wxString::Format("%f", OPT_GET("Video/Dummy/FPS")->GetDouble()));
length = new wxSpinCtrl(this, Dummy_Video_Length, "", wxDefaultPosition, wxDefaultSize, 4096|wxALIGN_LEFT);
length_display = new wxStaticText(this, -1, _T(""));
length_display = new wxStaticText(this, -1, "");
// Support controls and layout
wxFlexGridSizer *fg = new wxFlexGridSizer(2, 5, 5);
@ -164,7 +164,7 @@ DialogDummyVideo::DialogDummyVideo(wxWindow *parent)
fg->AddStretchSpacer();
wxBoxSizer *res_sizer = new wxBoxSizer(wxHORIZONTAL);
res_sizer->Add(width, 0, wxEXPAND);
res_sizer->Add(new wxStaticText(this, -1, _T(" x ")), 0, wxALIGN_CENTRE_VERTICAL|wxFIXED_MINSIZE);
res_sizer->Add(new wxStaticText(this, -1, " x "), 0, wxALIGN_CENTRE_VERTICAL|wxFIXED_MINSIZE);
res_sizer->Add(height, 0, wxEXPAND);
fg->Add(res_sizer, 0, wxEXPAND);
fg->Add(new wxStaticText(this, -1, _("Colour:")), 0, wxALIGN_CENTRE_VERTICAL);
@ -185,7 +185,7 @@ DialogDummyVideo::DialogDummyVideo(wxWindow *parent)
wxStdDialogButtonSizer *btnSizer = new wxStdDialogButtonSizer();
btnSizer->AddButton(ok_button);
btnSizer->AddButton(cancel_button);
btnSizer->AddButton(new HelpButton(this,_T("Dummy Video")));
btnSizer->AddButton(new HelpButton(this,"Dummy Video"));
btnSizer->Realize();
main_sizer->Add(new wxStaticLine(this,wxHORIZONTAL),0,wxALL|wxEXPAND,5);
main_sizer->Add(btnSizer,0,wxLEFT|wxRIGHT|wxBOTTOM|wxEXPAND,5);
@ -204,11 +204,11 @@ DialogDummyVideo::DialogDummyVideo(wxWindow *parent)
lastres++;
}
pattern->SetValue(OPT_GET("Video/Dummy/Pattern")->GetBool());
/*fps->Append(_T("23.976"));
fps->Append(_T("29.97"));
fps->Append(_T("24"));
fps->Append(_T("25"));
fps->Append(_T("30"));*/
/*fps->Append("23.976");
fps->Append("29.97");
fps->Append("24");
fps->Append("25");
fps->Append("30");*/
width->ChangeValue(AegiIntegerToString(OPT_GET("Video/Dummy/Last/Width")->GetInt()));
height->ChangeValue(AegiIntegerToString(OPT_GET("Video/Dummy/Last/Height")->GetInt()));
length->SetRange(0, 0x10000000);
@ -245,8 +245,8 @@ END_EVENT_TABLE()
void DialogDummyVideo::OnResolutionShortcut(wxCommandEvent &evt)
{
int rs = resolution_shortcuts->GetSelection();
width->ChangeValue(wxString::Format(_T("%d"), resolutions[rs].width));
height->ChangeValue(wxString::Format(_T("%d"), resolutions[rs].height));
width->ChangeValue(wxString::Format("%d", resolutions[rs].width));
height->ChangeValue(wxString::Format("%d", resolutions[rs].height));
}

View file

@ -55,7 +55,7 @@
/// @param parent
///
DialogExport::DialogExport (wxWindow *parent, AssFile *subs)
: wxDialog (parent, -1, _("Export"), wxDefaultPosition, wxSize(200,100), wxCAPTION | wxCLOSE_BOX, _T("Export"))
: wxDialog (parent, -1, _("Export"), wxDefaultPosition, wxSize(200,100), wxCAPTION | wxCLOSE_BOX, "Export")
{
// Filter list
wxSizer *TopSizer = new wxStaticBoxSizer(wxVERTICAL,this,_("Filters"));
@ -64,8 +64,8 @@ DialogExport::DialogExport (wxWindow *parent, AssFile *subs)
FilterList = new wxCheckListBox(this, Filter_List_Box, wxDefaultPosition, wxSize(200,100), filters);
// Get selected filters
wxString selected = Export->GetOriginalSubs()->GetScriptInfo(_T("Export filters"));
wxStringTokenizer token(selected, _T("|"));
wxString selected = Export->GetOriginalSubs()->GetScriptInfo("Export filters");
wxStringTokenizer token(selected, "|");
int n = 0;
while (token.HasMoreTokens()) {
wxString cur = token.GetNextToken();
@ -95,7 +95,7 @@ DialogExport::DialogExport (wxWindow *parent, AssFile *subs)
TopButtons->Add(new wxButton(this,Button_Select_None,_("Select none"),wxDefaultPosition,wxSize(80,-1)),1,wxEXPAND | wxRIGHT,0);
// Description field
Description = new wxTextCtrl(this, -1, _T(""), wxDefaultPosition, wxSize(200,60), wxTE_MULTILINE | wxTE_READONLY);
Description = new wxTextCtrl(this, -1, "", wxDefaultPosition, wxSize(200,60), wxTE_MULTILINE | wxTE_READONLY);
// Charset dropdown list
wxStaticText *charset_list_label = new wxStaticText(this, -1, _("Text encoding:"));
@ -103,8 +103,8 @@ DialogExport::DialogExport (wxWindow *parent, AssFile *subs)
wxSizer *charset_list_sizer = new wxBoxSizer(wxHORIZONTAL);
charset_list_sizer->Add(charset_list_label, 0, wxALIGN_CENTER | wxRIGHT, 5);
charset_list_sizer->Add(CharsetList, 1, wxEXPAND);
if (!CharsetList->SetStringSelection(Export->GetOriginalSubs()->GetScriptInfo(_T("Export Encoding")))) {
CharsetList->SetStringSelection(_T("Unicode (UTF-8)"));
if (!CharsetList->SetStringSelection(Export->GetOriginalSubs()->GetScriptInfo("Export Encoding"))) {
CharsetList->SetStringSelection("Unicode (UTF-8)");
}
// Top sizer
@ -118,7 +118,7 @@ DialogExport::DialogExport (wxWindow *parent, AssFile *subs)
wxButton *process = new wxButton(this,Button_Process,_("Export..."));
ButtonSizer->AddButton(process);
ButtonSizer->AddButton(new wxButton(this,wxID_CANCEL));
ButtonSizer->AddButton(new HelpButton(this,_T("Export")));
ButtonSizer->AddButton(new HelpButton(this,"Export"));
ButtonSizer->SetAffirmativeButton(process);
ButtonSizer->Realize();
@ -149,12 +149,12 @@ DialogExport::~DialogExport() {
wxString infoList;
for (unsigned int i=0;i<FilterList->GetCount();i++) {
if (FilterList->IsChecked(i)) {
infoList += FilterList->GetString(i) + _T("|");
infoList += FilterList->GetString(i) + "|";
n++;
}
}
if (n > 0) infoList = infoList.Left(infoList.Length()-1);
Export->GetOriginalSubs()->SetScriptInfo(_T("Export filters"),infoList);
Export->GetOriginalSubs()->SetScriptInfo("Export filters",infoList);
// Delete exporter
if (Export) delete Export;
@ -196,7 +196,7 @@ END_EVENT_TABLE()
///
void DialogExport::OnProcess(wxCommandEvent &event) {
// Get destination
wxString filename = wxFileSelector(_("Export subtitles file"),_T(""),_T(""),_T(""),AssFile::GetWildcardList(2),wxFD_SAVE | wxFD_OVERWRITE_PROMPT,this);
wxString filename = wxFileSelector(_("Export subtitles file"),"","","",AssFile::GetWildcardList(2),wxFD_SAVE | wxFD_OVERWRITE_PROMPT,this);
if (filename.empty()) return;
// Add filters
@ -209,18 +209,18 @@ void DialogExport::OnProcess(wxCommandEvent &event) {
// Export
try {
wxBusyCursor busy;
Export->GetOriginalSubs()->SetScriptInfo(_T("Export Encoding"), CharsetList->GetStringSelection());
Export->GetOriginalSubs()->SetScriptInfo("Export Encoding", CharsetList->GetStringSelection());
Export->Export(filename, CharsetList->GetStringSelection(), this);
}
catch (const wchar_t *error) {
catch (const char *error) {
wxString err(error);
wxMessageBox(err, _T("Error exporting subtitles"), wxOK | wxICON_ERROR, this);
wxMessageBox(err, "Error exporting subtitles", wxOK | wxICON_ERROR, this);
}
catch (const agi::charset::ConvError& err) {
wxMessageBox(err.GetMessage(), _T("Error exporting subtitles"), wxOK | wxICON_ERROR, this);
wxMessageBox(err.GetMessage(), "Error exporting subtitles", wxOK | wxICON_ERROR, this);
}
catch (...) {
wxMessageBox(_T("Unknown error"), _T("Error exporting subtitles"), wxOK | wxICON_ERROR, this);
wxMessageBox("Unknown error", "Error exporting subtitles", wxOK | wxICON_ERROR, this);
}
// Close dialog

View file

@ -99,11 +99,11 @@ DialogFontsCollector::DialogFontsCollector(wxWindow *parent, AssFile *ass)
// Destination box
wxString dest = lagi_wxString(OPT_GET("Path/Fonts Collector Destination")->GetString());
if (dest == _T("?script")) {
if (dest == "?script") {
wxFileName filename(subs->filename);
dest = filename.GetPath();
}
while (dest.Right(1) == _T("/")) dest = dest.Left(dest.Length()-1);
while (dest.Right(1) == "/") dest = dest.Left(dest.Length()-1);
DestBox = new wxTextCtrl(this,-1,dest,wxDefaultPosition,wxSize(250,20),0);
BrowseButton = new wxButton(this,BROWSE_BUTTON,_("&Browse..."));
wxSizer *DestBottomSizer = new wxBoxSizer(wxHORIZONTAL);
@ -123,13 +123,13 @@ DialogFontsCollector::DialogFontsCollector(wxWindow *parent, AssFile *ass)
#ifdef _DEBUG
choices.Add(_("DEBUG: Verify all fonts in system"));
#endif
CollectAction = new wxRadioBox(this,RADIO_BOX,_T("Action"),wxDefaultPosition,wxDefaultSize,choices,1);
CollectAction = new wxRadioBox(this,RADIO_BOX, "Action",wxDefaultPosition,wxDefaultSize,choices,1);
size_t lastAction = OPT_GET("Tool/Fonts Collector/Action")->GetInt();
if (lastAction >= choices.GetCount()) lastAction = 0;
CollectAction->SetSelection(lastAction);
// Log box
LogBox = new ScintillaTextCtrl(this,-1,_T(""),wxDefaultPosition,wxSize(300,210));
LogBox = new ScintillaTextCtrl(this,-1,"",wxDefaultPosition,wxSize(300,210));
LogBox->SetWrapMode(wxSTC_WRAP_WORD);
LogBox->SetMarginWidth(1,0);
LogBox->SetReadOnly(true);
@ -146,7 +146,7 @@ DialogFontsCollector::DialogFontsCollector(wxWindow *parent, AssFile *ass)
wxStdDialogButtonSizer *ButtonSizer = new wxStdDialogButtonSizer();
ButtonSizer->AddButton(StartButton);
ButtonSizer->AddButton(CloseButton);
ButtonSizer->AddButton(new HelpButton(this,_T("Fonts Collector")));
ButtonSizer->AddButton(new HelpButton(this,"Fonts Collector"));
ButtonSizer->SetAffirmativeButton(StartButton);
ButtonSizer->Realize();
@ -275,7 +275,7 @@ void DialogFontsCollector::OnBrowse(wxCommandEvent &event) {
// Chose file name
if (CollectAction->GetSelection()==2) {
wxFileName fname(DestBox->GetValue());
wxString dest = wxFileSelector(_("Select archive file name"),DestBox->GetValue(),fname.GetFullName(),_T(".zip"),_("Zip Archives (*.zip)|*.zip"),wxFD_SAVE|wxFD_OVERWRITE_PROMPT);
wxString dest = wxFileSelector(_("Select archive file name"),DestBox->GetValue(),fname.GetFullName(),".zip",_("Zip Archives (*.zip)|*.zip"),wxFD_SAVE|wxFD_OVERWRITE_PROMPT);
if (!dest.empty()) {
DestBox->SetValue(dest);
}
@ -321,7 +321,7 @@ void DialogFontsCollector::Update(int value) {
DestBox->Enable(false);
BrowseButton->Enable(false);
DestLabel->Enable(false);
DestLabel->SetLabel(_T("N/A\n"));
DestLabel->SetLabel("N/A\n");
}
// Collect to folder
@ -332,7 +332,7 @@ void DialogFontsCollector::Update(int value) {
DestLabel->SetLabel(_("Choose the folder where the fonts will be collected to.\nIt will be created if it doesn't exist."));
// Remove filename from browse box
if (dst.Right(4) == _T(".zip")) {
if (dst.Right(4) == ".zip") {
wxFileName fn(dst);
DestBox->SetValue(fn.GetPath());
}
@ -346,9 +346,9 @@ void DialogFontsCollector::Update(int value) {
DestLabel->SetLabel(_("Enter the name of the destination zip file to collect the fonts to.\nIf a folder is entered, a default name will be used."));
// Add filename to browse box
if (dst.Right(4) != _T(".zip")) {
wxFileName fn(dst + _T("//"));
fn.SetFullName(_T("fonts.zip"));
if (dst.Right(4) != ".zip") {
wxFileName fn(dst + "//");
fn.SetFullName("fonts.zip");
DestBox->SetValue(fn.GetFullPath());
}
}

View file

@ -270,12 +270,12 @@ int DrawBoxedText(wxDC &dc, const wxString &txt, int x, int y)
// Assume the pen, brush and font properties have already been set in the DC.
// Return the advance width, including box margins, borders etc
if (txt == _T(""))
if (txt == "")
{
// Empty string gets special handling:
// The box is drawn in shorter width, to emphasize it's empty
// GetTextExtent has to be called with a non-empty string, otherwise it returns the wrong height
dc.GetTextExtent(_T(" "), &tw, &th);
dc.GetTextExtent(" ", &tw, &th);
dc.DrawRectangle(x, y-2, 4, th+4);
return 3;
}
@ -426,14 +426,14 @@ void KaraokeLineMatchDisplay::OnPaint(wxPaintEvent &event)
dc.SetTextForeground(sel_text);
dc.SetBrush(wxBrush(sel_back));
wxString txt = unmatched_destination.Left(destination_sel_length);
if (txt != _T(""))
if (txt != "")
next_x += DrawBoxedText(dc, txt, next_x, y_line2);
dc.SetTextBackground(inner_back);
dc.SetTextForeground(inner_text);
dc.SetBrush(wxBrush(inner_back));
txt = unmatched_destination.Mid(destination_sel_length);
if (txt != _T(""))
if (txt != "")
DrawBoxedText(dc, txt, next_x, y_line2);
}
@ -510,7 +510,7 @@ wxString KaraokeLineMatchDisplay::GetOutputLine()
for (size_t i = 0; i < matched_groups.size(); ++i)
{
MatchGroup &match = matched_groups[i];
res = wxString::Format(_T("%s{\\k%d}%s"), res.c_str(), match.duration, match.dst.c_str());
res = wxString::Format("%s{\\k%d}%s", res.c_str(), match.duration, match.dst.c_str());
}
return res;
@ -857,9 +857,9 @@ DialogKanjiTimer::DialogKanjiTimer(agi::Context *c)
Interpolate = new wxCheckBox(this,-1,_("Attempt to interpolate kanji."),wxDefaultPosition,wxDefaultSize,wxALIGN_LEFT);
Interpolate->SetValue(OPT_GET("Tool/Kanji Timer/Interpolation")->GetBool());
SourceStyle=new wxComboBox(this,-1,_T(""),wxDefaultPosition,wxSize(160,-1),
SourceStyle=new wxComboBox(this,-1,"",wxDefaultPosition,wxSize(160,-1),
subs->GetStyles(),wxCB_READONLY,wxDefaultValidator,_("Source Style"));
DestStyle = new wxComboBox(this,-1,_T(""),wxDefaultPosition,wxSize(160,-1),
DestStyle = new wxComboBox(this,-1,"",wxDefaultPosition,wxSize(160,-1),
subs->GetStyles(),wxCB_READONLY,wxDefaultValidator,_("Dest Style"));
wxStaticText *ShortcutKeys = new wxStaticText(this,-1,_("When the destination textbox has focus, use the following keys:\n\nRight Arrow: Increase dest. selection length\nLeft Arrow: Decrease dest. selection length\nUp Arrow: Increase source selection length\nDown Arrow: Decrease source selection length\nEnter: Link, accept line when done\nBackspace: Unlink last"));
@ -898,7 +898,7 @@ DialogKanjiTimer::DialogKanjiTimer(agi::Context *c)
// Button sizer
wxStdDialogButtonSizer *buttonSizer = new wxStdDialogButtonSizer();
buttonSizer->AddButton(new HelpButton(this,_T("Kanji Timer")));
buttonSizer->AddButton(new HelpButton(this,"Kanji Timer"));
buttonSizer->SetAffirmativeButton(CloseKT);
buttonSizer->Realize();

View file

@ -108,7 +108,7 @@ DialogPasteOver::DialogPasteOver (wxWindow *parent, std::vector<bool>& options)
wxStdDialogButtonSizer *ButtonSizer = new wxStdDialogButtonSizer();
ButtonSizer->AddButton(new wxButton(this, wxID_OK));
ButtonSizer->AddButton(new wxButton(this, wxID_CANCEL));
ButtonSizer->AddButton(new HelpButton(this,_T("Paste Over")));
ButtonSizer->AddButton(new HelpButton(this,"Paste Over"));
ButtonSizer->Realize();
// Main sizer

View file

@ -76,11 +76,11 @@ DialogResample::DialogResample(agi::Context *c)
MarginSymmetrical = NULL; // Do not remove this
wxSizer *MarginBoxSizer = new wxStaticBoxSizer(wxVERTICAL,this,_("Margin offset"));
wxSizer *MarginSizer = new wxGridSizer(3,3,5,5);
MarginTop = new wxTextCtrl(this,TEXT_MARGIN_T,_T("0"),wxDefaultPosition,wxSize(50,-1),0);
MarginLeft = new wxTextCtrl(this,TEXT_MARGIN_L,_T("0"),wxDefaultPosition,wxSize(50,-1),0);
MarginTop = new wxTextCtrl(this,TEXT_MARGIN_T,"0",wxDefaultPosition,wxSize(50,-1),0);
MarginLeft = new wxTextCtrl(this,TEXT_MARGIN_L,"0",wxDefaultPosition,wxSize(50,-1),0);
MarginSymmetrical = new wxCheckBox(this,CHECK_SYMMETRICAL,_("Symmetrical"));
MarginRight = new wxTextCtrl(this,TEXT_MARGIN_R,_T("0"),wxDefaultPosition,wxSize(50,-1),0);
MarginBottom = new wxTextCtrl(this,TEXT_MARGIN_B,_T("0"),wxDefaultPosition,wxSize(50,-1),0);
MarginRight = new wxTextCtrl(this,TEXT_MARGIN_R,"0",wxDefaultPosition,wxSize(50,-1),0);
MarginBottom = new wxTextCtrl(this,TEXT_MARGIN_B,"0",wxDefaultPosition,wxSize(50,-1),0);
MarginSizer->AddSpacer(1);
MarginSizer->Add(MarginTop,1,wxEXPAND);
MarginSizer->AddSpacer(1);
@ -117,7 +117,7 @@ DialogResample::DialogResample(agi::Context *c)
wxStdDialogButtonSizer *ButtonSizer = new wxStdDialogButtonSizer();
ButtonSizer->AddButton(new wxButton(this,wxID_OK));
ButtonSizer->AddButton(new wxButton(this,wxID_CANCEL));
ButtonSizer->AddButton(new HelpButton(this,_T("Resample")));
ButtonSizer->AddButton(new HelpButton(this,"Resample"));
ButtonSizer->Realize();
// Main sizer
@ -235,7 +235,7 @@ void DialogResample::OnResample (wxCommandEvent &event) {
// Sanity check
if (x1 == 0 || y1 == 0) {
wxMessageBox(_T("Invalid source resolution. This should not happen. Please contact the developers."),_("Error"),wxCENTRE|wxICON_ERROR);
wxMessageBox("Invalid source resolution. This should not happen. Please contact the developers.",_("Error"),wxCENTRE|wxICON_ERROR);
return;
}
if (x2 == 0 || y2 == 0) {
@ -266,7 +266,7 @@ void DialogResample::OnResample (wxCommandEvent &event) {
for (entryIter cur=c->ass->Line.begin();cur!=c->ass->Line.end();cur++) {
// Apply to dialogues
curDiag = dynamic_cast<AssDialogue*>(*cur);
if (curDiag && !(curDiag->Comment && (curDiag->Effect.StartsWith(_T("template")) || curDiag->Effect.StartsWith(_T("code"))))) {
if (curDiag && !(curDiag->Comment && (curDiag->Effect.StartsWith("template") || curDiag->Effect.StartsWith("code")))) {
try {
// Override tags
curDiag->ParseASSTags();
@ -293,7 +293,7 @@ void DialogResample::OnResample (wxCommandEvent &event) {
curDiag->ClearBlocks();
continue;
}
catch (const wchar_t *err) {
catch (const char *err) {
wxLogMessage(err);
}
catch (wxString err) {
@ -318,8 +318,8 @@ void DialogResample::OnResample (wxCommandEvent &event) {
}
// Change script resolution
c->ass->SetScriptInfo(_T("PlayResX"),wxString::Format(_T("%i"),x2));
c->ass->SetScriptInfo(_T("PlayResY"),wxString::Format(_T("%i"),y2));
c->ass->SetScriptInfo("PlayResX",wxString::Format("%i",x2));
c->ass->SetScriptInfo("PlayResY",wxString::Format("%i",y2));
// Flag as modified
c->ass->Commit(_("resolution resampling"), AssFile::COMMIT_SCRIPTINFO | AssFile::COMMIT_DIAG_FULL);
@ -332,8 +332,8 @@ void DialogResample::OnResample (wxCommandEvent &event) {
/// @param event
///
void DialogResample::OnGetDestRes (wxCommandEvent &event) {
ResX->SetValue(wxString::Format(_T("%i"),c->videoController->GetWidth()));
ResY->SetValue(wxString::Format(_T("%i"),c->videoController->GetHeight()));
ResX->SetValue(wxString::Format("%i",c->videoController->GetWidth()));
ResY->SetValue(wxString::Format("%i",c->videoController->GetHeight()));
}

View file

@ -70,7 +70,7 @@ enum {
/// @param name
///
DialogSearchReplace::DialogSearchReplace (wxWindow *parent,bool _hasReplace,wxString name)
: wxDialog(parent, -1, name, wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE, _T("SearchReplace"))
: wxDialog(parent, -1, name, wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE, "SearchReplace")
{
// Setup
hasReplace = _hasReplace;
@ -78,14 +78,14 @@ DialogSearchReplace::DialogSearchReplace (wxWindow *parent,bool _hasReplace,wxSt
// Find sizer
wxSizer *FindSizer = new wxFlexGridSizer(2,2,5,15);
wxArrayString FindHistory = lagi_MRU_wxAS("Find");
FindEdit = new wxComboBox(this,-1,_T(""),wxDefaultPosition,wxSize(300,-1),FindHistory,wxCB_DROPDOWN);
FindEdit = new wxComboBox(this,-1,"",wxDefaultPosition,wxSize(300,-1),FindHistory,wxCB_DROPDOWN);
//if (FindHistory.Count()) FindEdit->SetStringSelection(FindHistory[0]);
FindEdit->SetSelection(0);
FindSizer->Add(new wxStaticText(this,-1,_("Find what:")),0,wxRIGHT | wxALIGN_CENTER_VERTICAL,0);
FindSizer->Add(FindEdit,0,wxRIGHT,0);
if (hasReplace) {
wxArrayString ReplaceHistory = lagi_MRU_wxAS("Replace");
ReplaceEdit = new wxComboBox(this,-1,_T(""),wxDefaultPosition,wxSize(300,-1),ReplaceHistory,wxCB_DROPDOWN);
ReplaceEdit = new wxComboBox(this,-1,"",wxDefaultPosition,wxSize(300,-1),ReplaceHistory,wxCB_DROPDOWN);
FindSizer->Add(new wxStaticText(this,-1,_("Replace with:")),0,wxRIGHT | wxALIGN_CENTER_VERTICAL,0);
FindSizer->Add(ReplaceEdit,0,wxRIGHT,0);
ReplaceEdit->SetSelection(0);
@ -515,7 +515,7 @@ void SearchReplaceEngine::ReplaceAll() {
// Normal replace
else {
if (!Search.matchCase) {
wxString Left = _T(""), Right = *Text;
wxString Left = "", Right = *Text;
int pos = 0;
Left.Alloc(Right.Len());
while (pos <= (int)(Right.Len() - LookFor.Len())) {
@ -615,7 +615,7 @@ wxString *SearchReplaceEngine::GetText(int n,int field) {
else if (field == 1) return &cur->Style;
else if (field == 2) return &cur->Actor;
else if (field == 3) return &cur->Effect;
else throw wxString(_T("Invalid field"));
else throw wxString("Invalid field");
}

View file

@ -286,3 +286,4 @@ void DialogSpellChecker::SetWord(wxString const& word) {
add_button->Enable(spellchecker->CanAddWord(word));
}

View file

@ -98,7 +98,7 @@ enum {
};
DialogStyleEditor::DialogStyleEditor (wxWindow *parent, AssStyle *style, agi::Context *c,bool local,AssStyleStorage *store,bool newStyle)
: wxDialog (parent,-1,_("Style Editor"),wxDefaultPosition,wxDefaultSize,wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER,_T("DialogStyleEditor"))
: wxDialog (parent,-1,_("Style Editor"),wxDefaultPosition,wxDefaultSize,wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER,"DialogStyleEditor")
, c(c)
, isLocal(local)
, isNew(newStyle)
@ -116,7 +116,7 @@ DialogStyleEditor::DialogStyleEditor (wxWindow *parent, AssStyle *style, agi::Co
wxString AngleValue = AegiFloatToString(style->angle);
wxString EncodingValue = AegiIntegerToString(style->encoding);
wxString SpacingValue = AegiFloatToString(style->spacing);
wxString alignValues[9] = { _T("7"),_T("8"),_T("9"),_T("4"),_T("5"),_T("6"),_T("1"),_T("2"),_T("3") };
wxString alignValues[9] = { "7","8","9","4","5","6","1","2","3" };
wxArrayString fontList = wxFontEnumerator::GetFacenames();
fontList.Sort();
@ -136,7 +136,7 @@ DialogStyleEditor::DialogStyleEditor (wxWindow *parent, AssStyle *style, agi::Co
// Create controls
StyleName = new wxTextCtrl(this,-1,style->name);
FontName = new wxComboBox(this,TEXT_FONT_NAME,style->font,wxDefaultPosition,wxSize(150,-1),0,0,wxCB_DROPDOWN);
FontSize = new wxTextCtrl(this,TEXT_FONT_SIZE,_T(""),wxDefaultPosition,wxSize(50,-1),0,NumValidator(FontSizeValue,true,false));
FontSize = new wxTextCtrl(this,TEXT_FONT_SIZE,"",wxDefaultPosition,wxSize(50,-1),0,NumValidator(FontSizeValue,true,false));
BoxBold = new wxCheckBox(this,CHECKBOX_STYLE_BOLD,_("Bold"));
BoxItalic = new wxCheckBox(this,CHECKBOX_STYLE_ITALIC,_("Italic"));
BoxUnderline = new wxCheckBox(this,CHECKBOX_STYLE_UNDERLINE,_("Underline"));
@ -152,14 +152,14 @@ DialogStyleEditor::DialogStyleEditor (wxWindow *parent, AssStyle *style, agi::Co
for (int i=0;i<3;i++) margin[i] = new wxSpinCtrl(this,TEXT_MARGIN_L+i,AegiFloatToString(style->Margin[i]),wxDefaultPosition,wxSize(60,-1),wxSP_ARROW_KEYS,0,9999,style->Margin[i]);
margin[3] = 0;
Alignment = new wxRadioBox(this, RADIO_ALIGNMENT, _("Alignment"), wxDefaultPosition, wxDefaultSize, 9, alignValues, 3, wxRA_SPECIFY_COLS);
Outline = new wxTextCtrl(this,TEXT_OUTLINE,_T(""),wxDefaultPosition,wxSize(40,20),0,NumValidator(OutlineValue,true,false));
Shadow = new wxTextCtrl(this,TEXT_SHADOW,_T(""),wxDefaultPosition,wxSize(40,20),0,NumValidator(ShadowValue,true,false));
Outline = new wxTextCtrl(this,TEXT_OUTLINE,"",wxDefaultPosition,wxSize(40,20),0,NumValidator(OutlineValue,true,false));
Shadow = new wxTextCtrl(this,TEXT_SHADOW,"",wxDefaultPosition,wxSize(40,20),0,NumValidator(ShadowValue,true,false));
OutlineType = new wxCheckBox(this,CHECKBOX_OUTLINE,_("Opaque box"));
ScaleX = new wxTextCtrl(this,TEXT_SCALE_X,_T(""),wxDefaultPosition, wxSize(70,20),0,NumValidator(ScaleXValue,true,false));
ScaleY = new wxTextCtrl(this,TEXT_SCALE_Y,_T(""),wxDefaultPosition, wxSize(70,20),0,NumValidator(ScaleYValue,true,false));
Angle = new wxTextCtrl(this,TEXT_ANGLE,_T(""),wxDefaultPosition, wxSize(40,20),0,NumValidator(AngleValue,true,true));
Spacing = new wxTextCtrl(this,TEXT_SPACING,_T(""),wxDefaultPosition,wxSize(40,20),0,NumValidator(SpacingValue,true,true));
Encoding = new wxComboBox(this,COMBO_ENCODING,_T(""),wxDefaultPosition, wxDefaultSize, encodingStrings,wxCB_READONLY);
ScaleX = new wxTextCtrl(this,TEXT_SCALE_X,"",wxDefaultPosition, wxSize(70,20),0,NumValidator(ScaleXValue,true,false));
ScaleY = new wxTextCtrl(this,TEXT_SCALE_Y,"",wxDefaultPosition, wxSize(70,20),0,NumValidator(ScaleYValue,true,false));
Angle = new wxTextCtrl(this,TEXT_ANGLE,"",wxDefaultPosition, wxSize(40,20),0,NumValidator(AngleValue,true,true));
Spacing = new wxTextCtrl(this,TEXT_SPACING,"",wxDefaultPosition,wxSize(40,20),0,NumValidator(SpacingValue,true,true));
Encoding = new wxComboBox(this,COMBO_ENCODING,"",wxDefaultPosition, wxDefaultSize, encodingStrings,wxCB_READONLY);
// Set control tooltips
StyleName->SetToolTip(_("Style name."));
@ -322,7 +322,7 @@ DialogStyleEditor::DialogStyleEditor (wxWindow *parent, AssStyle *style, agi::Co
okButton->SetDefault();
ButtonSizer->AddButton(new wxButton(this, wxID_CANCEL));
ButtonSizer->AddButton(new wxButton(this, wxID_APPLY));
ButtonSizer->AddButton(new HelpButton(this, _T("Style Editor")));
ButtonSizer->AddButton(new HelpButton(this, "Style Editor"));
ButtonSizer->AddButton(okButton);
ButtonSizer->Realize();
@ -434,7 +434,7 @@ void DialogStyleEditor::OnSetColor4 (wxCommandEvent &event) { OnSetColor(4); }
///
void ReplaceStyle(wxString tag,int n,AssOverrideParameter* param,void *userData) {
wxArrayString strings = *((wxArrayString*)userData);
if (tag == _T("\\r")) {
if (tag == "\\r") {
if (param->GetType() == VARDATA_TEXT) {
if (param->Get<wxString>() == strings[0]) {
param->Set(strings[1]);
@ -463,7 +463,7 @@ void DialogStyleEditor::Apply (bool apply,bool close) {
for (unsigned int i=0;i<styles.Count();i++) {
if (newStyleName.CmpNoCase(styles[i]) == 0) {
if ((isLocal && (c->ass->GetStyle(styles[i]) != style)) || (!isLocal && (store->GetStyle(styles[i]) != style))) {
wxMessageBox(_T("There is already a style with this name. Please choose another name."),_T("Style name conflict."),wxICON_ERROR|wxOK);
wxMessageBox("There is already a style with this name. Please choose another name.","Style name conflict.",wxICON_ERROR|wxOK);
return;
}
}
@ -475,7 +475,7 @@ void DialogStyleEditor::Apply (bool apply,bool close) {
if (!isNew && isLocal) {
// See if user wants to update style name through script
int answer = wxNO;
if (work->name != _T("Default")) answer = wxMessageBox(_("Do you want to change all instances of this style in the script to this new name?"),_("Update script?"),wxYES_NO | wxCANCEL);
if (work->name != "Default") answer = wxMessageBox(_("Do you want to change all instances of this style in the script to this new name?"),_("Update script?"),wxYES_NO | wxCANCEL);
// Cancel
if (answer == wxCANCEL) return;
@ -545,7 +545,7 @@ void DialogStyleEditor::UpdateWorkStyle() {
// Update encoding
long templ = 0;
wxString enc = Encoding->GetValue();
enc.Left(enc.Find(_T("-"))-1).ToLong(&templ);
enc.Left(enc.Find("-")-1).ToLong(&templ);
work->encoding = templ;
// Angle and spacing
@ -588,7 +588,7 @@ void DialogStyleEditor::OnChooseFont (wxCommandEvent &event) {
wxFont newfont = wxGetFontFromUser(this,oldfont);
if (newfont.Ok()) {
FontName->SetValue(newfont.GetFaceName());
FontSize->SetValue(wxString::Format(_T("%i"),newfont.GetPointSize()));
FontSize->SetValue(wxString::Format("%i",newfont.GetPointSize()));
BoxBold->SetValue(newfont.GetWeight() == wxFONTWEIGHT_BOLD);
BoxItalic->SetValue(newfont.GetStyle() == wxFONTSTYLE_ITALIC);
BoxUnderline->SetValue(newfont.GetUnderlined());
@ -601,7 +601,7 @@ void DialogStyleEditor::OnChooseFont (wxCommandEvent &event) {
if (SubsPreview) SubsPreview->SetStyle(*work);
// Comic sans warning
if (newfont.GetFaceName() == _T("Comic Sans MS")) {
if (newfont.GetFaceName() == "Comic Sans MS") {
wxMessageBox(_("You have chosen to use the \"Comic Sans\" font. As the programmer and a typesetter,\nI must urge you to reconsider. Comic Sans is the most abused font in the history\nof computing, so please avoid using it unless it's REALLY suitable. Thanks."), _("Warning"), wxICON_EXCLAMATION | wxOK);
}
}
@ -617,7 +617,7 @@ void DialogStyleEditor::OnSetColor (int n) {
case 2: modify = &work->secondary; break;
case 3: modify = &work->outline; break;
case 4: modify = &work->shadow; break;
default: throw _T("Internal error in style editor, attempted setting colour id outside range");
default: throw "Internal error in style editor, attempted setting colour id outside range";
}
modify->SetWXColor(colorButton[n-1]->GetColour());
if (SubsPreview) SubsPreview->SetStyle(*work);

View file

@ -93,14 +93,14 @@ enum {
};
DialogStyleManager::DialogStyleManager (agi::Context *context)
: wxDialog (context->parent,-1,_("Styles Manager"),wxDefaultPosition,wxDefaultSize,wxDEFAULT_DIALOG_STYLE,_T("DialogStylesManager"))
: wxDialog (context->parent,-1,_("Styles Manager"),wxDefaultPosition,wxDefaultSize,wxDEFAULT_DIALOG_STYLE,"DialogStylesManager")
, c(context)
{
SetIcon(BitmapToIcon(GETIMAGE(style_toolbutton_24)));
// Catalog
wxSizer *CatalogBox = new wxStaticBoxSizer(wxHORIZONTAL,this,_("Catalog of available storages"));
CatalogList = new wxComboBox(this,LIST_CATALOG, _T(""), wxDefaultPosition, wxSize(-1,-1), 0, NULL, wxCB_READONLY | wxCB_READONLY, wxDefaultValidator, _T("Catalog List"));
CatalogList = new wxComboBox(this,LIST_CATALOG, "", wxDefaultPosition, wxSize(-1,-1), 0, NULL, wxCB_READONLY | wxCB_READONLY, wxDefaultValidator, "Catalog List");
wxButton *CatalogNew = new wxButton(this, BUTTON_CATALOG_NEW, _("New"));
wxButton *CatalogDelete = new wxButton(this, BUTTON_CATALOG_DELETE, _("Delete"));
CatalogBox->Add(CatalogList,1,wxEXPAND | wxRIGHT | wxALIGN_RIGHT,5);
@ -197,7 +197,7 @@ DialogStyleManager::DialogStyleManager (agi::Context *context)
// Buttons
wxStdDialogButtonSizer *buttonSizer = new wxStdDialogButtonSizer();
buttonSizer->SetCancelButton(new wxButton(this, wxID_CLOSE));
buttonSizer->AddButton(new HelpButton(this,_T("Styles Manager")));
buttonSizer->AddButton(new HelpButton(this,"Styles Manager"));
buttonSizer->Realize();
// General layout
@ -260,22 +260,22 @@ void DialogStyleManager::LoadCatalog () {
CatalogList->Clear();
// Create catalog if it doesn't exist
wxString dirname = StandardPaths::DecodePath(_T("?user/catalog/"));
wxString dirname = StandardPaths::DecodePath("?user/catalog/");
if (!wxDirExists(dirname)) {
if (!wxMkdir(dirname)) {
throw _T("Failed creating directory for style catalogues");
throw "Failed creating directory for style catalogues";
}
else {
// Create default style
Store.Clear();
AssStyle *defstyle = new AssStyle;
Store.style.push_back(defstyle);
Store.Save(_T("Default"));
Store.Save("Default");
}
}
// Get dir
dirname = StandardPaths::DecodePath(_T("?user/catalog/*.sty"));
dirname = StandardPaths::DecodePath("?user/catalog/*.sty");
// Populate
wxString curfile = wxFindFirstFile(dirname,wxFILE);
@ -288,8 +288,8 @@ void DialogStyleManager::LoadCatalog () {
// Set to default if available
StorageActions(false);
wxString pickStyle = c->ass->GetScriptInfo(_T("Last Style Storage"));
if (pickStyle.IsEmpty()) pickStyle = _T("Default");
wxString pickStyle = c->ass->GetScriptInfo("Last Style Storage");
if (pickStyle.IsEmpty()) pickStyle = "Default";
int opt = CatalogList->FindString(pickStyle, false);
if (opt != wxNOT_FOUND) {
CatalogList->SetSelection(opt);
@ -413,7 +413,7 @@ void DialogStyleManager::OnChangeCatalog (wxCommandEvent &) {
/// @brief New catalog entry button
void DialogStyleManager::OnCatalogNew (wxCommandEvent &) {
wxString name = wxGetTextFromUser(_("New storage name:"), _("New catalog entry"), _T(""), this);
wxString name = wxGetTextFromUser(_("New storage name:"), _("New catalog entry"), "", this);
if (!name.empty()) {
// Remove bad characters from the name
wxString badchars = wxFileName::GetForbiddenChars();
@ -421,7 +421,7 @@ void DialogStyleManager::OnCatalogNew (wxCommandEvent &) {
for (size_t i = 0; i < name.Length(); ++i) {
for (size_t j = 0; j < badchars.Length(); ++j) {
if (name[i] == badchars[j]) {
name[i] = _T('_');
name[i] = '_';
++badchars_removed;
}
}
@ -446,10 +446,10 @@ void DialogStyleManager::OnCatalogNew (wxCommandEvent &) {
StorageActions(true);
// Save
wxString dirname = StandardPaths::DecodePath(_T("?user/catalog/"));
wxString dirname = StandardPaths::DecodePath("?user/catalog/");
if (!wxDirExists(dirname)) {
if (!wxMkdir(dirname)) {
throw _T("Failed creating directory for style catalogues");
throw "Failed creating directory for style catalogues";
}
}
Store.Save(name);
@ -465,7 +465,7 @@ void DialogStyleManager::OnCatalogDelete (wxCommandEvent &) {
wxString message = wxString::Format(_("Are you sure you want to delete the storage \"%s\" from the catalog?"), name.c_str());
int option = wxMessageBox(message, _("Confirm delete"), wxYES_NO | wxICON_EXCLAMATION , this);
if (option == wxYES) {
wxRemoveFile(StandardPaths::DecodePath(_T("?user/catalog/") + name + _T(".sty")));
wxRemoveFile(StandardPaths::DecodePath("?user/catalog/" + name + ".sty"));
CatalogList->Delete(sel);
StorageList->Clear();
StorageActions(false);
@ -543,7 +543,7 @@ void DialogStyleManager::OnCopyToStorage (wxCommandEvent &) {
for (list<AssStyle *>::iterator style = Store.style.begin(); style != Store.style.end(); ++style) {
if ((*style)->name.CmpNoCase(styleName) == 0) {
addStyle = false;
if (wxYES == wxMessageBox(wxString::Format(_T("There is already a style with the name \"%s\" on the current storage. Proceed and overwrite anyway?"),styleName.c_str()), _T("Style name collision."), wxYES_NO)) {
if (wxYES == wxMessageBox(wxString::Format("There is already a style with the name \"%s\" on the current storage. Proceed and overwrite anyway?",styleName.c_str()), "Style name collision.", wxYES_NO)) {
**style = *styleMap.at(selections[i]);
copied.push_back(styleName);
}
@ -578,7 +578,7 @@ void DialogStyleManager::OnCopyToCurrent (wxCommandEvent &) {
for (std::vector<AssStyle *>::iterator style = styleMap.begin(); style != styleMap.end(); ++style) {
if ((*style)->name.CmpNoCase(styleName) == 0) {
addStyle = false;
if (wxYES == wxMessageBox(wxString::Format(_T("There is already a style with the name \"%s\" on the current script. Proceed and overwrite anyway?"),styleName.c_str()), _T("Style name collision."), wxYES_NO)) {
if (wxYES == wxMessageBox(wxString::Format("There is already a style with the name \"%s\" on the current script. Proceed and overwrite anyway?",styleName.c_str()), "Style name collision.", wxYES_NO)) {
**style = *styleStorageMap.at(selections[i]);
copied.push_back(styleName);
}
@ -651,13 +651,13 @@ void DialogStyleManager::OnCurrentCopy (wxCommandEvent &) {
/// @param list
/// @param v
void DialogStyleManager::CopyToClipboard (wxListBox *list, std::vector<AssStyle*> v) {
wxString data = _T("");
wxString data = "";
AssStyle *s;
wxArrayInt selections;
list->GetSelections(selections);
for(int unsigned i=0;i<selections.size();i++) {
if (i!=0) data += _T("\r\n");
if (i!=0) data += "\r\n";
s = v.at(selections[i]);
s->UpdateData();
data += s->GetEntryData();
@ -671,7 +671,7 @@ void DialogStyleManager::CopyToClipboard (wxListBox *list, std::vector<AssStyle*
/// @brief Paste from clipboard
void DialogStyleManager::PasteToCurrent() {
wxString data = _T("");
wxString data = "";
if (wxTheClipboard->Open()) {
if (wxTheClipboard->IsSupported(wxDF_TEXT)) {
@ -682,14 +682,14 @@ void DialogStyleManager::PasteToCurrent() {
wxTheClipboard->Close();
}
wxStringTokenizer st(data,_T('\n'));
wxStringTokenizer st(data,'\n');
while (st.HasMoreTokens()) {
AssStyle *s = NULL;
try {
s = new AssStyle(st.GetNextToken().Trim(true));
if (s->Valid) {
while (c->ass->GetStyle(s->name) != NULL)
s->name = _T("Copy of ") + s->name;
s->name = "Copy of " + s->name;
s->UpdateData();
c->ass->InsertStyle(s);
@ -710,7 +710,7 @@ void DialogStyleManager::PasteToCurrent() {
/// @brief DOCME
void DialogStyleManager::PasteToStorage() {
wxString data = _T("");
wxString data = "";
if (wxTheClipboard->Open()) {
if (wxTheClipboard->IsSupported(wxDF_TEXT)) {
@ -721,14 +721,14 @@ void DialogStyleManager::PasteToStorage() {
wxTheClipboard->Close();
}
wxStringTokenizer st(data,_T('\n'));
wxStringTokenizer st(data,'\n');
while (st.HasMoreTokens()) {
AssStyle *s = NULL;
try {
s = new AssStyle(st.GetNextToken().Trim(true));
if (s->Valid) {
while (Store.GetStyle(s->name) != NULL)
s->name = _T("Copy of ") + s->name;
s->name = "Copy of " + s->name;
s->UpdateData();
Store.style.push_back(s);
@ -786,7 +786,7 @@ void DialogStyleManager::OnStorageDelete (wxCommandEvent &) {
wxString message;
if (n!=1) {
message = _("Are you sure you want to delete these ");
message += wxString::Format(_T("%i"),n);
message += wxString::Format("%i",n);
message += _(" styles?");
}
else message = _("Are you sure you want to delete this style?");
@ -819,7 +819,7 @@ void DialogStyleManager::OnCurrentDelete (wxCommandEvent &) {
wxString message;
if (n!=1) {
message = _("Are you sure you want to delete these ");
message += wxString::Format(_T("%i"),n);
message += wxString::Format("%i",n);
message += _(" styles?");
}
else message = _("Are you sure you want to delete this style?");
@ -849,7 +849,7 @@ void DialogStyleManager::OnCurrentDelete (wxCommandEvent &) {
void DialogStyleManager::OnCurrentImport(wxCommandEvent &) {
// Get file name
wxString path = lagi_wxString(OPT_GET("Path/Last/Subtitles")->GetString());
wxString filename = wxFileSelector(_("Open subtitles file"),path,_T(""),_T(""),AssFile::GetWildcardList(0),wxFD_OPEN | wxFD_FILE_MUST_EXIST);
wxString filename = wxFileSelector(_("Open subtitles file"),path,"","",AssFile::GetWildcardList(0),wxFD_OPEN | wxFD_FILE_MUST_EXIST);
if (!filename.IsEmpty()) {
// Save path
@ -859,11 +859,11 @@ void DialogStyleManager::OnCurrentImport(wxCommandEvent &) {
try {
// Load file
AssFile temp;
temp.Load(filename,_T(""),false);
temp.Load(filename,"",false);
// Get styles
wxArrayString styles = temp.GetStyles();
if (styles.Count() == 0 || (styles.Count() == 1 && styles[0] == _T("Default"))) {
if (styles.Count() == 0 || (styles.Count() == 1 && styles[0] == "Default")) {
wxMessageBox(_("The selected file has no available styles."),_("Error Importing Styles"),wxOK);
return;
}
@ -879,7 +879,7 @@ void DialogStyleManager::OnCurrentImport(wxCommandEvent &) {
// Check if there is already a style with that name
int test = CurrentList->FindString(styles[selections[i]], false);
if (test != wxNOT_FOUND) {
int answer = wxMessageBox(wxString::Format(_T("There is already a style with the name \"%s\" on the current script. Overwrite?"),styles[selections[i]].c_str()),_T("Style name collision."),wxYES_NO);
int answer = wxMessageBox(wxString::Format("There is already a style with the name \"%s\" on the current script. Overwrite?",styles[selections[i]].c_str()),"Style name collision.",wxYES_NO);
if (answer == wxYES) {
// Overwrite
modified = true;

View file

@ -104,12 +104,12 @@ DialogTimingProcessor::DialogTimingProcessor(agi::Context *c)
hasLeadIn = new wxCheckBox(this,CHECK_ENABLE_LEADIN,_("Add lead in:"));
hasLeadIn->SetToolTip(_("Enable adding of lead-ins to lines."));
hasLeadIn->SetValue(OPT_GET("Tool/Timing Post Processor/Enable/Lead/IN")->GetBool());
leadIn = new wxTextCtrl(this,-1,_T(""),wxDefaultPosition,wxSize(80,-1),0,NumValidator(leadInTime));
leadIn = new wxTextCtrl(this,-1,"",wxDefaultPosition,wxSize(80,-1),0,NumValidator(leadInTime));
leadIn->SetToolTip(_("Lead in to be added, in milliseconds."));
hasLeadOut = new wxCheckBox(this,CHECK_ENABLE_LEADOUT,_("Add lead out:"));
hasLeadOut->SetToolTip(_("Enable adding of lead-outs to lines."));
hasLeadOut->SetValue(OPT_GET("Tool/Timing Post Processor/Enable/Lead/OUT")->GetBool());
leadOut = new wxTextCtrl(this,-1,_T(""),wxDefaultPosition,wxSize(80,-1),0,NumValidator(leadOutTime));
leadOut = new wxTextCtrl(this,-1,"",wxDefaultPosition,wxSize(80,-1),0,NumValidator(leadOutTime));
leadOut->SetToolTip(_("Lead out to be added, in milliseconds."));
LeadSizer->Add(hasLeadIn,0,wxRIGHT|wxEXPAND,5);
LeadSizer->Add(leadIn,0,wxRIGHT|wxEXPAND,5);
@ -123,7 +123,7 @@ DialogTimingProcessor::DialogTimingProcessor(agi::Context *c)
adjsEnable->SetToolTip(_("Enable snapping of subtitles together if they are within a certain distance of each other."));
adjsEnable->SetValue(OPT_GET("Tool/Timing Post Processor/Enable/Adjacent")->GetBool());
wxStaticText *adjsThresText = new wxStaticText(this,-1,_("Threshold:"),wxDefaultPosition,wxDefaultSize,wxALIGN_CENTRE);
adjacentThres = new wxTextCtrl(this,-1,_T(""),wxDefaultPosition,wxSize(60,-1),0,NumValidator(adjsThresTime));
adjacentThres = new wxTextCtrl(this,-1,"",wxDefaultPosition,wxSize(60,-1),0,NumValidator(adjsThresTime));
adjacentThres->SetToolTip(_("Maximum difference between start and end time for two subtitles to be made continuous, in milliseconds."));
adjacentBias = new wxSlider(this,-1,mid(0,int(OPT_GET("Tool/Timing Post Processor/Adjacent Bias")->GetDouble()*100),100),0,100,wxDefaultPosition,wxSize(-1,20));
adjacentBias->SetToolTip(_("Sets how to set the adjoining of lines. If set totally to left, it will extend start time of the second line; if totally to right, it will extend the end time of the first line."));
@ -141,16 +141,16 @@ DialogTimingProcessor::DialogTimingProcessor(agi::Context *c)
keysEnable->SetToolTip(_("Enable snapping of subtitles to nearest keyframe, if distance is within threshold."));
keysEnable->SetValue(OPT_GET("Tool/Timing Post Processor/Enable/Keyframe")->GetBool());
wxStaticText *textStartBefore = new wxStaticText(this,-1,_("Starts before thres.:"),wxDefaultPosition,wxDefaultSize,wxALIGN_CENTRE);
keysStartBefore = new wxTextCtrl(this,-1,_T(""),wxDefaultPosition,wxSize(60,-1),0,NumValidator(thresStartBefore));
keysStartBefore = new wxTextCtrl(this,-1,"",wxDefaultPosition,wxSize(60,-1),0,NumValidator(thresStartBefore));
keysStartBefore->SetToolTip(_("Threshold for 'before start' distance, that is, how many frames a subtitle must start before a keyframe to snap to it."));
wxStaticText *textStartAfter = new wxStaticText(this,-1,_("Starts after thres.:"),wxDefaultPosition,wxDefaultSize,wxALIGN_CENTRE);
keysStartAfter = new wxTextCtrl(this,-1,_T(""),wxDefaultPosition,wxSize(60,-1),0,NumValidator(thresStartAfter));
keysStartAfter = new wxTextCtrl(this,-1,"",wxDefaultPosition,wxSize(60,-1),0,NumValidator(thresStartAfter));
keysStartAfter->SetToolTip(_("Threshold for 'after start' distance, that is, how many frames a subtitle must start after a keyframe to snap to it."));
wxStaticText *textEndBefore = new wxStaticText(this,-1,_("Ends before thres.:"),wxDefaultPosition,wxDefaultSize,wxALIGN_CENTRE);
keysEndBefore = new wxTextCtrl(this,-1,_T(""),wxDefaultPosition,wxSize(60,-1),0,NumValidator(thresEndBefore));
keysEndBefore = new wxTextCtrl(this,-1,"",wxDefaultPosition,wxSize(60,-1),0,NumValidator(thresEndBefore));
keysEndBefore->SetToolTip(_("Threshold for 'before end' distance, that is, how many frames a subtitle must end before a keyframe to snap to it."));
wxStaticText *textEndAfter = new wxStaticText(this,-1,_("Ends after thres.:"),wxDefaultPosition,wxDefaultSize,wxALIGN_CENTRE);
keysEndAfter = new wxTextCtrl(this,-1,_T(""),wxDefaultPosition,wxSize(60,-1),0,NumValidator(thresEndAfter));
keysEndAfter = new wxTextCtrl(this,-1,"",wxDefaultPosition,wxSize(60,-1),0,NumValidator(thresEndAfter));
keysEndAfter->SetToolTip(_("Threshold for 'after end' distance, that is, how many frames a subtitle must end after a keyframe to snap to it."));
KeyframesFlexSizer->Add(keysEnable,0,wxRIGHT|wxEXPAND,10);
KeyframesFlexSizer->Add(textStartBefore,0,wxRIGHT|wxALIGN_CENTER,5);
@ -170,7 +170,7 @@ DialogTimingProcessor::DialogTimingProcessor(agi::Context *c)
ApplyButton = new wxButton(this,wxID_OK);
ButtonSizer->AddButton(ApplyButton);
ButtonSizer->AddButton(new wxButton(this,wxID_CANCEL));
ButtonSizer->AddButton(new HelpButton(this,_T("Timing Processor")));
ButtonSizer->AddButton(new HelpButton(this,"Timing Processor"));
ButtonSizer->Realize();
// Right Sizer

View file

@ -219,7 +219,7 @@ void AegisubVersionCheckerThread::PostErrorEvent(const wxString &error_text)
}
static const wxChar * GetOSShortName()
static const char * GetOSShortName()
{
int osver_maj, osver_min;
wxOperatingSystemId osid = wxGetOsVersion(&osver_maj, &osver_min);
@ -227,22 +227,22 @@ static const wxChar * GetOSShortName()
if (osid & wxOS_WINDOWS_NT)
{
if (osver_maj == 5 && osver_min == 0)
return _T("win2k");
return "win2k";
else if (osver_maj == 5 && osver_min == 1)
return _T("winxp");
return "winxp";
else if (osver_maj == 5 && osver_min == 2)
return _T("win2k3"); // this is also xp64
return "win2k3"; // this is also xp64
else if (osver_maj == 6 && osver_min == 0)
return _T("win60"); // vista and server 2008
return "win60"; // vista and server 2008
else if (osver_maj == 6 && osver_min == 1)
return _T("win61"); // 7 and server 2008r2
return "win61"; // 7 and server 2008r2
else
return _T("windows"); // future proofing? I doubt we run on nt4
return "windows"; // future proofing? I doubt we run on nt4
}
else if (osid & wxOS_MAC_OSX_DARWIN && osver_maj == 0x10) // yes 0x10, not decimal 10, don't ask me
{
// ugliest hack in the world? nah.
static wxChar osxstring[] = _T("osx00");
static char osxstring[] = "osx00";
char minor = osver_min >> 4;
char patch = osver_min & 0x0F;
osxstring[3] = minor + ((minor<=9) ? '0' : ('a'-1));
@ -250,27 +250,27 @@ static const wxChar * GetOSShortName()
return osxstring;
}
else if (osid & wxOS_UNIX_LINUX)
return _T("linux");
return "linux";
else if (osid & wxOS_UNIX_FREEBSD)
return _T("freebsd");
return "freebsd";
else if (osid & wxOS_UNIX_OPENBSD)
return _T("openbsd");
return "openbsd";
else if (osid & wxOS_UNIX_NETBSD)
return _T("netbsd");
return "netbsd";
else if (osid & wxOS_UNIX_SOLARIS)
return _T("solaris");
return "solaris";
else if (osid & wxOS_UNIX_AIX)
return _T("aix");
return "aix";
else if (osid & wxOS_UNIX_HPUX)
return _T("hpux");
return "hpux";
else if (osid & wxOS_UNIX)
return _T("unix");
return "unix";
else if (osid & wxOS_OS2)
return _T("os2");
return "os2";
else if (osid & wxOS_DOS)
return _T("dos");
return "dos";
else
return _T("unknown");
return "unknown";
}
@ -306,7 +306,7 @@ static wxString GetSystemLanguage()
getsyslang_fallback:
// On an old version of Windows, let's just return the LANGID as a string
LANGID langid = GetUserDefaultUILanguage();
res = wxString::Format(_T("x-win%04x"), langid);
res = wxString::Format("x-win%04x", langid);
}
FreeModule(kernel32);
@ -326,7 +326,7 @@ void AegisubVersionCheckerThread::DoCheck()
std::set<wxString> accept_tags;
#ifdef UPDATE_CHECKER_ACCEPT_TAGS
{
wxStringTokenizer tk(wxString(UPDATE_CHECKER_ACCEPT_TAGS, wxConvUTF8), _T(" "));
wxStringTokenizer tk(wxString(UPDATE_CHECKER_ACCEPT_TAGS, wxConvUTF8), " ");
while (tk.HasMoreTokens())
{
accept_tags.insert(tk.GetNextToken());
@ -334,11 +334,11 @@ void AegisubVersionCheckerThread::DoCheck()
}
#endif
const wxString servername = _T("updates.aegisub.org");
const wxString base_updates_path = _T("/trunk");
const wxString servername = "updates.aegisub.org";
const wxString base_updates_path = "/trunk";
wxString querystring = wxString::Format(
_T("?rev=%d&rel=%d&os=%s&lang=%s"),
"?rev=%d&rel=%d&os=%s&lang=%s",
GetSVNRevision(),
GetIsOfficialRelease()?1:0,
GetOSShortName(),
@ -347,7 +347,7 @@ void AegisubVersionCheckerThread::DoCheck()
wxString path = base_updates_path + querystring;
wxHTTP http;
http.SetHeader(_T("Connection"), _T("Close"));
http.SetHeader("Connection", "Close");
http.SetFlags(wxSOCKET_WAITALL|wxSOCKET_BLOCK);
if (!http.Connect(servername))
@ -369,7 +369,7 @@ void AegisubVersionCheckerThread::DoCheck()
while (!stream->Eof() && stream->GetSize() > 0)
{
wxString line = text.ReadLine();
wxStringTokenizer tkn(line, _T("|"), wxTOKEN_RET_EMPTY_ALL);
wxStringTokenizer tkn(line, "|", wxTOKEN_RET_EMPTY_ALL);
wxArrayString parsed;
while (tkn.HasMoreTokens()) {
parsed.Add(tkn.GetNextToken());
@ -383,21 +383,21 @@ void AegisubVersionCheckerThread::DoCheck()
wxString line_friendlyname = inline_string_decode(parsed[4]);
wxString line_description = inline_string_decode(parsed[5]);
if ((line_type == _T("branch") || line_type == _T("dev")) && GetIsOfficialRelease())
if ((line_type == "branch" || line_type == "dev") && GetIsOfficialRelease())
{
// stable runners don't want unstable, not interesting, skip
continue;
}
// check if the tags match
if (line_tags_str.IsEmpty() || line_tags_str == _T("all"))
if (line_tags_str.IsEmpty() || line_tags_str == "all")
{
// looking good
}
else
{
bool accepts_all_tags = true;
wxStringTokenizer tk(line_tags_str, _T(" "));
wxStringTokenizer tk(line_tags_str, " ");
while (tk.HasMoreTokens())
{
if (accept_tags.find(tk.GetNextToken()) == accept_tags.end())
@ -410,7 +410,7 @@ void AegisubVersionCheckerThread::DoCheck()
continue;
}
if (line_type == _T("upgrade") || line_type == _T("bugfix"))
if (line_type == "upgrade" || line_type == "bugfix")
{
// de facto interesting
}

View file

@ -67,7 +67,7 @@ void AssTransformCleanInfoFilter::ProcessSubs(AssFile *subs, wxWindow *) {
continue;
}
wxString field = curEntry->GetEntryData().Left(curEntry->GetEntryData().Find(_T(':'))).Lower();
wxString field = curEntry->GetEntryData().Left(curEntry->GetEntryData().Find(':')).Lower();
if (field != "scripttype" &&
field != "collisions" &&
field != "playresx" &&

View file

@ -112,7 +112,7 @@ FFMS_Index *FFmpegSourceProvider::DoIndexing(FFMS_Indexer *Indexer, const wxStri
throw agi::UserCancelException("indexing cancelled by user");
}
if (Index == NULL) {
MsgString.Append(_T("Failed to index: ")).Append(wxString(ErrInfo.Buffer, wxConvUTF8));
MsgString.Append("Failed to index: ").Append(wxString(ErrInfo.Buffer, wxConvUTF8));
throw MsgString;
}
@ -121,7 +121,7 @@ FFMS_Index *FFmpegSourceProvider::DoIndexing(FFMS_Indexer *Indexer, const wxStri
FFMS_WriteIndex(CacheName.utf8_str(), Index, &ErrInfo);
/*if (FFMS_WriteIndex(CacheName.char_str(), Index, FFMSErrMsg, MsgSize)) {
wxString temp(FFMSErrMsg, wxConvUTF8);
MsgString << _T("Failed to write index: ") << temp;
MsgString << "Failed to write index: " << temp;
throw MsgString;
} */
@ -152,7 +152,7 @@ std::map<int,wxString> FFmpegSourceProvider::GetTracksOfType(FFMS_Indexer *Index
int FFmpegSourceProvider::AskForTrackSelection(const std::map<int,wxString> &TrackList, FFMS_TrackType Type) {
std::vector<int> TrackNumbers;
wxArrayString Choices;
wxString TypeName = _T("");
wxString TypeName = "";
if (Type == FFMS_TYPE_VIDEO)
TypeName = _("video");
else if (Type == FFMS_TYPE_AUDIO)
@ -178,19 +178,19 @@ int FFmpegSourceProvider::AskForTrackSelection(const std::map<int,wxString> &Tra
void FFmpegSourceProvider::SetLogLevel() {
wxString LogLevel = lagi_wxString(OPT_GET("Provider/FFmpegSource/Log Level")->GetString());
if (!LogLevel.CmpNoCase(_T("panic")))
if (!LogLevel.CmpNoCase("panic"))
FFMS_SetLogLevel(FFMS_LOG_PANIC);
else if (!LogLevel.CmpNoCase(_T("fatal")))
else if (!LogLevel.CmpNoCase("fatal"))
FFMS_SetLogLevel(FFMS_LOG_FATAL);
else if (!LogLevel.CmpNoCase(_T("error")))
else if (!LogLevel.CmpNoCase("error"))
FFMS_SetLogLevel(FFMS_LOG_ERROR);
else if (!LogLevel.CmpNoCase(_T("warning")))
else if (!LogLevel.CmpNoCase("warning"))
FFMS_SetLogLevel(FFMS_LOG_WARNING);
else if (!LogLevel.CmpNoCase(_T("info")))
else if (!LogLevel.CmpNoCase("info"))
FFMS_SetLogLevel(FFMS_LOG_INFO);
else if (!LogLevel.CmpNoCase(_T("verbose")))
else if (!LogLevel.CmpNoCase("verbose"))
FFMS_SetLogLevel(FFMS_LOG_VERBOSE);
else if (!LogLevel.CmpNoCase(_T("debug")))
else if (!LogLevel.CmpNoCase("debug"))
FFMS_SetLogLevel(FFMS_LOG_DEBUG);
else
FFMS_SetLogLevel(FFMS_LOG_QUIET);
@ -200,13 +200,13 @@ void FFmpegSourceProvider::SetLogLevel() {
FFMS_IndexErrorHandling FFmpegSourceProvider::GetErrorHandlingMode() {
wxString Mode = lagi_wxString(OPT_GET("Provider/Audio/FFmpegSource/Decode Error Handling")->GetString());
if (!Mode.CmpNoCase(_T("ignore")))
if (!Mode.CmpNoCase("ignore"))
return FFMS_IEH_IGNORE;
else if (!Mode.CmpNoCase(_T("clear")))
else if (!Mode.CmpNoCase("clear"))
return FFMS_IEH_CLEAR_TRACK;
else if (!Mode.CmpNoCase(_T("stop")))
else if (!Mode.CmpNoCase("stop"))
return FFMS_IEH_STOP_TRACK;
else if (!Mode.CmpNoCase(_T("abort")))
else if (!Mode.CmpNoCase("abort"))
return FFMS_IEH_ABORT;
else
return FFMS_IEH_STOP_TRACK; // questionable default?
@ -241,7 +241,7 @@ wxString FFmpegSourceProvider::GetCacheFilename(const wxString& _filename)
// Generate the filename
unsigned int *md5 = (unsigned int*) digest;
wxString result = wxString::Format(_T("?user/ffms2cache/%08X%08X%08X%08X.ffindex"),md5[0],md5[1],md5[2],md5[3]);
wxString result = wxString::Format("?user/ffms2cache/%08X%08X%08X%08X.ffindex",md5[0],md5[1],md5[2],md5[3]);
result = StandardPaths::DecodePath(result);
// Ensure that folder exists
@ -252,7 +252,7 @@ wxString FFmpegSourceProvider::GetCacheFilename(const wxString& _filename)
}
wxFileName dirfn(dir);
return dirfn.GetShortPath() + _T("/") + fn.GetFullName();
return dirfn.GetShortPath() + "/" + fn.GetFullName();
}
@ -298,7 +298,7 @@ wxThread::ExitCode FFmpegSourceCacheCleaner::Entry() {
return (wxThread::ExitCode)1;
}
wxString cachedirname = StandardPaths::DecodePath(_T("?user/ffms2cache/"));
wxString cachedirname = StandardPaths::DecodePath("?user/ffms2cache/");
wxDir cachedir;
if (!cachedir.Open(cachedirname)) {
LOG_D("provider/ffmpegsource/cache") << "couldn't open cache directory " << cachedirname.c_str();
@ -314,7 +314,7 @@ wxThread::ExitCode FFmpegSourceCacheCleaner::Entry() {
int64_t cursize = wxDir::GetTotalSize(cachedirname).GetValue();
int maxfiles = OPT_GET("Provider/FFmpegSource/Cache/Files")->GetInt();
if (!cachedir.HasFiles(_T("*.ffindex"))) {
if (!cachedir.HasFiles("*.ffindex")) {
LOG_D("provider/ffmpegsource/cache") << "no index files in cache folder, exiting";
return (wxThread::ExitCode)0;
}
@ -328,7 +328,7 @@ wxThread::ExitCode FFmpegSourceCacheCleaner::Entry() {
// unusually paranoid sanity check
// (someone might have deleted the file(s) after we did HasFiles() above; does wxDir.Open() lock the dir?)
if (!cachedir.GetFirst(&curfn_str, _T("*.ffindex"), wxDIR_FILES)) {
if (!cachedir.GetFirst(&curfn_str, "*.ffindex", wxDIR_FILES)) {
LOG_D("provider/ffmpegsource/cache") << "undefined error";
return (wxThread::ExitCode)1;
}

View file

@ -58,7 +58,7 @@
void FFT::DoTransform (size_t n_samples,float *input,float *output_r,float *output_i,bool inverse) {
// Check if it's power of two
if (!IsPowerOfTwo(n_samples)) {
throw L"FFT requires power of two input.";
throw "FFT requires power of two input.";
}
// Inverse transform

View file

@ -123,7 +123,7 @@ wxArrayString FontFileLister::CacheGetFilesWithFace(wxString facename) {
FontMap::iterator iter = fontTable.find(facename);
if (iter != fontTable.end()) return iter->second;
else {
iter = fontTable.find(_T("*")+facename);
iter = fontTable.find("*"+facename);
if (iter != fontTable.end()) return iter->second;
return wxArrayString();
}
@ -149,7 +149,7 @@ void FontFileLister::AddFont(wxString filename,wxString facename) {
// See if it's a valid facename
facename.Trim(true).Trim(false);
if (facename.IsEmpty()) return;
if (facename.Lower().StartsWith(_T("copyright "))) return;
if (facename.Lower().StartsWith("copyright ")) return;
// Add filename to general list
if (fontFiles.Index(filename) == wxNOT_FOUND) {
@ -178,18 +178,18 @@ bool FontFileLister::IsFilenameCached(wxString filename) {
void FontFileLister::SaveCache() {
try {
// Open file
TextFileWriter file(StandardPaths::DecodePath(_T("?user/fontscache.dat")));
TextFileWriter file(StandardPaths::DecodePath("?user/fontscache.dat"));
// For each face...
for (FontMap::iterator iter = fontTable.begin();iter!=fontTable.end();iter++) {
// Write face name
wxString line = iter->first + _T("?");
wxString line = iter->first + "?";
size_t len = iter->second.Count();
// Write file names
for (size_t i=0;i<len;i++) {
line += iter->second[i];
if (i != len-1) line += _T("|");
if (i != len-1) line += "|";
}
// Write line
@ -207,20 +207,20 @@ void FontFileLister::SaveCache() {
void FontFileLister::LoadCache() {
try {
// Load cache
TextFileReader file(StandardPaths::DecodePath(_T("?user/fontscache.dat")));
TextFileReader file(StandardPaths::DecodePath("?user/fontscache.dat"));
// Read each line
while (file.HasMoreLines()) {
// Read line
wxString line = file.ReadLineFromFile();
int pos = line.Find(_T('?'));
int pos = line.Find('?');
// Get face name
wxString face = line.Left(pos);
if (face.IsEmpty()) continue;
// Get files
wxStringTokenizer tkn(line.Mid(pos+1),_T("|"));
wxStringTokenizer tkn(line.Mid(pos+1),"|");
while (tkn.HasMoreTokens()) {
wxString file = tkn.GetNextToken();
if (!file.IsEmpty()) {

View file

@ -324,7 +324,7 @@ void FrameMain::LoadSubtitles(wxString filename,wxString charset) {
config::mru->Remove("Subtitle", STD_STR(filename));
return;
}
catch (const wchar_t *err) {
catch (const char *err) {
wxMessageBox(wxString(err), "Error", wxOK | wxICON_ERROR, NULL);
return;
}
@ -631,7 +631,7 @@ catch (const agi::Exception& err) {
catch (wxString err) {
StatusTimeout("Exception when attempting to autosave file: " + err);
}
catch (const wchar_t *err) {
catch (const char *err) {
StatusTimeout("Exception when attempting to autosave file: " + wxString(err));
}
catch (...) {

View file

@ -257,7 +257,7 @@ OpenGLTextTexture::OpenGLTextTexture(OpenGLTextGlyph &glyph) {
// Allocate texture
glTexImage2D(GL_TEXTURE_2D,0,GL_RGBA8,width,height,0,GL_ALPHA,GL_UNSIGNED_BYTE,NULL);
if (glGetError()) throw _T("Internal OpenGL text renderer error: Could not allocate Text Texture");
if (glGetError()) throw "Internal OpenGL text renderer error: Could not allocate Text Texture";
TryToInsert(glyph);
}
@ -337,7 +337,7 @@ void OpenGLTextTexture::Insert(OpenGLTextGlyph &glyph) {
// Upload image to video memory
glBindTexture(GL_TEXTURE_2D, tex);
glTexSubImage2D(GL_TEXTURE_2D,0,x,y,imgw,imgh,GL_LUMINANCE_ALPHA,GL_UNSIGNED_BYTE,&alpha[0]);
if (glGetError()) throw _T("Internal OpenGL text renderer error: Error uploading glyph data to video memory.");
if (glGetError()) throw "Internal OpenGL text renderer error: Error uploading glyph data to video memory.";
}
/// Draw a glyph at (x,y)

View file

@ -57,7 +57,7 @@
/// @param size
///
HelpButton::HelpButton(wxWindow *parent,wxString _page,wxPoint position,wxSize size)
: wxButton (parent,wxID_HELP,_T(""),position,size)
: wxButton (parent,wxID_HELP,"",position,size)
{
id = _page;
Connect(GetId(),wxEVT_COMMAND_BUTTON_CLICKED,wxCommandEventHandler(HelpButton::OnPressed));
@ -72,7 +72,7 @@ HelpButton::HelpButton(wxWindow *parent,wxString _page,wxPoint position,wxSize s
void HelpButton::OnPressed(wxCommandEvent &event) {
// Verify if the page is valid
if (id.IsEmpty()) {
wxLogMessage(_T("TODO"));
wxLogMessage("TODO");
return;
}
@ -91,15 +91,15 @@ void HelpButton::OpenPage(const wxString pageID) {
wxString page = (*pages)[pageID];
// Get the file type
wxFileType *type = wxTheMimeTypesManager->GetFileTypeFromExtension(_T("html"));
wxFileType *type = wxTheMimeTypesManager->GetFileTypeFromExtension("html");
if (type) {
//wxString path = StandardPaths::DecodePath(wxString::Format(_T("http://docs.aegisub.net/%s"),page.c_str()));
wxString docsPath = StandardPaths::DecodePath(_T("?data/docs"));
//wxString path = StandardPaths::DecodePath(wxString::Format("http://docs.aegisub.net/%s",page.c_str()));
wxString docsPath = StandardPaths::DecodePath("?data/docs");
#ifdef __WINDOWS__
docsPath.Replace(_T("\\"),_T("/"));
docsPath = _T("/") + docsPath;
docsPath.Replace("\\","/");
docsPath = "/" + docsPath;
#endif
wxString path = wxString::Format(_T("file://%s/%s.html"),docsPath.c_str(),page.c_str());
wxString path = wxString::Format("file://%s/%s.html",docsPath.c_str(),page.c_str());
wxLaunchDefaultBrowser(path);
}
}
@ -116,27 +116,27 @@ void HelpButton::InitStatic() {
if (!pages) {
pages = new std::map<wxString,wxString>;
std::map<wxString,wxString> &page = *pages;
page[_T("Attachment Manager")] = _T("Attachment_Manager");
page[_T("Automation Manager")] = _T("Automation_Manager");
page[_T("Colour Picker")] = _T("Colour_Picker");
page[_T("Dummy Video")] = _T("Dummy_video");
page[_T("Export")] = _T("Exporting");
page[_T("Fonts Collector")] = _T("Fonts_Collector");
page[_T("Kanji Timer")] = _T("Kanji_Timer");
page[_T("Main")] = _T("Main_Page");
page[_T("Options")] = _T("Options");
page[_T("Paste Over")] = _T("Paste_Over");
page[_T("Properties")] = _T("Properties");
page[_T("Resample resolution")] = _T("Resolution_Resampler");
page[_T("Shift Times")] = _T("Shift_Times");
page[_T("Select Lines")] = _T("Select_Lines");
page[_T("Spell Checker")] = _T("Spell_Checker");
page[_T("Style Editor")] = _T("Styles");
page[_T("Styles Manager")] = _T("Styles");
page[_T("Styling Assistant")] = _T("Styling_Assistant");
page[_T("Timing Processor")] = _T("Timing_Post-Processor");
page[_T("Translation Assistant")] = _T("Translation_Assistant");
page[_T("Visual Typesetting")] = _T("Visual_Typesetting");
page["Attachment Manager"] = "Attachment_Manager";
page["Automation Manager"] = "Automation_Manager";
page["Colour Picker"] = "Colour_Picker";
page["Dummy Video"] = "Dummy_video";
page["Export"] = "Exporting";
page["Fonts Collector"] = "Fonts_Collector";
page["Kanji Timer"] = "Kanji_Timer";
page["Main"] = "Main_Page";
page["Options"] = "Options";
page["Paste Over"] = "Paste_Over";
page["Properties"] = "Properties";
page["Resample resolution"] = "Resolution_Resampler";
page["Shift Times"] = "Shift_Times";
page["Select Lines"] = "Select_Lines";
page["Spell Checker"] = "Spell_Checker";
page["Style Editor"] = "Styles";
page["Styles Manager"] = "Styles";
page["Styling Assistant"] = "Styling_Assistant";
page["Timing Processor"] = "Timing_Post-Processor";
page["Translation Assistant"] = "Translation_Assistant";
page["Visual Typesetting"] = "Visual_Typesetting";
}
}

View file

@ -64,7 +64,7 @@ private:
static void InitStatic();
public:
HelpButton(wxWindow *parent,wxString page=_T(""),wxPoint position=wxDefaultPosition,wxSize size=wxDefaultSize);
HelpButton(wxWindow *parent,wxString page="",wxPoint position=wxDefaultPosition,wxSize size=wxDefaultSize);
static void OpenPage(const wxString page);
static void ClearPages();

View file

@ -61,7 +61,7 @@ public:
/// @brief Use this to set any post-loading warnings, such as "being loaded with unreliable seeking"
virtual wxString GetWarning() const { return L""; }
virtual wxString GetWarning() const { return ""; }
/// @brief Name of decoder, e.g. "Avisynth/FFMpegSource"
virtual wxString GetDecoderName() const = 0;

View file

@ -96,12 +96,12 @@ namespace config {
// wxWidgets macro
IMPLEMENT_APP(AegisubApp)
static const wchar_t *LastStartupState = NULL;
static const char *LastStartupState = NULL;
#ifdef WITH_STARTUPLOG
/// DOCME
#define StartupLog(a) MessageBox(0, a, _T("Aegisub startup log"), 0)
#define StartupLog(a) MessageBox(0, L ## a, L"Aegisub startup log", 0)
#else
#define StartupLog(a) LastStartupState = a
#endif
@ -165,13 +165,13 @@ static void wxAssertHandler(const wxString &file, int line, const wxString &func
bool AegisubApp::OnInit() {
// App name (yeah, this is a little weird to get rid of an odd warning)
#if defined(__WXMSW__) || defined(__WXMAC__)
SetAppName(_T("Aegisub"));
SetAppName("Aegisub");
#else
SetAppName(_T("aegisub"));
SetAppName("aegisub");
#endif
// logging.
const std::string path_log(StandardPaths::DecodePath(_T("?user/log/")));
const std::string path_log(StandardPaths::DecodePath("?user/log/"));
wxFileName::Mkdir(path_log, 0777, wxPATH_MKDIR_FULL);
agi::log::log = new agi::log::LogSink(path_log);
@ -189,7 +189,7 @@ bool AegisubApp::OnInit() {
cmd::init_builtin_commands();
// Init hotkeys.
const std::string conf_user_hotkey(StandardPaths::DecodePath(_T("?user/hotkey.json")));
const std::string conf_user_hotkey(StandardPaths::DecodePath("?user/hotkey.json"));
agi::hotkey::hotkey = new agi::hotkey::Hotkey(conf_user_hotkey, GET_DEFAULT_CONFIG(default_hotkey));
// Init icons.
@ -198,13 +198,13 @@ bool AegisubApp::OnInit() {
// Install assertion handler
// wxSetAssertHandler(wxAssertHandler);
const std::string conf_mru(StandardPaths::DecodePath(_T("?user/mru.json")));
const std::string conf_mru(StandardPaths::DecodePath("?user/mru.json"));
config::mru = new agi::MRUManager(conf_mru, GET_DEFAULT_CONFIG(default_mru));
// Set config file
StartupLog(_T("Load configuration"));
StartupLog("Load configuration");
try {
const std::string conf_user(StandardPaths::DecodePath(_T("?user/config.json")));
const std::string conf_user(StandardPaths::DecodePath("?user/config.json"));
config::opt = new agi::Options(conf_user, GET_DEFAULT_CONFIG(default_config));
} catch (agi::Exception& e) {
LOG_E("config/init") << "Caught exception: " << e.GetName() << " -> " << e.GetMessage();
@ -213,14 +213,14 @@ bool AegisubApp::OnInit() {
#ifdef __WXMSW__
// Try loading configuration from the install dir if one exists there
try {
const std::string conf_local(StandardPaths::DecodePath(_T("?data/config.json")));
const std::string conf_local(StandardPaths::DecodePath("?data/config.json"));
std::ifstream* localConfig = agi::io::Open(conf_local);
config::opt->ConfigNext(*localConfig);
delete localConfig;
if (OPT_GET("App/Local Config")->GetBool()) {
// Local config, make ?user mean ?data so all user settings are placed in install dir
StandardPaths::SetPathValue(_T("?user"), StandardPaths::DecodePath(_T("?data")));
StandardPaths::SetPathValue("?user", StandardPaths::DecodePath("?data"));
}
} catch (agi::acs::AcsError const&) {
// File doesn't exist or we can't read it
@ -231,7 +231,7 @@ bool AegisubApp::OnInit() {
config::opt->ConfigUser();
}
catch (agi::Exception const& err) {
wxMessageBox(L"Configuration file is invalid. Error reported:\n" + lagi_wxString(err.GetMessage()), L"Error");
wxMessageBox("Configuration file is invalid. Error reported:\n" + lagi_wxString(err.GetMessage()), "Error");
}
@ -239,29 +239,29 @@ bool AegisubApp::OnInit() {
SetThreadName((DWORD) -1,"AegiMain");
#endif
StartupLog(_T("Inside OnInit"));
StartupLog("Inside OnInit");
frame = NULL;
try {
// Initialize randomizer
StartupLog(_T("Initialize random generator"));
StartupLog("Initialize random generator");
srand(time(NULL));
// locale for loading options
StartupLog(_T("Set initial locale"));
StartupLog("Set initial locale");
setlocale(LC_NUMERIC, "C");
setlocale(LC_CTYPE, "C");
// Crash handling
#if !defined(_DEBUG) || defined(WITH_EXCEPTIONS)
StartupLog(_T("Install exception handler"));
StartupLog("Install exception handler");
wxHandleFatalExceptions(true);
#endif
StartupLog(_T("Store options back"));
StartupLog("Store options back");
OPT_SET("Version/Last Version")->SetInt(GetSVNRevision());
AssTime::UseMSPrecision = OPT_GET("App/Nonstandard Milisecond Times")->GetBool();
StartupLog(_T("Initialize final locale"));
StartupLog("Initialize final locale");
// Set locale
int lang = OPT_GET("App/Locale")->GetInt();
@ -277,46 +277,46 @@ bool AegisubApp::OnInit() {
// Load Automation scripts
#ifdef WITH_AUTOMATION
StartupLog(_T("Load global Automation scripts"));
StartupLog("Load global Automation scripts");
global_scripts = new Automation4::AutoloadScriptManager(lagi_wxString(OPT_GET("Path/Automation/Autoload")->GetString()));
#endif
// Load export filters
StartupLog(L"Register export filters");
StartupLog("Register export filters");
AssExportFilterChain::Register(new AssFixStylesFilter);
AssExportFilterChain::Register(new AssTransformCleanInfoFilter);
AssExportFilterChain::Register(new AssTransformFramerateFilter);
// Get parameter subs
StartupLog(_T("Parse command line"));
StartupLog("Parse command line");
wxArrayString subs;
for (int i=1;i<argc;i++) {
subs.Add(argv[i]);
}
// Open main frame
StartupLog(_T("Create main window"));
StartupLog("Create main window");
frame = new FrameMain(subs);
SetTopWindow(frame);
}
catch (const wchar_t *err) {
wxMessageBox(err,_T("Fatal error while initializing"));
catch (const char *err) {
wxMessageBox(err,"Fatal error while initializing");
return false;
}
catch (agi::Exception const& e) {
wxMessageBox(e.GetMessage(),_T("Fatal error while initializing"));
wxMessageBox(e.GetMessage(),"Fatal error while initializing");
return false;
}
#ifndef _DEBUG
catch (...) {
wxMessageBox(_T("Unhandled exception"),_T("Fatal error while initializing"));
wxMessageBox("Unhandled exception","Fatal error while initializing");
return false;
}
#endif
StartupLog(_T("Initialization complete"));
StartupLog("Initialization complete");
return true;
}
@ -360,10 +360,10 @@ static void UnhandledExeception(bool stackWalk) {
if (AssFile::top) {
// Current filename if any.
wxFileName file(AssFile::top->filename);
if (!file.HasName()) file.SetName(_T("untitled"));
if (!file.HasName()) file.SetName("untitled");
// Set path and create if it doesn't exist.
file.SetPath(StandardPaths::DecodePath(_T("?user/recovered")));
file.SetPath(StandardPaths::DecodePath("?user/recovered"));
if (!file.DirExists()) file.Mkdir();
// Save file
@ -372,7 +372,7 @@ static void UnhandledExeception(bool stackWalk) {
#if wxUSE_STACKWALKER == 1
if (stackWalk) {
StackWalker walker(_T("Fatal exception"));
StackWalker walker("Fatal exception");
walker.WalkFromException();
}
#endif
@ -383,7 +383,7 @@ static void UnhandledExeception(bool stackWalk) {
else if (LastStartupState) {
#if wxUSE_STACKWALKER == 1
if (stackWalk) {
StackWalker walker(_T("Fatal exception"));
StackWalker walker("Fatal exception");
walker.WalkFromException();
}
#endif
@ -405,7 +405,7 @@ void AegisubApp::OnFatalException() {
void AegisubApp::HandleEvent(wxEvtHandler *handler, wxEventFunction func, wxEvent& event) const {
#define SHOW_EXCEPTION(str) wxMessageBox(str, L"Exception in event handler", wxOK|wxICON_ERROR|wxSTAY_ON_TOP)
#define SHOW_EXCEPTION(str) wxMessageBox(str, "Exception in event handler", wxOK|wxICON_ERROR|wxSTAY_ON_TOP)
try {
wxApp::HandleEvent(handler, func, event);
}
@ -415,9 +415,6 @@ void AegisubApp::HandleEvent(wxEvtHandler *handler, wxEventFunction func, wxEven
catch (const std::exception &e) {
SHOW_EXCEPTION(wxString(e.what(), wxConvUTF8));
}
catch (const wchar_t *e) {
SHOW_EXCEPTION(wxString(e));
}
catch (const char *e) {
SHOW_EXCEPTION(wxString(e, wxConvUTF8));
}
@ -436,7 +433,7 @@ void AegisubApp::HandleEvent(wxEvtHandler *handler, wxEventFunction func, wxEven
StackWalker::StackWalker(wxString cause) {
wxFileName report_dir("");
report_dir.SetPath(StandardPaths::DecodePath(_T("?user/reporter")));
report_dir.SetPath(StandardPaths::DecodePath("?user/reporter"));
if (!report_dir.DirExists()) report_dir.Mkdir();
crash_text = new wxFile(StandardPaths::DecodePath("?user/crashlog.txt"), wxFile::write_append);
@ -516,18 +513,18 @@ int AegisubApp::OnRun() {
// Catch errors
catch (const wxString &err) { error = err; }
catch (const wxChar *err) { error = err; }
catch (const std::exception &e) { error = wxString(_T("std::exception: ")) + wxString(e.what(),wxConvUTF8); }
catch (const char *err) { error = err; }
catch (const std::exception &e) { error = wxString("std::exception: ") + wxString(e.what(),wxConvUTF8); }
catch (const agi::Exception &e) { error = "agi::exception: " + lagi_wxString(e.GetChainedMessage()); }
catch (...) { error = _T("Program terminated in error."); }
catch (...) { error = "Program terminated in error."; }
// Report errors
if (!error.IsEmpty()) {
std::ofstream file;
file.open(wxString(StandardPaths::DecodePath(_T("?user/crashlog.txt"))).mb_str(),std::ios::out | std::ios::app);
file.open(wxString(StandardPaths::DecodePath("?user/crashlog.txt")).mb_str(),std::ios::out | std::ios::app);
if (file.is_open()) {
wxDateTime time = wxDateTime::Now();
wxString timeStr = _T("---") + time.FormatISODate() + _T(" ") + time.FormatISOTime() + _T("------------------");
wxString timeStr = "---" + time.FormatISODate() + " " + time.FormatISOTime() + "------------------";
file << std::endl << timeStr.mb_str(csConvLocal);
file << "\nVER - " << GetAegisubLongVersionString();
file << "\nEXC - Aegisub has crashed with unhandled exception \"" << error.mb_str(csConvLocal) <<"\".\n";

View file

@ -88,7 +88,7 @@ void MatroskaWrapper::Open(wxString filename,bool parse) {
// Failed parsing
if (!file) {
delete input;
throw wxString(_T("MatroskaParser error: ") + wxString(err,wxConvUTF8)).c_str();
throw wxString("MatroskaParser error: " + wxString(err,wxConvUTF8)).c_str();
}
// Parse
@ -98,7 +98,7 @@ void MatroskaWrapper::Open(wxString filename,bool parse) {
// Failed opening
else {
delete input;
throw _T("Unable to open Matroska file for parsing.");
throw "Unable to open Matroska file for parsing.";
}
}
@ -258,9 +258,9 @@ void MatroskaWrapper::GetSubtitles(AssFile *target) {
wxString TrackLanguage = wxString(trackInfo->Language,*wxConvCurrent);
// Known subtitle format
if (CodecID == _T("S_TEXT/SSA") || CodecID == _T("S_TEXT/ASS") || CodecID == _T("S_TEXT/UTF8")) {
if (CodecID == "S_TEXT/SSA" || CodecID == "S_TEXT/ASS" || CodecID == "S_TEXT/UTF8") {
tracksFound.Add(track);
tracksNames.Add(wxString::Format(_T("%i ("),track) + CodecID + _T(" ") + TrackLanguage + _T("): ") + TrackName);
tracksNames.Add(wxString::Format("%i (",track) + CodecID + " " + TrackLanguage + "): " + TrackName);
}
}
}
@ -269,7 +269,7 @@ void MatroskaWrapper::GetSubtitles(AssFile *target) {
if (tracksFound.Count() == 0) {
target->LoadDefault(true);
Close();
throw _T("File has no recognised subtitle tracks.");
throw "File has no recognised subtitle tracks.";
}
// Only one track found
@ -279,7 +279,7 @@ void MatroskaWrapper::GetSubtitles(AssFile *target) {
// Pick a track
else {
int choice = wxGetSingleChoiceIndex(_T("Choose which track to read:"),_T("Multiple subtitle tracks found"),tracksNames);
int choice = wxGetSingleChoiceIndex("Choose which track to read:","Multiple subtitle tracks found",tracksNames);
if (choice == -1) {
target->LoadDefault(true);
Close();
@ -294,7 +294,7 @@ void MatroskaWrapper::GetSubtitles(AssFile *target) {
trackInfo = mkv_GetTrackInfo(file,trackToRead);
wxString CodecID = wxString(trackInfo->CodecID,*wxConvCurrent);
int codecType = 0;
if (CodecID == _T("S_TEXT/UTF8")) codecType = 1;
if (CodecID == "S_TEXT/UTF8") codecType = 1;
// Read private data if it's ASS/SSA
if (codecType == 0) {
@ -308,20 +308,20 @@ void MatroskaWrapper::GetSubtitles(AssFile *target) {
delete[] privData;
// Load into file
wxString group = _T("[Script Info]");
wxString group = "[Script Info]";
int version = 1;
if (CodecID == _T("S_TEXT/SSA")) version = 0;
wxStringTokenizer token(privString,_T("\r\n"),wxTOKEN_STRTOK);
if (CodecID == "S_TEXT/SSA") version = 0;
wxStringTokenizer token(privString,"\r\n",wxTOKEN_STRTOK);
while (token.HasMoreTokens()) {
wxString next = token.GetNextToken();
if (next[0] == _T('[')) group = next;
if (next[0] == '[') group = next;
target->AddLine(next,group,version,&group);
}
// Insert "[Events]"
//target->AddLine(_T(""),group,lasttime,version,&group);
//target->AddLine(_T("[Events]"),group,lasttime,version,&group);
//target->AddLine(_T("Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text"),group,lasttime,version,&group);
//target->AddLine("",group,lasttime,version,&group);
//target->AddLine("[Events]",group,lasttime,version,&group);
//target->AddLine("Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text",group,lasttime,version,&group);
}
// Load default if it's SRT
@ -368,18 +368,18 @@ void MatroskaWrapper::GetSubtitles(AssFile *target) {
AssTime subStart,subEnd;
subStart.SetMS(startTime / timecodeScaleLow);
subEnd.SetMS(endTime / timecodeScaleLow);
//wxLogMessage(subStart.GetASSFormated() + _T("-") + subEnd.GetASSFormated() + _T(": ") + blockString);
//wxLogMessage(subStart.GetASSFormated() + "-" + subEnd.GetASSFormated() + ": " + blockString);
// Process SSA/ASS
if (codecType == 0) {
// Get order number
int pos = blockString.Find(_T(","));
int pos = blockString.Find(",");
wxString orderString = blockString.Left(pos);
orderString.ToLong(&order);
blockString = blockString.Mid(pos+1);
// Get layer number
pos = blockString.Find(_T(","));
pos = blockString.Find(",");
long int layer = 0;
if (pos) {
wxString layerString = blockString.Left(pos);
@ -388,15 +388,15 @@ void MatroskaWrapper::GetSubtitles(AssFile *target) {
}
// Assemble final
blockString = wxString::Format(_T("Dialogue: %i,"),layer) + subStart.GetASSFormated() + _T(",") + subEnd.GetASSFormated() + _T(",") + blockString;
blockString = wxString::Format("Dialogue: %i,",layer) + subStart.GetASSFormated() + "," + subEnd.GetASSFormated() + "," + blockString;
}
// Process SRT
else {
blockString = wxString(_T("Dialogue: 0,")) + subStart.GetASSFormated() + _T(",") + subEnd.GetASSFormated() + _T(",Default,,0000,0000,0000,,") + blockString;
blockString.Replace(_T("\r\n"),_T("\\N"));
blockString.Replace(_T("\r"),_T("\\N"));
blockString.Replace(_T("\n"),_T("\\N"));
blockString = wxString("Dialogue: 0,") + subStart.GetASSFormated() + "," + subEnd.GetASSFormated() + ",Default,,0000,0000,0000,," + blockString;
blockString.Replace("\r\n","\\N");
blockString.Replace("\r","\\N");
blockString.Replace("\n","\\N");
order++;
}
@ -412,8 +412,8 @@ void MatroskaWrapper::GetSubtitles(AssFile *target) {
}
// Insert into file
wxString group = _T("[Events]");
int version = (CodecID == _T("S_TEXT/SSA"));
wxString group = "[Events]";
int version = (CodecID == "S_TEXT/SSA");
for (unsigned int i=0;i<subList.size();i++) {
target->AddLine(subList[i],group,version,&group);
}
@ -443,7 +443,7 @@ bool MatroskaWrapper::HasSubtitles(wxString const& filename) {
if (trackInfo->Type == 0x11) {
wxString CodecID = wxString(trackInfo->CodecID, *wxConvCurrent);
if (CodecID == _T("S_TEXT/SSA") || CodecID == _T("S_TEXT/ASS") || CodecID == _T("S_TEXT/UTF8")) {
if (CodecID == "S_TEXT/SSA" || CodecID == "S_TEXT/ASS" || CodecID == "S_TEXT/UTF8") {
mkv_Close(file);
return true;
}

View file

@ -128,7 +128,7 @@ Video::Video(wxTreebook *book, Preferences *parent): OptionPage(book, parent, _(
wxArrayString choice_res(3, cres_arr);
OptionChoice(general, _("Match video resolution on open"), choice_res, "Video/Check Script Res");
const wxString czoom_arr[24] = { _T("12.5%"), _T("25%"), _T("37.5%"), _T("50%"), _T("62.5%"), _T("75%"), _T("87.5%"), _T("100%"), _T("112.5%"), _T("125%"), _T("137.5%"), _T("150%"), _T("162.5%"), _T("175%"), _T("187.5%"), _T("200%"), _T("212.5%"), _T("225%"), _T("237.5%"), _T("250%"), _T("262.5%"), _T("275%"), _T("287.5%"), _T("300%") };
const wxString czoom_arr[24] = { "12.5%", "25%", "37.5%", "50%", "62.5%", "75%", "87.5%", "100%", "112.5%", "125%", "137.5%", "150%", "162.5%", "175%", "187.5%", "200%", "212.5%", "225%", "237.5%", "250%", "262.5%", "275%", "287.5%", "300%" };
wxArrayString choice_zoom(24, czoom_arr);
OptionChoice(general, _("Default Zoom"), choice_zoom, "Video/Default Zoom");
@ -219,7 +219,7 @@ Interface_Hotkeys::Interface_Hotkeys(wxTreebook *book, Preferences *parent): Opt
Paths::Paths(wxTreebook *book, Preferences *parent): OptionPage(book, parent, _("Paths")) {
wxFlexGridSizer *general = PageSizer(_("General"));
general->Add(new wxStaticText(this, wxID_ANY, _T("TBD..")), 0, wxALL, 5);
general->Add(new wxStaticText(this, wxID_ANY, "TBD.."), 0, wxALL, 5);
SetSizerAndFit(sizer);
}
@ -229,7 +229,7 @@ Paths::Paths(wxTreebook *book, Preferences *parent): OptionPage(book, parent, _(
File_Associations::File_Associations(wxTreebook *book, Preferences *parent): OptionPage(book, parent, _("File Associations")) {
wxFlexGridSizer *assoc = PageSizer(_("General"));
assoc->Add(new wxStaticText(this, wxID_ANY, _T("TBD..")), 0, wxALL, 5);
assoc->Add(new wxStaticText(this, wxID_ANY, "TBD.."), 0, wxALL, 5);
SetSizerAndFit(sizer);
}
@ -295,7 +295,7 @@ Advanced::Advanced(wxTreebook *book, Preferences *parent): OptionPage(book, pare
Advanced_Interface::Advanced_Interface(wxTreebook *book, Preferences *parent): OptionPage(book, parent, _("Backup"), PAGE_SUB) {
wxFlexGridSizer *interface_ = PageSizer(_("Interface"));
interface_->Add(new wxStaticText(this, wxID_ANY, _T("TBD..")), 0, wxALL, 5);
interface_->Add(new wxStaticText(this, wxID_ANY, "TBD.."), 0, wxALL, 5);
SetSizerAndFit(sizer);
}
@ -336,7 +336,7 @@ Advanced_Audio::Advanced_Audio(wxTreebook *book, Preferences *parent): OptionPag
#if defined(WIN32) || defined(_DEBUG)
wxFlexGridSizer *windows = PageSizer(_("Windows Specific"));
const wxString adm_arr[3] = { _T("ConvertToMono"), _T("GetLeftChannel"), _T("GetRightChannel") };
const wxString adm_arr[3] = { "ConvertToMono", "GetLeftChannel", "GetRightChannel" };
wxArrayString adm_choice(3, adm_arr);
OptionChoice(windows, _("Avisynth down-mixer"), adm_choice, "Audio/Downmixer");
#endif

View file

@ -59,9 +59,9 @@ SpellChecker *SpellCheckerFactory::GetSpellChecker() {
SpellChecker *checker = Create(list[i]);
if (checker) return checker;
}
catch (wxString err) { error += list[i] + _T(" factory: ") + err + _T("\n"); }
catch (const wxChar *err) { error += list[i] + _T(" factory: ") + wxString(err) + _T("\n"); }
catch (...) { error += list[i] + _T(" factory: Unknown error\n"); }
catch (wxString err) { error += list[i] + " factory: " + err + "\n"; }
catch (const char *err) { error += list[i] + " factory: " + wxString(err) + "\n"; }
catch (...) { error += list[i] + " factory: Unknown error\n"; }
}
// Failed

View file

@ -61,29 +61,29 @@ wxString Spline::EncodeToASS() {
switch (cur->type) {
case CURVE_POINT: {
if (lastCommand != 'm') {
result += L"m ";
result += "m ";
lastCommand = 'm';
}
int x = cur->p1.x;
int y = cur->p1.y;
scale.ToScriptCoords(&x, &y);
result += wxString::Format(L"%i %i ", x, y);
result += wxString::Format("%i %i ", x, y);
break;
}
case CURVE_LINE: {
if (lastCommand != 'l') {
result += L"l ";
result += "l ";
lastCommand = 'l';
}
int x = cur->p2.x;
int y = cur->p2.y;
scale.ToScriptCoords(&x, &y);
result += wxString::Format(L"%i %i ", x, y);
result += wxString::Format("%i %i ", x, y);
break;
}
case CURVE_BICUBIC: {
if (lastCommand != 'b') {
result += L"b ";
result += "b ";
lastCommand = 'b';
}
int x2 = cur->p2.x;
@ -95,7 +95,7 @@ wxString Spline::EncodeToASS() {
scale.ToScriptCoords(&x2, &y2);
scale.ToScriptCoords(&x3, &y3);
scale.ToScriptCoords(&x4, &y4);
result += wxString::Format(L"%i %i %i %i %i %i ", x2, y2, x3, y3, x4, y4);
result += wxString::Format("%i %i %i %i %i %i ", x2, y2, x3, y3, x4, y4);
break;
}
default: break;
@ -117,7 +117,7 @@ void Spline::DecodeFromASS(wxString str) {
int y = 0;
// Tokenize the string
wxStringTokenizer tkn(str,L" ");
wxStringTokenizer tkn(str," ");
while (tkn.HasMoreTokens()) {
wxString token = tkn.GetNextToken();
@ -180,12 +180,12 @@ void Spline::DecodeFromASS(wxString str) {
// Got something else
else {
if (token == L"m") lastCommand = 'm';
else if (token == L"l") lastCommand = 'l';
else if (token == L"b") lastCommand = 'b';
else if (token == L"n") lastCommand = 'n';
else if (token == L"s") lastCommand = 's';
else if (token == L"c") lastCommand = 'c';
if (token == "m") lastCommand = 'm';
else if (token == "l") lastCommand = 'l';
else if (token == "b") lastCommand = 'b';
else if (token == "n") lastCommand = 'n';
else if (token == "s") lastCommand = 's';
else if (token == "c") lastCommand = 'c';
}
}
}

View file

@ -74,20 +74,20 @@ StandardPaths::StandardPaths() {
wxString userDir = paths.GetUserDataDir();
#elif defined(__APPLE__)
wxString dataDir = paths.GetDataDir();
wxString userDir = paths.GetUserDataDir() + _T("-") + _T(AEGISUB_VERSION_DATA);
wxString userDir = paths.GetUserDataDir() + "-" + AEGISUB_VERSION_DATA;
#else
wxString dataDir = paths.GetDataDir() + _T("/") + _T(AEGISUB_VERSION_DATA);
wxString userDir = paths.GetUserConfigDir() + _T("/.aegisub-") + _T(AEGISUB_VERSION_DATA);
wxString dataDir = paths.GetDataDir() + "/" + AEGISUB_VERSION_DATA;
wxString userDir = paths.GetUserConfigDir() + "/.aegisub-" + AEGISUB_VERSION_DATA;
#endif
wxString tempDir = paths.GetTempDir();
// Set paths
DoSetPathValue(_T("?data"),dataDir);
DoSetPathValue(_T("?user"),userDir);
DoSetPathValue(_T("?temp"),tempDir);
DoSetPathValue("?data",dataDir);
DoSetPathValue("?user",userDir);
DoSetPathValue("?temp",tempDir);
// Create paths if they don't exist
wxFileName folder(userDir + _T("/"));
wxFileName folder(userDir + "/");
if (!folder.DirExists()) folder.Mkdir(0777,wxPATH_MKDIR_FULL);
}
@ -99,10 +99,10 @@ StandardPaths::StandardPaths() {
///
wxString StandardPaths::DoDecodePath(wxString path) {
// Decode
if (path[0] == _T('?')) {
if (path[0] == '?') {
// Split ?part from rest
path.Replace(_T("\\"),_T("/"));
int pos = path.Find(_T("/"));
path.Replace("\\","/");
int pos = path.Find("/");
wxString path1,path2;
if (pos == wxNOT_FOUND) path1 = path;
else {
@ -113,10 +113,10 @@ wxString StandardPaths::DoDecodePath(wxString path) {
// Replace ?part if valid
std::map<wxString,wxString>::iterator iter = paths.find(path1);
if (iter == paths.end()) return path;
wxString final = iter->second + _T("/") + path2;
final.Replace(_T("//"),_T("/"));
wxString final = iter->second + "/" + path2;
final.Replace("//","/");
#ifdef WIN32
final.Replace(_T("/"),_T("\\"));
final.Replace("/","\\");
#endif
return final;
}
@ -156,7 +156,7 @@ void StandardPaths::DoSetPathValue(const wxString &path, const wxString &value)
wxString StandardPaths::DecodePathMaybeRelative(const wxString &path, const wxString &relativeTo) {
wxFileName res(DecodePath(path));
if (res.IsRelative())
res.Assign(DecodePath(relativeTo + _T("/") + path));
res.Assign(DecodePath(relativeTo + "/" + path));
return res.GetFullPath();
}

View file

@ -48,12 +48,12 @@
wxString inline_string_encode(const wxString &input)
{
const size_t inlen = input.length();
wxString output(_T(""));
wxString output("");
output.Alloc(inlen);
for (size_t i = 0; i < inlen; i++) {
wxChar c = input[i];
if (c <= 0x1F || c == 0x23 || c == 0x2C || c == 0x3A || c == 0x7C) {
output << wxString::Format(_T("#%02X"), c);
output << wxString::Format("#%02X", c);
} else {
output << c;
}
@ -68,11 +68,11 @@ wxString inline_string_encode(const wxString &input)
wxString inline_string_decode(const wxString &input)
{
const size_t inlen = input.length();
wxString output(_T(""));
wxString output("");
output.Alloc(inlen);
size_t i = 0;
while (i < inlen) {
if (input[i] == _T('#')) {
if (input[i] == '#') {
// check if there's actually enough extra characters at the end of the string
if (inlen - i < 3)
break;

View file

@ -170,10 +170,10 @@ SubsEditBox::SubsEditBox(wxWindow *parent, agi::Context *context)
{
// Top controls
wxArrayString styles;
styles.Add(_T("Default"));
styles.Add("Default");
CommentBox = new wxCheckBox(this,wxID_ANY,_("Comment"));
StyleBox = new wxComboBox(this,wxID_ANY,_T("Default"),wxDefaultPosition,wxSize(110,-1),styles,wxCB_READONLY | wxTE_PROCESS_ENTER);
ActorBox = new wxComboBox(this,wxID_ANY,_T("Actor"),wxDefaultPosition,wxSize(110,-1),styles,wxCB_DROPDOWN | wxTE_PROCESS_ENTER);
StyleBox = new wxComboBox(this,wxID_ANY,"Default",wxDefaultPosition,wxSize(110,-1),styles,wxCB_READONLY | wxTE_PROCESS_ENTER);
ActorBox = new wxComboBox(this,wxID_ANY,"Actor",wxDefaultPosition,wxSize(110,-1),styles,wxCB_DROPDOWN | wxTE_PROCESS_ENTER);
Effect = new wxTextCtrl(this,wxID_ANY,"",wxDefaultPosition,wxSize(80,-1),wxTE_PROCESS_ENTER);
// Middle controls
@ -284,12 +284,12 @@ SubsEditBox::SubsEditBox(wxWindow *parent, agi::Context *context)
(text.Blue() + origBgColour.Blue()) / 2);
// Setup placeholders for effect and actor boxes
bind_focus_handler(Effect, wxEVT_SET_FOCUS, "", L"Effect", text);
bind_focus_handler(Effect, wxEVT_KILL_FOCUS, L"Effect", "", grey);
bind_focus_handler(Effect, wxEVT_SET_FOCUS, "", "Effect", text);
bind_focus_handler(Effect, wxEVT_KILL_FOCUS, "Effect", "", grey);
Effect->SetForegroundColour(grey);
bind_focus_handler(ActorBox, wxEVT_SET_FOCUS, "", L"Actor", text);
bind_focus_handler(ActorBox, wxEVT_KILL_FOCUS, L"Actor", "", grey);
bind_focus_handler(ActorBox, wxEVT_SET_FOCUS, "", "Actor", text);
bind_focus_handler(ActorBox, wxEVT_KILL_FOCUS, "Actor", "", grey);
ActorBox->SetForegroundColour(grey);
TextEdit->Bind(wxEVT_STC_STYLENEEDED, &SubsEditBox::OnNeedStyle, this);
@ -387,10 +387,10 @@ void SubsEditBox::Update(int type) {
MarginL->ChangeValue(line->GetMarginString(0,false));
MarginR->ChangeValue(line->GetMarginString(1,false));
MarginV->ChangeValue(line->GetMarginString(2,false));
Effect->ChangeValue(line->Effect.empty() ? L"Effect" : line->Effect);
Effect->ChangeValue(line->Effect.empty() ? "Effect" : line->Effect);
CommentBox->SetValue(line->Comment);
StyleBox->Select(StyleBox->FindString(line->Style));
ActorBox->ChangeValue(line->Actor.empty() ? L"Actor" : line->Actor);
ActorBox->ChangeValue(line->Actor.empty() ? "Actor" : line->Actor);
ActorBox->SetStringSelection(line->Actor);
}
@ -716,7 +716,7 @@ void SubsEditBox::SetTag(wxString tag, wxString value, bool atEnd) {
}
else if (ovr) {
wxString alt;
if (tag == L"\\c") alt = L"\\1c";
if (tag == "\\c") alt = "\\1c";
// Remove old of same
bool found = false;
for (size_t i = 0; i < ovr->Tags.size(); i++) {
@ -756,22 +756,22 @@ void SubsEditBox::OnFlagButton(wxCommandEvent &evt) {
AssStyle defStyle;
if (!style) style = &defStyle;
if (id == BUTTON_BOLD) {
tagname = L"\\b";
tagname = "\\b";
desc = _("toggle bold");
state = style->bold;
}
else if (id == BUTTON_ITALICS) {
tagname = L"\\i";
tagname = "\\i";
desc = _("toggle italic");
state = style->italic;
}
else if (id == BUTTON_UNDERLINE) {
tagname = L"\\u";
tagname = "\\u";
desc = _("toggle underline");
state = style->underline;
}
else if (id == BUTTON_STRIKEOUT) {
tagname = L"\\s";
tagname = "\\s";
desc = _("toggle strikeout");
state = style->strikeout;
}
@ -807,11 +807,11 @@ void SubsEditBox::OnFontButton(wxCommandEvent &) {
AssStyle defStyle;
if (!style) style = &defStyle;
startfont.SetFaceName(get_value(*line, blockn, style->font, L"\\fn"));
startfont.SetPointSize(get_value(*line, blockn, (int)style->fontsize, L"\\fs"));
startfont.SetWeight(get_value(*line, blockn, style->bold, L"\\b") ? wxFONTWEIGHT_BOLD : wxFONTWEIGHT_NORMAL);
startfont.SetStyle(get_value(*line, blockn, style->italic, L"\\i") ? wxFONTSTYLE_ITALIC : wxFONTSTYLE_NORMAL);
startfont.SetUnderlined(get_value(*line, blockn, style->underline, L"\\u"));
startfont.SetFaceName(get_value(*line, blockn, style->font, "\\fn"));
startfont.SetPointSize(get_value(*line, blockn, (int)style->fontsize, "\\fs"));
startfont.SetWeight(get_value(*line, blockn, style->bold, "\\b") ? wxFONTWEIGHT_BOLD : wxFONTWEIGHT_NORMAL);
startfont.SetStyle(get_value(*line, blockn, style->italic, "\\i") ? wxFONTSTYLE_ITALIC : wxFONTSTYLE_NORMAL);
startfont.SetUnderlined(get_value(*line, blockn, style->underline, "\\u"));
wxFont font = wxGetFontFromUser(this, startfont);
if (!font.Ok() || font == startfont) {
@ -820,19 +820,19 @@ void SubsEditBox::OnFontButton(wxCommandEvent &) {
}
if (font.GetFaceName() != startfont.GetFaceName()) {
SetTag(L"\\fn", font.GetFaceName());
SetTag("\\fn", font.GetFaceName());
}
if (font.GetPointSize() != startfont.GetPointSize()) {
SetTag(L"\\fs", wxString::Format("%i", font.GetPointSize()));
SetTag("\\fs", wxString::Format("%i", font.GetPointSize()));
}
if (font.GetWeight() != startfont.GetWeight()) {
SetTag(L"\\b", wxString::Format("%i", font.GetWeight() == wxFONTWEIGHT_BOLD));
SetTag("\\b", wxString::Format("%i", font.GetWeight() == wxFONTWEIGHT_BOLD));
}
if (font.GetStyle() != startfont.GetStyle()) {
SetTag(L"\\i", wxString::Format("%i", font.GetStyle() == wxFONTSTYLE_ITALIC));
SetTag("\\i", wxString::Format("%i", font.GetStyle() == wxFONTSTYLE_ITALIC));
}
if (font.GetUnderlined() != startfont.GetUnderlined()) {
SetTag(L"\\i", wxString::Format("%i", font.GetUnderlined()));
SetTag("\\i", wxString::Format("%i", font.GetUnderlined()));
}
line->ClearBlocks();
commitId = -1;
@ -849,20 +849,20 @@ void SubsEditBox::OnColorButton(wxCommandEvent &evt) {
if (!style) style = &defStyle;
if (id == BUTTON_COLOR1) {
color = style->primary.GetWXColor();
colorTag = L"\\c";
alt = L"\\c1";
colorTag = "\\c";
alt = "\\c1";
}
else if (id == BUTTON_COLOR2) {
color = style->secondary.GetWXColor();
colorTag = L"\\2c";
colorTag = "\\2c";
}
else if (id == BUTTON_COLOR3) {
color = style->outline.GetWXColor();
colorTag = L"\\3c";
colorTag = "\\3c";
}
else if (id == BUTTON_COLOR4) {
color = style->shadow.GetWXColor();
colorTag = L"\\4c";
colorTag = "\\4c";
}
else {
return;

View file

@ -113,65 +113,65 @@ SubsTextEditCtrl::SubsTextEditCtrl(wxWindow* parent, wxSize wsize, long style, S
// Prototypes for call tips
tipProtoN = -1;
proto.Add(L"move(x1,y1,x2,y2)");
proto.Add(L"move(x1,y1,x2,y2,startTime,endTime)");
proto.Add(L"fn;FontName");
proto.Add(L"bord;Width");
proto.Add(L"xbord;Width");
proto.Add(L"ybord;Width");
proto.Add(L"shad;Depth");
proto.Add(L"xshad;Depth");
proto.Add(L"yshad;Depth");
proto.Add(L"be;Strength");
proto.Add(L"blur;Strength");
proto.Add(L"fscx;Scale");
proto.Add(L"fscy;Scale");
proto.Add(L"fsp;Spacing");
proto.Add(L"fs;FontSize");
proto.Add(L"fe;Encoding");
proto.Add(L"frx;Angle");
proto.Add(L"fry;Angle");
proto.Add(L"frz;Angle");
proto.Add(L"fr;Angle");
proto.Add(L"pbo;Offset");
proto.Add(L"clip(command)");
proto.Add(L"clip(scale,command)");
proto.Add(L"clip(x1,y1,x2,y2)");
proto.Add(L"iclip(command)");
proto.Add(L"iclip(scale,command)");
proto.Add(L"iclip(x1,y1,x2,y2)");
proto.Add(L"t(acceleration,tags)");
proto.Add(L"t(startTime,endTime,tags)");
proto.Add(L"t(startTime,endTime,acceleration,tags)");
proto.Add(L"pos(x,y)");
proto.Add(L"p;Exponent");
proto.Add(L"org(x,y)");
proto.Add(L"fade(startAlpha,middleAlpha,endAlpha,startIn,endIn,startOut,endOut)");
proto.Add(L"fad(startTime,endTime)");
proto.Add(L"c;Colour");
proto.Add(L"1c;Colour");
proto.Add(L"2c;Colour");
proto.Add(L"3c;Colour");
proto.Add(L"4c;Colour");
proto.Add(L"alpha;Alpha");
proto.Add(L"1a;Alpha");
proto.Add(L"2a;Alpha");
proto.Add(L"3a;Alpha");
proto.Add(L"4a;Alpha");
proto.Add(L"an;Alignment");
proto.Add(L"a;Alignment");
proto.Add(L"b;Weight");
proto.Add(L"i;1/0");
proto.Add(L"u;1/0");
proto.Add(L"s;1/0");
proto.Add(L"kf;Duration");
proto.Add(L"ko;Duration");
proto.Add(L"k;Duration");
proto.Add(L"K;Duration");
proto.Add(L"q;WrapStyle");
proto.Add(L"r;Style");
proto.Add(L"fax;Factor");
proto.Add(L"fay;Factor");
proto.Add("move(x1,y1,x2,y2)");
proto.Add("move(x1,y1,x2,y2,startTime,endTime)");
proto.Add("fn;FontName");
proto.Add("bord;Width");
proto.Add("xbord;Width");
proto.Add("ybord;Width");
proto.Add("shad;Depth");
proto.Add("xshad;Depth");
proto.Add("yshad;Depth");
proto.Add("be;Strength");
proto.Add("blur;Strength");
proto.Add("fscx;Scale");
proto.Add("fscy;Scale");
proto.Add("fsp;Spacing");
proto.Add("fs;FontSize");
proto.Add("fe;Encoding");
proto.Add("frx;Angle");
proto.Add("fry;Angle");
proto.Add("frz;Angle");
proto.Add("fr;Angle");
proto.Add("pbo;Offset");
proto.Add("clip(command)");
proto.Add("clip(scale,command)");
proto.Add("clip(x1,y1,x2,y2)");
proto.Add("iclip(command)");
proto.Add("iclip(scale,command)");
proto.Add("iclip(x1,y1,x2,y2)");
proto.Add("t(acceleration,tags)");
proto.Add("t(startTime,endTime,tags)");
proto.Add("t(startTime,endTime,acceleration,tags)");
proto.Add("pos(x,y)");
proto.Add("p;Exponent");
proto.Add("org(x,y)");
proto.Add("fade(startAlpha,middleAlpha,endAlpha,startIn,endIn,startOut,endOut)");
proto.Add("fad(startTime,endTime)");
proto.Add("c;Colour");
proto.Add("1c;Colour");
proto.Add("2c;Colour");
proto.Add("3c;Colour");
proto.Add("4c;Colour");
proto.Add("alpha;Alpha");
proto.Add("1a;Alpha");
proto.Add("2a;Alpha");
proto.Add("3a;Alpha");
proto.Add("4a;Alpha");
proto.Add("an;Alignment");
proto.Add("a;Alignment");
proto.Add("b;Weight");
proto.Add("i;1/0");
proto.Add("u;1/0");
proto.Add("s;1/0");
proto.Add("kf;Duration");
proto.Add("ko;Duration");
proto.Add("k;Duration");
proto.Add("K;Duration");
proto.Add("q;WrapStyle");
proto.Add("r;Style");
proto.Add("fax;Factor");
proto.Add("fay;Factor");
using namespace std::tr1;
@ -289,8 +289,8 @@ void SubsTextEditCtrl::UpdateStyle(int start, int _length) {
// Check if it's a template line
AssDialogue *diag = grid->GetActiveLine();
bool templateLine = diag && diag->Comment && diag->Effect.Lower().StartsWith(_T("template"));
//bool templateCodeLine = diag && diag->Comment && diag->Effect.Lower().StartsWith(_T("code"));
bool templateLine = diag && diag->Comment && diag->Effect.Lower().StartsWith("template");
//bool templateCodeLine = diag && diag->Comment && diag->Effect.Lower().StartsWith("code");
// Template code lines get Lua highlighting instead of ASS highlighting
// This is broken and needs some extra work
@ -400,7 +400,7 @@ void SubsTextEditCtrl::UpdateStyle(int start, int _length) {
numMode = false;
// Is \n, \N or \h?
if (curChar == L'\\' && (nextChar == 'n' || nextChar == 'N' || nextChar == 'h')) {
if (curChar == '\\' && (nextChar == 'n' || nextChar == 'N' || nextChar == 'h')) {
SetUnicodeStyling(curPos,ran,curStyle);
curPos += ran;
ran = 1;
@ -421,7 +421,7 @@ void SubsTextEditCtrl::UpdateStyle(int start, int _length) {
// Inside
else if (depth == 1) {
// Special character
if (curChar == L'\\' || curChar == '(' || curChar == ')' || curChar == ',') {
if (curChar == '\\' || curChar == '(' || curChar == ')' || curChar == ',') {
if (curStyle != 2) {
SetUnicodeStyling(curPos,ran,curStyle);
curPos += ran;
@ -433,7 +433,7 @@ void SubsTextEditCtrl::UpdateStyle(int start, int _length) {
else {
// Number
if (prevChar != L'\\' && (numMode || (curChar >= '0' && curChar <= '9') || curChar == '.' || curChar == '&' || curChar == '+' || curChar == '-' || (curChar == 'H' && prevChar == '&'))) {
if (prevChar != '\\' && (numMode || (curChar >= '0' && curChar <= '9') || curChar == '.' || curChar == '&' || curChar == '+' || curChar == '-' || (curChar == 'H' && prevChar == '&'))) {
if (curStyle != 5) {
SetUnicodeStyling(curPos,ran,curStyle);
curPos += ran;
@ -452,8 +452,8 @@ void SubsTextEditCtrl::UpdateStyle(int start, int _length) {
// Set parameter if it's \fn or \r
int tagLen = 0;
if (text.Mid(curPos,2) == L"fn") tagLen = 2;
else if (text.Mid(curPos,1) == L"r") tagLen = 1;
if (text.Mid(curPos,2) == "fn") tagLen = 2;
else if (text.Mid(curPos,1) == "r") tagLen = 1;
if (tagLen) {
numMode = true;
ran = tagLen-1;
@ -461,17 +461,17 @@ void SubsTextEditCtrl::UpdateStyle(int start, int _length) {
}
// Set drawing mode if it's \p
if (text.Mid(curPos,1) == L"p") {
if (text.Mid(curPos,1) == "p") {
if (curPos+2 < (signed) text.Length()) {
// Disable
wxChar nextNext = text[curPos+2];
if ((nextNext == L'\\' || nextNext == '}') && nextChar == '0') drawingMode = false;
if ((nextNext == '\\' || nextNext == '}') && nextChar == '0') drawingMode = false;
// Enable
if (nextChar >= '1' && nextChar <= '9') {
for(int testPos = curPos+2;testPos < (signed) text.Length();testPos++) {
nextNext = text[testPos];
if (nextNext == L'\\' || nextNext == '}') {
if (nextNext == '\\' || nextNext == '}') {
drawingMode = true;
break;
}
@ -546,7 +546,7 @@ void SubsTextEditCtrl::UpdateCallTip(wxStyledTextEvent &) {
// Not inside parenthesis
if (inDepth == 0) {
if (prevChar == L'\\') {
if (prevChar == '\\') {
// Found start
if (i <= pos) tagStart = i;
@ -652,7 +652,7 @@ void SubsTextEditCtrl::UpdateCallTip(wxStyledTextEvent &) {
semiProto = false;
cleanProto = proto[i];
if (cleanProto.Freq(';') > 0) {
cleanProto.Replace(L";","");
cleanProto.Replace(";","");
semiProto = true;
}
@ -746,9 +746,9 @@ void SubsTextEditCtrl::SetTextTo(wxString text) {
SetEvtHandlerEnabled(false);
Freeze();
text.Replace(L"\r\n",L"\\N");
text.Replace(L"\r",L"\\N");
text.Replace(L"\n",L"\\N");
text.Replace("\r\n","\\N");
text.Replace("\r","\\N");
text.Replace("\n","\\N");
int from=0,to=0;
GetSelection(&from,&to);
@ -808,7 +808,7 @@ void SubsTextEditCtrl::OnContextMenu(wxContextMenuEvent &event) {
// Append "add word"
wxString add_to_dict_text(_("Add \"%s\" to dictionary"));
add_to_dict_text.Replace(L"%s", currentWord);
add_to_dict_text.Replace("%s", currentWord);
menu.Append(EDIT_MENU_ADD_TO_DICT,add_to_dict_text)->Enable(spellchecker->CanAddWord(currentWord));
}
// Spelled right
@ -897,7 +897,7 @@ void SubsTextEditCtrl::OnContextMenu(wxContextMenuEvent &event) {
// Thesaurus menu
wxString thes_suggestion_text(_("Thesaurus suggestions for \"%s\""));
thes_suggestion_text.Replace(L"%s", currentWord);
thes_suggestion_text.Replace("%s", currentWord);
menu.Append(-1,thes_suggestion_text,thesMenu);
}
@ -977,7 +977,7 @@ void SubsTextEditCtrl::OnUseSuggestion(wxCommandEvent &event) {
}
// Stripe suggestion of parenthesis
int pos = suggestion.Find(L"(");
int pos = suggestion.Find("(");
if (pos != wxNOT_FOUND) {
suggestion = suggestion.Left(pos-1);
}

View file

@ -157,8 +157,8 @@ void SubtitlesGrid::OnShowColMenu(wxCommandEvent &event) {
}
static void trim_text(AssDialogue *diag) {
static wxRegEx start(L"^( |\\t|\\\\[nNh])+");
static wxRegEx end(L"( |\\t|\\\\[nNh])+$");
static wxRegEx start("^( |\\t|\\\\[nNh])+");
static wxRegEx end("( |\\t|\\\\[nNh])+$");
start.ReplaceFirst(&diag->Text, "");
end.ReplaceFirst(&diag->Text, "");
}
@ -274,12 +274,12 @@ void SubtitlesGrid::InsertLine(AssDialogue *line,int n,bool after,bool update) {
void SubtitlesGrid::CopyLines(wxArrayInt target) {
// Prepare text
wxString data = _T("");
wxString data = "";
AssDialogue *cur;
int nrows = target.Count();
bool first = true;
for (int i=0;i<nrows;i++) {
if (!first) data += _T("\r\n");
if (!first) data += "\r\n";
first = false;
cur = GetDialogue(target[i]);
data += cur->GetEntryData();
@ -323,7 +323,7 @@ void SubtitlesGrid::PasteLines(int n,bool pasteOver) {
// Insert data
int inserted = 0;
std::vector<bool> pasteOverOptions;
wxStringTokenizer token (data,_T("\r\n"),wxTOKEN_STRTOK);
wxStringTokenizer token (data,"\r\n",wxTOKEN_STRTOK);
while (token.HasMoreTokens()) {
// Convert data into an AssDialogue
wxString curdata = token.GetNextToken();

View file

@ -93,7 +93,7 @@ void SubtitlesPreview::SetStyle(AssStyle const& newStyle) {
}
void SubtitlesPreview::SetText(wxString text) {
wxString newText = L"{\\q2}" + text;
wxString newText = "{\\q2}" + text;
if (newText != line->Text) {
line->Text = newText;
UpdateBitmap();

View file

@ -251,14 +251,14 @@ wxString SubtitleFormat::GetWildcards(int mode) {
if (cur.Count()) {
// Process entries
for (unsigned int i=0;i<cur.Count();i++) {
wild = _T("*.") + cur[i];
wild = "*." + cur[i];
all.Add(wild);
temp1 += wild + _T(",");
temp2 += wild + _T(";");
temp1 += wild + ",";
temp2 += wild + ";";
}
// Assemble final name
final += format->GetName() + _T(" (") + temp1.Left(temp1.Length()-1) + _T(")|") + temp2.Left(temp2.Length()-1) + _T("|");
final += format->GetName() + " (" + temp1.Left(temp1.Length()-1) + ")|" + temp2.Left(temp2.Length()-1) + "|";
}
}
@ -266,10 +266,10 @@ wxString SubtitleFormat::GetWildcards(int mode) {
temp1.Clear();
temp2.Clear();
for (unsigned int i=0;i<all.Count();i++) {
temp1 += all[i] + _T(",");
temp2 += all[i] + _T(";");
temp1 += all[i] + ",";
temp2 += all[i] + ";";
}
final = wxString(_("All Supported Formats")) + _T(" (") + temp1.Left(temp1.Length()-1) + _T(")|") + temp2.Left(temp2.Length()-1) + _T("|") + final.Left(final.Length()-1);
final = wxString(_("All Supported Formats")) + " (" + temp1.Left(temp1.Length()-1) + ")|" + temp2.Left(temp2.Length()-1) + "|" + final.Left(final.Length()-1);
// Return final list
return final;
@ -289,9 +289,9 @@ SubtitleFormat::FPSRational SubtitleFormat::AskForFPS(bool showSMPTE) {
bool vidLoaded = context->TimecodesLoaded();
if (vidLoaded) {
wxString vidFPS;
if (context->FPS().IsVFR()) vidFPS = _T("VFR");
else vidFPS = wxString::Format(_T("%.3f"),context->FPS().FPS());
choices.Add(wxString::Format(_T("From video (%s)"),vidFPS.c_str()));
if (context->FPS().IsVFR()) vidFPS = "VFR";
else vidFPS = wxString::Format("%.3f",context->FPS().FPS());
choices.Add(wxString::Format("From video (%s)",vidFPS.c_str()));
}
// Standard FPS values
@ -385,9 +385,9 @@ void SubtitleFormat::ConvertTags(int format,const wxString &lineEnd,bool mergeLi
else if (format == 2) current->ConvertTagsToSRT();
// Replace line breaks
current->Text.Replace(_T("\\h"),_T(" "),true);
current->Text.Replace(_T("\\n"),lineEnd,true);
current->Text.Replace(_T("\\N"),lineEnd,true);
current->Text.Replace("\\h"," ",true);
current->Text.Replace("\\n",lineEnd,true);
current->Text.Replace("\\N",lineEnd,true);
if (mergeLineBreaks) {
while (current->Text.Replace(lineEnd+lineEnd,lineEnd,true)) {};
}
@ -498,7 +498,7 @@ void SubtitleFormat::RecombineOverlaps() {
newdlg->Start = curdlg->Start;
newdlg->End = (prevdlg->End < curdlg->End) ? prevdlg->End : curdlg->End;
// Put an ASS format hard linewrap between lines
newdlg->Text = curdlg->Text + _T("\\N") + prevdlg->Text;
newdlg->Text = curdlg->Text + "\\N" + prevdlg->Text;
InsertLineSortedIntoList(*Line, next, newdlg);
}

View file

@ -133,13 +133,13 @@ public:
/// @param filename
/// @param forceEncoding
///
virtual void ReadFile(wxString filename,wxString forceEncoding=_T("")) { };
virtual void ReadFile(wxString filename,wxString forceEncoding="") { };
/// @brief DOCME
/// @param filename
/// @param encoding
///
virtual void WriteFile(wxString filename,wxString encoding=_T("")) { };
virtual void WriteFile(wxString filename,wxString encoding="") { };
static SubtitleFormat *GetReader(wxString filename);
static SubtitleFormat *GetWriter(wxString filename);

View file

@ -50,7 +50,7 @@
/// @return
///
bool ASSSubtitleFormat::CanReadFile(wxString filename) {
return (filename.Right(4).Lower() == _T(".ass") || filename.Right(4).Lower() == _T(".ssa"));
return (filename.Right(4).Lower() == ".ass" || filename.Right(4).Lower() == ".ssa");
}
@ -59,7 +59,7 @@ bool ASSSubtitleFormat::CanReadFile(wxString filename) {
/// @return
///
wxString ASSSubtitleFormat::GetName() {
return _T("Advanced Substation Alpha");
return "Advanced Substation Alpha";
}
@ -69,8 +69,8 @@ wxString ASSSubtitleFormat::GetName() {
///
wxArrayString ASSSubtitleFormat::GetReadWildcards() {
wxArrayString formats;
formats.Add(_T("ass"));
formats.Add(_T("ssa"));
formats.Add("ass");
formats.Add("ssa");
return formats;
}
@ -81,8 +81,8 @@ wxArrayString ASSSubtitleFormat::GetReadWildcards() {
///
wxArrayString ASSSubtitleFormat::GetWriteWildcards() {
wxArrayString formats;
formats.Add(_T("ass"));
formats.Add(_T("ssa"));
formats.Add("ass");
formats.Add("ssa");
return formats;
}
@ -98,7 +98,7 @@ void ASSSubtitleFormat::ReadFile(wxString filename,wxString encoding) {
// Reader
TextFileReader file(filename,encoding);
int version = 1;
if (filename.Right(4).Lower() == _T(".ssa")) version = 0;
if (filename.Right(4).Lower() == ".ssa") version = 0;
// Parse file
wxString curgroup;
@ -109,27 +109,27 @@ void ASSSubtitleFormat::ReadFile(wxString filename,wxString encoding) {
// Make sure that the first non-blank non-comment non-group-header line
// is really [Script Info]
if (curgroup.IsEmpty() && !wxbuffer.IsEmpty() && wxbuffer[0] != _T(';') && wxbuffer[0] != _T('[')) {
curgroup = _T("[Script Info]");
if (curgroup.IsEmpty() && !wxbuffer.IsEmpty() && wxbuffer[0] != ';' && wxbuffer[0] != '[') {
curgroup = "[Script Info]";
AddLine(curgroup,curgroup,version,&curgroup);
}
// Convert v4 styles to v4+ styles
if (!wxbuffer.IsEmpty() && wxbuffer[0] == _T('[')) {
if (!wxbuffer.IsEmpty() && wxbuffer[0] == '[') {
// Ugly hacks to allow intermixed v4 and v4+ style sections
wxString low = wxbuffer.Lower();
if (low == _T("[v4 styles]")) {
wxbuffer = _T("[V4+ Styles]");
if (low == "[v4 styles]") {
wxbuffer = "[V4+ Styles]";
curgroup = wxbuffer;
version = 0;
}
else if (low == _T("[v4+ styles]")) {
wxbuffer = _T("[V4+ Styles]");
else if (low == "[v4+ styles]") {
wxbuffer = "[V4+ Styles]";
curgroup = wxbuffer;
version = 1;
}
else if (low == _T("[v4++ styles]")) {
wxbuffer = _T("[V4+ Styles]");
else if (low == "[v4++ styles]") {
wxbuffer = "[V4+ Styles]";
curgroup = wxbuffer;
version = 2;
}
@ -143,13 +143,13 @@ void ASSSubtitleFormat::ReadFile(wxString filename,wxString encoding) {
try {
AddLine(wxbuffer,curgroup,version,&curgroup);
}
catch (const wchar_t *err) {
catch (const char *err) {
Clear();
throw wxString(_T("Error processing line: ")) + wxbuffer + _T(": ") + wxString(err);
throw wxString("Error processing line: ") + wxbuffer + ": " + wxString(err);
}
catch (...) {
Clear();
throw wxString(_T("Error processing line: ")) + wxbuffer;
throw wxString("Error processing line: ") + wxbuffer;
}
}
}
@ -161,7 +161,7 @@ void ASSSubtitleFormat::ReadFile(wxString filename,wxString encoding) {
/// @return
///
bool ASSSubtitleFormat::CanWriteFile(wxString filename) {
return (filename.Right(4).Lower() == _T(".ass") || filename.Right(4).Lower() == _T(".ssa"));
return (filename.Right(4).Lower() == ".ass" || filename.Right(4).Lower() == ".ssa");
}
@ -173,7 +173,7 @@ bool ASSSubtitleFormat::CanWriteFile(wxString filename) {
void ASSSubtitleFormat::WriteFile(wxString filename,wxString encoding) {
// Open file
TextFileWriter file(filename,encoding);
bool ssa = filename.Right(4).Lower() == _T(".ssa");
bool ssa = filename.Right(4).Lower() == ".ssa";
// Write lines
std::list<AssEntry*>::iterator last = Line->end(); --last;

View file

@ -64,7 +64,7 @@
/// @return
///
wxString DVDSubtitleFormat::GetName() {
return _T("DVD Subpictures");
return "DVD Subpictures";
}
@ -74,7 +74,7 @@ wxString DVDSubtitleFormat::GetName() {
///
wxArrayString DVDSubtitleFormat::GetWriteWildcards() {
wxArrayString results;
results.Add(_T("sup"));
results.Add("sup");
return results;
}
@ -85,7 +85,7 @@ wxArrayString DVDSubtitleFormat::GetWriteWildcards() {
/// @return
///
bool DVDSubtitleFormat::CanWriteFile(wxString filename) {
return (filename.Lower().EndsWith(_T(".sup")));
return (filename.Lower().EndsWith(".sup"));
}
@ -139,7 +139,7 @@ void DVDSubtitleFormat::GetSubPictureList(std::vector<SubPicture> &pics) {
provider->DrawSubtitles(dst,time);
}
wxImage img = dst.GetImage();
img.SaveFile(_T("test.bmp"));
img.SaveFile("test.bmp");
dst.Clear();
// Tesseract test
@ -152,7 +152,7 @@ void DVDSubtitleFormat::GetSubPictureList(std::vector<SubPicture> &pics) {
const EANYCODE_CHAR* ch = &output->text[cur];
unsigned char unistr[8];
for (int b = 0; b < ch->blanks; ++b) blah += _T(" ");
for (int b = 0; b < ch->blanks; ++b) blah += " ";
for (j = cur; j < output->count; j++) {
const EANYCODE_CHAR* unich = &output->text[j];
@ -164,7 +164,7 @@ void DVDSubtitleFormat::GetSubPictureList(std::vector<SubPicture> &pics) {
}
unistr[j - cur] = '\0';
blah += wxString((char*)unistr,wxConvUTF8);
if (ch->formatting & 64) blah += _T("\n");
if (ch->formatting & 64) blah += "\n";
}
wxLogMessage(blah);
*/
@ -375,7 +375,7 @@ void DVDSubtitleFormat::WriteFile(wxString filename,wxString encoding) {
// Open file for writing
wxFile fp(filename,wxFile::write);
if (!fp.IsOpened()) throw _T("Could not open file for writing.");
if (!fp.IsOpened()) throw "Could not open file for writing.";
// Write each subpicture
size_t pos = 0;

View file

@ -48,7 +48,7 @@
/// @return
///
wxString EncoreSubtitleFormat::GetName() {
return _T("Adobe Encore");
return "Adobe Encore";
}
@ -58,7 +58,7 @@ wxString EncoreSubtitleFormat::GetName() {
///
wxArrayString EncoreSubtitleFormat::GetWriteWildcards() {
wxArrayString formats;
formats.Add(_T("encore.txt"));
formats.Add("encore.txt");
return formats;
}
@ -69,7 +69,7 @@ wxArrayString EncoreSubtitleFormat::GetWriteWildcards() {
/// @return
///
bool EncoreSubtitleFormat::CanWriteFile(wxString filename) {
return (filename.Right(11).Lower() == _T(".encore.txt"));
return (filename.Right(11).Lower() == ".encore.txt");
}
@ -92,20 +92,20 @@ void EncoreSubtitleFormat::WriteFile(wxString _filename,wxString encoding) {
StripComments();
RecombineOverlaps();
MergeIdentical();
ConvertTags(1,_T("\r\n"));
ConvertTags(1,"\r\n");
// Write lines
using std::list;
int i = 0;
// Encore wants ; instead of : if we're dealing with NTSC dropframe stuff
FractionalTime ft(fps_rat.smpte_dropframe ? _T(";") : _T(":"), fps_rat.num, fps_rat.den, fps_rat.smpte_dropframe);
FractionalTime ft(fps_rat.smpte_dropframe ? ";" : ":", fps_rat.num, fps_rat.den, fps_rat.smpte_dropframe);
for (list<AssEntry*>::iterator cur=Line->begin();cur!=Line->end();cur++) {
AssDialogue *current = dynamic_cast<AssDialogue*>(*cur);
if (current && !current->Comment) {
++i;
file.WriteLineToFile(wxString::Format(_T("%i %s %s %s"), i, ft.FromAssTime(current->Start).c_str(), ft.FromAssTime(current->End).c_str(), current->Text.c_str()));
file.WriteLineToFile(wxString::Format("%i %s %s %s", i, ft.FromAssTime(current->Start).c_str(), ft.FromAssTime(current->End).c_str(), current->Text.c_str()));
}
}

View file

@ -48,12 +48,12 @@
#include "video_context.h"
wxString MicroDVDSubtitleFormat::GetName() {
return _T("MicroDVD");
return "MicroDVD";
}
wxArrayString MicroDVDSubtitleFormat::GetReadWildcards() {
wxArrayString formats;
formats.Add(_T("sub"));
formats.Add("sub");
return formats;
}
@ -63,12 +63,12 @@ wxArrayString MicroDVDSubtitleFormat::GetWriteWildcards() {
bool MicroDVDSubtitleFormat::CanReadFile(wxString filename) {
// Return false immediately if extension is wrong
if (filename.Right(4).Lower() != _T(".sub")) return false;
if (filename.Right(4).Lower() != ".sub") return false;
// Since there is an infinity of .sub formats, load first line and check if it's valid
TextFileReader file(filename);
if (file.HasMoreLines()) {
wxRegEx exp(_T("^[\\{\\[]([0-9]+)[\\}\\]][\\{\\[]([0-9]+)[\\}\\]](.*)$"),wxRE_ADVANCED);
wxRegEx exp("^[\\{\\[]([0-9]+)[\\}\\]][\\{\\[]([0-9]+)[\\}\\]](.*)$",wxRE_ADVANCED);
return exp.Matches(file.ReadLineFromFile());
}
@ -76,12 +76,12 @@ bool MicroDVDSubtitleFormat::CanReadFile(wxString filename) {
}
bool MicroDVDSubtitleFormat::CanWriteFile(wxString filename) {
return (filename.Right(4).Lower() == _T(".sub"));
return (filename.Right(4).Lower() == ".sub");
}
void MicroDVDSubtitleFormat::ReadFile(wxString filename,wxString forceEncoding) {
TextFileReader file(filename);
wxRegEx exp(_T("^[\\{\\[]([0-9]+)[\\}\\]][\\{\\[]([0-9]+)[\\}\\]](.*)$"),wxRE_ADVANCED);
wxRegEx exp("^[\\{\\[]([0-9]+)[\\}\\]][\\{\\[]([0-9]+)[\\}\\]](.*)$",wxRE_ADVANCED);
LoadDefault(false);
@ -128,11 +128,11 @@ void MicroDVDSubtitleFormat::ReadFile(wxString filename,wxString forceEncoding)
start = rate->TimeAtFrame(f1,agi::vfr::START);
end = rate->TimeAtFrame(f2,agi::vfr::END);
text.Replace(_T("|"),_T("\\N"));
text.Replace("|","\\N");
AssDialogue *line = new AssDialogue();
line->group = _T("[Events]");
line->Style = _T("Default");
line->group = "[Events]";
line->Style = "Default";
line->Start.SetMS(start);
line->End.SetMS(end);
line->Text = text;
@ -157,13 +157,13 @@ void MicroDVDSubtitleFormat::WriteFile(wxString filename,wxString encoding) {
StripComments();
RecombineOverlaps();
MergeIdentical();
ConvertTags(1,_T("|"));
ConvertTags(1,"|");
TextFileWriter file(filename,encoding);
// Write FPS line
if (!rate->IsVFR()) {
file.WriteLineToFile(wxString::Format(_T("{1}{1}%.6f"),rate->FPS()));
file.WriteLineToFile(wxString::Format("{1}{1}%.6f",rate->FPS()));
}
// Write lines
@ -174,7 +174,7 @@ void MicroDVDSubtitleFormat::WriteFile(wxString filename,wxString encoding) {
int start = rate->FrameAtTime(current->Start.GetMS(),agi::vfr::START);
int end = rate->FrameAtTime(current->End.GetMS(),agi::vfr::END);
file.WriteLineToFile(wxString::Format(_T("{%i}{%i}%s"),start,end,current->Text.c_str()));
file.WriteLineToFile(wxString::Format("{%i}{%i}%s",start,end,current->Text.c_str()));
}
}

View file

@ -50,8 +50,8 @@
/// @return
///
bool MKVSubtitleFormat::CanReadFile(wxString filename) {
if (filename.Right(4).Lower() == _T(".mkv") || filename.Right(4).Lower() == _T(".mks")
|| filename.Right(4).Lower() == _T(".mka"))
if (filename.Right(4).Lower() == ".mkv" || filename.Right(4).Lower() == ".mks"
|| filename.Right(4).Lower() == ".mka")
return true;
else
return false;
@ -63,7 +63,7 @@ bool MKVSubtitleFormat::CanReadFile(wxString filename) {
/// @return
///
wxString MKVSubtitleFormat::GetName() {
return _T("Matroska");
return "Matroska";
}
@ -73,9 +73,9 @@ wxString MKVSubtitleFormat::GetName() {
///
wxArrayString MKVSubtitleFormat::GetReadWildcards() {
wxArrayString formats;
formats.Add(_T("mkv"));
formats.Add(_T("mka"));
formats.Add(_T("mks"));
formats.Add("mkv");
formats.Add("mka");
formats.Add("mks");
return formats;
}

View file

@ -58,7 +58,7 @@ DEFINE_SIMPLE_EXCEPTION(SRTParseError, SubtitleFormatParseError, "subtitle_io/pa
/// @return
///
bool SRTSubtitleFormat::CanReadFile(wxString filename) {
return (filename.Right(4).Lower() == _T(".srt"));
return (filename.Right(4).Lower() == ".srt");
}
@ -68,7 +68,7 @@ bool SRTSubtitleFormat::CanReadFile(wxString filename) {
/// @return
///
bool SRTSubtitleFormat::CanWriteFile(wxString filename) {
return (filename.Right(4).Lower() == _T(".srt"));
return (filename.Right(4).Lower() == ".srt");
}
@ -77,7 +77,7 @@ bool SRTSubtitleFormat::CanWriteFile(wxString filename) {
/// @return
///
wxString SRTSubtitleFormat::GetName() {
return _T("SubRip");
return "SubRip";
}
@ -87,7 +87,7 @@ wxString SRTSubtitleFormat::GetName() {
///
wxArrayString SRTSubtitleFormat::GetReadWildcards() {
wxArrayString formats;
formats.Add(_T("srt"));
formats.Add("srt");
return formats;
}
@ -119,7 +119,7 @@ void SRTSubtitleFormat::ReadFile(wxString filename,wxString encoding) {
// "hh:mm:ss,fff --> hh:mm:ss,fff" (e.g. "00:00:04,070 --> 00:00:10,04")
/// @todo: move the full parsing of SRT timestamps here, instead of having it in AssTime
wxRegEx timestamp_regex(L"^([0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3}) --> ([0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3})");
wxRegEx timestamp_regex("^([0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3}) --> ([0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3})");
if (!timestamp_regex.IsValid())
throw agi::InternalError("Parsing SRT: Failed compiling regex", 0);
@ -166,8 +166,8 @@ found_timestamps:
}
// create new subtitle
line = new AssDialogue();
line->group = L"[Events]";
line->Style = _T("Default");
line->group = "[Events]";
line->Style = "Default";
line->Comment = false;
// this parsing should best be moved out of AssTime
line->Start.ParseSRT(timestamp_regex.GetMatch(text_line, 1));
@ -202,7 +202,7 @@ found_timestamps:
linebreak_debt = 1;
break;
}
line->Text.Append(L"\\N").Append(text_line);
line->Text.Append("\\N").Append(text_line);
break;
}
case 5:
@ -225,7 +225,7 @@ found_timestamps:
// assume it's a continuation of the subtitle text
// resolve our line break debt and append the line text
while (linebreak_debt-- > 0)
line->Text.Append(L"\\N");
line->Text.Append("\\N");
line->Text.Append(text_line);
state = 4;
break;
@ -264,12 +264,12 @@ void SRTSubtitleFormat::WriteFile(wxString _filename,wxString encoding) {
StripComments();
// Tags must be converted in two passes
// First ASS style overrides are converted to SRT but linebreaks are kept
ConvertTags(2,_T("\\N"),false);
ConvertTags(2,"\\N",false);
// Then we can recombine overlaps, this requires ASS style linebreaks
RecombineOverlaps();
MergeIdentical();
// And finally convert linebreaks
ConvertTags(0,_T("\r\n"),false);
ConvertTags(0,"\r\n",false);
// Otherwise unclosed overrides might affect lines they shouldn't, see bug #809 for example
// Write lines
@ -279,10 +279,10 @@ void SRTSubtitleFormat::WriteFile(wxString _filename,wxString encoding) {
AssDialogue *current = dynamic_cast<AssDialogue*>(*cur);
if (current && !current->Comment) {
// Write line
file.WriteLineToFile(wxString::Format(_T("%i"),i));
file.WriteLineToFile(current->Start.GetSRTFormated() + _T(" --> ") + current->End.GetSRTFormated());
file.WriteLineToFile(wxString::Format("%i",i));
file.WriteLineToFile(current->Start.GetSRTFormated() + " --> " + current->End.GetSRTFormated());
file.WriteLineToFile(current->Text);
file.WriteLineToFile(_T(""));
file.WriteLineToFile("");
i++;
}

View file

@ -55,7 +55,7 @@
/// @return
///
wxString TranStationSubtitleFormat::GetName() {
return _T("TranStation");
return "TranStation";
}
@ -65,7 +65,7 @@ wxString TranStationSubtitleFormat::GetName() {
///
wxArrayString TranStationSubtitleFormat::GetWriteWildcards() {
wxArrayString formats;
formats.Add(_T("transtation.txt"));
formats.Add("transtation.txt");
return formats;
}
@ -76,7 +76,7 @@ wxArrayString TranStationSubtitleFormat::GetWriteWildcards() {
/// @return
///
bool TranStationSubtitleFormat::CanWriteFile(wxString filename) {
return (filename.Right(16).Lower() == _T(".transtation.txt"));
return (filename.Right(16).Lower() == ".transtation.txt");
}
@ -113,7 +113,7 @@ void TranStationSubtitleFormat::WriteFile(wxString _filename,wxString encoding)
if (current && !current->Comment) {
// Write text
file.WriteLineToFile(ConvertLine(current,&fps_rat,(next && !next->Comment) ? next->Start.GetMS() : -1));
file.WriteLineToFile(_T(""));
file.WriteLineToFile("");
}
}
// flush last line
@ -121,7 +121,7 @@ void TranStationSubtitleFormat::WriteFile(wxString _filename,wxString encoding)
file.WriteLineToFile(ConvertLine(next,&fps_rat,-1));
// Every file must end with this line
file.WriteLineToFile(_T("SUB["));
file.WriteLineToFile("SUB[");
// Clean up
ClearCopy();
@ -137,19 +137,19 @@ wxString TranStationSubtitleFormat::ConvertLine(AssDialogue *current, FPSRationa
// Get line data
AssStyle *style = GetAssFile()->GetStyle(current->Style);
int valign = 0;
const wxChar *halign = _T(" "); // default is centered
const wxChar *type = _T("N"); // no special style
const char *halign = " "; // default is centered
const char *type = "N"; // no special style
if (style) {
if (style->alignment >= 4) valign = 4;
if (style->alignment >= 7) valign = 9;
if (style->alignment == 1 || style->alignment == 4 || style->alignment == 7) halign = _T("L");
if (style->alignment == 3 || style->alignment == 6 || style->alignment == 9) halign = _T("R");
if (style->italic) type = _T("I");
if (style->alignment == 1 || style->alignment == 4 || style->alignment == 7) halign = "L";
if (style->alignment == 3 || style->alignment == 6 || style->alignment == 9) halign = "R";
if (style->italic) type = "I";
}
// Hack: If an italics-tag (\i1) appears anywhere in the line,
// make it all italics
if (current->Text.Find(_T("\\i1")) != wxNOT_FOUND)type = _T("I");
if (current->Text.Find("\\i1") != wxNOT_FOUND) type = "I";
// Write header
AssTime start = current->Start;
@ -161,15 +161,15 @@ wxString TranStationSubtitleFormat::ConvertLine(AssDialogue *current, FPSRationa
if (nextl_start > 0 && end.GetMS() == nextl_start)
end.SetMS(end.GetMS() - ((1000*fps_rat->den)/fps_rat->num));
FractionalTime ft(_T(":"), fps_rat->num, fps_rat->den, fps_rat->smpte_dropframe);
wxString header = wxString::Format(_T("SUB[%i%s%s "),valign,halign,type) + ft.FromAssTime(start) + _T(">") + ft.FromAssTime(end) + _T("]\r\n");
FractionalTime ft(":", fps_rat->num, fps_rat->den, fps_rat->smpte_dropframe);
wxString header = wxString::Format("SUB[%i%s%s ",valign,halign,type) + ft.FromAssTime(start) + ">" + ft.FromAssTime(end) + "]\r\n";
// Process text
wxString lineEnd = _T("\r\n");
wxString lineEnd = "\r\n";
current->StripTags();
current->Text.Replace(_T("\\h"),_T(" "),true);
current->Text.Replace(_T("\\n"),lineEnd,true);
current->Text.Replace(_T("\\N"),lineEnd,true);
current->Text.Replace("\\h"," ",true);
current->Text.Replace("\\n",lineEnd,true);
current->Text.Replace("\\N",lineEnd,true);
while (current->Text.Replace(lineEnd+lineEnd,lineEnd,true)) {};
return header + current->Text;

View file

@ -50,7 +50,7 @@
/// @return
///
wxString TTXTSubtitleFormat::GetName() {
return _T("MPEG-4 Streaming Text");
return "MPEG-4 Streaming Text";
}
@ -60,7 +60,7 @@ wxString TTXTSubtitleFormat::GetName() {
///
wxArrayString TTXTSubtitleFormat::GetReadWildcards() {
wxArrayString formats;
formats.Add(_T("ttxt"));
formats.Add("ttxt");
return formats;
}
@ -81,7 +81,7 @@ wxArrayString TTXTSubtitleFormat::GetWriteWildcards() {
/// @return
///
bool TTXTSubtitleFormat::CanReadFile(wxString filename) {
return (filename.Right(5).Lower() == _T(".ttxt"));
return (filename.Right(5).Lower() == ".ttxt");
}
@ -92,7 +92,7 @@ bool TTXTSubtitleFormat::CanReadFile(wxString filename) {
///
bool TTXTSubtitleFormat::CanWriteFile(wxString filename) {
//return false;
return (filename.Right(5).Lower() == _T(".ttxt"));
return (filename.Right(5).Lower() == ".ttxt");
}
@ -107,17 +107,17 @@ void TTXTSubtitleFormat::ReadFile(wxString filename,wxString forceEncoding) {
// Load XML document
wxXmlDocument doc;
if (!doc.Load(filename)) throw _T("Failed loading TTXT XML file.");
if (!doc.Load(filename)) throw "Failed loading TTXT XML file.";
// Check root node name
if (doc.GetRoot()->GetName() != _T("TextStream")) throw _T("Invalid TTXT file.");
if (doc.GetRoot()->GetName() != "TextStream") throw "Invalid TTXT file.";
// Check version
wxString verStr = doc.GetRoot()->GetAttribute(_T("version"),_T(""));
wxString verStr = doc.GetRoot()->GetAttribute("version","");
version = -1;
if (verStr == _T("1.0")) version = 0;
else if (verStr == _T("1.1")) version = 1;
else throw wxString(_T("Unknown TTXT version: ") + verStr);
if (verStr == "1.0") version = 0;
else if (verStr == "1.1") version = 1;
else throw wxString("Unknown TTXT version: " + verStr);
// Get children
diag = NULL;
@ -125,12 +125,12 @@ void TTXTSubtitleFormat::ReadFile(wxString filename,wxString forceEncoding) {
int lines = 0;
while (child) {
// Line
if (child->GetName() == _T("TextSample")) {
if (child->GetName() == "TextSample") {
if (ProcessLine(child)) lines++;
}
// Header
else if (child->GetName() == _T("TextStreamHeader")) {
else if (child->GetName() == "TextStreamHeader") {
ProcessHeader(child);
}
@ -141,8 +141,8 @@ void TTXTSubtitleFormat::ReadFile(wxString filename,wxString forceEncoding) {
// No lines?
if (lines == 0) {
AssDialogue *line = new AssDialogue();
line->group = _T("[Events]");
line->Style = _T("Default");
line->group = "[Events]";
line->Style = "Default";
line->Start.SetMS(0);
line->End.SetMS(5000);
Line->push_back(line);
@ -157,7 +157,7 @@ void TTXTSubtitleFormat::ReadFile(wxString filename,wxString forceEncoding) {
///
bool TTXTSubtitleFormat::ProcessLine(wxXmlNode *node) {
// Get time
wxString sampleTime = node->GetAttribute(_T("sampleTime"),_T("00:00:00.000"));
wxString sampleTime = node->GetAttribute("sampleTime","00:00:00.000");
AssTime time;
time.ParseASS(sampleTime);
@ -167,7 +167,7 @@ bool TTXTSubtitleFormat::ProcessLine(wxXmlNode *node) {
// Get text
wxString text;
if (version == 0) text = node->GetAttribute(_T("text"),_T(""));
if (version == 0) text = node->GetAttribute("text","");
else text = node->GetNodeContent();
// Create line
@ -176,8 +176,8 @@ bool TTXTSubtitleFormat::ProcessLine(wxXmlNode *node) {
diag = new AssDialogue();
diag->Start.SetMS(time.GetMS());
diag->End.SetMS(36000000-10);
diag->group = _T("[Events]");
diag->Style = _T("Default");
diag->group = "[Events]";
diag->Style = "Default";
diag->Comment = false;
// Process text for 1.0
@ -187,8 +187,8 @@ bool TTXTSubtitleFormat::ProcessLine(wxXmlNode *node) {
bool in = false;
bool first = true;
for (size_t i=0;i<text.Length();i++) {
if (text[i] == _T('\'')) {
if (!in && !first) finalText += _T("\\N");
if (text[i] == '\'') {
if (!in && !first) finalText += "\\N";
first = false;
in = !in;
}
@ -199,8 +199,8 @@ bool TTXTSubtitleFormat::ProcessLine(wxXmlNode *node) {
// Process text for 1.1
else {
text.Replace(_T("\r"),_T(""));
text.Replace(_T("\n"),_T("\\N"));
text.Replace("\r","");
text.Replace("\n","\\N");
diag->Text = text;
}
@ -234,8 +234,8 @@ void TTXTSubtitleFormat::WriteFile(wxString filename,wxString encoding) {
// Create XML structure
wxXmlDocument doc;
wxXmlNode *root = new wxXmlNode(NULL,wxXML_ELEMENT_NODE,_T("TextStream"));
root->AddAttribute(_T("version"),_T("1.1"));
wxXmlNode *root = new wxXmlNode(NULL,wxXML_ELEMENT_NODE,"TextStream");
root->AddAttribute("version","1.1");
doc.SetRoot(root);
// Create header
@ -251,7 +251,7 @@ void TTXTSubtitleFormat::WriteFile(wxString filename,wxString encoding) {
WriteLine(root,current);
i++;
}
else throw _T("Unexpected line type in TTXT file");
else throw "Unexpected line type in TTXT file";
}
// Save XML
@ -269,49 +269,49 @@ void TTXTSubtitleFormat::WriteFile(wxString filename,wxString encoding) {
///
void TTXTSubtitleFormat::WriteHeader(wxXmlNode *root) {
// Write stream header
wxXmlNode *node = new wxXmlNode(wxXML_ELEMENT_NODE,_T("TextStreamHeader"));
node->AddAttribute(_T("width"),_T("400"));
node->AddAttribute(_T("height"),_T("60"));
node->AddAttribute(_T("layer"),_T("0"));
node->AddAttribute(_T("translation_x"),_T("0"));
node->AddAttribute(_T("translation_y"),_T("0"));
wxXmlNode *node = new wxXmlNode(wxXML_ELEMENT_NODE,"TextStreamHeader");
node->AddAttribute("width","400");
node->AddAttribute("height","60");
node->AddAttribute("layer","0");
node->AddAttribute("translation_x","0");
node->AddAttribute("translation_y","0");
root->AddChild(node);
root = node;
// Write sample description
node = new wxXmlNode(wxXML_ELEMENT_NODE,_T("TextSampleDescription"));
node->AddAttribute(_T("horizontalJustification"),_T("center"));
node->AddAttribute(_T("verticalJustification"),_T("bottom"));
node->AddAttribute(_T("backColor"),_T("0 0 0 0"));
node->AddAttribute(_T("verticalText"),_T("no"));
node->AddAttribute(_T("fillTextRegion"),_T("no"));
node->AddAttribute(_T("continuousKaraoke"),_T("no"));
node->AddAttribute(_T("scroll"),_T("None"));
node = new wxXmlNode(wxXML_ELEMENT_NODE,"TextSampleDescription");
node->AddAttribute("horizontalJustification","center");
node->AddAttribute("verticalJustification","bottom");
node->AddAttribute("backColor","0 0 0 0");
node->AddAttribute("verticalText","no");
node->AddAttribute("fillTextRegion","no");
node->AddAttribute("continuousKaraoke","no");
node->AddAttribute("scroll","None");
root->AddChild(node);
root = node;
// Write font table
node = new wxXmlNode(wxXML_ELEMENT_NODE,_T("FontTable"));
wxXmlNode *subNode = new wxXmlNode(wxXML_ELEMENT_NODE,_T("FontTableEntry"));
subNode->AddAttribute(_T("fontName"),_T("Sans"));
subNode->AddAttribute(_T("fontID"),_T("1"));
node = new wxXmlNode(wxXML_ELEMENT_NODE,"FontTable");
wxXmlNode *subNode = new wxXmlNode(wxXML_ELEMENT_NODE,"FontTableEntry");
subNode->AddAttribute("fontName","Sans");
subNode->AddAttribute("fontID","1");
node->AddChild(subNode);
root->AddChild(node);
// Write text box
node = new wxXmlNode(wxXML_ELEMENT_NODE,_T("TextBox"));
node->AddAttribute(_T("top"),_T("0"));
node->AddAttribute(_T("left"),_T("0"));
node->AddAttribute(_T("bottom"),_T("60"));
node->AddAttribute(_T("right"),_T("400"));
node = new wxXmlNode(wxXML_ELEMENT_NODE,"TextBox");
node->AddAttribute("top","0");
node->AddAttribute("left","0");
node->AddAttribute("bottom","60");
node->AddAttribute("right","400");
root->AddChild(node);
// Write style
node = new wxXmlNode(wxXML_ELEMENT_NODE,_T("Style"));
node->AddAttribute(_T("styles"),_T("Normal"));
node->AddAttribute(_T("fontID"),_T("1"));
node->AddAttribute(_T("fontSize"),_T("18"));
node->AddAttribute(_T("color"),_T("ff ff ff ff"));
node = new wxXmlNode(wxXML_ELEMENT_NODE,"Style");
node->AddAttribute("styles","Normal");
node->AddAttribute("fontID","1");
node->AddAttribute("fontSize","18");
node->AddAttribute("color","ff ff ff ff");
root->AddChild(node);
}
@ -325,19 +325,19 @@ void TTXTSubtitleFormat::WriteLine(wxXmlNode *root, AssDialogue *line) {
// If it doesn't start at the end of previous, add blank
wxXmlNode *node,*subNode;
if (prev && prev->End != line->Start) {
node = new wxXmlNode(wxXML_ELEMENT_NODE,_T("TextSample"));
node->AddAttribute(_T("sampleTime"),_T("0") + prev->End.GetASSFormated(true));
node->AddAttribute(_T("xml:space"),_T("preserve"));
subNode = new wxXmlNode(wxXML_TEXT_NODE,_T(""),_T(""));
node = new wxXmlNode(wxXML_ELEMENT_NODE,"TextSample");
node->AddAttribute("sampleTime","0" + prev->End.GetASSFormated(true));
node->AddAttribute("xml:space","preserve");
subNode = new wxXmlNode(wxXML_TEXT_NODE,"","");
node->AddChild(subNode);
root->AddChild(node);
}
// Generate and insert node
node = new wxXmlNode(wxXML_ELEMENT_NODE,_T("TextSample"));
node->AddAttribute(_T("sampleTime"),_T("0") + line->Start.GetASSFormated(true));
node->AddAttribute(_T("xml:space"),_T("preserve"));
subNode = new wxXmlNode(wxXML_TEXT_NODE,_T(""),line->Text);
node = new wxXmlNode(wxXML_ELEMENT_NODE,"TextSample");
node->AddAttribute("sampleTime","0" + line->Start.GetASSFormated(true));
node->AddAttribute("xml:space","preserve");
subNode = new wxXmlNode(wxXML_TEXT_NODE,"",line->Text);
node->AddChild(subNode);
root->AddChild(node);
@ -355,7 +355,7 @@ void TTXTSubtitleFormat::ConvertToTTXT () {
StripComments();
RecombineOverlaps();
MergeIdentical();
ConvertTags(1,_T("\r\n"));
ConvertTags(1,"\r\n");
// Find last line
AssTime lastTime;
@ -371,8 +371,8 @@ void TTXTSubtitleFormat::ConvertToTTXT () {
AssDialogue *diag = new AssDialogue();
diag->Start.SetMS(lastTime.GetMS());
diag->End.SetMS(lastTime.GetMS()+OPT_GET("Timing/Default Duration")->GetInt());
diag->group = _T("[Events]");
diag->Style = _T("Default");
diag->group = "[Events]";
diag->Style = "Default";
diag->Comment = false;
Line->push_back(diag);
}

View file

@ -54,7 +54,7 @@
/// @return
///
bool TXTSubtitleFormat::CanReadFile(wxString filename) {
return (filename.Right(4).Lower() == _T(".txt"));
return (filename.Right(4).Lower() == ".txt");
}
@ -64,7 +64,7 @@ bool TXTSubtitleFormat::CanReadFile(wxString filename) {
/// @return
///
bool TXTSubtitleFormat::CanWriteFile(wxString filename) {
return (filename.Right(4).Lower() == _T(".txt") && filename.Right(11).Lower() != _T(".encore.txt") && filename.Right(16).Lower() != _T(".transtation.txt"));
return (filename.Right(4).Lower() == ".txt" && filename.Right(11).Lower() != ".encore.txt" && filename.Right(16).Lower() != ".transtation.txt");
}
@ -73,7 +73,7 @@ bool TXTSubtitleFormat::CanWriteFile(wxString filename) {
/// @return
///
wxString TXTSubtitleFormat::GetName() {
return _T("Plain-Text");
return "Plain-Text";
}
@ -83,7 +83,7 @@ wxString TXTSubtitleFormat::GetName() {
///
wxArrayString TXTSubtitleFormat::GetReadWildcards() {
wxArrayString formats;
formats.Add(_T("txt"));
formats.Add("txt");
return formats;
}
@ -129,20 +129,20 @@ void TXTSubtitleFormat::ReadFile(wxString filename,wxString encoding) { using na
if(value.IsEmpty()) continue;
// Check if this isn't a timecodes file
if (value.StartsWith(_T("# timecode"))) {
throw _T("File is a timecode file, cannot load as subtitles.");
if (value.StartsWith("# timecode")) {
throw "File is a timecode file, cannot load as subtitles.";
}
// Read comment data
isComment = false;
if (comment != _T("") && value.Left(comment.Length()) == comment) {
if (comment != "" && value.Left(comment.Length()) == comment) {
isComment = true;
value = value.Mid(comment.Length());
}
// Read actor data
if (!isComment && separator != _T("")) {
if (value[0] != _T(' ') && value[0] != _T('\t')) {
if (!isComment && separator != "") {
if (value[0] != ' ' && value[0] != '\t') {
int pos = value.Find(separator);
if (pos != wxNOT_FOUND) {
actor = value.Left(pos);
@ -159,12 +159,12 @@ void TXTSubtitleFormat::ReadFile(wxString filename,wxString encoding) { using na
// Sets line up
line = new AssDialogue;
line->group = _T("[Events]");
line->Style = _T("Default");
if (isComment) line->Actor = _T("");
line->group = "[Events]";
line->Style = "Default";
if (isComment) line->Actor = "";
else line->Actor = actor;
if (value.IsEmpty()) {
line->Actor = _T("");
line->Actor = "";
isComment = true;
}
line->Comment = isComment;
@ -180,8 +180,8 @@ void TXTSubtitleFormat::ReadFile(wxString filename,wxString encoding) { using na
// No lines?
if (lines == 0) {
line = new AssDialogue;
line->group = _T("[Events]");
line->Style = _T("Default");
line->group = "[Events]";
line->Style = "Default";
line->Start.SetMS(0);
line->End.SetMS(OPT_GET("Timing/Default Duration")->GetInt());
Line->push_back(line);
@ -222,11 +222,11 @@ void TXTSubtitleFormat::WriteFile(wxString filename,wxString encoding) { using n
wxString out_line;
if (dia->Comment) {
out_line = _T("# ");
out_line = "# ";
}
if (write_actors) {
out_line += dia->Actor + _T(": ");
out_line += dia->Actor + ": ";
}
wxString out_text;
@ -251,7 +251,7 @@ void TXTSubtitleFormat::WriteFile(wxString filename,wxString encoding) { using n
else {
// Not a dialogue line
// TODO: should any non-dia lines cause blank lines in output?
//file.WriteLineToFile(_T(""));
//file.WriteLineToFile("");
}
}
}

View file

@ -63,7 +63,7 @@ public:
bool CanReadFile(wxString filename);
bool CanWriteFile(wxString filename);
void ReadFile(wxString filename,wxString forceEncoding);
void WriteFile(wxString filename, wxString encoding = _T(""));
void WriteFile(wxString filename, wxString encoding = "");
};

View file

@ -53,7 +53,7 @@
///
SubtitlesProvider* SubtitlesProviderFactory::GetProvider() {
std::vector<std::string> list = GetClasses(OPT_GET("Subtitle/Provider")->GetString());
if (list.empty()) throw _T("No subtitle providers are available.");
if (list.empty()) throw "No subtitle providers are available.";
// Get provider
wxString error;
@ -66,9 +66,9 @@ SubtitlesProvider* SubtitlesProviderFactory::GetProvider() {
if (provider) return provider;
}
catch (agi::UserCancelException const&) { throw; }
catch (wxString err) { error += list[i] + _T(" factory: ") + err + _T("\n"); }
catch (const wxChar *err) { error += list[i] + _T(" factory: ") + wxString(err) + _T("\n"); }
catch (...) { error += list[i] + _T(" factory: Unknown error\n"); }
catch (wxString err) { error += list[i] + " factory: " + err + "\n"; }
catch (const char *err) { error += list[i] + " factory: " + wxString(err) + "\n"; }
catch (...) { error += list[i] + " factory: Unknown error\n"; }
}
// Failed

View file

@ -78,7 +78,7 @@ void CSRISubtitlesProvider::LoadSubtitles(AssFile *subs) {
if (!renderer) {
renderer = csri_renderer_default();
if (!renderer) {
throw _T("No CSRI renderer available, cannot show subtitles. Try installing one or switch to another subtitle provider.");
throw "No CSRI renderer available, cannot show subtitles. Try installing one or switch to another subtitle provider.";
}
}
@ -92,9 +92,9 @@ void CSRISubtitlesProvider::LoadSubtitles(AssFile *subs) {
// Open from disk
else {
if (tempfile.empty()) {
tempfile = wxFileName::CreateTempFileName(_T("aegisub"));
tempfile = wxFileName::CreateTempFileName("aegisub");
wxRemoveFile(tempfile);
tempfile += L".ass";
tempfile += ".ass";
}
subs->Save(tempfile,false,false,wxSTRING_ENCODING);
instance.reset(csri_open_file(renderer,tempfile.utf8_str(),NULL), &csri_close);

View file

@ -125,7 +125,7 @@ static void wait_for_cache_thread(FontConfigCacheThread const * const * const ca
if (!*cache_worker) return;
bool canceled;
DialogProgress *progress = new DialogProgress(AegisubApp::Get()->frame, L"", &canceled, L"Caching fonts", 0, 1);
DialogProgress *progress = new DialogProgress(AegisubApp::Get()->frame, "", &canceled, "Caching fonts", 0, 1);
progress->Show();
while (*cache_worker) {
if (canceled) throw agi::UserCancelException("Font caching cancelled");
@ -144,7 +144,7 @@ LibassSubtitlesProvider::LibassSubtitlesProvider(std::string) {
// Initialize renderer
ass_track = NULL;
ass_renderer = ass_renderer_init(ass_library);
if (!ass_renderer) throw _T("ass_renderer_init failed");
if (!ass_renderer) throw "ass_renderer_init failed";
ass_set_font_scale(ass_renderer, 1.);
new FontConfigCacheThread(ass_renderer, &cache_worker);
wait_for_cache_thread(&cache_worker);
@ -163,12 +163,12 @@ LibassSubtitlesProvider::~LibassSubtitlesProvider() {
void LibassSubtitlesProvider::LoadSubtitles(AssFile *subs) {
// Prepare subtitles
std::vector<char> data;
subs->SaveMemory(data,_T("UTF-8"));
subs->SaveMemory(data,"UTF-8");
// Load file
if (ass_track) ass_free_track(ass_track);
ass_track = ass_read_memory(ass_library, &data[0], data.size(),(char *)"UTF-8");
if (!ass_track) throw _T("libass failed to load subtitles.");
if (!ass_track) throw "libass failed to load subtitles.";
}
/// DOCME

View file

@ -61,7 +61,7 @@ public:
/// @param filename File to open
/// @param enc Encoding to use, or empty to autodetect
/// @param trim Whether to trim whitespace from lines read
TextFileReader(wxString const& filename,wxString encoding=L"", bool trim=true);
TextFileReader(wxString const& filename,wxString encoding="", bool trim=true);
/// @brief Destructor
~TextFileReader();

View file

@ -81,9 +81,9 @@ TextFileWriter::~TextFileWriter() {
/// @param addLineBreak
void TextFileWriter::WriteLineToFile(wxString line, bool addLineBreak) {
#ifdef _WIN32
if (addLineBreak) line += L"\r\n";
if (addLineBreak) line += "\r\n";
#else
if (addLineBreak) line += L"\n";
if (addLineBreak) line += "\n";
#endif
// On non-windows this cast does nothing

View file

@ -74,18 +74,18 @@ wxTextCtrl(parent,id,value,pos,size,TimeEditWindowStyle | style,validator,name)
// Set validator
wxTextValidator val(wxFILTER_INCLUDE_CHAR_LIST);
wxArrayString includes;
includes.Add(_T("0"));
includes.Add(_T("1"));
includes.Add(_T("2"));
includes.Add(_T("3"));
includes.Add(_T("4"));
includes.Add(_T("5"));
includes.Add(_T("6"));
includes.Add(_T("7"));
includes.Add(_T("8"));
includes.Add(_T("9"));
includes.Add(_T("."));
includes.Add(_T(":"));
includes.Add("0");
includes.Add("1");
includes.Add("2");
includes.Add("3");
includes.Add("4");
includes.Add("5");
includes.Add("6");
includes.Add("7");
includes.Add("8");
includes.Add("9");
includes.Add(".");
includes.Add(":");
val.SetIncludes(includes);
SetValidator(val);
@ -193,7 +193,7 @@ void TimeEdit::UpdateTime(bool byUser) {
GetSelection(&start,&end);
if (start == end) {
wxString nextChar = text.Mid(start,1);
if (nextChar == _T(":") || nextChar == _T(".")) {
if (nextChar == ":" || nextChar == ".") {
wxString temp = text;
text = temp.Left(start-1);
text += nextChar;

View file

@ -83,7 +83,7 @@ public:
/// DOCME
TimeEdit(wxWindow* parent, wxWindowID id, const wxString& value = _T(""), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, const wxValidator& validator = wxDefaultValidator, const wxString& name = wxTextCtrlNameStr);
TimeEdit(wxWindow* parent, wxWindowID id, const wxString& value = "", const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, const wxValidator& validator = wxDefaultValidator, const wxString& name = wxTextCtrlNameStr);
void SetByFrame(bool enable);
void SetTime(AssTime time);

View file

@ -93,8 +93,8 @@ int CountMatches(wxString parent,wxString child) {
/// @return
///
wxString MakeRelativePath(wxString _path,wxString reference) {
if (_path.IsEmpty()) return _T("");
if (_path.Left(1) == _T("?")) return _path;
if (_path.IsEmpty()) return "";
if (_path.Left(1) == "?") return _path;
wxFileName path(_path);
wxFileName refPath(reference);
path.MakeRelativeTo(refPath.GetPath());
@ -109,8 +109,8 @@ wxString MakeRelativePath(wxString _path,wxString reference) {
/// @return
///
wxString DecodeRelativePath(wxString _path,wxString reference) {
if (_path.IsEmpty()) return _T("");
if (_path.Left(1) == _T("?")) return _path;
if (_path.IsEmpty()) return "";
if (_path.Left(1) == "?") return _path;
wxFileName path(_path);
wxFileName refPath(reference);
if (!path.IsAbsolute()) path.MakeAbsolute(refPath.GetPath());
@ -127,7 +127,7 @@ wxString DecodeRelativePath(wxString _path,wxString reference) {
/// @return
///
wxString AegiFloatToString(double value) {
return wxString::Format(_T("%g"),value);
return wxString::Format("%g",value);
}
/// @brief Int to string
@ -135,7 +135,7 @@ wxString AegiFloatToString(double value) {
/// @return
///
wxString AegiIntegerToString(int value) {
return wxString::Format(_T("%i"),value);
return wxString::Format("%i",value);
}
/// @brief There shall be no kiB, MiB stuff here Pretty reading of size
@ -145,12 +145,12 @@ wxString AegiIntegerToString(int value) {
wxString PrettySize(int bytes) {
// Suffixes
wxArrayString suffix;
suffix.Add(_T(""));
suffix.Add(_T(" kB"));
suffix.Add(_T(" MB"));
suffix.Add(_T(" GB"));
suffix.Add(_T(" TB"));
suffix.Add(_T(" PB"));
suffix.Add("");
suffix.Add(" kB");
suffix.Add(" MB");
suffix.Add(" GB");
suffix.Add(" TB");
suffix.Add(" PB");
// Set size
int i = 0;
@ -166,9 +166,9 @@ wxString PrettySize(int bytes) {
// Set number of decimal places
wxString final;
if (size < 10) final = wxString::Format(_T("%.2f"),size);
else if (size < 100) final = wxString::Format(_T("%.1f"),size);
else final = wxString::Format(_T("%.0f"),size);
if (size < 10) final = wxString::Format("%.2f",size);
else if (size < 100) final = wxString::Format("%.1f",size);
else final = wxString::Format("%.0f",size);
return final + suffix[i];
}
@ -334,12 +334,12 @@ int AegiStringToInt(const wxString &str,int start,int end) {
for (int pos=start;pos<end;pos++) {
// Get value and check if it's a number
int val = (int)(str[pos]);
if (val == _T(' ') || val == _T('\t')) continue;
if (val == _T('-')) sign = -1;
if (val < _T('0') || val > _T('9')) break;
if (val == ' ' || val == '\t') continue;
if (val == '-') sign = -1;
if (val < '0' || val > '9') break;
// Shift value to next decimal place and increment the value just read
value = value * 10 + (val - _T('0'));
value = value * 10 + (val - '0');
}
return value*sign;
@ -368,19 +368,19 @@ int AegiStringToFix(const wxString &str,size_t decimalPlaces,int start,int end)
for (int pos=start;pos<end;pos++) {
// Get value and check if it's a number
int val = (int)(str[pos]);
if (val == _T(' ') || val == _T('\t')) continue;
if (val == _T('-')) sign = -1;
if (val == ' ' || val == '\t') continue;
if (val == '-') sign = -1;
// Switch to minor
if (val == _T('.') || val == _T(',')) {
if (val == '.' || val == ',') {
if (inMinor) break;
inMinor = true;
dst = &minor;
mCount = 0;
continue;
}
if (val < _T('0') || val > _T('9')) break;
*dst = (*dst * 10) + (val - _T('0'));
if (val < '0' || val > '9') break;
*dst = (*dst * 10) + (val - '0');
mCount++;
}
@ -432,12 +432,12 @@ wxIcon BitmapToIcon(wxBitmap iconBmp) {
void RestartAegisub() {
#if defined(__WXMSW__)
wxStandardPaths stand;
wxExecute(_T("\"") + stand.GetExecutablePath() + _T("\""));
wxExecute("\"" + stand.GetExecutablePath() + "\"");
#elif defined(__WXMAC__)
char *bundle_path = agi::util::OSX_GetBundlePath();
char *support_path = agi::util::OSX_GetBundleSupportFilesDirectory();
if (!bundle_path || !support_path) return; // oops
wxString exec = wxString::Format(_T("\"%s/MacOS/restart-helper\" /usr/bin/open -n \"%s\"'"), wxString(support_path, wxConvUTF8).c_str(), wxString(bundle_path, wxConvUTF8).c_str());
wxString exec = wxString::Format("\"%s/MacOS/restart-helper\" /usr/bin/open -n \"%s\"'", wxString(support_path, wxConvUTF8).c_str(), wxString(bundle_path, wxConvUTF8).c_str());
LOG_I("util/restart/exec") << exec;
wxExecute(exec);
free(bundle_path);

View file

@ -126,7 +126,7 @@ void VariableData::ResetWith(wxString value) {
break;
}
case VARDATA_BOOL:
if (value == _T("1")) Set(true);
if (value == "1") Set(true);
else Set(false);
break;
case VARDATA_COLOUR: {
@ -146,74 +146,74 @@ void VariableData::ResetWith(wxString value) {
/// @brief Reads as an int
/// @return
template<> int VariableData::Get<int>() const {
if (!value) throw _T("Null parameter");
if (!value) throw "Null parameter";
if (type == VARDATA_BOOL) return !!(*value_bool);
if (type == VARDATA_INT) return *value_int;
if (type == VARDATA_FLOAT) return (int)(*value_float);
if (type == VARDATA_TEXT) return 0;
throw _T("Wrong parameter type, should be int");
throw "Wrong parameter type, should be int";
}
/// @brief Reads as a float
/// @return
template<> float VariableData::Get<float>() const {
if (!value) throw _T("Null parameter");
if (!value) throw "Null parameter";
if (type == VARDATA_FLOAT) return (float)*value_float;
if (type == VARDATA_INT) return (float)(*value_int);
if (type == VARDATA_TEXT) return 0.0f;
throw _T("Wrong parameter type, should be float");
throw "Wrong parameter type, should be float";
}
template<> double VariableData::Get<double>() const {
if (!value) throw _T("Null parameter");
if (!value) throw "Null parameter";
if (type == VARDATA_FLOAT) return *value_float;
if (type == VARDATA_INT) return (float)(*value_int);
if (type == VARDATA_TEXT) return 0.0;
throw _T("Wrong parameter type, should be float");
throw "Wrong parameter type, should be float";
}
/// @brief Reads as a bool
/// @return
template<> bool VariableData::Get<bool>() const {
if (!value) throw _T("Null parameter");
if (!value) throw "Null parameter";
if (type == VARDATA_BOOL) return *value_bool;
if (type == VARDATA_INT) return ((*value_int)!=0);
if (type == VARDATA_FLOAT) return ((*value_float)!=0);
if (type == VARDATA_TEXT) return false;
throw _T("Wrong parameter type, should be bool");
throw "Wrong parameter type, should be bool";
}
/// @brief Reads as a colour
/// @return
template<> wxColour VariableData::Get<wxColour>() const {
if (!value) throw _T("Null parameter");
if (!value) throw "Null parameter";
if (type == VARDATA_COLOUR) return *value_colour;
else if (type == VARDATA_TEXT) {
AssColor color;
color.Parse(*value_text);
return color.GetWXColor();
}
else throw _T("Wrong parameter type, should be colour");
else throw "Wrong parameter type, should be colour";
}
/// @brief Reads as a block
/// @return
template<> AssDialogueBlockOverride *VariableData::Get<AssDialogueBlockOverride *>() const {
if (!value) throw _T("Null parameter");
if (type != VARDATA_BLOCK) throw _T("Wrong parameter type, should be block");
if (!value) throw "Null parameter";
if (type != VARDATA_BLOCK) throw "Wrong parameter type, should be block";
return *value_block;
}
/// @brief Reads as a string
/// @return
template<> wxString VariableData::Get<wxString>() const {
if (!value) throw _T("Null parameter");
if (!value) throw "Null parameter";
if (type != VARDATA_TEXT) {
if (type == VARDATA_INT) return wxString::Format("%i",*value_int);
else if (type == VARDATA_FLOAT) return wxString::Format("%g",*value_float);
else if (type == VARDATA_COLOUR) return wxString::Format("#%02X%02X%02X",value_colour->Red(),value_colour->Green(),value_colour->Blue());
else if (type == VARDATA_BOOL) return *value_bool ? "1" : "0";
else if (type == VARDATA_BLOCK) return (*value_block)->GetText();
else throw _T("Wrong parameter type, should be text");
else throw "Wrong parameter type, should be text";
}
return *value_text;
}

View file

@ -126,7 +126,7 @@ VideoContext *VideoContext::Get() {
}
void VideoContext::Reset() {
StandardPaths::SetPathValue(_T("?video"), "");
StandardPaths::SetPathValue("?video", "");
keyFrames.clear();
keyFramesFilename.clear();
@ -186,17 +186,17 @@ void VideoContext::SetVideo(const wxString &filename) {
videoName = filename;
config::mru->Add("Video", STD_STR(filename));
wxFileName fn(filename);
StandardPaths::SetPathValue(_T("?video"),fn.GetPath());
StandardPaths::SetPathValue("?video",fn.GetPath());
// Get frame
frame_n = 0;
// Show warning
wxString warning = videoProvider->GetWarning();
if (!warning.empty()) wxMessageBox(warning,_T("Warning"),wxICON_WARNING | wxOK);
if (!warning.empty()) wxMessageBox(warning,"Warning",wxICON_WARNING | wxOK);
hasSubtitles = false;
if (filename.Right(4).Lower() == L".mkv") {
if (filename.Right(4).Lower() == ".mkv") {
hasSubtitles = MatroskaWrapper::HasSubtitles(filename);
}
@ -208,10 +208,10 @@ void VideoContext::SetVideo(const wxString &filename) {
catch (agi::UserCancelException const&) { }
catch (agi::FileNotAccessibleError const& err) {
config::mru->Remove("Video", STD_STR(filename));
wxMessageBox(lagi_wxString(err.GetMessage()), L"Error setting video", wxICON_ERROR | wxOK);
wxMessageBox(lagi_wxString(err.GetMessage()), "Error setting video", wxICON_ERROR | wxOK);
}
catch (VideoProviderError const& err) {
wxMessageBox(lagi_wxString(err.GetMessage()), L"Error setting video", wxICON_ERROR | wxOK);
wxMessageBox(lagi_wxString(err.GetMessage()), "Error setting video", wxICON_ERROR | wxOK);
}
}
@ -295,29 +295,29 @@ void VideoContext::SaveSnapshot(bool raw) {
wxFileName videoFile(videoName);
wxString basepath;
// Is it a path specifier and not an actual fixed path?
if (option[0] == _T('?')) {
if (option[0] == '?') {
// If dummy video is loaded, we can't save to the video location
if (option.StartsWith(_T("?video")) && (videoName.Find(_T("?dummy")) != wxNOT_FOUND)) {
if (option.StartsWith("?video") && (videoName.Find("?dummy") != wxNOT_FOUND)) {
// So try the script location instead
option = _T("?script");
option = "?script";
}
// Find out where the ?specifier points to
basepath = StandardPaths::DecodePath(option);
// If where ever that is isn't defined, we can't save there
if ((basepath == _T("\\")) || (basepath == _T("/"))) {
if ((basepath == "\\") || (basepath == "/")) {
// So save to the current user's home dir instead
basepath = wxGetHomeDir();
}
}
// Actual fixed (possibly relative) path, decode it
else basepath = DecodeRelativePath(option,StandardPaths::DecodePath(_T("?user/")));
basepath += _T("/") + videoFile.GetName();
else basepath = DecodeRelativePath(option,StandardPaths::DecodePath("?user/"));
basepath += "/" + videoFile.GetName();
// Get full path
int session_shot_count = 1;
wxString path;
while (1) {
path = basepath + wxString::Format(_T("_%03i_%i.png"),session_shot_count,frame_n);
path = basepath + wxString::Format("_%03i_%i.png",session_shot_count,frame_n);
++session_shot_count;
wxFileName tryPath(path);
if (!tryPath.FileExists()) break;
@ -500,7 +500,7 @@ void VideoContext::LoadKeyframes(wxString filename) {
config::mru->Remove("Keyframes", STD_STR(filename));
}
catch (agi::acs::AcsError const&) {
wxLogError(L"Could not open file " + filename);
wxLogError("Could not open file " + filename);
config::mru->Remove("Keyframes", STD_STR(filename));
}
}
@ -531,11 +531,11 @@ void VideoContext::LoadTimecodes(wxString filename) {
TimecodesOpen(ovrFPS);
}
catch (const agi::acs::AcsError&) {
wxLogError(L"Could not open file " + filename);
wxLogError("Could not open file " + filename);
config::mru->Remove("Timecodes", STD_STR(filename));
}
catch (const agi::vfr::Error& e) {
wxLogError(L"Timecode file parse error: %s", e.GetMessage().c_str());
wxLogError("Timecode file parse error: %s", e.GetMessage().c_str());
}
}
void VideoContext::SaveTimecodes(wxString filename) {
@ -544,7 +544,7 @@ void VideoContext::SaveTimecodes(wxString filename) {
config::mru->Add("Timecodes", STD_STR(filename));
}
catch(const agi::acs::AcsError&) {
wxLogError(L"Could not write to " + filename);
wxLogError("Could not write to " + filename);
}
}
void VideoContext::CloseTimecodes() {
@ -569,13 +569,13 @@ int VideoContext::FrameAtTime(int time, agi::vfr::Time type) const {
void VideoContext::OnVideoError(VideoProviderErrorEvent const& err) {
wxLogError(
L"Failed seeking video. The video file may be corrupt or incomplete.\n"
L"Error message reported: %s",
"Failed seeking video. The video file may be corrupt or incomplete.\n"
"Error message reported: %s",
lagi_wxString(err.GetMessage()).c_str());
}
void VideoContext::OnSubtitlesError(SubtitlesProviderErrorEvent const& err) {
wxLogError(
L"Failed rendering subtitles. Error message reported: %s",
"Failed rendering subtitles. Error message reported: %s",
lagi_wxString(err.GetMessage()).c_str());
}

View file

@ -85,14 +85,14 @@ int attribList[] = { WX_GL_RGBA , WX_GL_DOUBLEBUFFER, WX_GL_STENCIL_SIZE, 8, 0 }
/// @brief An OpenGL error occurred while uploading or displaying a frame
class OpenGlException : public agi::Exception {
public:
OpenGlException(const wxChar *func, int err)
OpenGlException(const char *func, int err)
: agi::Exception(STD_STR(wxString::Format("%s failed with error code %d", func, err)))
{ }
const char * GetName() const { return "video/opengl"; }
Exception * Copy() const { return new OpenGlException(*this); }
};
#define E(cmd) cmd; if (GLenum err = glGetError()) throw OpenGlException(L###cmd, err)
#define E(cmd) cmd; if (GLenum err = glGetError()) throw OpenGlException(#cmd, err)
VideoDisplay::VideoDisplay(
VideoBox *box,
@ -188,16 +188,16 @@ void VideoDisplay::UploadFrameData(FrameReadyEvent &evt) {
}
catch (const VideoOutInitException& err) {
wxLogError(
L"Failed to initialize video display. Closing other running "
L"programs and updating your video card drivers may fix this.\n"
L"Error message reported: %s",
"Failed to initialize video display. Closing other running "
"programs and updating your video card drivers may fix this.\n"
"Error message reported: %s",
err.GetMessage().c_str());
con->videoController->Reset();
}
catch (const VideoOutRenderException& err) {
wxLogError(
L"Could not upload video frame to graphics card.\n"
L"Error message reported: %s",
"Could not upload video frame to graphics card.\n"
"Error message reported: %s",
err.GetMessage().c_str());
}
Render();
@ -256,29 +256,29 @@ void VideoDisplay::Render() try {
}
catch (const VideoOutException &err) {
wxLogError(
L"An error occurred trying to render the video frame on the screen.\n"
L"Error message reported: %s",
"An error occurred trying to render the video frame on the screen.\n"
"Error message reported: %s",
err.GetMessage().c_str());
con->videoController->Reset();
}
catch (const OpenGlException &err) {
wxLogError(
L"An error occurred trying to render visual overlays on the screen.\n"
L"Error message reported: %s",
"An error occurred trying to render visual overlays on the screen.\n"
"Error message reported: %s",
err.GetMessage().c_str());
con->videoController->Reset();
}
catch (const wchar_t *err) {
catch (const char *err) {
wxLogError(
L"An error occurred trying to render the video frame on the screen.\n"
L"Error message reported: %s",
"An error occurred trying to render the video frame on the screen.\n"
"Error message reported: %s",
err);
con->videoController->Reset();
}
catch (...) {
wxLogError(
L"An error occurred trying to render the video frame to screen.\n"
L"No further error message given.");
"An error occurred trying to render the video frame to screen.\n"
"No further error message given.");
con->videoController->Reset();
}
@ -454,7 +454,7 @@ void VideoDisplay::SetZoom(double value) {
}
void VideoDisplay::SetZoomFromBox(wxCommandEvent &) {
wxString strValue = zoomBox->GetValue();
strValue.EndsWith(L"%", &strValue);
strValue.EndsWith("%", &strValue);
double value;
if (strValue.ToDouble(&value)) {
zoomValue = value / 100.;

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