deargui-vpl/ref/virtools/Includes/CKMidiManager.h

54 lines
1.9 KiB
C++

/*************************************************************************/
/* File : CKMidiManager.h */
/* Author : Aymeric Bard */
/* */
/* Virtools SDK */
/* Copyright (c) Virtools 2000, All Rights Reserved. */
/*************************************************************************/
#ifndef CKMidiManager_H
#define CKMidiManager_H "$Id:$"
#include "CKBaseManager.h"
/**************************************************************************
Name: CKMidiManager
Summary: Midi sound engine manager.
Remarks:
+The midi manager is implemented as an external plugin.The default implementation in Virtools is made using the standard windows API.
+The unique instance of this class may be retrieved through the CKContext::GetManagerByGuid(MIDI_MANAGER_GUID)
See also: CKContext::GetManagerByGuid,CKSoundManager,CKMidiSound
****************************************************************************/
class CKMidiManager : public CKBaseManager{
public :
virtual void* Create(void* hwnd) = 0;
virtual void Release(void* source) = 0;
virtual CKERROR SetSoundFileName(void* source,CKSTRING filename) = 0;
virtual CKSTRING GetSoundFileName(void* source) = 0;
virtual CKERROR Play(void* source) = 0;
virtual CKERROR Restart(void* source) = 0;
virtual CKERROR Stop(void* source) = 0;
virtual CKERROR Pause(void* source,CKBOOL pause=TRUE) = 0;
virtual CKBOOL IsPlaying(void* source) = 0;
virtual CKBOOL IsPaused(void* source) = 0;
virtual CKERROR OpenFile(void* source) = 0;
virtual CKERROR CloseFile(void* source) = 0;
virtual CKERROR Preroll(void* source) = 0;
virtual CKERROR Time(void* source,CKDWORD* pTicks) = 0;
virtual CKDWORD MillisecsToTicks(void* source,CKDWORD msOffset) = 0;
virtual CKDWORD TicksToMillisecs(void* source,CKDWORD tkOffset) = 0;
CKMidiManager(CKContext *Context,CKSTRING name):CKBaseManager(Context,MIDI_MANAGER_GUID,name){};
virtual ~CKMidiManager() {};
};
#endif