|
// Copyright (C) 2002-2009 Nikolaus Gebhardt
// This file is part of the "irrKlang" library.
// For conditions of distribution and use, see copyright notice in irrKlang.h
#ifndef __I_IRRKLANG_AUDIO_STREAM_LOADER_H_INCLUDED__
#define __I_IRRKLANG_AUDIO_STREAM_LOADER_H_INCLUDED__
#include "ik_IRefCounted.h"
#include "ik_IFileReader.h"
namespace irrklang
{
class IAudioStream;
//! Class which is able to create an audio file stream from a file.
class IAudioStreamLoader : public IRefCounted
{
public:
//! destructor
virtual ~IAudioStreamLoader() {};
//! Returns true if the file maybe is able to be loaded by this class.
/** This decision should be based only on the file extension (e.g. ".wav"). The given
filename string is guaranteed to be lower case. */
virtual bool isALoadableFileExtension(const ik_c8* fileName) = 0;
//! Creates an audio file input stream from a file
/** \return Pointer to the created audio stream. Returns 0 if loading failed.
If you no longer need the stream, you should call IAudioFileStream::drop().
See IRefCounted::drop() for more information. */
virtual IAudioStream* createAudioStream(IFileReader* file) = 0;
};
} // end namespace irrklang
#endif
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Studied System management, used Vbscript in past for automation (now using autoIT) and learned basics of CMD/Batch.. I use C# in free time to create personal projects and I have a course to make this a more professional side as well.