Skip to content
Extraits de code Groupes Projets
Valider 9e478506 rédigé par Thomas Goyne's avatar Thomas Goyne
Parcourir les fichiers

Skip the [Aegisub Project Garbage] and [Aegisub Extradata] sections when exporting to ASS

parent 906fcaed
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -91,7 +91,7 @@ void AssExporter::Export(agi::fs::path const& filename, std::string const& chars ...@@ -91,7 +91,7 @@ void AssExporter::Export(agi::fs::path const& filename, std::string const& chars
if (!writer) if (!writer)
throw agi::InvalidInputException("Unknown file type."); throw agi::InvalidInputException("Unknown file type.");
writer->WriteFile(&subs, filename, c->project->Timecodes(), charset); writer->ExportFile(&subs, filename, c->project->Timecodes(), charset);
} }
wxSizer *AssExporter::GetSettingsSizer(std::string const& name) { wxSizer *AssExporter::GetSettingsSizer(std::string const& name) {
......
...@@ -106,6 +106,15 @@ public: ...@@ -106,6 +106,15 @@ public:
/// @param forceEncoding Encoding to use or empty string for default /// @param forceEncoding Encoding to use or empty string for default
virtual void WriteFile(const AssFile *src, agi::fs::path const& filename, agi::vfr::Framerate const& fps, std::string const& encoding="") const { } virtual void WriteFile(const AssFile *src, agi::fs::path const& filename, agi::vfr::Framerate const& fps, std::string const& encoding="") const { }
/// Export a subtitle file
///
/// This is used when saving via Export As..., for subtitle formats which
/// want to distinguish between exporting a final version of a script and
/// saving a project.
virtual void ExportFile(const AssFile *src, agi::fs::path const& filename, agi::vfr::Framerate const& fps, std::string const& encoding="") const {
WriteFile(src, filename, fps, encoding);
}
/// Get the wildcards for a save or load dialog /// Get the wildcards for a save or load dialog
/// @param mode 0: load 1: save /// @param mode 0: load 1: save
static std::string GetWildcards(int mode); static std::string GetWildcards(int mode);
......
...@@ -160,3 +160,11 @@ void AssSubtitleFormat::WriteFile(const AssFile *src, agi::fs::path const& filen ...@@ -160,3 +160,11 @@ void AssSubtitleFormat::WriteFile(const AssFile *src, agi::fs::path const& filen
writer.Write(src->Events); writer.Write(src->Events);
writer.WriteExtradata(src->Extradata); writer.WriteExtradata(src->Extradata);
} }
void AssSubtitleFormat::ExportFile(const AssFile *src, agi::fs::path const& filename, agi::vfr::Framerate const& fps, std::string const& encoding) const {
Writer writer(filename, encoding);
writer.Write(src->Info);
writer.Write(src->Styles);
writer.Write(src->Attachments);
writer.Write(src->Events);
}
...@@ -28,4 +28,7 @@ public: ...@@ -28,4 +28,7 @@ public:
void ReadFile(AssFile *target, agi::fs::path const& filename, agi::vfr::Framerate const& fps, std::string const& forceEncoding) const override; void ReadFile(AssFile *target, agi::fs::path const& filename, agi::vfr::Framerate const& fps, std::string const& forceEncoding) const override;
void WriteFile(const AssFile *src, agi::fs::path const& filename, agi::vfr::Framerate const& fps, std::string const& encoding) const override; void WriteFile(const AssFile *src, agi::fs::path const& filename, agi::vfr::Framerate const& fps, std::string const& encoding) const override;
// Does not write [Aegisub Project Garbage] and [Aegisub Extradata] sections when exporting
void ExportFile(const AssFile *src, agi::fs::path const& filename, agi::vfr::Framerate const& fps, std::string const& encoding) const override;
}; };
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter