Subject: bug#58809: closed (Re: bug#58809: [PATCH] gnu: Add samplebrain.)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 21 Mar 2023 17:48:01 +0000

Your bug report

#58809: [PATCH] gnu: Add samplebrain.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
58809: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=58809
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#58809: [PATCH] gnu: Add samplebrain.
From: Maxim Cournoyer <[email-masked]>
To: Antero Mejr <[email-masked]>
Cc: [email-masked]
Date: Tue, 21 Mar 2023 13:47:29 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Antero,

Antero Mejr <[email-masked]> writes:

> Maxim Cournoyer <[email-masked]> writes:
>
>> Thanks!  The license, which is gpl2+ (version 2 or later), according to
>> the LICENSE file (and source copyright headers).
>
> Fixed in v2.
>
>> I was about to push this, but running the binary yields:
>>
>> $ /gnu/store/qi31sc2z7nbi4c3wpj7w218fgbjmfsns-samplebrain-0.18.4/bin/samplebrain
>> liblo server error 9904
>> Segmentation fault
>>
>> Could you please look into that?
>
> It looks like that error is because liblo is unable to bind to a port to
> create an OSC server. Samplebrain starts up that server on init to do
> its audio routing. Were you running the binary in a container, or on a
> system that does not have a soundcard or audio software (ALSA, Jack) set
> up?
> I can't reproduce that error on my ALSA-based system.

I use pulseaudio/ALSA. I haven't tried with Jack running.  I've tried
with your v2 update, and it worked!  So I've now pushed it, adding your
copyright line at the top.

> Semi-related, is there going to be a revert to fix QT_PLUGIN_PATH on
> Wayland? I saw it was being discussed at:
> https://issues.guix.gnu.org/57742
>
> When I run QT applications under XWayland, there is a dialog box bug
> that crashes my WM (Sway) and requires a reboot. I first noticed it when
> running the dolphin emulator, but now I see it with Samplebrain too.

It would need to be attempted and see if everything runs well even when
mixing Qt 5 and 6 in QT_PLUGIN_PATH, but upstream says it should.

-- 
Thanks,
Maxim

Subject: [PATCH] gnu: Add samplebrain.
From: Antero Mejr <[email-masked]>
To: [email-masked]
Cc: Antero Mejr <[email-masked]>
Date: Thu, 27 Oct 2022 01:07:49 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

* gnu/packages/music.scm (samplebrain): New variable.
---
 gnu/packages/music.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 72299f13f1..d1d56f149f 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -6899,6 +6899,37 @@ (define-public orca-music
       (home-page "https://100r.co/site/orca.html")
       (license license:expat))))
 
+(define-public samplebrain
+  (package
+    (name "samplebrain")
+    (version "0.18.4")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://gitlab.com/then-try-this/samplebrain")
+                    (commit (string-append version "_release"))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "14ynmnyg0mmrl7z7241yc5wxxsrjyqmzs1ds1kh8shkach8j05rx"))))
+    (build-system qt-build-system)
+    (arguments
+     (list #:tests? #f ;no tests
+           #:phases #~(modify-phases %standard-phases
+                        (replace 'configure
+                          (lambda _
+                            (substitute* "samplebrain.pro"
+                              (("\\/usr") #$output))
+                            (invoke "qmake"))))))
+    (inputs (list fftw liblo libsndfile portaudio))
+    (home-page "https://thentrythis.org/projects/samplebrain/")
+    (synopsis "Sample mashing synthesizer designed by Aphex Twin")
+    (description "Samplebrain chops samples up into a 'brain' of interconnected
+small sections called blocks which are connected into a network by similarity.
+It processes a target sample, chopping it up into blocks in the same way, and
+tries to match each block with one in its brain to play in realtime.")
+    (license license:gpl2)))
+
 ;;;
 ;;; Avoid adding new packages to the end of this file. To reduce the chances
 ;;; of a merge conflict, place them above by existing packages with similar
-- 
2.37.3