Audacity 3.2.0
Public Member Functions | List of all members
OggImportPlugin Class Referencefinal
Inheritance diagram for OggImportPlugin:
[legend]
Collaboration diagram for OggImportPlugin:
[legend]

Public Member Functions

 OggImportPlugin ()
 
 ~OggImportPlugin ()
 
wxString GetPluginStringID () override
 
TranslatableString GetPluginFormatDescription () override
 
std::unique_ptr< ImportFileHandleOpen (const FilePath &Filename, AudacityProject *) override
 
- Public Member Functions inherited from ImportPlugin
virtual wxString GetPluginStringID ()=0
 
virtual TranslatableString GetPluginFormatDescription ()=0
 
virtual FileExtensions GetSupportedExtensions ()
 
virtual TranslatableString FailureHint () const
 User visible message suggesting what to do when a file type isn't recognized; default empty string. More...
 
bool SupportsExtension (const FileExtension &extension)
 
virtual std::unique_ptr< ImportFileHandleOpen (const FilePath &Filename, AudacityProject *)=0
 
virtual ~ImportPlugin ()
 

Additional Inherited Members

- Protected Member Functions inherited from ImportPlugin
 ImportPlugin (FileExtensions supportedExtensions)
 
- Protected Attributes inherited from ImportPlugin
const FileExtensions mExtensions
 

Detailed Description

Definition at line 78 of file ImportOGG.cpp.

Constructor & Destructor Documentation

◆ OggImportPlugin()

OggImportPlugin::OggImportPlugin ( )
inline

Definition at line 81 of file ImportOGG.cpp.

82 : ImportPlugin( FileExtensions( exts.begin(), exts.end() ) )
83 {
84 }
wxArrayStringEx FileExtensions
Definition: Identifier.h:225
static const auto exts
Definition: ImportOGG.cpp:48
ImportPlugin(FileExtensions supportedExtensions)

◆ ~OggImportPlugin()

OggImportPlugin::~OggImportPlugin ( )
inline

Definition at line 86 of file ImportOGG.cpp.

86{ }

Member Function Documentation

◆ GetPluginFormatDescription()

TranslatableString OggImportPlugin::GetPluginFormatDescription ( )
overridevirtual

Implements ImportPlugin.

Definition at line 158 of file ImportOGG.cpp.

159{
160 return DESC;
161}
#define DESC
Definition: ImportOGG.cpp:46

References DESC.

◆ GetPluginStringID()

wxString OggImportPlugin::GetPluginStringID ( )
inlineoverridevirtual

Implements ImportPlugin.

Definition at line 88 of file ImportOGG.cpp.

88{ return wxT("liboggvorbis"); }
wxT("CloseDown"))

References wxT().

Here is the call graph for this function:

◆ Open()

std::unique_ptr< ImportFileHandle > OggImportPlugin::Open ( const FilePath Filename,
AudacityProject  
)
overridevirtual

Implements ImportPlugin.

Definition at line 163 of file ImportOGG.cpp.

165{
166 // Suppress some compiler warnings about unused global variables in the library header
167 wxUnusedVar(OV_CALLBACKS_DEFAULT);
168 wxUnusedVar(OV_CALLBACKS_NOCLOSE);
169 wxUnusedVar(OV_CALLBACKS_STREAMONLY);
170 wxUnusedVar(OV_CALLBACKS_STREAMONLY_NOCLOSE);
171
172 auto vorbisFile = std::make_unique<OggVorbis_File>();
173 auto file = std::make_unique<wxFFile>(filename, wxT("rb"));
174
175 if (!file->IsOpened()) {
176 // No need for a message box, it's done automatically (but how?)
177 return nullptr;
178 }
179
180 int err = ov_open(file->fp(), vorbisFile.get(), NULL, 0);
181
182 if (err < 0) {
183 TranslatableString message;
184
185 switch (err) {
186 case OV_EREAD:
187 message = XO("Media read error");
188 break;
189 case OV_ENOTVORBIS:
190 message = XO("Not an Ogg Vorbis file");
191 break;
192 case OV_EVERSION:
193 message = XO("Vorbis version mismatch");
194 break;
195 case OV_EBADHEADER:
196 message = XO("Invalid Vorbis bitstream header");
197 break;
198 case OV_EFAULT:
199 message = XO("Internal logic fault");
200 break;
201 }
202
203 // what to do with message?
204 return nullptr;
205 }
206
207 return std::make_unique<OggImportFileHandle>(filename, std::move(file), std::move(vorbisFile));
208}
XO("Cut/Copy/Paste")
Holds a msgid for the translation catalog; may also bind format arguments.

References wxT(), and XO().

Here is the call graph for this function:

The documentation for this class was generated from the following file: