1
0
forked from pool/schismtracker

schismtracker 20240630

This commit is contained in:
Jan Engelhardt 2024-06-30 17:49:45 +02:00
parent eb5d33f823
commit c854a2cdaf
7 changed files with 44 additions and 144 deletions

View File

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

View File

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

BIN
20240630.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

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,37 +0,0 @@
From: Jan Engelhardt <jengelh@inai.de>
There are some manual commands which create dependency files, and
they do fail if they concurrently try to create the directory
(because it does something like test -e auto || mkdir auto, rather
than checking just the return value of mkdir for EISDIR.)
Anyway, create the directory beforehand.
---
Makefile.am | 1 +
configure.ac | 1 +
2 files changed, 2 insertions(+)
Index: schismtracker-20220125/Makefile.am
===================================================================
--- 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.py $(helptexts)
$(PYTHON) $(srcdir)/scripts/genhelp.py $(srcdir) $(helptexts) >$@
Index: schismtracker-20220125/configure.ac
===================================================================
--- 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
+AC_PROG_MKDIR_P
dnl do we have Git
AC_CHECK_TOOL([GIT], [git])

View File

@ -1,3 +1,43 @@
-------------------------------------------------------------------
Sun Jun 30 15:48:11 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
- Update to release 20240630
* Add DSM format loader (thanks @RepellantMold)
* Fix a crash upon loading some IT modules made in Modplug and
its derivatives
- Delete schism-deptrack.diff (merged)
-------------------------------------------------------------------
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> Wed May 29 17:55:33 UTC 2024 - Jan Engelhardt <jengelh@inai.de>

View File

@ -17,7 +17,7 @@
Name: schismtracker Name: schismtracker
Version: 20240529 Version: 20240630
Release: 0 Release: 0
Summary: Music editor that matches the look and feel of Impulse Tracker Summary: Music editor that matches the look and feel of Impulse Tracker
License: GPL-2.0-or-later License: GPL-2.0-or-later
@ -26,10 +26,7 @@ URL: http://schismtracker.org/
Source: https://github.com/schismtracker/schismtracker/archive/refs/tags/%version.tar.gz 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 #Source: https://github.com/schismtracker/schismtracker/releases/download/%version/%name-%version.source.tar.gz
Source2: %name.desktop Source2: %name.desktop
Patch1: schism-alsa.diff
Patch2: schism-nodate.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: alsa-devel
BuildRequires: autoconf BuildRequires: autoconf
BuildRequires: automake BuildRequires: automake