Source code of Windows XP (NT5)
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.

135 lines
4.7 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (c) 1998-1998 Microsoft Corporation
  6. //
  7. // File: sjdefs.h
  8. //
  9. //--------------------------------------------------------------------------
  10. #ifndef __SJ_DEFINES_H__
  11. #define __SJ_DEFINES_H__
  12. //#define DEFAULT_STYLE_PATH "\\multim~1\\music\\intera~1\\"
  13. // Score defines
  14. #define VNUM 16 // Total number of variations
  15. #define LAST_INSTR 5 // Total number of displayed instr minus 1
  16. #define MAX_OUTS 6 // Max MIDI out devices supported
  17. #define EDITMODES 3
  18. #define MODE_ALLCHORDS 4
  19. #define MODE_FATCHORDS 8
  20. #define BAND_NAME_SIZE 15
  21. #define SECTION_NAME_SIZE 15
  22. #define SONG_NAME_SIZE 20
  23. #define FILTER_SIZE 40
  24. #define TITLE_SIZE 60
  25. #define SMALLEST_OFFSET 96
  26. #define ERRORTEXT_SIZE 100
  27. #define FILENAME_SIZE 256
  28. #define FILENAMES_SIZE 512
  29. #define BUFFER_SIZE 400
  30. #define EVENT_FREED 0x35
  31. #define EVENT_REMOVE 0x5A
  32. #define EVENT_VOICE 1 // Performance event
  33. #define EVENT_REALTIME 2 // qevent() must invoke interrupt
  34. #define EVENT_ONTIME 3 // event should be handled on time
  35. #define FROM_MIDIINPUT 2 // MIDI input
  36. #define DEST_MSG 3 // Post message to app
  37. #define DEST_MIDIOUT 4 // Routed to MIDI mapper
  38. #define DEST_COMPOSER 5 // Routed to composition code
  39. #define DEST_TEMPO 6 // Routed to tempo change code
  40. #define DEST_VOLUME 7 // Routed to volume change code
  41. #define DEST_RTEMPO 8 // Routed to relative tempo change code
  42. #define DEST_RVOLUME 9 // Routed to relative volume change code
  43. #define DEST_REMOVE 10 // Routed to remove code (freeevent)
  44. #define DEST_METRONOME 11 // Routed to metronome code
  45. #define DEST_ENDMOTIF 12 // ends a motif and frees its channels in use
  46. #define DEST_MIDIFILE 13 // Source was a MIDI file, convert to DEST_MIDIOUT
  47. #define NB_OFFSET 0x3 // Offset note up to 7 clicks early
  48. #define PF_FILL 0x0001 // Fill pattern
  49. #define PF_START 0x0002 // May be starting pattern
  50. #define PF_INTRO 0x0002
  51. #define PF_WHOLE 0x0004 // Handles chords on measures
  52. #define PF_HALF 0x0008 // Chords every two beats
  53. #define PF_QUARTER 0x0010 // Chords on beats
  54. #define PF_BREAK 0x0020
  55. #define PF_END 0x0040
  56. #define PF_A 0x0080
  57. #define PF_B 0x0100
  58. #define PF_C 0x0200
  59. #define PF_D 0x0400
  60. #define PF_E 0x0800
  61. #define PF_F 0x1000
  62. #define PF_G 0x2000
  63. #define PF_H 0x10000
  64. #define PF_STOPNOW 0x4000
  65. #define PF_INRIFF 0x8000
  66. #define PF_MOTIF 0x20000 // this pattern is a motif, not a regular pattern
  67. #define PF_BEATS ( PF_WHOLE | PF_HALF | PF_QUARTER )
  68. #define PF_RIFF ( PF_INTRO | PF_BREAK | PF_FILL | PF_END )
  69. #define PF_GROOVE ( PF_A | PF_B | PF_C | PF_D | PF_E | PF_F | PF_G | PF_H )
  70. #define C_FILL 1 // Do a fill
  71. #define C_INTRO 2 // Do an intro
  72. #define C_BREAK 3 // Do a drum break
  73. #define C_END 4 // End the song
  74. //#define NEXTCHORD_SIZE (sizeof(NextChrd)-sizeof(LPNEXTCHRD)-sizeof(LPCHRDENTRY))
  75. //#define CHORDENTRY_SIZE (sizeof(ChordExt)-sizeof(LPCHORDEXT)+sizeof(unsigned long)+sizeof(short))
  76. #define CE_SELECTED 1 // This is the active chord.
  77. #define CE_START 2
  78. #define CE_END 4
  79. #define CE_MEASURE 8
  80. #define CE_PATH 16
  81. #define CE_TREE 32
  82. // Section Flags
  83. #define SECF_STOPPED_EARLY 0x0001
  84. #define SECF_IS_TRANSITION 0x0002
  85. // chord types for use by each instrument in a pattern
  86. // Chord types for use by each instrument in a pattern
  87. enum
  88. {
  89. CHTYPE_NOTINITIALIZED = 0,
  90. CHTYPE_DRUM, // superceded by CHTYPE_FIXED
  91. // no longer in Note Dialog's combo box selections
  92. // no longer in Pattern Dialog's combo box selections
  93. CHTYPE_BASS, // scale + lower chord
  94. CHTYPE_UPPER, // scale + upper chord
  95. CHTYPE_SCALEONLY, // scale, no chord
  96. CHTYPE_BASSMELODIC,
  97. CHTYPE_UPPERMELODIC,
  98. CHTYPE_NONE, // Ignored on Pattern Dialog's menu selections.
  99. CHTYPE_FIXED
  100. };
  101. #define VF_SCALE 0x7F // Seven positions in the scale
  102. #define VF_ACCIDENTAL 0x80 // Handles chords outside of scale
  103. #define VF_MAJOR 0x100 // Handles major chords
  104. #define VF_MINOR 0x200 // Handles minor chords
  105. #define VF_ALL 0x400 // Handles all chord types
  106. #define VF_TO1 0x800 // Handles transitions to 1 chord
  107. #define VF_TO5 0x1000 // Handles transitions to 5 chord
  108. #define VF_SIMPLE 0x2000 // handles simple chords
  109. #define VF_COMPLEX 0x4000 // handles complex chords
  110. // this expects a voiceid from 1-16
  111. #define VOICEID_TO_CHANNEL( id ) ((DWORD) ( ( id + 3 ) & 0xf ))
  112. #pragma pack()
  113. #endif // __SJ_DEFINES_H__