CSequencer class and Midi Player sample

The simple CD player dialog 

CSequencer

The CSequencer class is the second piece of my MCI
wrapper class hierachy after CCdAudio.
Unfortunately, It is not well documented yet.

Class Constants

	Time formats for SetTimeFormat()
	FormatMilliseconds
	FormatSmpte24
	FormatSmpte25
	FormatSmpte30
	FormatSmpte30drop
	FormatSongPtr

	Specific status items for GetStatus()
	StatusCurrentTrack
	StatusDivisionType
	StatusLength
	StatusMaster
	StatusOffset
	StatusPort
	StatusPosition
	StatusSlave;
	StatusStart
	StatusTempo

	Specific info items for GetInfo()
	InfoCopyright
	InfoFile
	InfoName

	Constants for SetPort()
	SeqNone
	MidiMapper

	Constants for SetMaster() and SetSlave()
	SeqSmpte
	SeqMidi

	Constats for SetSlave()
	SeqFile

	Values returned by GetStatus(StatusDivisionType)
	DivPpqn
	DivSmpte24
	DivSmpte25
	DivSmpte30
	DivSmpte30drop

Member Functions

	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 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 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);

Author’s note

This is a work in progress: I ‘m continuously working to
improve it. I’ll be grateful to you if you mail me your comments,
advice, or bug apparition reports!.

Download source – 68 KB

More by Author

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Must Read