1
0
forked from pool/schismtracker

[info=eb5d33f8239c5c0bd98b7a7cfe2de2075bcd91d735b4551f25dc407b097c07de]

OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/schismtracker?expand=0&rev=85
This commit is contained in:
Jan Engelhardt 2024-06-30 15:43:37 +00:00 committed by Git OBS Bridge
parent e5ce12e140
commit 670f0d06fc
10 changed files with 122 additions and 77 deletions

View File

@ -0,0 +1,39 @@
From f3969bdd83f1d16a8cd1b78ed68b485b2e25d404 Mon Sep 17 00:00:00 2001
From: Jan Engelhardt <jengelh@inai.de>
Date: Wed, 29 May 2024 21:19:15 +0200
Subject: [PATCH] build: fix gcc warning for handle_text_input functions
page_loadinst.c: In function "file_list_handle_text_input":
page_loadinst.c:383:1: error: control reaches end of non-void function [-Werror=return-type]
---
schism/page_loadinst.c | 1 +
schism/page_loadsample.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/schism/page_loadinst.c b/schism/page_loadinst.c
index 6b73cc74..9c209b87 100644
--- a/schism/page_loadinst.c
+++ b/schism/page_loadinst.c
@@ -380,6 +380,7 @@ static int file_list_handle_text_input(const uint8_t* text) {
return 1;
}
}
+ return 0;
}
static int file_list_handle_key(struct key_event * k)
diff --git a/schism/page_loadsample.c b/schism/page_loadsample.c
index 448913ee..00bcb43c 100644
--- a/schism/page_loadsample.c
+++ b/schism/page_loadsample.c
@@ -639,6 +639,7 @@ static int file_list_handle_text_input(const uint8_t* text) {
return 1;
}
}
+ return 0;
}
static int file_list_handle_key(struct key_event * k)
--
2.45.1

3
20240529.tar.gz Normal file
View File

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

View File

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

3
_scmsync.obsinfo Normal file
View File

@ -0,0 +1,3 @@
mtime: 1717076020
commit: eb5d33f8239c5c0bd98b7a7cfe2de2075bcd91d735b4551f25dc407b097c07de
url: https://src.opensuse.org/jengelh/schismtracker

3
build.specials.obscpio Normal file
View File

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

View File

@ -1,31 +0,0 @@
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

61
schism-alsa.diff Normal file
View File

@ -0,0 +1,61 @@
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

@ -11,23 +11,23 @@ Anyway, create the directory beforehand.
configure.ac | 1 +
2 files changed, 2 insertions(+)
Index: schismtracker-20240609/Makefile.am
Index: schismtracker-20220125/Makefile.am
===================================================================
--- schismtracker-20240609.orig/Makefile.am
+++ schismtracker-20240609/Makefile.am
@@ -149,6 +149,7 @@ CLEANFILES = \
--- schismtracker-20220125.orig/Makefile.am
+++ schismtracker-20220125/Makefile.am
@@ -147,6 +147,7 @@ CLEANFILES = \
auto/helptext.c
auto/default-font.c: Makefile.am scripts/bin2h.sh scripts/build-font.sh $(fonts)
+ ${MKDIR_P} auto
sh $(srcdir)/scripts/build-font.sh $(srcdir) $(fonts) >$@
auto/helptext.c: Makefile.am scripts/genhelp.pl $(helptexts)
Index: schismtracker-20240609/configure.ac
auto/helptext.c: Makefile.am scripts/genhelp.py $(helptexts)
$(PYTHON) $(srcdir)/scripts/genhelp.py $(srcdir) $(helptexts) >$@
Index: schismtracker-20220125/configure.ac
===================================================================
--- schismtracker-20240609.orig/configure.ac
+++ schismtracker-20240609/configure.ac
@@ -111,6 +111,7 @@ AM_PROG_CC_C_O
--- schismtracker-20220125.orig/configure.ac
+++ schismtracker-20220125/configure.ac
@@ -38,6 +38,7 @@ AM_PROG_CC_C_O
AC_PROG_CPP
AC_PROG_INSTALL
AC_PROG_LN_S

View File

@ -1,34 +1,3 @@
-------------------------------------------------------------------
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>
- Update to release 20240609
* Fix saving 16-bit and/or stereo FLAC samples
* Attempt to convert song messages from Modplug/OpenMPT IT
files.
* Expand the file and directory listings in the Load/Save
Module screens to actually make use of wasted space. It
didn't even look like IT did anyway.
* File listings should now support paths with Unicode out of
the box and will fall back to interpreting the raw characters
if that fails.
* Reimplement key repeat configuration
* Allow copying and pasting palette settings to the clipboard
and actually save them when applied
* Fix saving the module's Schism version
* Fix issues with the implementation that would have caused
it to break after the Epochalypse
- Delete 0001-build-fix-gcc-warning-for-handle_text_input-function.patch
(merged)
-------------------------------------------------------------------
Wed May 29 17:55:33 UTC 2024 - Jan Engelhardt <jengelh@inai.de>

View File

@ -17,7 +17,7 @@
Name: schismtracker
Version: 20240614
Version: 20240529
Release: 0
Summary: Music editor that matches the look and feel of Impulse Tracker
License: GPL-2.0-or-later
@ -26,9 +26,10 @@ 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: compile.diff
Patch1: schism-alsa.diff
Patch2: schism-nodate.diff
Patch3: schism-deptrack.diff
Patch4: 0001-build-fix-gcc-warning-for-handle_text_input-function.patch
BuildRequires: alsa-devel
BuildRequires: autoconf
BuildRequires: automake