Commit graph

381 commits

Author SHA1 Message Date
Yuxuan Shui 05347b9703 dmime: Parse MIDI program change events and generate a bandtrack. 2024-02-28 21:56:24 +01:00
Yuxuan Shui 09c6f48b12 dmband: Move band.c to dmusic. 2024-02-28 21:56:19 +01:00
Yuxuan Shui 8710a1cb0a dmime: Read through a MIDI file.
Add a dummy track parser, that reads through MIDI tracks and events. To make sure we understand the
file structure correctly, no actual tracks or events are generated.

Also add test cases to make sure we read through a MIDI file correctly.
2024-02-22 12:45:52 +01:00
Yuxuan Shui fa145fd517 dmusic: Fix loading wave data from soundfont. 2024-02-06 22:56:02 +01:00
Rémi Bernon 1b75341346 dmusic: Clone streams instead of allocating wave data.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56117
2024-01-09 23:59:59 +01:00
Michael Stefaniuc 055e632216 dmusic: Remove superfluous casts to self. 2023-11-14 11:31:27 +01:00
Rémi Bernon 051418c0c0 dmime: Send MIDI_SYSTEM_RESET message on performance reset. 2023-11-13 22:37:51 +01:00
Alexandre Julliard acad49573a makefiles: Always use the global SOURCES variable for .c files. 2023-11-01 22:44:03 +01:00
Alexandre Julliard c432eac726 makefiles: Always use the global SOURCES variable for .idl files. 2023-11-01 22:43:50 +01:00
Rémi Bernon 347fb8bc8e dmusic: Ignore some known wave chunks. 2023-10-26 15:27:47 -05:00
Rémi Bernon 17416be982 dmime: Ignore badly formed wave if format and data have been found. 2023-10-26 15:27:47 -05:00
Rémi Bernon c8b9a2dcfd dmusic/tests: Skip test_default_gm_collection if gm.dls is missing.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55688
2023-10-25 14:27:15 -05:00
Rémi Bernon 7c9e8b9c4e dswave: Use the dmusic wave object implementation.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55792
2023-10-20 19:24:08 +02:00
Rémi Bernon 80e6310a88 dmusic: Use the IDirectMusicObject interface for waves.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55792
2023-10-20 19:24:08 +02:00
Rémi Bernon dc0431b819 dmusic: Implement IDirectMusicObject interface on wave objects.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55792
2023-10-20 19:24:08 +02:00
Rémi Bernon 2c4fc0adcf dmusic: Use a dmusic_midi.h header for MIDI messages. 2023-10-18 20:47:00 +02:00
Rémi Bernon 72165fc8ec dmusic: Forward IDirectMusicPort_Activate to synth and sink. 2023-10-17 21:48:20 +02:00
Rémi Bernon f00d8639e6 dmusic: Set synth sink master clock when creating port. 2023-10-17 21:48:20 +02:00
Rémi Bernon 4a7a8a7ecc dmime: Implement GUID_(Download|Unload)FromAudioPath for wave track.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=9027
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=34751
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45135
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48220
2023-10-11 22:17:26 +02:00
Rémi Bernon 7bbd4be52a dmime: Create a wave track when loading a segment from a .wav.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=9027
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=34751
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45135
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48220
2023-10-11 22:17:26 +02:00
Rémi Bernon 15c4c02eeb dmusic: Split wave entry points to dmusic_wave.h. 2023-10-11 22:16:58 +02:00
Alex Henrie 8b20c58801 include: Introduce wine_dbgstr_fourcc and debugstr_fourcc. 2023-10-06 20:49:52 +02:00
Rémi Bernon 92985253e7 dmband: Implement band track GUID_ConnectToDLSCollection parameter. 2023-09-29 21:41:25 +02:00
Rémi Bernon 086e114f05 dmusic: Implement SoundFont2 instrument parsing. 2023-09-29 17:23:10 +02:00
Rémi Bernon 215a55d603 dmusic: Implement SoundFont2 wave sample parsing. 2023-09-29 17:23:10 +02:00
Rémi Bernon b733a46ada dmusic: Implement SoundFont2 collection parsing. 2023-09-29 17:23:10 +02:00
Rémi Bernon 182338bab2 dmusic: Avoid crashing in traces if wave doesn't have a WSMPL. 2023-09-29 17:23:10 +02:00
Rémi Bernon 2a1fd9851c dmusic: Avoid leaking articulations when freeing regions. 2023-09-29 17:23:10 +02:00
Rémi Bernon 767c5ddbf9 dmusic/tests: Test default gm.dls sound font instruments. 2023-09-29 17:23:10 +02:00
Rémi Bernon ecb38bf1c9 dmusic: Keep the original instrument patch in the entry. 2023-09-20 22:15:30 +02:00
Rémi Bernon b6f1a1a186 dmusic/tests: Fixup chunk alignment in steam_end_chunk. 2023-09-20 22:15:29 +02:00
Rémi Bernon 5626be6bb8 dmusic: Implement instrument articulation downloads. 2023-09-18 11:01:47 +02:00
Rémi Bernon a788bf9641 dmusic: Parse instrument regions articulation lists. 2023-09-18 11:01:47 +02:00
Rémi Bernon d32fb707ad dmusic: Implement downloading wave to port. 2023-09-18 11:01:47 +02:00
Rémi Bernon f54b0a5a9b dmusic: Keep an internal ref on the instrument's collection. 2023-09-18 11:01:47 +02:00
Rémi Bernon 82d1794cd4 dmusic: Parse collection wave lists. 2023-09-18 11:01:46 +02:00
Rémi Bernon 2f5608efd1 dmusic: Parse collection wave table. 2023-09-18 11:01:46 +02:00
Rémi Bernon 120a743c96 dmusic: Rewrite downloading instrument to port. 2023-09-18 11:01:46 +02:00
Rémi Bernon 0cb208cec2 dmusic: Avoid swallowing collection Load failures. 2023-09-18 11:01:46 +02:00
Rémi Bernon f71315c849 dmusic: Add more parsed instruments traces. 2023-09-14 22:03:53 +02:00
Rémi Bernon 3fa399b145 dmusic: Parse instrument name from INFO list. 2023-09-14 22:03:53 +02:00
Rémi Bernon d30f914de6 dmusic: Rewrite collection DLS chunk parsing. 2023-09-14 22:03:53 +02:00
Rémi Bernon 866d4998ed dmusic: Rewrite collection INFO list parsing. 2023-09-14 22:03:53 +02:00
Rémi Bernon af79bf4f22 dmusic: Rewrite collection ptbl chunk parsing. 2023-09-14 22:03:53 +02:00
Rémi Bernon bb2a8312b1 dmusic: Rewrite collection lins list parsing. 2023-09-14 22:03:53 +02:00
Rémi Bernon 4ae866a0a7 dmusic: Stop leaking instruments on collection release. 2023-09-11 20:41:34 +02:00
Rémi Bernon 572125edf6 dmusic: Cleanup collection instrument iteration loops. 2023-09-11 20:41:34 +02:00
Rémi Bernon ff4cb785cb dmusic: Allocate and parse instruments in a single pass. 2023-09-11 20:41:34 +02:00
Rémi Bernon 01127ce474 dmusic: Rewrite instrument ins chunk parsing. 2023-09-11 20:41:34 +02:00
Rémi Bernon b5fd618719 dmusic: Rewrite instrument lart list parsing. 2023-09-11 20:41:34 +02:00