/usr/x86_64-w64-mingw32/include/dmusicf.h is in mingw-w64-x86-64-dev 2.0.3-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 | /*
* DirectMusic File Formats
*
* Copyright (C) 2003-2004 Rok Mandeljc
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef __WINE_DMUSIC_FILEFORMATS_H
#define __WINE_DMUSIC_FILEFORMATS_H
#ifndef __WINESRC__
#include <windows.h>
#endif /* __WINESRC__ */
#define COM_NO_WINDOWS_H
#include <objbase.h>
#include <mmsystem.h>
#include <pshpack8.h>
#ifdef __cplusplus
extern "C" {
#endif
/*****************************************************************************
* FOURCC Definitions
*/
/* Common chunks */
#define DMUS_FOURCC_GUID_CHUNK mmioFOURCC('g','u','i','d')
#define DMUS_FOURCC_INFO_LIST mmioFOURCC('I','N','F','O')
#define DMUS_FOURCC_UNFO_LIST mmioFOURCC('U','N','F','O')
#define DMUS_FOURCC_UNAM_CHUNK mmioFOURCC('U','N','A','M')
#define DMUS_FOURCC_UART_CHUNK mmioFOURCC('U','A','R','T')
#define DMUS_FOURCC_UCOP_CHUNK mmioFOURCC('U','C','O','P')
#define DMUS_FOURCC_USBJ_CHUNK mmioFOURCC('U','S','B','J')
#define DMUS_FOURCC_UCMT_CHUNK mmioFOURCC('U','C','M','T')
#define DMUS_FOURCC_CATEGORY_CHUNK mmioFOURCC('c','a','t','g')
#define DMUS_FOURCC_VERSION_CHUNK mmioFOURCC('v','e','r','s')
/* AudioPath */
#define DMUS_FOURCC_AUDIOPATH_FORM mmioFOURCC('D','M','A','P')
#define DMUS_FOURCC_PORTCONFIGS_LIST mmioFOURCC('p','c','s','l')
#define DMUS_FOURCC_PORTCONFIG_LIST mmioFOURCC('p','c','f','l')
#define DMUS_FOURCC_PORTCONFIG_ITEM mmioFOURCC('p','c','f','h')
#define DMUS_FOURCC_PORTPARAMS_ITEM mmioFOURCC('p','p','r','h')
#define DMUS_FOURCC_DSBUFFER_LIST mmioFOURCC('d','b','f','l')
#define DMUS_FOURCC_DSBUFFATTR_ITEM mmioFOURCC('d','d','a','h')
#define DMUS_FOURCC_PCHANNELS_LIST mmioFOURCC('p','c','h','l')
#define DMUS_FOURCC_PCHANNELS_ITEM mmioFOURCC('p','c','h','h')
/* Band */
#define DMUS_FOURCC_BAND_FORM mmioFOURCC('D','M','B','D')
#define DMUS_FOURCC_INSTRUMENTS_LIST mmioFOURCC('l','b','i','l')
#define DMUS_FOURCC_INSTRUMENT_LIST mmioFOURCC('l','b','i','n')
#define DMUS_FOURCC_INSTRUMENT_CHUNK mmioFOURCC('b','i','n','s')
/* Chordmap */
#define DMUS_FOURCC_CHORDMAP_FORM mmioFOURCC('D','M','P','R')
#define DMUS_FOURCC_IOCHORDMAP_CHUNK mmioFOURCC('p','e','r','h')
#define DMUS_FOURCC_SUBCHORD_CHUNK mmioFOURCC('c','h','d','t')
#define DMUS_FOURCC_CHORDENTRY_CHUNK mmioFOURCC('c','h','e','h')
#define DMUS_FOURCC_SUBCHORDID_CHUNK mmioFOURCC('s','b','c','n')
#define DMUS_FOURCC_IONEXTCHORD_CHUNK mmioFOURCC('n','c','r','d')
#define DMUS_FOURCC_NEXTCHORDSEQ_CHUNK mmioFOURCC('n','c','s','q')
#define DMUS_FOURCC_IOSIGNPOST_CHUNK mmioFOURCC('s','p','s','h')
#define DMUS_FOURCC_CHORDNAME_CHUNK mmioFOURCC('I','N','A','M')
#define DMUS_FOURCC_CHORDENTRY_LIST mmioFOURCC('c','h','o','e')
#define DMUS_FOURCC_CHORDMAP_LIST mmioFOURCC('c','m','a','p')
#define DMUS_FOURCC_CHORD_LIST mmioFOURCC('c','h','r','d')
#define DMUS_FOURCC_CHORDPALETTE_LIST mmioFOURCC('c','h','p','l')
#define DMUS_FOURCC_CADENCE_LIST mmioFOURCC('c','a','d','e')
#define DMUS_FOURCC_SIGNPOSTITEM_LIST mmioFOURCC('s','p','s','t')
#define DMUS_FOURCC_SIGNPOST_LIST mmioFOURCC('s','p','s','q')
/* Container */
#define DMUS_FOURCC_CONTAINER_FORM mmioFOURCC('D','M','C','N')
#define DMUS_FOURCC_CONTAINER_CHUNK mmioFOURCC('c','o','n','h')
#define DMUS_FOURCC_CONTAINED_ALIAS_CHUNK mmioFOURCC('c','o','b','a')
#define DMUS_FOURCC_CONTAINED_OBJECT_CHUNK mmioFOURCC('c','o','b','h')
#define DMUS_FOURCC_CONTAINED_OBJECTS_LIST mmioFOURCC('c','o','s','l')
#define DMUS_FOURCC_CONTAINED_OBJECT_LIST mmioFOURCC('c','o','b','l')
/* DirectSound Buffer Configuration */
#define DMUS_FOURCC_DSBC_FORM mmioFOURCC('D','S','B','C')
#define DMUS_FOURCC_DSBD_CHUNK mmioFOURCC('d','s','b','d')
#define DMUS_FOURCC_BSID_CHUNK mmioFOURCC('b','s','i','d')
#define DMUS_FOURCC_DS3D_CHUNK mmioFOURCC('d','s','3','d')
#define DMUS_FOURCC_DSBC_LIST mmioFOURCC('f','x','l','s')
/* Effects */
#define DMUS_FOURCC_DSFX_FORM mmioFOURCC('D','S','F','X')
#define DMUS_FOURCC_DSFX_CHUNK mmioFOURCC('f','x','h','r')
#define DMUS_FOURCC_DSFX_DATA mmioFOURCC('d','a','t','a')
/* Reference */
#define DMUS_FOURCC_REF_LIST mmioFOURCC('D','M','R','F')
#define DMUS_FOURCC_REF_CHUNK mmioFOURCC('r','e','f','h')
#define DMUS_FOURCC_DATE_CHUNK mmioFOURCC('d','a','t','e')
#define DMUS_FOURCC_NAME_CHUNK mmioFOURCC('n','a','m','e')
#define DMUS_FOURCC_FILE_CHUNK mmioFOURCC('f','i','l','e')
/* Script */
#define DMUS_FOURCC_SCRIPT_FORM mmioFOURCC('D','M','S','C')
#define DMUS_FOURCC_SCRIPT_CHUNK mmioFOURCC('s','c','h','d')
#define DMUS_FOURCC_SCRIPTVERSION_CHUNK mmioFOURCC('s','c','v','e')
#define DMUS_FOURCC_SCRIPTLANGUAGE_CHUNK mmioFOURCC('s','c','l','a')
#define DMUS_FOURCC_SCRIPTSOURCE_CHUNK mmioFOURCC('s','c','s','r')
/* Segment */
#define DMUS_FOURCC_SEGMENT_FORM mmioFOURCC('D','M','S','G')
#define DMUS_FOURCC_SEGMENT_CHUNK mmioFOURCC('s','e','g','h')
#define DMUS_FOURCC_TRACK_LIST mmioFOURCC('t','r','k','l')
/* Style chunks */
#define DMUS_FOURCC_STYLE_FORM mmioFOURCC('D','M','S','T')
#define DMUS_FOURCC_STYLE_CHUNK mmioFOURCC('s','t','y','h')
#define DMUS_FOURCC_PART_LIST mmioFOURCC('p','a','r','t')
#define DMUS_FOURCC_PART_CHUNK mmioFOURCC('p','r','t','h')
#define DMUS_FOURCC_NOTE_CHUNK mmioFOURCC('n','o','t','e')
#define DMUS_FOURCC_CURVE_CHUNK mmioFOURCC('c','r','v','e')
#define DMUS_FOURCC_MARKER_CHUNK mmioFOURCC('m','r','k','r')
#define DMUS_FOURCC_RESOLUTION_CHUNK mmioFOURCC('r','s','l','n')
#define DMUS_FOURCC_ANTICIPATION_CHUNK mmioFOURCC('a','n','p','n')
#define DMUS_FOURCC_PATTERN_LIST mmioFOURCC('p','t','t','n')
#define DMUS_FOURCC_PATTERN_CHUNK mmioFOURCC('p','t','n','h')
#define DMUS_FOURCC_RHYTHM_CHUNK mmioFOURCC('r','h','t','m')
#define DMUS_FOURCC_PARTREF_LIST mmioFOURCC('p','r','e','f')
#define DMUS_FOURCC_PARTREF_CHUNK mmioFOURCC('p','r','f','c')
#define DMUS_FOURCC_STYLE_PERS_REF_LIST mmioFOURCC('p','r','r','f')
#define DMUS_FOURCC_MOTIFSETTINGS_CHUNK mmioFOURCC('m','t','f','s')
/* Tool */
#define DMUS_FOURCC_TOOL_FORM mmioFOURCC('D','M','T','L')
#define DMUS_FOURCC_TOOL_CHUNK mmioFOURCC('t','o','l','h')
/* ToolGraph */
#define DMUS_FOURCC_TOOLGRAPH_FORM mmioFOURCC('D','M','T','G')
#define DMUS_FOURCC_TOOL_LIST mmioFOURCC('t','o','l','l')
/* Track */
#define DMUS_FOURCC_TRACK_FORM mmioFOURCC('D','M','T','K')
#define DMUS_FOURCC_TRACK_CHUNK mmioFOURCC('t','r','k','h')
#define DMUS_FOURCC_TRACK_EXTRAS_CHUNK mmioFOURCC('t','r','k','x')
/* Band Track */
#define DMUS_FOURCC_BANDTRACK_FORM mmioFOURCC('D','M','B','T')
#define DMUS_FOURCC_BANDTRACK_CHUNK mmioFOURCC('b','d','t','h')
#define DMUS_FOURCC_BANDS_LIST mmioFOURCC('l','b','d','l')
#define DMUS_FOURCC_BAND_LIST mmioFOURCC('l','b','n','d')
#define DMUS_FOURCC_BANDITEM_CHUNK mmioFOURCC('b','d','i','h')
#define DMUS_FOURCC_BANDITEM_CHUNK2 mmioFOURCC('b','d','2','h')
/* Chord Track */
#define DMUS_FOURCC_CHORDTRACK_LIST mmioFOURCC('c','o','r','d')
#define DMUS_FOURCC_CHORDTRACKHEADER_CHUNK mmioFOURCC('c','r','d','h')
#define DMUS_FOURCC_CHORDTRACKBODY_CHUNK mmioFOURCC('c','r','d','b')
/* Chordmap Track */
#define DMUS_FOURCC_PERS_TRACK_LIST mmioFOURCC('p','f','t','r')
#define DMUS_FOURCC_PERS_REF_LIST mmioFOURCC('p','f','r','f')
#define DMUS_FOURCC_TIME_STAMP_CHUNK mmioFOURCC('s','t','m','p')
/* Command Track */
#define DMUS_FOURCC_COMMANDTRACK_CHUNK mmioFOURCC('c','m','n','d')
/* Lyrics Track */
#define DMUS_FOURCC_LYRICSTRACK_LIST mmioFOURCC('l','y','r','t')
#define DMUS_FOURCC_LYRICSTRACKEVENTS_LIST mmioFOURCC('l','y','r','l')
#define DMUS_FOURCC_LYRICSTRACKEVENT_LIST mmioFOURCC('l','y','r','e')
#define DMUS_FOURCC_LYRICSTRACKEVENTHEADER_CHUNK mmioFOURCC('l','y','r','h')
#define DMUS_FOURCC_LYRICSTRACKEVENTTEXT_CHUNK mmioFOURCC('l','y','r','n')
/* Marker Track */
#define DMUS_FOURCC_MARKERTRACK_LIST mmioFOURCC('M','A','R','K')
#define DMUS_FOURCC_VALIDSTART_CHUNK mmioFOURCC('v','a','l','s')
#define DMUS_FOURCC_PLAYMARKER_CHUNK mmioFOURCC('p','l','a','y')
/* Mute Track */
#define DMUS_FOURCC_MUTE_CHUNK mmioFOURCC('m','u','t','e')
/* Parameter Control Track */
#define DMUS_FOURCC_PARAMCONTROLTRACK_TRACK_LIST mmioFOURCC('p','r','m','t')
#define DMUS_FOURCC_PARAMCONTROLTRACK_OBJECT_LIST mmioFOURCC('p','r','o','l')
#define DMUS_FOURCC_PARAMCONTROLTRACK_OBJECT_CHUNK mmioFOURCC('p','r','o','h')
#define DMUS_FOURCC_PARAMCONTROLTRACK_PARAM_LIST mmioFOURCC('p','r','p','l')
#define DMUS_FOURCC_PARAMCONTROLTRACK_PARAM_CHUNK mmioFOURCC('p','r','p','h')
#define DMUS_FOURCC_PARAMCONTROLTRACK_CURVES_CHUNK mmioFOURCC('p','r','c','c')
/* Pattern Track */
#define DMUS_FOURCC_PATTERN_FORM mmioFOURCC('D','M','P','T')
/* Script Track */
#define DMUS_FOURCC_SCRIPTTRACK_LIST mmioFOURCC('s','c','r','t')
#define DMUS_FOURCC_SCRIPTTRACKEVENTS_LIST mmioFOURCC('s','c','r','l')
#define DMUS_FOURCC_SCRIPTTRACKEVENT_LIST mmioFOURCC('s','c','r','e')
#define DMUS_FOURCC_SCRIPTTRACKEVENTHEADER_CHUNK mmioFOURCC('s','c','r','h')
#define DMUS_FOURCC_SCRIPTTRACKEVENTNAME_CHUNK mmioFOURCC('s','c','r','n')
/* Segment Trgigger Track */
#define DMUS_FOURCC_SEGTRACK_LIST mmioFOURCC('s','e','g','t')
#define DMUS_FOURCC_SEGTRACK_CHUNK mmioFOURCC('s','g','t','h')
#define DMUS_FOURCC_SEGMENTS_LIST mmioFOURCC('l','s','g','l')
#define DMUS_FOURCC_SEGMENT_LIST mmioFOURCC('l','s','e','g')
#define DMUS_FOURCC_SEGMENTITEM_CHUNK mmioFOURCC('s','g','i','h')
#define DMUS_FOURCC_SEGMENTITEMNAME_CHUNK mmioFOURCC('s','n','a','m')
/* Sequence Track */
#define DMUS_FOURCC_SEQ_TRACK mmioFOURCC('s','e','q','t')
#define DMUS_FOURCC_SEQ_LIST mmioFOURCC('e','v','t','l')
#define DMUS_FOURCC_CURVE_LIST mmioFOURCC('c','u','r','l')
/* Signpost Track */
#define DMUS_FOURCC_SIGNPOST_TRACK_CHUNK mmioFOURCC('s','g','n','p')
/* Style Track */
#define DMUS_FOURCC_STYLE_TRACK_LIST mmioFOURCC('s','t','t','r')
#define DMUS_FOURCC_STYLE_REF_LIST mmioFOURCC('s','t','r','f')
/* SysEx Track */
#define DMUS_FOURCC_SYSEX_TRACK mmioFOURCC('s','y','e','x')
/* Tempo Track */
#define DMUS_FOURCC_TEMPO_TRACK mmioFOURCC('t','e','t','r')
/* Time Signature Track */
#define DMUS_FOURCC_TIMESIGNATURE_TRACK mmioFOURCC('t','i','m','s')
#define DMUS_FOURCC_TIMESIGTRACK_LIST mmioFOURCC('T','I','M','S')
#define DMUS_FOURCC_TIMESIG_CHUNK DMUS_FOURCC_TIMESIGNATURE_TRACK
/* Wave Track */
#define DMUS_FOURCC_WAVETRACK_LIST mmioFOURCC('w','a','v','t')
#define DMUS_FOURCC_WAVETRACK_CHUNK mmioFOURCC('w','a','t','h')
#define DMUS_FOURCC_WAVEPART_LIST mmioFOURCC('w','a','v','p')
#define DMUS_FOURCC_WAVEPART_CHUNK mmioFOURCC('w','a','p','h')
#define DMUS_FOURCC_WAVEITEM_LIST mmioFOURCC('w','a','v','i')
#define DMUS_FOURCC_WAVE_LIST mmioFOURCC('w','a','v','e')
#define DMUS_FOURCC_WAVEITEM_CHUNK mmioFOURCC('w','a','i','h')
/* Wave Header */
#define DMUS_FOURCC_WAVEHEADER_CHUNK mmioFOURCC('w','a','v','h')
/*****************************************************************************
* Flags
*/
#define DMUS_BUFFERF_SHARED 0x1
#define DMUS_BUFFERF_DEFINED 0x2
#define DMUS_BUFFERF_MIXIN 0x8
#define DMUS_CHORDMAPF_VERSION8 0x1
#define DMUS_CONTAINED_OBJF_KEEP 0x1
#define DMUS_CONTAINER_NOLOADS 0x2
#define DMUS_IO_INST_PATCH 0x0001
#define DMUS_IO_INST_BANKSELECT 0x0002
#define DMUS_IO_INST_ASSIGN_PATCH 0x0008
#define DMUS_IO_INST_NOTERANGES 0x0010
#define DMUS_IO_INST_PAN 0x0020
#define DMUS_IO_INST_VOLUME 0x0040
#define DMUS_IO_INST_TRANSPOSE 0x0080
#define DMUS_IO_INST_GM 0x0100
#define DMUS_IO_INST_GS 0x0200
#define DMUS_IO_INST_XG 0x0400
#define DMUS_IO_INST_CHANNEL_PRIORITY 0x0800
#define DMUS_IO_INST_USE_DEFAULT_GM_SET 0x1000
#define DMUS_IO_INST_PITCHBENDRANGE 0x2000
#define DMUS_IO_SCRIPTTRACKF_PREPARE 0x1
#define DMUS_IO_SCRIPTTRACKF_QUEUE 0x2
#define DMUS_IO_SCRIPTTRACKF_ATTIME 0x4
#define DMUS_MARKERF_START 0x1
#define DMUS_MARKERF_STOP 0x2
#define DMUS_MARKERF_CHORD_ALIGN 0x4
#define DMUS_PATTERNF_PERSIST_CONTROL 0x1
#define DMUS_PARTF_USE_MARKERS 0x1
#define DMUS_PARTF_ALIGN_CHORDS 0x2
#define DMUS_PORTCONFIGF_DRUMSON10 0x1
#define DMUS_PORTCONFIGF_USEDEFAULT 0x2
#define DMUS_SCRIPTIOF_LOAD_ALL_CONTENT 0x1
#define DMUS_SCRIPTIOF_DOWNLOAD_ALL_SEGMENTS 0x2
#define DMUS_SEGIOF_REFLENGTH 0x1
#define DMUS_SEGIOF_CLOCKTIME 0x2
#define DMUS_SEGMENTTRACKF_MOTIF 0x1
/* Song flags; MS doesn't support this in DX 9.0 anymore */
#define DMUS_SONG_MAXSEGID 0x7FFFFFFF
#define DMUS_SONG_ANYSEG 0x80000000
#define DMUS_SONG_NOSEG 0xFFFFFFFF
#define DMUS_SONG_NOFROMSEG 0x80000001
#define DMUS_SIGNPOSTF_A 0x0001
#define DMUS_SIGNPOSTF_B 0x0002
#define DMUS_SIGNPOSTF_C 0x0004
#define DMUS_SIGNPOSTF_D 0x0008
#define DMUS_SIGNPOSTF_E 0x0010
#define DMUS_SIGNPOSTF_F 0x0020
#define DMUS_SIGNPOSTF_1 0x0100
#define DMUS_SIGNPOSTF_2 0x0200
#define DMUS_SIGNPOSTF_3 0x0400
#define DMUS_SIGNPOSTF_4 0x0800
#define DMUS_SIGNPOSTF_5 0x1000
#define DMUS_SIGNPOSTF_6 0x2000
#define DMUS_SIGNPOSTF_7 0x4000
#define DMUS_SIGNPOSTF_CADENCE 0x8000
#define DMUS_SIGNPOSTF_LETTER (DMUS_SIGNPOSTF_A | DMUS_SIGNPOSTF_B | DMUS_SIGNPOSTF_C | DMUS_SIGNPOSTF_D | DMUS_SIGNPOSTF_E | DMUS_SIGNPOSTF_F)
#define DMUS_SIGNPOSTF_ROOT (DMUS_SIGNPOSTF_1 | DMUS_SIGNPOSTF_2 | DMUS_SIGNPOSTF_3 | DMUS_SIGNPOSTF_4 | DMUS_SIGNPOSTF_5 | DMUS_SIGNPOSTF_6 | DMUS_SIGNPOSTF_7)
#define DMUS_SPOSTCADENCEF_1 0x2
#define DMUS_SPOSTCADENCEF_2 0x4
#define DMUS_VARIATIONF_MAJOR 0x0000007F
#define DMUS_VARIATIONF_MINOR 0x00003F80
#define DMUS_VARIATIONF_OTHER 0x001FC000
#define DMUS_VARIATIONF_ROOT_SCALE 0x00200000
#define DMUS_VARIATIONF_ROOT_FLAT 0x00400000
#define DMUS_VARIATIONF_ROOT_SHARP 0x00800000
#define DMUS_VARIATIONF_TYPE_TRIAD 0x01000000
#define DMUS_VARIATIONF_TYPE_6AND7 0x02000000
#define DMUS_VARIATIONF_TYPE_COMPLEX 0x04000000
#define DMUS_VARIATIONF_DEST_TO1 0x08000000
#define DMUS_VARIATIONF_DEST_TO5 0x10000000
#define DMUS_VARIATIONF_DEST_OTHER 0x40000000
#define DMUS_VARIATIONF_MODES 0xE0000000
#define DMUS_VARIATIONF_MODES_EX (0x20000000 | 0x80000000)
#define DMUS_VARIATIONF_IMA25_MODE 0x00000000
#define DMUS_VARIATIONF_DMUS_MODE 0x20000000
#define DMUS_WAVETRACKF_SYNC_VAR 0x1
#define DMUS_WAVETRACKF_PERSIST_CONTROL 0x2
/*****************************************************************************
* Enumerations
*/
/* typedef definitions */
typedef enum enumDMUS_VARIATIONT_TYPES DMUS_VARIATIONT_TYPES;
typedef enum enumDMUS_EMBELLISHT_TYPES DMUS_EMBELLISHT_TYPES;
typedef enum enumDMUS_PATTERNT_TYPES DMUS_PATTERNT_TYPES;
/* actual enumerations */
enum enumDMUS_VARIATIONT_TYPES {
DMUS_VARIATIONT_SEQUENTIAL = 0x0,
DMUS_VARIATIONT_RANDOM = 0x1,
DMUS_VARIATIONT_RANDOM_START = 0x2,
DMUS_VARIATIONT_NO_REPEAT = 0x3,
DMUS_VARIATIONT_RANDOM_ROW = 0x4
};
enum enumDMUS_EMBELLISHT_TYPES {
DMUS_EMBELLISHT_NORMAL = 0x0000,
DMUS_EMBELLISHT_FILL = 0x0001,
DMUS_EMBELLISHT_BREAK = 0x0002,
DMUS_EMBELLISHT_INTRO = 0x0004,
DMUS_EMBELLISHT_END = 0x0008,
DMUS_EMBELLISHT_MOTIF = 0x0010,
DMUS_EMBELLISHT_ALL = 0xFFFF
};
enum enumDMUS_PATTERNT_TYPES {
DMUS_PATTERNT_RANDOM = 0x0,
DMUS_PATTERNT_REPEAT = 0x1,
DMUS_PATTERNT_SEQUENTIAL = 0x2,
DMUS_PATTERNT_RANDOM_START = 0x3,
DMUS_PATTERNT_NO_REPEAT = 0x4,
DMUS_PATTERNT_RANDOM_ROW = 0x5
};
/*****************************************************************************
* Structures
*/
/* typedef definitions */
typedef struct _DMUS_IO_SEQ_ITEM DMUS_IO_SEQ_ITEM, *LPDMUS_IO_SEQ_ITEM;
typedef struct _DMUS_IO_CURVE_ITEM DMUS_IO_CURVE_ITEM, *LPDMUS_IO_CURVE_ITEM;
typedef struct _DMUS_IO_TEMPO_ITEM DMUS_IO_TEMPO_ITEM, *LPDMUS_IO_TEMPO_ITEM;
typedef struct _DMUS_IO_SYSEX_ITEM DMUS_IO_SYSEX_ITEM, *LPDMUS_IO_SYSEX_ITEM;
typedef struct DMUS_CHORD_KEY DMUS_CHORD_PARAM, *LPDMUS_CHORD_PARAM; /* in dmusici.h */
typedef struct _DMUS_RHYTHM_PARAM DMUS_RHYTHM_PARAM, *LPDMUS_RHYTHM_PARAM;
typedef struct _DMUS_TEMPO_PARAM DMUS_TEMPO_PARAM, *LPDMUS_TEMPO_PARAM;
typedef struct _DMUS_MUTE_PARAM DMUS_MUTE_PARAM, *LPDMUS_MUTE_PARAM;
typedef struct _DMUS_IO_TIMESIG DMUS_IO_TIMESIG, *LPDMUS_IO_TIMESIG;
typedef struct _DMUS_IO_STYLE DMUS_IO_STYLE, *LPDMUS_IO_STYLE;
typedef struct _DMUS_IO_VERSION DMUS_IO_VERSION, *LPDMUS_IO_VERSION;
typedef struct _DMUS_IO_PATTERN DMUS_IO_PATTERN, *LPDMUS_IO_PATTERN;
typedef struct _DMUS_IO_STYLEPART DMUS_IO_STYLEPART, *LPDMUS_IO_STYLEPART;
typedef struct _DMUS_IO_PARTREF DMUS_IO_PARTREF, *LPDMUS_IO_PARTREF;
typedef struct _DMUS_IO_STYLENOTE DMUS_IO_STYLENOTE, *LPDMUS_IO_STYLENOTE;
typedef struct _DMUS_IO_STYLECURVE DMUS_IO_STYLECURVE, *LPDMUS_IO_STYLECURVE;
typedef struct _DMUS_IO_STYLEMARKER DMUS_IO_STYLEMARKER, *LPDMUS_IO_STYLEMARKER;
typedef struct _DMUS_IO_STYLERESOLUTION DMUS_IO_STYLERESOLUTION, *LPDMUS_IO_STYLERESOLUTION;
typedef struct _DMUS_IO_STYLE_ANTICIPATION DMUS_IO_STYLE_ANTICIPATION, *LPDMUS_IO_STYLE_ANTICIPATION;
typedef struct _DMUS_IO_MOTIFSETTINGS DMUS_IO_MOTIFSETTINGS, *LPDMUS_IO_MOTIFSETTINGS;
typedef struct _DMUS_IO_CHORD DMUS_IO_CHORD, *LPDMUS_IO_CHORD;
typedef struct _DMUS_IO_SUBCHORD DMUS_IO_SUBCHORD, *LPDMUS_IO_SUBCHORD;
typedef struct _DMUS_IO_COMMAND DMUS_IO_COMMAND, *LPDMUS_IO_COMMAND;
typedef struct _DMUS_IO_TOOL_HEADER DMUS_IO_TOOL_HEADER, *LPDMUS_IO_TOOL_HEADER;
typedef struct _DMUS_IO_PORTCONFIG_HEADER DMUS_IO_PORTCONFIG_HEADER, *LPDMUS_IO_PORTCONFIG_HEADER;
typedef struct _DMUS_IO_PCHANNELTOBUFFER_HEADER DMUS_IO_PCHANNELTOBUFFER_HEADER, *LPDMUS_IO_PCHANNELTOBUFFER_HEADER;
typedef struct _DMUS_IO_BUFFER_ATTRIBUTES_HEADER DMUS_IO_BUFFER_ATTRIBUTES_HEADER, *LPDMUS_IO_BUFFER_ATTRIBUTES_HEADER;
typedef struct _DMUS_IO_BAND_TRACK_HEADER DMUS_IO_BAND_TRACK_HEADER, *LPDMUS_IO_BAND_TRACK_HEADER;
typedef struct _DMUS_IO_BAND_ITEM_HEADER DMUS_IO_BAND_ITEM_HEADER, *LPDMUS_IO_BAND_ITEM_HEADER;
typedef struct _DMUS_IO_BAND_ITEM_HEADER2 DMUS_IO_BAND_ITEM_HEADER2, *LPDMUS_IO_BAND_ITEM_HEADER2;
typedef struct _DMUS_IO_INSTRUMENT DMUS_IO_INSTRUMENT, *LPDMUS_IO_INSTRUMENT;
typedef struct _DMUS_IO_WAVE_HEADER DMUS_IO_WAVE_HEADER, *LPDMUS_IO_WAVE_HEADER;
typedef struct _DMUS_IO_WAVE_TRACK_HEADER DMUS_IO_WAVE_TRACK_HEADER, *LPDMUS_IO_WAVE_TRACK_HEADER;
typedef struct _DMUS_IO_WAVE_PART_HEADER DMUS_IO_WAVE_PART_HEADER, *LPDMUS_IO_WAVE_PART_HEADER;
typedef struct _DMUS_IO_WAVE_ITEM_HEADER DMUS_IO_WAVE_ITEM_HEADER, *LPDMUS_IO_WAVE_ITEM_HEADER;
typedef struct _DMUS_IO_CONTAINER_HEADER DMUS_IO_CONTAINER_HEADER, *LPDMUS_IO_CONTAINER_HEADER;
typedef struct _DMUS_IO_CONTAINED_OBJECT_HEADER DMUS_IO_CONTAINED_OBJECT_HEADER, *LPDMUS_IO_CONTAINED_OBJECT_HEADER;
typedef struct _DMUS_IO_SEGMENT_HEADER DMUS_IO_SEGMENT_HEADER, *LPDMUS_IO_SEGMENT_HEADER;
typedef struct _DMUS_IO_TRACK_HEADER DMUS_IO_TRACK_HEADER, *LPDMUS_IO_TRACK_HEADER;
typedef struct _DMUS_IO_TRACK_EXTRAS_HEADER DMUS_IO_TRACK_EXTRAS_HEADER, *LPDMUS_IO_TRACK_EXTRAS_HEADER;
typedef struct _DMUS_IO_REFERENCE DMUS_IO_REFERENCE, *LPDMUS_IO_REFERENCE;
typedef struct _DMUS_IO_CHORDMAP DMUS_IO_CHORDMAP, *LPDMUS_IO_CHORDMAP;
typedef struct _DMUS_IO_CHORDMAP_SUBCHORD DMUS_IO_CHORDMAP_SUBCHORD, *LPDMUS_IO_CHORDMAP_SUBCHORD;
typedef struct _DMUS_IO_CHORDMAP_SUBCHORD DMUS_IO_PERS_SUBCHORD, *LPDMUS_IO_PERS_SUBCHORD;
typedef struct _DMUS_IO_CHORDENTRY DMUS_IO_CHORDENTRY, *LPDMUS_IO_CHORDENTRY;
typedef struct _DMUS_IO_NEXTCHORD DMUS_IO_NEXTCHORD, *LPDMUS_IO_NEXTCHORD;
typedef struct _DMUS_IO_CHORDMAP_SIGNPOST DMUS_IO_CHORDMAP_SIGNPOST, *LPDMUS_IO_CHORDMAP_SIGNPOST;
typedef struct _DMUS_IO_CHORDMAP_SIGNPOST DMUS_IO_PERS_SIGNPOST, *LPDMUS_IO_PERS_SIGNPOST;
typedef struct _DMUS_IO_SCRIPT_HEADER DMUS_IO_SCRIPT_HEADER, *LPDMUS_IO_SCRIPT_HEADER;
typedef struct _DMUS_IO_SIGNPOST DMUS_IO_SIGNPOST, *LPDMUS_IO_SIGNPOST;
typedef struct _DMUS_IO_MUTE DMUS_IO_MUTE, *LPDMUS_IO_MUTE;
typedef struct _DMUS_IO_TIMESIGNATURE_ITEM DMUS_IO_TIMESIGNATURE_ITEM, *LPDMUS_IO_TIMESIGNATURE_ITEM;
typedef struct _DMUS_IO_VALID_START DMUS_IO_VALID_START, *LPDMUS_IO_VALID_START;
typedef struct _DMUS_IO_PLAY_MARKER DMUS_IO_PLAY_MARKER, *LPDMUS_IO_PLAY_MARKER;
typedef struct _DMUS_IO_SEGMENT_TRACK_HEADER DMUS_IO_SEGMENT_TRACK_HEADER, *LPDMUS_IO_SEGMENT_TRACK_HEADER;
typedef struct _DMUS_IO_SEGMENT_ITEM_HEADER DMUS_IO_SEGMENT_ITEM_HEADER, *LPDMUS_IO_SEGMENT_ITEM_HEADER;
typedef struct _DMUS_IO_SCRIPTTRACK_EVENTHEADER DMUS_IO_SCRIPTTRACK_EVENTHEADER, *LPDMUS_IO_SCRIPTTRACK_EVENTHEADER;
typedef struct _DMUS_IO_LYRICSTRACK_EVENTHEADER DMUS_IO_LYRICSTRACK_EVENTHEADER, *LPDMUS_IO_LYRICSTRACK_EVENTHEADER;
typedef struct _DMUS_IO_PARAMCONTROLTRACK_OBJECTHEADER DMUS_IO_PARAMCONTROLTRACK_OBJECTHEADER, *LPDMUS_IO_PARAMCONTROLTRACK_OBJECTHEADER;
typedef struct _DMUS_IO_PARAMCONTROLTRACK_PARAMHEADER DMUS_IO_PARAMCONTROLTRACK_PARAMHEADER, *LPDMUS_IO_PARAMCONTROLTRACK_PARAMHEADER;
typedef struct _DMUS_IO_PARAMCONTROLTRACK_CURVEINFO DMUS_IO_PARAMCONTROLTRACK_CURVEINFO, *LPDMUS_IO_PARAMCONTROLTRACK_CURVEINFO;
typedef struct _DSOUND_IO_DSBUFFERDESC DSOUND_IO_DSBUFFERDESC, *LPDSOUND_IO_DSBUFFERDESC;
typedef struct _DSOUND_IO_DSBUSID DSOUND_IO_DSBUSID, *LPDSOUND_IO_DSBUSID;
typedef struct _DSOUND_IO_3D DSOUND_IO_3D, *LPDSOUND_IO_3D;
typedef struct _DSOUND_IO_DXDMO_HEADER DSOUND_IO_DXDMO_HEADER, *LPDSOUND_IO_DXDMO_HEADER;
typedef struct _DSOUND_IO_DXDMO_DATA DSOUND_IO_DXDMO_DATA, *LPDSOUND_IO_DXDMO_DATA;
/* actual structures */
struct _DMUS_IO_SEQ_ITEM {
MUSIC_TIME mtTime;
MUSIC_TIME mtDuration;
DWORD dwPChannel;
short nOffset;
BYTE bStatus;
BYTE bByte1;
BYTE bByte2;
};
struct _DMUS_IO_CURVE_ITEM {
MUSIC_TIME mtStart;
MUSIC_TIME mtDuration;
MUSIC_TIME mtResetDuration;
DWORD dwPChannel;
short nOffset;
short nStartValue;
short nEndValue;
short nResetValue;
BYTE bType;
BYTE bCurveShape;
BYTE bCCData;
BYTE bFlags;
/* DX8 */
WORD wParamType;
WORD wMergeIndex;
};
struct _DMUS_IO_TEMPO_ITEM {
MUSIC_TIME lTime;
double dblTempo;
};
struct _DMUS_IO_SYSEX_ITEM {
MUSIC_TIME mtTime;
DWORD dwPChannel;
DWORD dwSysExLength;
};
struct _DMUS_RHYTHM_PARAM {
DMUS_TIMESIGNATURE TimeSig;
DWORD dwRhythmPattern;
};
struct _DMUS_TEMPO_PARAM {
MUSIC_TIME mtTime;
double dblTempo;
};
struct _DMUS_MUTE_PARAM {
DWORD dwPChannel;
DWORD dwPChannelMap;
WINBOOL fMute;
};
#pragma pack(2)
struct _DMUS_IO_TIMESIG {
BYTE bBeatsPerMeasure;
BYTE bBeat;
WORD wGridsPerBeat;
};
struct _DMUS_IO_STYLE {
DMUS_IO_TIMESIG timeSig;
double dblTempo;
};
struct _DMUS_IO_VERSION {
DWORD dwVersionMS;
DWORD dwVersionLS;
};
struct _DMUS_IO_PATTERN {
DMUS_IO_TIMESIG timeSig;
BYTE bGrooveBottom;
BYTE bGrooveTop;
WORD wEmbellishment;
WORD wNbrMeasures;
BYTE bDestGrooveBottom;
BYTE bDestGrooveTop;
DWORD dwFlags;
};
struct _DMUS_IO_STYLEPART {
DMUS_IO_TIMESIG timeSig;
DWORD dwVariationChoices[32];
GUID guidPartID;
WORD wNbrMeasures;
BYTE bPlayModeFlags;
BYTE bInvertUpper;
BYTE bInvertLower;
BYTE bPad[3];
DWORD dwFlags;
};
struct _DMUS_IO_PARTREF {
GUID guidPartID;
WORD wLogicalPartID;
BYTE bVariationLockID;
BYTE bSubChordLevel;
BYTE bPriority;
BYTE bRandomVariation;
WORD wPad;
DWORD dwPChannel;
};
struct _DMUS_IO_STYLENOTE {
MUSIC_TIME mtGridStart;
DWORD dwVariation;
MUSIC_TIME mtDuration;
short nTimeOffset;
WORD wMusicValue;
BYTE bVelocity;
BYTE bTimeRange;
BYTE bDurRange;
BYTE bVelRange;
BYTE bInversionID;
BYTE bPlayModeFlags;
/* DX8 */
BYTE bNoteFlags;
};
struct _DMUS_IO_STYLECURVE {
MUSIC_TIME mtGridStart;
DWORD dwVariation;
MUSIC_TIME mtDuration;
MUSIC_TIME mtResetDuration;
short nTimeOffset;
short nStartValue;
short nEndValue;
short nResetValue;
BYTE bEventType;
BYTE bCurveShape;
BYTE bCCData;
BYTE bFlags;
/* DX8 */
WORD wParamType;
WORD wMergeIndex;
};
struct _DMUS_IO_STYLEMARKER {
MUSIC_TIME mtGridStart;
DWORD dwVariation;
WORD wMarkerFlags;
};
struct _DMUS_IO_STYLERESOLUTION {
DWORD dwVariation;
WORD wMusicValue;
BYTE bInversionID;
BYTE bPlayModeFlags;
};
struct _DMUS_IO_STYLE_ANTICIPATION {
MUSIC_TIME mtGridStart;
DWORD dwVariation;
short nTimeOffset;
BYTE bTimeRange;
};
struct _DMUS_IO_MOTIFSETTINGS {
DWORD dwRepeats;
MUSIC_TIME mtPlayStart;
MUSIC_TIME mtLoopStart;
MUSIC_TIME mtLoopEnd;
DWORD dwResolution;
};
#pragma pack()
struct _DMUS_IO_CHORD {
WCHAR wszName[16];
MUSIC_TIME mtTime;
WORD wMeasure;
BYTE bBeat;
BYTE bFlags;
};
struct _DMUS_IO_SUBCHORD {
DWORD dwChordPattern;
DWORD dwScalePattern;
DWORD dwInversionPoints;
DWORD dwLevels;
BYTE bChordRoot;
BYTE bScaleRoot;
};
struct _DMUS_IO_COMMAND {
MUSIC_TIME mtTime;
WORD wMeasure;
BYTE bBeat;
BYTE bCommand;
BYTE bGrooveLevel;
BYTE bGrooveRange;
BYTE bRepeatMode;
};
struct _DMUS_IO_TOOL_HEADER {
GUID guidClassID;
LONG lIndex;
DWORD cPChannels;
FOURCC ckid;
FOURCC fccType;
DWORD dwPChannels[1];
};
struct _DMUS_IO_PORTCONFIG_HEADER {
GUID guidPort;
DWORD dwPChannelBase;
DWORD dwPChannelCount;
DWORD dwFlags;
};
struct _DMUS_IO_PCHANNELTOBUFFER_HEADER {
DWORD dwPChannelBase;
DWORD dwPChannelCount;
DWORD dwBufferCount;
DWORD dwFlags;
};
struct _DMUS_IO_BUFFER_ATTRIBUTES_HEADER {
GUID guidBufferID;
DWORD dwFlags;
};
struct _DMUS_IO_BAND_TRACK_HEADER {
WINBOOL bAutoDownload;
};
struct _DMUS_IO_BAND_ITEM_HEADER {
MUSIC_TIME lBandTime;
};
struct _DMUS_IO_BAND_ITEM_HEADER2 {
MUSIC_TIME lBandTimeLogical;
MUSIC_TIME lBandTimePhysical;
};
struct _DMUS_IO_INSTRUMENT {
DWORD dwPatch;
DWORD dwAssignPatch;
DWORD dwNoteRanges[4];
DWORD dwPChannel;
DWORD dwFlags;
BYTE bPan;
BYTE bVolume;
short nTranspose;
DWORD dwChannelPriority;
short nPitchBendRange;
};
struct _DMUS_IO_WAVE_HEADER {
REFERENCE_TIME rtReadAhead;
DWORD dwFlags;
};
struct _DMUS_IO_WAVE_TRACK_HEADER {
LONG lVolume;
DWORD dwFlags;
};
struct _DMUS_IO_WAVE_PART_HEADER {
LONG lVolume;
DWORD dwVariations;
DWORD dwPChannel;
DWORD dwLockToPart;
DWORD dwFlags;
DWORD dwIndex;
};
struct _DMUS_IO_WAVE_ITEM_HEADER {
LONG lVolume;
LONG lPitch;
DWORD dwVariations;
REFERENCE_TIME rtTime;
REFERENCE_TIME rtStartOffset;
REFERENCE_TIME rtReserved;
REFERENCE_TIME rtDuration;
MUSIC_TIME mtLogicalTime;
DWORD dwLoopStart;
DWORD dwLoopEnd;
DWORD dwFlags;
WORD wVolumeRange;
WORD wPitchRange;
};
struct _DMUS_IO_CONTAINER_HEADER {
DWORD dwFlags;
};
struct _DMUS_IO_CONTAINED_OBJECT_HEADER {
GUID guidClassID;
DWORD dwFlags;
FOURCC ckid;
FOURCC fccType;
};
struct _DMUS_IO_SEGMENT_HEADER {
DWORD dwRepeats;
MUSIC_TIME mtLength;
MUSIC_TIME mtPlayStart;
MUSIC_TIME mtLoopStart;
MUSIC_TIME mtLoopEnd;
DWORD dwResolution;
/* DX8 */
REFERENCE_TIME rtLength;
DWORD dwFlags;
DWORD dwReserved;
/* DX9 */
REFERENCE_TIME rtLoopStart;
REFERENCE_TIME rtLoopEnd;
REFERENCE_TIME rtPlayStart;
};
struct _DMUS_IO_TRACK_HEADER {
GUID guidClassID;
DWORD dwPosition;
DWORD dwGroup;
FOURCC ckid;
FOURCC fccType;
};
struct _DMUS_IO_TRACK_EXTRAS_HEADER {
DWORD dwFlags;
DWORD dwPriority;
};
struct _DMUS_IO_REFERENCE {
GUID guidClassID;
DWORD dwValidData;
};
struct _DMUS_IO_CHORDMAP {
WCHAR wszLoadName[20];
DWORD dwScalePattern;
DWORD dwFlags;
};
struct _DMUS_IO_CHORDMAP_SUBCHORD {
DWORD dwChordPattern;
DWORD dwScalePattern;
DWORD dwInvertPattern;
BYTE bChordRoot;
BYTE bScaleRoot;
WORD wCFlags;
DWORD dwLevels;
};
struct _DMUS_IO_CHORDENTRY {
DWORD dwFlags;
WORD wConnectionID;
};
struct _DMUS_IO_NEXTCHORD {
DWORD dwFlags;
WORD nWeight;
WORD wMinBeats;
WORD wMaxBeats;
WORD wConnectionID;
};
struct _DMUS_IO_CHORDMAP_SIGNPOST {
DWORD dwChords;
DWORD dwFlags;
};
struct _DMUS_IO_SCRIPT_HEADER {
DWORD dwFlags;
};
struct _DMUS_IO_SIGNPOST {
MUSIC_TIME mtTime;
DWORD dwChords;
WORD wMeasure;
};
struct _DMUS_IO_MUTE {
MUSIC_TIME mtTime;
DWORD dwPChannel;
DWORD dwPChannelMap;
};
struct _DMUS_IO_TIMESIGNATURE_ITEM {
MUSIC_TIME lTime;
BYTE bBeatsPerMeasure;
BYTE bBeat;
WORD wGridsPerBeat;
};
struct _DMUS_IO_VALID_START {
MUSIC_TIME mtTime;
};
struct _DMUS_IO_PLAY_MARKER {
MUSIC_TIME mtTime;
};
struct _DMUS_IO_SEGMENT_TRACK_HEADER {
DWORD dwFlags;
};
struct _DMUS_IO_SEGMENT_ITEM_HEADER {
MUSIC_TIME lTimeLogical;
MUSIC_TIME lTimePhysical;
DWORD dwPlayFlags;
DWORD dwFlags;
};
struct _DMUS_IO_SCRIPTTRACK_EVENTHEADER {
DWORD dwFlags;
MUSIC_TIME lTimeLogical;
MUSIC_TIME lTimePhysical;
};
struct _DMUS_IO_LYRICSTRACK_EVENTHEADER {
DWORD dwFlags;
DWORD dwTimingFlags;
MUSIC_TIME lTimeLogical;
MUSIC_TIME lTimePhysical;
};
struct _DMUS_IO_PARAMCONTROLTRACK_OBJECTHEADER {
DWORD dwFlags;
GUID guidTimeFormat;
DWORD dwPChannel;
DWORD dwStage;
DWORD dwBuffer;
GUID guidObject;
DWORD dwIndex;
};
struct _DMUS_IO_PARAMCONTROLTRACK_PARAMHEADER {
DWORD dwFlags;
DWORD dwIndex;
};
struct _DMUS_IO_PARAMCONTROLTRACK_CURVEINFO {
MUSIC_TIME mtStartTime;
MUSIC_TIME mtEndTime;
float fltStartValue;
float fltEndValue;
DWORD dwCurveType;
DWORD dwFlags;
};
struct _DSOUND_IO_DSBUFFERDESC {
DWORD dwFlags;
WORD nChannels;
LONG lVolume;
LONG lPan;
DWORD dwReserved;
};
struct _DSOUND_IO_DSBUSID {
DWORD busid[1];
};
struct _DSOUND_IO_3D {
GUID guid3DAlgorithm;
DS3DBUFFER ds3d;
};
struct _DSOUND_IO_DXDMO_HEADER {
DWORD dwEffectFlags;
GUID guidDSFXClass;
GUID guidReserved;
GUID guidSendBuffer;
DWORD dwReserved;
};
struct _DSOUND_IO_DXDMO_DATA {
DWORD data[1];
};
#ifdef __cplusplus
}
#endif
#include <poppack.h>
#endif /* __WINE_DMUSIC_FILEFORMATS_H */
|