summaryrefslogtreecommitdiff
path: root/sid/sidplay-libs-2.1.0/libsidplay/include/sidplay/sidplay2.h
diff options
context:
space:
mode:
Diffstat (limited to 'sid/sidplay-libs-2.1.0/libsidplay/include/sidplay/sidplay2.h')
-rw-r--r--sid/sidplay-libs-2.1.0/libsidplay/include/sidplay/sidplay2.h73
1 files changed, 73 insertions, 0 deletions
diff --git a/sid/sidplay-libs-2.1.0/libsidplay/include/sidplay/sidplay2.h b/sid/sidplay-libs-2.1.0/libsidplay/include/sidplay/sidplay2.h
new file mode 100644
index 00000000..ccb54bca
--- /dev/null
+++ b/sid/sidplay-libs-2.1.0/libsidplay/include/sidplay/sidplay2.h
@@ -0,0 +1,73 @@
+/***************************************************************************
+ sidplay2.h - Public sidplay header
+ -------------------
+ begin : Fri Jun 9 2000
+ copyright : (C) 2000 by Simon White
+ email : s_a_white@email.com
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#ifndef _sidplay2_h_
+#define _sidplay2_h_
+
+#include "sidtypes.h"
+#include "SidTune.h"
+#include "sidbuilder.h"
+
+#ifndef SIDPLAY2_DEFAULTS
+#define SIDPLAY2_DEFAULTS
+ // Default settings
+ const uint_least32_t SID2_DEFAULT_SAMPLING_FREQ = 44100;
+ const uint_least8_t SID2_DEFAULT_PRECISION = 16;
+ const uint_least8_t SID2_DEFAULT_OPTIMISATION = 0;
+ const bool SID2_DEFAULT_SID_SAMPLES = true; // Samples through sid
+ // Maximum values
+ const uint_least8_t SID2_MAX_PRECISION = 16;
+ const uint_least8_t SID2_MAX_OPTIMISATION = 2;
+#endif // SIDPLAY2_DEFAULTS
+
+// Private Sidplayer
+namespace SIDPLAY2_NAMESPACE
+{
+ class Player;
+}
+
+class SID_EXTERN sidplay2
+{
+private:
+ SIDPLAY2_NAMESPACE::Player &sidplayer;
+
+public:
+ sidplay2 ();
+ virtual ~sidplay2 ();
+
+ const sid2_config_t &config (void) const;
+ const sid2_info_t &info (void) const;
+
+ int config (const sid2_config_t &cfg);
+ const char *error (void) const;
+ int fastForward (uint percent);
+ int load (SidTune *tune);
+ void pause (void);
+ uint_least32_t play (void *buffer, uint_least32_t length);
+ sid2_player_t state (void) const;
+ void stop (void);
+ void debug (bool enable);
+
+ // Timer functions with respect to 10ths of a second
+ uint_least32_t time (void) const;
+ uint_least32_t mileage (void) const;
+
+ operator bool() const { return (&sidplayer ? true: false); }
+ bool operator!() const { return (&sidplayer ? false: true); }
+};
+
+#endif // _sidplay2_h_