Esempio n. 1
0
void Mix_PauseMusic()
{
    AM_debugPrintLn(__func__);

    if (gMusic != nullptr) {
        gMusic->pause();
    }
}
Esempio n. 2
0
void Mix_ResumeMusic()
{
    AM_debugPrintLn(__func__);

    if (gMusic != nullptr and gMusic->isPaused()) {
        gMusic->resume();
    }
}
Esempio n. 3
0
void Mix_RewindMusic()
{
    AM_debugPrintLn(__func__);

    if (gMusic != nullptr) {
        gMusic->rewind();
    }
}
Esempio n. 4
0
Mix_Music* Mix_LoadMUS_RW(SDL_RWops* rw)
{
    AM_debugPrintLn(__func__);

    auto strm = new Aulib::Stream(rw, Aulib::Decoder::decoderFor(rw),
                                  std::make_unique<Aulib::ResamplerSpeex>(), false);
    strm->open();
    return (Mix_Music*)strm;
}
Esempio n. 5
0
int Mix_PlayingMusic()
{
    AM_debugPrintLn(__func__);

    if (gMusic != nullptr) {
        return static_cast<int>(gMusic->isPlaying());
    }
    return 0;
}
Esempio n. 6
0
Mix_Music* Mix_LoadMUS(const char* file)
{
    AM_debugPrintLn(__func__);

    auto strm = new Aulib::Stream(file, Aulib::Decoder::decoderFor(file),
                                  std::make_unique<Aulib::ResamplerSpeex>());
    strm->open();
    return (Mix_Music*)strm;
}
Esempio n. 7
0
int Mix_HaltMusic()
{
    AM_debugPrintLn(__func__);

    if (gMusic != nullptr) {
        gMusic->stop();
        gMusic = nullptr;
    }
    return 0;
}
Esempio n. 8
0
void Mix_FreeMusic(Mix_Music* music)
{
    AM_debugPrintLn(__func__);

    auto* strm = (Aulib::Stream*)music;
    if (gMusic == strm) {
        gMusic = nullptr;
    }
    delete strm;
}
Esempio n. 9
0
Mix_Music* Mix_LoadMUSType_RW(SDL_RWops* rw, Mix_MusicType type, int freesrc)
{
    AM_debugPrintLn(__func__ << " type: " << type);

    auto decoder = std::unique_ptr<Aulib::Decoder>(nullptr);
    switch (type) {
    case MUS_WAV:
    case MUS_FLAC:
        decoder = std::make_unique<Aulib::DecoderSndfile>();
        break;

    case MUS_MOD:
    case MUS_MODPLUG:
        decoder = std::make_unique<Aulib::DecoderModplug>();
        break;

    case MUS_MID:
        decoder = std::make_unique<Aulib::DecoderFluidsynth>();
        break;

    case MUS_OGG:
        decoder = std::make_unique<Aulib::DecoderVorbis>();
        break;

    case MUS_MP3:
    case MUS_MP3_MAD:
        decoder = std::make_unique<Aulib::DecoderMpg123>();
        break;

    default:
        AM_debugPrintLn("NO DECODER FOUND");
        return nullptr;
    }

    auto strm = new Aulib::Stream(rw, std::move(decoder), std::make_unique<Aulib::ResamplerSpeex>(),
                                  freesrc != 0);
    strm->open();
    return (Mix_Music*)strm;
}
Esempio n. 10
0
int Mix_VolumeMusic(int volume)
{
    AM_debugPrintLn(__func__);

    int prevVol = gMusicVolume * MIX_MAX_VOLUME;
    volume = std::min(std::max(-1, volume), MIX_MAX_VOLUME);

    if (volume >= 0) {
        gMusicVolume = (float)volume / (float)MIX_MAX_VOLUME;
        if (gMusic != nullptr) {
            gMusic->setVolume(gMusicVolume);
        }
    }
    return prevVol;
}
Esempio n. 11
0
int Mix_PlayMusic(Mix_Music* music, int loops)
{
    AM_debugPrintLn(__func__);

    if (gMusic != nullptr) {
        gMusic->stop();
        gMusic = nullptr;
    }
    if (loops == 0) {
        return 0;
    }
    gMusic = (Aulib::Stream*)music;
    gMusic->setVolume(gMusicVolume);
    return static_cast<int>(gMusic->play(loops == -1 ? 0 : loops));
}
Esempio n. 12
0
void Mix_HookMusicFinished(void (*music_finished)())
{
    AM_debugPrintLn(__func__);

    if (music_finished == nullptr) {
        if (gMusic != nullptr) {
            gMusic->unsetFinishCallback();
        }
        gMusicFinishHook = nullptr;
    } else {
        gMusicFinishHook = music_finished;
        if (gMusic != nullptr) {
            gMusic->setFinishCallback(musicFinishHookWrapper);
        }
    }
}
Esempio n. 13
0
int Mix_EachSoundFont(int (*/*function*/)(const char*, void*), void* /*data*/)
{
    AM_debugPrintLn(__func__);

    return 0;
}
Esempio n. 14
0
const char* Mix_GetSoundFonts()
{
    AM_debugPrintLn(__func__);

    return nullptr;
}
Esempio n. 15
0
int Mix_SetSoundFonts(const char* /*paths*/)
{
    AM_debugPrintLn(__func__);

    return 0;
}
Esempio n. 16
0
int Mix_GetSynchroValue()
{
    AM_debugPrintLn(__func__);

    return -1;
}
Esempio n. 17
0
int Mix_SetSynchroValue(int /*value*/)
{
    AM_debugPrintLn(__func__);

    return -1;
}
Esempio n. 18
0
int Mix_SetMusicCMD(const char* /*command*/)
{
    AM_debugPrintLn(__func__);

    return -1;
}
Esempio n. 19
0
void* Mix_GetMusicHookData()
{
    AM_debugPrintLn(__func__);

    return nullptr;
}
Esempio n. 20
0
int Mix_SetMusicPosition(double /*position*/)
{
    AM_debugPrintLn(__func__);

    return -1;
}
Esempio n. 21
0
void Mix_HookMusic(void (*/*mix_func*/)(void*, Uint8*, int), void* /*arg*/)
{
    AM_debugPrintLn(__func__);
}
Esempio n. 22
0
int Mix_FadeInMusic(Mix_Music* music, int loops, int /*ms*/)
{
    AM_debugPrintLn(__func__);

    return Mix_PlayMusic(music, loops);
}
Esempio n. 23
0
Mix_Fading Mix_FadingMusic()
{
    AM_debugPrintLn(__func__);

    return MIX_NO_FADING;
}
Esempio n. 24
0
int Mix_FadeOutMusic(int /*ms*/)
{
    AM_debugPrintLn(__func__);

    return 0;
}
Esempio n. 25
0
int Mix_FadeInMusicPos(Mix_Music* /*music*/, int /*loops*/, int /*ms*/, double /*position*/)
{
    AM_debugPrintLn(__func__);

    return 0;
}
Esempio n. 26
0
const char* Mix_GetMusicDecoder(int /*index*/)
{
    AM_debugPrintLn(__func__);

    return nullptr;
}
Esempio n. 27
0
Mix_MusicType Mix_GetMusicType(const Mix_Music* /*music*/)
{
    AM_debugPrintLn(__func__);

    return MUS_NONE;
}
Esempio n. 28
0
int Mix_GetNumMusicDecoders()
{
    AM_debugPrintLn(__func__);

    return 0;
}
Esempio n. 29
0
Aulib::AudioStream::AudioStream(const char* filename, AudioDecoder* decoder,
                                AudioResampler* resampler)
    : AudioStream(SDL_RWFromFile(filename, "rb"), decoder, resampler, true)
{
    AM_debugPrintLn(d->fRWops);
}