Commit graph

379 commits

Author SHA1 Message Date
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
Rémi Bernon
9e9b5d2980 dmusic: Rewrite instrument lrgn list parsing. 2023-09-11 20:41:34 +02:00
Rémi Bernon
7684880546 dmusic: Reset riff chunk type to 0 when it is invalid. 2023-09-11 20:41:34 +02:00