/usr/include/sidplayfp/sidplayfp.h is in libsidplayfp-dev 1.8.7-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 | /*
* This file is part of libsidplayfp, a SID player engine.
*
* Copyright 2011-2015 Leandro Nini <drfiemost@users.sourceforge.net>
* Copyright 2007-2010 Antti Lankila
* Copyright 2000 Simon White
*
* 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.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifndef SIDPLAYFP_H
#define SIDPLAYFP_H
#include <stdint.h>
#include <stdio.h>
#include "sidplayfp/siddefs.h"
#include "sidplayfp/sidversion.h"
class SidConfig;
class SidTune;
class SidInfo;
class EventContext;
// Private Sidplayer
namespace SIDPLAYFP_NAMESPACE
{
class Player;
}
/**
* sidplayfp
*/
class SID_EXTERN sidplayfp
{
private:
SIDPLAYFP_NAMESPACE::Player &sidplayer;
public:
sidplayfp();
~sidplayfp();
/**
* Get the current engine configuration.
*
* @return a const reference to the current configuration.
*/
const SidConfig &config() const;
/**
* Get the current player informations.
*
* @return a const reference to the current info.
*/
const SidInfo &info() const;
/**
* Configure the engine.
* Check #error for detailed message if something goes wrong.
*
* @param cfg the new configuration
* @return true on success, false otherwise.
*/
bool config(const SidConfig &cfg);
/**
* Error message.
*
* @return string error message.
*/
const char *error() const;
/**
* Set the fast-forward factor.
*
* @param percent
*/
bool fastForward(unsigned int percent);
/**
* Load a tune.
* Check #error for detailed message if something goes wrong.
*
* @param tune the SidTune to load, 0 unloads current tune.
* @return true on sucess, false otherwise.
*/
bool load(SidTune *tune);
/**
* Run the emulation and produce samples to play if a buffer is given.
*
* @param buffer pointer to the buffer to fill with samples.
* @param count the size of the buffer measured in 16 bit samples
* or 0 if no output is needed (e.g. Hardsid)
* @return the number of produced samples.
*/
uint_least32_t play(short *buffer, uint_least32_t count);
/**
* Check if the engine is playing or stopped.
*
* @return true if playing, false otherwise.
*/
bool isPlaying() const;
/**
* Stop the engine.
*/
void stop();
/**
* Control debugging.
* Only has effect if library have been compiled
* with the --enable-debug option.
*
* @param enable enable/disable debugging.
* @param out the file where to redirect the debug info.
*/
void debug(bool enable, FILE *out);
/**
* Mute/unmute a SID channel.
*
* @param sidNum the SID chip, 0 for the first one, 1 for the second.
* @param voice the channel to mute/unmute.
* @param enable true unmutes the channel, false mutes it.
*/
void mute(unsigned int sidNum, unsigned int voice, bool enable);
/**
* Get the current playing time.
*
* @return the current playing time measured in seconds.
*/
uint_least32_t time() const;
/**
* Set ROM images.
*
* @param kernal pointer to Kernal ROM.
* @param basic pointer to Basic ROM, generally needed only for BASIC tunes.
* @param character pointer to character generator ROM.
*/
void setRoms(const uint8_t* kernal, const uint8_t* basic=0, const uint8_t* character=0);
/**
* \deprecated
* Get the event scheduler.
*
* @return pointer to the scheduler.
*/
SID_DEPRECATED EventContext *getEventContext();
/**
* Get the CIA 1 Timer A programmed value.
*/
uint_least16_t getCia1TimerA() const;
};
#endif // SIDPLAYFP_H
|