- Update to release 20240614

OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/schismtracker?expand=0&rev=83
This commit is contained in:
Jan Engelhardt 2024-06-20 10:23:22 +00:00 committed by Git OBS Bridge
parent 9b9b273b60
commit e5ce12e140
6 changed files with 45 additions and 66 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f8c4b13de65c0fb25b264d89080154f3c5b66785b295c3a859ba7b4fda55794c
size 1071090

3
20240614.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:91200e61f7b5a5c1193ca491e2ea9cd5fd74f2462e5af88a7e8d9e7c115481ac
size 1077018

31
compile.diff Normal file
View File

@ -0,0 +1,31 @@
From eed0cd370d7f60b84d85ce7ba64a9fd688eb2665 Mon Sep 17 00:00:00 2001
From: Jan Engelhardt <jengelh@inai.de>
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

View File

@ -1,61 +0,0 @@
From: Jan Engelhardt <jengelh@medozas.de>
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

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Sat Jun 15 12:56:29 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
- 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 <jengelh@inai.de>

View File

@ -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