[Ohrrpgce] SDL_mixer and loop points

Ralph Versteegen teeemcee at gmail.com
Thu Nov 21 15:57:05 PST 2019


You can't dynamically link to a GPL library without the whole program being
GPL.

I haven't forgotten about the relicensing either, I need to send that email.

It would be rare that someone would be using a backend without loop point
support (eg non-MIDI audio don't even work in music_native/native2 on
Windows currently; noone is using them), but that warning would be a good
idea.

On Fri, 22 Nov 2019 at 01:53, James Paige <Bob at hamsterrepublic.com> wrote:

> The loop support thing sounds cool. I like the idea of in editor support,
> although we'll probably also want some in-editor warning text to let people
> know that support is dependent on backend.
>
> As for the relicensing, I haven't forgotten about that. I do still want to
> do it.
>
> Could using a GPL3 licenced music library work better if it was a dynamic
> library, for greater separation? Sort of like how gfx_directx is
> implemented as a dll?
>
> ---
> James
>
> On Thu, Nov 21, 2019, 6:33 AM Ralph Versteegen <teeemcee at gmail.com> wrote:
>
>> I know I've discussed this before, but apparently not on the mailinglist.
>>
>> SDL_Mixer 2 added support for .ogg loop points a couple of years ago.
>> (Strangely it's not in the changelog)
>>
>> Loop points work as LOOPSTART and LOOPEND or LOOPLENGTH (optional)
>> comments embedded in the .ogg file. LOOPSTART+LOOPLENGTH is RPG
>> Maker-compatible.
>>
>> Within the last few days to weeks, more stuff has landed in SDL_mixer hg.
>> -loop points in FLAC files (note: I compiled sdl_mixer.dll without FLAC
>> support)
>> -loop points can now be expressed in hh:mm:ss notation, or named
>> LOOP_START or LOOP-START, for compatibility with Doom source ports
>> https://zdoom.org/wiki/Audio_loop
>> -loop points now respect the number of times we asked SDL_mixer to loop
>> the song. I believe after that number of loops, it'll proceed past LOOPEND
>> to the end, and then stop (not loop to beginning). Someone could always
>> submit a patch for another comment controlling a separate loop count.
>>
>> So I would like to add the ability to edit loop-points right in the music
>> import menu.
>>
>> We already have code for adding comments to an .ogg file when converting
>> .mp3 to .ogg, but it seems to oggenc can't be used to add comments to an
>> existing ogg file. Instead, the vorbiscomment program (part of
>> vorbis-tools) does that. Another 186kB download.
>> <http://www.rarewares.org/files/ogg/vorbiscomment-1.2.0.zip>
>>
>> === SDL_mixer 1.2 ===
>>
>> Loop points aren't in SDL_mixer 1.2. There hasn't been an update to
>> SDL_mixer 1.2 since 2012, but it looks like they're preparing a bugfix one,
>> including a number of backported loop-related bugfixes. It's certainly not
>> getting any features.
>>
>> There are only a couple bugs that I'm aware of left in gfx_sdl2; I'd like
>> to fix them and switch to it as default on Mac, Linux and Windows after
>> Fufluns is released
>>
>> However the ogg loop stuff is spread over just a few of commits and
>> should be very easy to backport to SDL_mixer 1.2, for our own build of
>> sdl_mixer.dll (for people who want to stick to gfx_sdl instead of gfx_sdl2
>> for whatever reason) and also for the android port.
>>
>> === SDL_mixer X ===
>>
>> Loop points were first implemented in SDL_mixer X, which is a fork of
>> SDL_mixer 2, which has a number of interesting features.
>> https://wohlsoft.github.io/SDL-Mixer-X/
>>
>> Most notably, it supports many more module formats and has ADLMIDI (OPL3)
>> and OPNMIDI OPN2 synthesizer-based MIDI players, which could be used to
>> play MIDI on Android or elsewhere without needing soundfonts. Sounds
>> different to MIDI playback with a soundfont, but I think in most case
>> ADLMIDI not bad (except percussion maybe). These both also support
>> controller 111-based loop points (RPG Maker-compatible), just like
>> music_native/native2 do. They could also be used to implement true BAM
>> playback. (ADLMIDI contains at least two OPL3 synthesizers: Nuked and
>> DOSbox)
>>
>> But these synths are GPLv3+ licensed, which is a problem (inhibiting
>> relicensing of the engine). So maybe we could use it just on Android for
>> MIDI playback, and not for BAM. iOS has MIDI support builtin.
>> _______________________________________________
>> Ohrrpgce mailing list
>> ohrrpgce at lists.motherhamster.org
>> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>>
> _______________________________________________
> Ohrrpgce mailing list
> ohrrpgce at lists.motherhamster.org
> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.motherhamster.org/pipermail/ohrrpgce-motherhamster.org/attachments/20191122/204a4227/attachment.html>


More information about the Ohrrpgce mailing list