diff --git a/20240609.tar.gz b/20240609.tar.gz deleted file mode 100644 index be21ba6..0000000 --- a/20240609.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f8c4b13de65c0fb25b264d89080154f3c5b66785b295c3a859ba7b4fda55794c -size 1071090 diff --git a/20240614.tar.gz b/20240614.tar.gz new file mode 100644 index 0000000..942129b --- /dev/null +++ b/20240614.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:91200e61f7b5a5c1193ca491e2ea9cd5fd74f2462e5af88a7e8d9e7c115481ac +size 1077018 diff --git a/compile.diff b/compile.diff new file mode 100644 index 0000000..7cd9c3b --- /dev/null +++ b/compile.diff @@ -0,0 +1,31 @@ +From eed0cd370d7f60b84d85ce7ba64a9fd688eb2665 Mon Sep 17 00:00:00 2001 +From: Jan Engelhardt +Date: Thu, 20 Jun 2024 12:09:24 +0200 +Subject: [PATCH] build: workaround pedantic requirements +References: https://github.com/schismtracker/schismtracker/pull/472 + +Yeah yeah, schism_exit isn't supposed to return, but short of adding a non-portable +__attribute__((noreturn)), let's just add a return to make the compiler happy. + +schism/audio_playback.c: In function "_audio_init_head": +schism/audio_playback.c:1510:1: error: control reaches end of +non-void function [-Werror=return-type] + 1510 | } +--- + schism/audio_playback.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/schism/audio_playback.c b/schism/audio_playback.c +index 2c671826..58fd0f28 100644 +--- a/schism/audio_playback.c ++++ b/schism/audio_playback.c +@@ -1507,6 +1507,7 @@ fail: + const char* err = SDL_GetError(); + if (err) fprintf(stderr, "%s\n", err); + schism_exit(1); ++ return 0; + } + + // Set up audio_buffer, reset the sample count, and kick off the mixer +-- +2.45.2 diff --git a/schism-alsa.diff b/schism-alsa.diff deleted file mode 100644 index f930cff..0000000 --- a/schism-alsa.diff +++ /dev/null @@ -1,61 +0,0 @@ -From: Jan Engelhardt - -schism/audio: do not force "hw" ALSA device - -Forcing direct hardware access using the "hw" device is incorrect -IMHO, especially so with sound chips that lack hardware mixing on any -of the three levels: (1) concurrent access to the hw device, (2) lack -of volume control, (3) lack of rate conversion. - -"default" is the better choice to have schism output to the converters -that handle any or all of these three points. - -Developer Storlek claims problems with fake devices. Upon furhter -investigation, fake devices such as the ALSA plugins have a reason to -ignore it, or at least tinker with it. Consider my case with a -Realtek ALC259 (driven by snd-hda-intel) that fails (1) and (3): - -By default, schismtracker asks for 1024 fragments and 44.1 kHz. If -the sound chip however does not support hardware mixing and can only -do, for example, 48 kHz, ALSA will automatically add converters into -the audio chain such that the program can still operate at 44100 Hz -without distorted sound. - -1024 fragments of 128 bytes each are requested and thusly allocated, -that is, the sound buffer will be 128 kilobytes in total. This value -is taken at face - but for 48 kHz. The 44.1 kHz ALSA user thus only -gets a 44100/48000*131072 = 120422 byte buffer, or 940 fragments. The -rate conversion will then automatically interpolate the signal to -1024 fragments. (No distortions or lag ensues from this for me.) - -So 940 is correct and the comment seemingly bogus. - -Storlek still does not like changing "hw" :-( - -A workaround is to call schismtracker with the "-a alsa:default" -option. ---- - schism/audio_playback.c | 7 +------ - 1 file changed, 1 insertion(+), 6 deletions(-) - -Index: schismtracker-20220807/schism/audio_playback.c -=================================================================== ---- schismtracker-20220807.orig/schism/audio_playback.c -+++ schismtracker-20220807/schism/audio_playback.c -@@ -1295,15 +1295,10 @@ static int _audio_open(const char *drive - if (SDL_InitSubSystem(SDL_INIT_AUDIO) < 0) - return 0; - -- /* This is needed in order to coax alsa into actually respecting the buffer size, since it's evidently -- ignored entirely for "fake" devices such as "default" -- which SDL happens to use if no device name -- is set. (see SDL_alsa_audio.c: http://tinyurl.com/ybf398f) -- If hw doesn't exist, so be it -- let this fail, we'll fall back to the dummy device, and the -- user can pick a more reasonable device later. */ - if ((driver_name = SDL_GetCurrentAudioDriver()) != NULL && !strcmp(driver_name, "alsa")) { - char *dev = getenv("AUDIODEV"); - if (!dev || !*dev) -- put_env_var("AUDIODEV", "hw"); -+ put_env_var("AUDIODEV", "default"); - } - - /* ... THIS is needed because, if the buffer size isn't a power of two, the dsp driver will punt since diff --git a/schismtracker.changes b/schismtracker.changes index d8410fa..829fc92 100644 --- a/schismtracker.changes +++ b/schismtracker.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Sat Jun 15 12:56:29 UTC 2024 - Jan Engelhardt + +- Update to release 20240614 + * Add STX module importing + * Add an audio device and driver selection widget in the + Shift-F5 menu +- Delete schism-alsa.diff (obsolete), add compile.diff. + ------------------------------------------------------------------- Sun Jun 9 11:04:48 UTC 2024 - Jan Engelhardt diff --git a/schismtracker.spec b/schismtracker.spec index 6caf8a5..67b42c0 100644 --- a/schismtracker.spec +++ b/schismtracker.spec @@ -17,7 +17,7 @@ Name: schismtracker -Version: 20240609 +Version: 20240614 Release: 0 Summary: Music editor that matches the look and feel of Impulse Tracker License: GPL-2.0-or-later @@ -26,7 +26,7 @@ URL: http://schismtracker.org/ Source: https://github.com/schismtracker/schismtracker/archive/refs/tags/%version.tar.gz #Source: https://github.com/schismtracker/schismtracker/releases/download/%version/%name-%version.source.tar.gz Source2: %name.desktop -Patch1: schism-alsa.diff +Patch1: compile.diff Patch2: schism-nodate.diff Patch3: schism-deptrack.diff BuildRequires: alsa-devel