You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Reported in version: unspecified Reported for operating system, platform: Windows 7, x86
Comments on the original bug report:
On 2011-04-29 19:01:41 +0000, Mason Wheeler wrote:
Attached is the first (and probably most extensive) of a series of patches geared towards eliminating the technical barriers between SDL_Mixer's treatment of "sound" and "music".
This patch updates the API such that music no longer plays separately, but uses (and requires) a channel just like any other sound. Among other things, this means that effects can be registered against the music channels.
Theoretically, more than one music channel can be played at once. This has not been tested, though, and may not work. Any code changes necessary to support that will need to come in a later patch. However, playing a single music channel and attaching effects to it has been tested and does work with this patch.
On 2011-04-29 19:02:40 +0000, Mason Wheeler wrote:
Created attachment 606
Diff patch for 1194
On 2011-04-29 19:43:21 +0000, Mason Wheeler wrote:
Created attachment 607
Bugfix for first patch
This patch fixes a double-free error in the first patch, and should be applied after it.
On 2011-04-29 19:47:02 +0000, Mason Wheeler wrote:
This has now been tested and will successfully play multiple songs together, at least with libmodplug. I haven't tested with other music formats yet. I know from looking at the code that multiple WAV-based songs will not play together; this will need to be fixed in a later patch. Not sure about other decoders.
On 2011-04-29 20:32:36 +0000, Mason Wheeler wrote:
Created attachment 608
Second bugfix patch
Fixes an access violation when playing multiple songs sequentially on the same channel. Should be applied after the first bugfix.
On 2011-12-31 15:36:03 +0000, Sam Lantinga wrote:
Thanks for the patches. We're likely to merge SDL_sound into SDL_mixer in the next major release, so we can have a unified way to handle all kinds of sound formats.
Please let us know if that's something you'd be interested in tackling!
Cheers!
On 2012-04-25 13:15:25 +0000, Nikos Chantziaras wrote:
I'm reopening this, since I reworked Mason's patches. (With current Mercurial default and SDL-1.2 branches in mind, of course.) I've put up a Mercirial repo with all my changes here:
The only ones that don't support multiple streams right now are MikMod and Timidity; they can only play one stream at a time (though they can play in parallel with any other music streams that use the other backends.)
Of course native MIDI cannot be supported since it works externally. Not sure about MUS_CMD; will need to think about it a bit more.
I don't think this is ready for merging yet; needs testing first. Hopefully the provided binary and source compatibility will make it easy to test against current applications. My own tests are done on Linux. Will also test on OS X and Windows soon.
Hopefully you guys can find a bit of time to review this.
On 2012-04-26 03:07:53 +0000, Nikos Chantziaras wrote:
(In reply to comment # 6)
[...]
These backends now support multiple streams simultaneously:
The only ones that don't support multiple streams right now are MikMod and
Timidity [...] Not sure about MUS_CMD; will need to think about it a bit more.
Turns out MUS_CMD works just fine. So you can add that to the list of working backends.
After taking a good look at MikMod, it's obvious that it cannot support this. And this is by design: libmikmod lacks any API that would allow it to play multiple modules. Fortunately we have ModPlug. Maybe we should drop MikMod completely, given that ModPlug supports more formats and has better sound quality anyway.
On 2012-08-20 11:51:02 +0000, wrote:
Is there any reason this hasn't been merged? Does it need more work? To me, the changes from this patched version are a must have when compared to the original version. My tests using alternatively samples and music on the same channels reveal no outstanding issues.
On 2012-08-20 17:37:56 +0000, Nikos Chantziaras wrote:
Just in case it isn't clear how to merge with mercurial, it's simply a:
One thing we're losing with the new API though is gapless music support. I couldn't find a quick way to keep that one working. Previously, if you started a new Mix_Music from inside the Mix_HookMusicFinished() callback, the transition was gapless. Now there's a slight gap there.
The text was updated successfully, but these errors were encountered:
This bug report was migrated from our old Bugzilla tracker.
These attachments are available in the static archive:
Reported in version: unspecified
Reported for operating system, platform: Windows 7, x86
Comments on the original bug report:
On 2011-04-29 19:01:41 +0000, Mason Wheeler wrote:
On 2011-04-29 19:02:40 +0000, Mason Wheeler wrote:
On 2011-04-29 19:43:21 +0000, Mason Wheeler wrote:
On 2011-04-29 19:47:02 +0000, Mason Wheeler wrote:
On 2011-04-29 20:32:36 +0000, Mason Wheeler wrote:
On 2011-12-31 15:36:03 +0000, Sam Lantinga wrote:
On 2012-04-25 13:15:25 +0000, Nikos Chantziaras wrote:
On 2012-04-26 03:07:53 +0000, Nikos Chantziaras wrote:
On 2012-08-20 11:51:02 +0000, wrote:
On 2012-08-20 17:37:56 +0000, Nikos Chantziaras wrote:
The text was updated successfully, but these errors were encountered: