windows-nt/Source/XPSP1/NT/multimedia/media/mciseq/mmseq.d

88 lines
3 KiB
D
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*******************************Module*Header*********************************\
* Module Name: mmseq.d
*
* MultiMedia Systems MIDI Sequencer DLL Message AutoDoc.
*
* Created: 4/10/90
* Author: GREGSI & ROBWI
*
* History:
*
* Copyright (c) 1985-1992 Microsoft Corporation
*
\******************************************************************************/
/****************************************************************************
*
* @doc EXTERNAL SEQUENCER
*
* @msg SEQ_SETSYNC | Message sent to set the sequence's sync mode.
*
* lp1 is a far pointer to a MIDISync structure.
*
* @msg SEQ_SETUPTOPLAY | Message sent to tell the sequence to perform all
* tasks necessary to play. This may entail creating a tempo map for
* certain types of synchronization.
*
* @msg SEQ_OPEN | Message sent to allocate memory for and initialize
* the sequence.
*
* lp1 is a far pointer to a MIDISEQOPENDESC structure.
*
* lp2 is a far pointer to an HMIDISEQ to fill in.
*
* @comm This is the only message for which hMIDISeq is ignored.
* The seqHdr struct holds the number of tracks, the
* division type, and resolution of the sequence. The
* sequencer does all memory allocation, and much of the
* initialization here.
*
* @msg SEQ_CLOSE | Message sent to deallocate all memory used by a sequence.
* Sequence Handle no longer valid after this call.
*
* @msg SEQ_TRACKDATA | Message sent to provide a buffer of track data
*
* lp1 is a far pointer to a buffer of track data in std. MIDI file
* format.
*
* lp2 is the size of the buffer.
*
*
* @msg SEQ_PLAY | Message sent to play a sequence from current position.
*
* @msg SEQ_STOP | Message sent to stop the sequence.
*
* @comm Stops the sequence, but doesn't affect position.
* A subsequent Play message will resume from the point stopped at.
*
* @msg SEQ_RESET | Message sent to reset the sequence's position to the
* beginning of the piece.
*
* @comm Stops the sequence if playing, and sets it to play from the
* beginning.
*
* @msg SEQ_SONGPTR | Message sent to explicitly change the sequence
* position.
*
* lp1 is a song position.
*
* @comm If the sequence is in ppqn format, lp1 specifies 16th notes
* from the beginning of the song; otherwise, if the sequence is in
* SMPTE format, lp1 specifies absolute SMPTE time (hr:min:sec:frame)
* format.
*
* @msg SEQ_SETTEMPO | Message sent to explicitly change the sequence tempo.
*
* lp1 is the tempo for the sequence. For ppqn based sequences,
* this will be beats per minute. For SMPTE based sequences, this
* will be frames per minute.
*
* @msg SEQ_GETINFO | Message sent to get an info structure that reflects the
* current state of the sequence.
*
* lp1 is a pointer to SeqInfo structure.
*
****************************************************************************/