diff --git a/include/libnyquist/MusepackDecoder.h b/include/libnyquist/MusepackDecoder.h new file mode 100644 index 0000000..bc807ad --- /dev/null +++ b/include/libnyquist/MusepackDecoder.h @@ -0,0 +1,45 @@ +/* +Copyright (c) 2015, Dimitri Diakopoulos All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef MUSEPACK_DECODER_H +#define MUSEPACK_DECODER_H + +#include "AudioDecoder.h" + +namespace nqr +{ + +struct MusepackDecoder : public nqr::BaseDecoder +{ + MusepackDecoder() {}; + virtual ~MusepackDecoder() {}; + virtual int LoadFromPath(nqr::AudioData * data, const std::string & path) override; + virtual int LoadFromBuffer(nqr::AudioData * data, const std::vector & memory) override; + virtual std::vector GetSupportedFileExtensions() override; +}; + +} // end namespace nqr + +#endif \ No newline at end of file diff --git a/src/MusepackDecoder.cpp b/src/MusepackDecoder.cpp new file mode 100644 index 0000000..cdec45d --- /dev/null +++ b/src/MusepackDecoder.cpp @@ -0,0 +1,47 @@ +/* +Copyright (c) 2015, Dimitri Diakopoulos All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#include "MusepackDecoder.h" + +using namespace nqr; + +////////////////////// +// Public Interface // +////////////////////// + +int MusepackDecoder::LoadFromPath(AudioData * data, const std::string & path) +{ + return IOError::LoadPathNotImplemented; +} + +int MusepackDecoder::LoadFromBuffer(AudioData * data, const std::vector & memory) +{ + return IOError::LoadBufferNotImplemented; +} + +std::vector MusepackDecoder::GetSupportedFileExtensions() +{ + return {"mpc"}; +} \ No newline at end of file