sequencer.h
来自「多媒体播放软件代码」· C头文件 代码 · 共 123 行
H
123 行
//////////////////////////////////////////////////////////////////////////
// CSequencer header file
//
// This class encapsulates the MCI API for the MIDI sequencer device
//
// Copyright (C) 1997, 1998 Giancarlo Iovino (giancarlo@saria.com)
// All rights reserved. May not be sold for profit.
//
// This software is provided 'as it is' without implicit or explicit
// warranty.
//
// This code was develeped for MFC Programmer's Sourcebook
// (http://www.codeguru.com)
//
#if !defined(AFX_SEQUENCER_H_FSF54252554_14512_798711_11A30B987GSDA_INCLUDED_)
#define AFX_SEQUENCER_H_FSF54252554_14512_798711_11A30B987GSDA_INCLUDED_
#include "mci.h"
//////////////////////////////////////////////////////////////////////////
// CSequencer
//
class CSequencer : public CMciDevice {
public:
// Specific time formats
static const DWORD FormatMilliseconds;
static const DWORD FormatSmpte24;
static const DWORD FormatSmpte25;
static const DWORD FormatSmpte30;
static const DWORD FormatSmpte30drop;
static const DWORD FormatSongPtr;
// Specific status
static const DWORD StatusCurrentTrack;
static const DWORD StatusDivisionType;
static const DWORD StatusLength;
static const DWORD StatusMaster;
static const DWORD StatusOffset;
static const DWORD StatusPort;
static const DWORD StatusPosition;
static const DWORD StatusSlave;
static const DWORD StatusStart;
static const DWORD StatusTempo;
// Specific info
static const DWORD InfoCopyright;
static const DWORD InfoFile;
static const DWORD InfoName;
// Constants for SetPort()
static const DWORD SeqNone;
static const DWORD MidiMapper;
// Constants for SetMaster() and SetSlave()
static const DWORD SeqSmpte;
static const DWORD SeqMidi;
// Constats for SetSlave()
static const DWORD SeqFile;
// Values returned by GetStatus(StatusDivisionType)
static const DWORD DivPpqn;
static const DWORD DivSmpte24;
static const DWORD DivSmpte25;
static const DWORD DivSmpte30;
static const DWORD DivSmpte30drop;
// Open/Save
DWORD Open(LPCSTR lpszFileName, BOOL bShareable = FALSE);
DWORD Save(LPCSTR lpszFileName);
// Play/Stop/Pause
DWORD Play(BOOL bAsync = TRUE);
DWORD Play(DWORD dwFrom, DWORD dwTo, BOOL bAsync = TRUE);
DWORD Stop();
DWORD Pause();
DWORD Resume();
// Seek
DWORD Seek(DWORD dwTo, BOOL bAsync = FALSE);
DWORD SeekToStart(BOOL bAsync = FALSE);
DWORD SeekToEnd(BOOL bAsync = FALSE);
// Device status important items
DWORD GetSongLength(DWORD dwTrack);
DWORD GetNumberOfTracks();
DWORD GetCurrentTrack();
DWORD GetCurrentPos();
DWORD GetStartPos();
DWORD GetPort();
DWORD GetTempo();
DWORD GetOffset();
DWORD GetMaster();
DWORD GetSlave();
BOOL IsReady();
// Track info
DWORD GetTrackPos(DWORD dwTrack);
DWORD GetTrackLength(DWORD dwTrack);
// Get/Set the time format
DWORD GetTimeFormat();
DWORD SetTimeFormat(DWORD dwTimeFormat);
// Set
DWORD SetTempo(DWORD dwTempo);
DWORD SetPort(DWORD dwPort);
DWORD SetOffset(DWORD dwOffset);
DWORD SetMaster(DWORD dwSynchType);
DWORD SetSlave(DWORD dwSynchType);
protected:
DWORD Seek(DWORD dwTo, DWORD dwFlags, BOOL bAsync);
DWORD Set(DWORD dwWhat);
DWORD GetDevCapsItem(DWORD dwItem);
DWORD GetTrackInfo(DWORD dwTrack, DWORD dwItem);
};
#endif // !defined(AFX_SEQUENCER_H_FSF54252554_14512_798711_11A30B987GSDA_INCLUDED_)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?