summaryrefslogtreecommitdiff
path: root/plugins/gme/Game_Music_Emu-0.5.2/gme/Gme_File.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/gme/Game_Music_Emu-0.5.2/gme/Gme_File.h')
-rw-r--r--plugins/gme/Game_Music_Emu-0.5.2/gme/Gme_File.h145
1 files changed, 0 insertions, 145 deletions
diff --git a/plugins/gme/Game_Music_Emu-0.5.2/gme/Gme_File.h b/plugins/gme/Game_Music_Emu-0.5.2/gme/Gme_File.h
deleted file mode 100644
index a535633b..00000000
--- a/plugins/gme/Game_Music_Emu-0.5.2/gme/Gme_File.h
+++ /dev/null
@@ -1,145 +0,0 @@
-// Common interface to game music file loading and information
-
-// Game_Music_Emu 0.5.2
-#ifndef GME_FILE_H
-#define GME_FILE_H
-
-#include "gme.h"
-#include "blargg_common.h"
-#include "Data_Reader.h"
-#include "M3u_Playlist.h"
-
-// Error returned if file is wrong type
-//extern const char gme_wrong_file_type []; // declared in gme.h
-
-struct Gme_File {
-public:
-// File loading
-
- // Each loads game music data from a file and returns an error if
- // file is wrong type or is seriously corrupt. They also set warning
- // string for minor problems.
-
- // Load from file on disk
- blargg_err_t load_file( const char* path );
-
- // Load from custom data source (see Data_Reader.h)
- blargg_err_t load( Data_Reader& );
-
- // Load from file already read into memory. Keeps pointer to data, so you
- // must not free it until you're done with the file.
- blargg_err_t load_mem( void const* data, long size );
-
- // Load an m3u playlist. Must be done after loading main music file.
- blargg_err_t load_m3u( const char* path );
- blargg_err_t load_m3u( Data_Reader& in );
-
- // Clears any loaded m3u playlist and any internal playlist that the music
- // format supports (NSFE for example).
- void clear_playlist();
-
-// Informational
-
- // Type of emulator. For example if this returns gme_nsfe_type, this object
- // is an NSFE emulator, and you can cast to an Nsfe_Emu* if necessary.
- gme_type_t type() const;
-
- // Most recent warning string, or NULL if none. Clears current warning after
- // returning.
- const char* warning();
-
- // Number of tracks or 0 if no file has been loaded
- int track_count() const;
-
- // Get information for a track (length, name, author, etc.)
- // See gme.h for definition of struct track_info_t.
- blargg_err_t track_info( track_info_t* out, int track ) const;
-
-// User data/cleanup
-
- // Set/get pointer to data you want to associate with this emulator.
- // You can use this for whatever you want.
- void set_user_data( void* p ) { user_data_ = p; }
- void* user_data() const { return user_data_; }
-
- // Register cleanup function to be called when deleting emulator, or NULL to
- // clear it. Passes user_data to cleanup function.
- void set_user_cleanup( gme_user_cleanup_t func ) { user_cleanup_ = func; }
-
-public:
- // deprecated
- int error_count() const; // use warning()
-public:
- Gme_File();
- virtual ~Gme_File();
- BLARGG_DISABLE_NOTHROW
- typedef BOOST::uint8_t byte;
-protected:
- // Services
- void set_track_count( int n ) { track_count_ = raw_track_count_ = n; }
- void set_warning( const char* s ) { warning_ = s; }
- void set_type( gme_type_t t ) { type_ = t; }
- blargg_err_t load_remaining_( void const* header, long header_size, Data_Reader& remaining );
-
- // Overridable
- virtual void unload(); // called before loading file and if loading fails
- virtual blargg_err_t load_( Data_Reader& ); // default loads then calls load_mem_()
- virtual blargg_err_t load_mem_( byte const* data, long size ); // use data in memory
- virtual blargg_err_t track_info_( track_info_t* out, int track ) const = 0;
- virtual void pre_load();
- virtual void post_load_();
- virtual void clear_playlist_() { }
-
-public:
- blargg_err_t remap_track_( int* track_io ) const; // need by Music_Emu
-private:
- // noncopyable
- Gme_File( const Gme_File& );
- Gme_File& operator = ( const Gme_File& );
-
- gme_type_t type_;
- int track_count_;
- int raw_track_count_;
- const char* warning_;
- void* user_data_;
- gme_user_cleanup_t user_cleanup_;
- M3u_Playlist playlist;
- char playlist_warning [64];
- blargg_vector<byte> file_data; // only if loaded into memory using default load
-
- blargg_err_t load_m3u_( blargg_err_t );
- blargg_err_t post_load( blargg_err_t err );
-public:
- // track_info field copying
- enum { max_field_ = 255 };
- static void copy_field_( char* out, const char* in );
- static void copy_field_( char* out, const char* in, int len );
-};
-
-Music_Emu* gme_new_( Music_Emu*, long sample_rate );
-
-#define GME_COPY_FIELD( in, out, name ) \
- { Gme_File::copy_field_( out->name, in.name, sizeof in.name ); }
-
-#ifndef GME_FILE_READER
- #ifdef HAVE_ZLIB_H
- #define GME_FILE_READER Gzip_File_Reader
- #else
- #define GME_FILE_READER Std_File_Reader
- #endif
-#elif defined (GME_FILE_READER_INCLUDE)
- #include GME_FILE_READER_INCLUDE
-#endif
-
-inline gme_type_t Gme_File::type() const { return type_; }
-inline int Gme_File::error_count() const { return warning_ != 0; }
-inline int Gme_File::track_count() const { return track_count_; }
-
-inline const char* Gme_File::warning()
-{
- const char* s = warning_;
- warning_ = 0;
- return s;
-}
-
-#endif