- Update to release 20240614
OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/schismtracker?expand=0&rev=83
This commit is contained in:
parent
9b9b273b60
commit
e5ce12e140
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f8c4b13de65c0fb25b264d89080154f3c5b66785b295c3a859ba7b4fda55794c
|
||||
size 1071090
|
3
20240614.tar.gz
Normal file
3
20240614.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:91200e61f7b5a5c1193ca491e2ea9cd5fd74f2462e5af88a7e8d9e7c115481ac
|
||||
size 1077018
|
31
compile.diff
Normal file
31
compile.diff
Normal 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
|
@ -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
|
@ -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>
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user