x86 might not work due to misconfiguration because I could not test it since acinerella is broken in x86 currenty. Gstreamer video support is yet to follow. Please report back any bugs you experience. To compile you will need Visual C++, I hope all files are included
45 lines
1.4 KiB
C++
45 lines
1.4 KiB
C++
#pragma once
|
|
#include <string>
|
|
#include "gst/gst.h"
|
|
#define DllExport extern "C" __declspec(dllexport)
|
|
|
|
using namespace std;
|
|
|
|
typedef void (__stdcall * LogCallback)(const char* text);
|
|
static LogCallback Log;
|
|
|
|
DllExport void SetLogCallback(LogCallback Callback);
|
|
|
|
DllExport bool Init();
|
|
DllExport void SetGlobalVolume(float Volume);
|
|
DllExport int GetStreamCount(void);
|
|
DllExport void CloseAll(void);
|
|
|
|
//Stream handling
|
|
DllExport int Load(const wchar_t* Media);
|
|
DllExport int LoadPrescan(const wchar_t* Media, bool Prescan);
|
|
DllExport void Close(int Stream);
|
|
|
|
DllExport void Play(int Stream);
|
|
DllExport void PlayLoop(int Stream, bool Loop);
|
|
DllExport void Pause(int Stream);
|
|
DllExport void Stop(int Stream);
|
|
DllExport void Fade(int Stream, float TargetVolume, float Seconds);
|
|
DllExport void FadeAndPause(int Stream, float TargetVolume, float Seconds);
|
|
DllExport void FadeAndStop(int Stream, float TargetVolume, float Seconds);
|
|
DllExport void SetStreamVolume(int Stream, float Volume);
|
|
DllExport void SetStreamVolumeMax(int Stream, float Volume);
|
|
|
|
DllExport float GetLength(int Stream);
|
|
DllExport float GetPosition(int Stream);
|
|
|
|
DllExport bool IsPlaying(int Stream);
|
|
DllExport bool IsPaused(int Stream);
|
|
DllExport bool IsFinished(int Stream);
|
|
|
|
DllExport void SetPosition(int Stream, float Position);
|
|
|
|
DllExport void Update();
|
|
|
|
void LogError(const char* msg);
|