GNU bug report logs - #51635
[PATCH 0/2] Enable music playback in OpenTTD

Previous Next

Package: guix-patches;

Reported by: Liliana Marie Prikler <liliana.prikler <at> gmail.com>

Date: Sat, 6 Nov 2021 14:21:02 UTC

Severity: normal

Tags: patch

Done: Liliana Marie Prikler <liliana.prikler <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 51635 in the body.
You can then email your comments to 51635 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#51635; Package guix-patches. (Sat, 06 Nov 2021 14:21:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Liliana Marie Prikler <liliana.prikler <at> gmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sat, 06 Nov 2021 14:21:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: guix-patches <at> gnu.org
Subject: [PATCH 0/2] Enable music playback in OpenTTD
Date: Sat, 6 Nov 2021 15:11:19 +0100
This series makes it so that OpenTTD can play music via fluidsynth.
In order to do so, the FreePats GM soundfont [1] is packaged as SF2 file.
I'm using the prebuilt SF2 file here, as I haven't yet found tools that'd
bundle the sources into a single file (the tools that FreePats themselves
provide could bundle individual sountfonts).  Are there any Guix+MIDI
engineers here, who could give me a few pointers?

Cheers,
Liliana

[1] https://freepats.zenvoid.org/SoundSets/general-midi.html#FreePatsGM

Liliana Prikler (2):
  gnu: Add freepats-gm.
  gnu: openttd: Let the music play.

 gnu/packages/audio.scm | 45 ++++++++++++++++++++++++++++++++++++++++++
 gnu/packages/games.scm | 12 ++++++++++-
 2 files changed, 56 insertions(+), 1 deletion(-)

-- 
2.33.1






Information forwarded to guix-patches <at> gnu.org:
bug#51635; Package guix-patches. (Sat, 06 Nov 2021 15:08:02 GMT) Full text and rfc822 format available.

Message #8 received at 51635 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Prikler <liliana.prikler <at> gmail.com>
To: 51635 <at> debbugs.gnu.org
Subject: [PATCH 1/2] gnu: Add freepats-gm.
Date: Sat, 6 Nov 2021 14:06:57 +0100
* gnu/packages/audio.scm (freepats-gm): New variable.
---
 gnu/packages/audio.scm | 45 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 7cfbfc731d..eb5779340e 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -1936,6 +1936,51 @@ (define-public freepats
     ;; GPLv2+ with exception for compositions using these patches.
     (license license:gpl2+)))
 
+(define-public freepats-gm
+  (package
+    (name "freepats-gm")
+    (version "20210329")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://freepats.zenvoid.org/SoundSets/"
+                                  "FreePats-GeneralMIDI/FreePatsGM-SF2-"  version ".7z"))
+              (sha256
+               (base32
+                "19a1mp9yi33j2zff4mjvhrjz97dwwgjwzfdlf84j9xyydhx0crhc"))))
+    (build-system trivial-build-system)
+    (native-inputs
+     `(("p7zip" ,p7zip)))
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (let ((dir (string-append "FreePatsGM-SF2-" ,version))
+             (file (string-append "FreePatsGM-" ,version ".sf2"))
+             (out (string-append %output "/share/soundfonts"))
+             (doc (string-append %output "/share/doc/freepats-gm-" ,version)))
+         (use-modules (guix build utils))
+         (invoke (string-append (assoc-ref %build-inputs "p7zip") "/bin/7z")
+                 "e" (assoc-ref %build-inputs "source")
+                 (string-append dir "/" file)
+                 (string-append dir "/gpl.txt")
+                 (string-append dir "/cc0.txt")
+                 (string-append dir "/readme.txt"))
+         (mkdir-p out)
+         (copy-file file (string-append out "/FreePatsGM.sf2"))
+         (mkdir-p doc)
+         (for-each
+          (lambda (file)
+            (copy-file file (string-append doc "/" file)))
+          (find-files "." "\\.txt$"))
+         #t)))
+    (home-page "https://freepats.zenvoid.org/SoundSets/general-midi.html")
+    (synopsis "General MIDI sound set")
+    (description "FreePats is a project to create a free (as in free software)
+collection of digital instruments for music production.  This sound bank is a
+partial release of the General MIDI sound set.")
+    (license (list
+              license:gpl3+ ; with sampling exception
+              license:cc0))))
+
 (define-public guitarix
   (package
     (name "guitarix")
-- 
2.33.1






Information forwarded to guix-patches <at> gnu.org:
bug#51635; Package guix-patches. (Sat, 06 Nov 2021 15:08:02 GMT) Full text and rfc822 format available.

Message #11 received at 51635 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Prikler <liliana.prikler <at> gmail.com>
To: 51635 <at> debbugs.gnu.org
Subject: [PATCH 2/2] gnu: openttd: Let the music play.
Date: Sat, 6 Nov 2021 14:06:58 +0100
* gnu/packages/games.scm (openttd)[inputs]: Remove timidity++.
Add fluidsynth and freepats-gm.
[#:phases]<patch-sources>: New phase.
---
 gnu/packages/games.scm | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 14131fa065..47ed3fc1b4 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -4481,6 +4481,15 @@ (define-public openttd
          (list (string-append "-DCMAKE_INSTALL_BINDIR=" out "/bin")))
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'patch-sources
+           (lambda* (#:key inputs #:allow-other-keys)
+             (substitute* "src/music/fluidsynth.cpp"
+               (("default_sf\\[\\] = \\{" all)
+                (string-append all "
+\t/* Guix hardcoded :P */
+\t\"" (string-append (assoc-ref inputs "freepats-gm")
+                     "/share/soundfonts/FreePatsGM.sf2") "\",
+")))))
          (add-before 'check 'install-data
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (for-each
@@ -4489,7 +4498,8 @@ (define-public openttd
                                   (assoc-ref outputs "out")))
               (list "opengfx" "openmsx" "opensfx")))))))
     (inputs
-     `(("timidity++" ,timidity++)
+     `(("fluidsynth" ,fluidsynth)
+       ("freepats-gm" ,freepats-gm)
        ,@(package-inputs openttd-engine)))
     (native-inputs
      `(("opengfx" ,openttd-opengfx)
-- 
2.33.1






Reply sent to Liliana Marie Prikler <liliana.prikler <at> gmail.com>:
You have taken responsibility. (Tue, 19 Apr 2022 18:40:01 GMT) Full text and rfc822 format available.

Notification sent to Liliana Marie Prikler <liliana.prikler <at> gmail.com>:
bug acknowledged by developer. (Tue, 19 Apr 2022 18:40:02 GMT) Full text and rfc822 format available.

Message #16 received at 51635-done <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: 51635-done <at> debbugs.gnu.org
Date: Tue, 19 Apr 2022 20:39:00 +0200
Pushed this with a bunch of style changes to master.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 18 May 2022 11:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 344 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.