Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

87 lines
3.0 KiB

4 years ago
  1. /*******************************Module*Header*********************************\
  2. * Module Name: mmseq.d
  3. *
  4. * MultiMedia Systems MIDI Sequencer DLL Message AutoDoc.
  5. *
  6. * Created: 4/10/90
  7. * Author: GREGSI & ROBWI
  8. *
  9. * History:
  10. *
  11. * Copyright (c) 1985-1990 Microsoft Corporation
  12. *
  13. \******************************************************************************/
  14. /****************************************************************************
  15. *
  16. * @doc EXTERNAL SEQUENCER
  17. *
  18. * @msg SEQ_SETSYNC | Message sent to set the sequence's sync mode.
  19. *
  20. * lp1 is a far pointer to a MIDISync structure.
  21. *
  22. * @msg SEQ_SETUPTOPLAY | Message sent to tell the sequence to perform all
  23. * tasks necessary to play. This may entail creating a tempo map for
  24. * certain types of synchronization.
  25. *
  26. * @msg SEQ_OPEN | Message sent to allocate memory for and initialize
  27. * the sequence.
  28. *
  29. * lp1 is a far pointer to a MIDISEQOPENDESC structure.
  30. *
  31. * lp2 is a far pointer to an HMIDISEQ to fill in.
  32. *
  33. * @comm This is the only message for which hMIDISeq is ignored.
  34. * The seqHdr struct holds the number of tracks, the
  35. * division type, and resolution of the sequence. The
  36. * sequencer does all memory allocation, and much of the
  37. * initialization here.
  38. *
  39. * @msg SEQ_CLOSE | Message sent to deallocate all memory used by a sequence.
  40. * Sequence Handle no longer valid after this call.
  41. *
  42. * @msg SEQ_TRACKDATA | Message sent to provide a buffer of track data
  43. *
  44. * lp1 is a far pointer to a buffer of track data in std. MIDI file
  45. * format.
  46. *
  47. * lp2 is the size of the buffer.
  48. *
  49. *
  50. * @msg SEQ_PLAY | Message sent to play a sequence from current position.
  51. *
  52. * @msg SEQ_STOP | Message sent to stop the sequence.
  53. *
  54. * @comm Stops the sequence, but doesn't affect position.
  55. * A subsequent Play message will resume from the point stopped at.
  56. *
  57. * @msg SEQ_RESET | Message sent to reset the sequence's position to the
  58. * beginning of the piece.
  59. *
  60. * @comm Stops the sequence if playing, and sets it to play from the
  61. * beginning.
  62. *
  63. * @msg SEQ_SONGPTR | Message sent to explicitly change the sequence
  64. * position.
  65. *
  66. * lp1 is a song position.
  67. *
  68. * @comm If the sequence is in ppqn format, lp1 specifies 16th notes
  69. * from the beginning of the song; otherwise, if the sequence is in
  70. * SMPTE format, lp1 specifies absolute SMPTE time (hr:min:sec:frame)
  71. * format.
  72. *
  73. * @msg SEQ_SETTEMPO | Message sent to explicitly change the sequence tempo.
  74. *
  75. * lp1 is the tempo for the sequence. For ppqn based sequences,
  76. * this will be beats per minute. For SMPTE based sequences, this
  77. * will be frames per minute.
  78. *
  79. * @msg SEQ_GETINFO | Message sent to get an info structure that reflects the
  80. * current state of the sequence.
  81. *
  82. * lp1 is a pointer to SeqInfo structure.
  83. *
  84. ****************************************************************************/
  85.