Leaked source code of windows server 2003
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.

89 lines
3.6 KiB

  1. // autodoc's for stuff that's in the public header files
  2. // @doc EXTERNAL
  3. /*
  4. @struct DMUS_TIMESIGNATURE | Time signature. Used in calls to
  5. <om IDirectMusicStyle.GetTimeSignature>, and as part of the <p pParam> parameter in calls to
  6. <om IDirectMusicTrack.GetParam>, when <p pGuidType> is GUID_ChordTrackRhythm.
  7. */
  8. typedef struct _DMUS_TIMESIGNATURE
  9. {
  10. long lTime; // @field The time (in Music Time) at which this event
  11. // occurs.
  12. BYTE bBeatsPerMeasure; // @field Beats per measure (top of time signature).
  13. BYTE bBeat; // @field what note receives the beat (bottom of time
  14. // signature).
  15. // Assume that 0 means 256th note.
  16. WORD wGridsPerBeat; // @field Grids per beat, i.e., the number of parts into
  17. // which a beat may be divided.
  18. } DMUS_TIMESIGNATURE;
  19. /*
  20. @enum enumDMUS_COMMANDT_TYPES | <t enumDMUS_COMMANDT_TYPES> are used inside the bCommand field of the
  21. <t DMUS_COMMAND_PARAM>.
  22. */
  23. typedef enum enumDMUS_COMMANDT_TYPES
  24. {
  25. DMUS_COMMANDT_GROOVE = 0, // @emem The command is a Groove command.
  26. DMUS_COMMANDT_FILL = 1, // @emem The command is a fill.
  27. DMUS_COMMANDT_INTRO = 2, // @emem The command is an intro.
  28. DMUS_COMMANDT_BREAK = 3, // @emem The command is a break.
  29. DMUS_COMMANDT_END = 4 // @emem The command is an ending.
  30. } DMUS_COMMANDT_TYPES;
  31. /*
  32. @struct DMUS_COMMAND_PARAM | Command Data structure. Used as the <p pParam> parameter in calls to
  33. <om IDirectMusicTrack.GetParam> and <om IDirectMusicTrack.SetParam>
  34. when the track is a command track.
  35. */
  36. typedef struct _DMUS_COMMAND_PARAM
  37. {
  38. BYTE bCommand; //@field The command type.
  39. BYTE bGrooveLevel; //@field The command's groove level. The groove
  40. // level is a value between 1 and 100.
  41. BYTE bGrooveRange; //@field The command's groove range.
  42. } DMUS_COMMAND_PARAM;
  43. /*
  44. @struct DMUS_SUBCHORD | SubChord structure. Used in the SubChordList field of a
  45. <t DMUS_CHORD_PARAM> structure.
  46. */
  47. typedef struct _DMUS_SUBCHORD
  48. {
  49. DWORD dwChordPattern; //@field Notes in the subchord.
  50. DWORD dwScalePattern; //@field Notes in the scale.
  51. DWORD dwInversionPoints; //@field Where inversions can occur.
  52. DWORD dwLevels; //@field Which levels are supported by this subchord.
  53. BYTE bChordRoot; //@field Root of the subchord.
  54. BYTE bScaleRoot; //@field Root of the scale.
  55. } DMUS_SUBCHORD;
  56. /*
  57. @struct DMUS_CHORD_PARAM | Chord structure. Used as the <p pParam> parameter in calls to
  58. <om IDirectMusicTrack.GetParam> and <om IDirectMusicTrack.SetParam>
  59. when the track is a chord track and <p pGuidType> is GUID_ChordTrackChord.
  60. */
  61. typedef struct _DMUS_CHORD_PARAM
  62. {
  63. WCHAR wszName[16]; //@field Name of the chord.
  64. WORD wMeasure; //@field Measure the chord falls on.
  65. BYTE bBeat; //@field Beat the chord falls on.
  66. BYTE bSubChordCount; //@field Number of chords in the chord's list of
  67. // subchords.
  68. DMUS_SUBCHORD SubChordList[DMUS_MAXSUBCHORD]; //@field List of sub chords.
  69. } DMUS_CHORD_PARAM;
  70. /*
  71. @struct DMUS_RHYTHM_PARAM | Rhythm structure. Used as the <p pParam> parameter in calls to
  72. <om IDirectMusicTrack.GetParam>
  73. when the track is a chord track and <p pGuidType> is GUID_ChordTrackRhythm.
  74. */
  75. typedef struct _DMUS_RHYTHM_PARAM
  76. {
  77. DMUS_TIMESIGNATURE TimeSig; //@field The rhythm parameter's time signature.
  78. DWORD dwRhythmPattern; //@field A rhythm pattern for a sequence of chords.
  79. // Each bit represents a beat in one or more measures,
  80. // with a 1 signifying a chord on the beat and a 0
  81. // signifying no chord.
  82. } DMUS_RHYTHM_PARAM;