[PATCH] gnu: Add samplebrain.

  • Done
  • quality assurance status badge
Details
2 participants
  • Antero Mejr
  • Maxim Cournoyer
Owner
unassigned
Submitted by
Antero Mejr
Severity
normal
A
A
Antero Mejr wrote on 27 Oct 2022 03:07
(address . guix-patches@gnu.org)(name . Antero Mejr)(address . antero@mailbox.org)
20221027010749.3291-1-antero@mailbox.org
* gnu/packages/music.scm (samplebrain): New variable.
---
gnu/packages/music.scm | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)

Toggle diff (44 lines)
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
M
M
Maxim Cournoyer wrote on 21 Mar 2023 13:32
(name . Antero Mejr)(address . antero@mailbox.org)(address . 58809@debbugs.gnu.org)
87y1nqs2sx.fsf@gmail.com
Hi Antero,

Antero Mejr <antero@mailbox.org> writes:

Toggle quote (44 lines)
> * 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)))

Thanks! The license, which is gpl2+ (version 2 or later), according to
the LICENSE file (and source copyright headers).

I was about to push this, but running the binary yields:

Toggle snippet (5 lines)
$ /gnu/store/qi31sc2z7nbi4c3wpj7w218fgbjmfsns-samplebrain-0.18.4/bin/samplebrain
liblo server error 9904
Segmentation fault

Could you please look into that?

--
Thanks,
Maxim
M
M
Maxim Cournoyer wrote on 21 Mar 2023 13:32
control message for bug #58809
(address . control@debbugs.gnu.org)
87wn3as2sh.fsf@gmail.com
tags 58809 + moreinfo
quit
A
A
Antero Mejr wrote on 21 Mar 2023 15:55
Re: bug#58809: [PATCH] gnu: Add samplebrain.
(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)(address . 58809@debbugs.gnu.org)
87wn3a40ip.fsf@mailbox.org
Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:

Toggle quote (3 lines)
> Thanks! The license, which is gpl2+ (version 2 or later), according to
> the LICENSE file (and source copyright headers).

Fixed in v2.

Toggle quote (8 lines)
> 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.

Semi-related, is there going to be a revert to fix QT_PLUGIN_PATH on
Wayland? I saw it was being discussed at:

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.
M
M
Maxim Cournoyer wrote on 21 Mar 2023 18:47
(name . Antero Mejr)(address . antero@mailbox.org)(address . 58809-done@debbugs.gnu.org)
87o7omngi6.fsf@gmail.com
Hi Antero,

Antero Mejr <antero@mailbox.org> writes:

Toggle quote (22 lines)
> Maxim Cournoyer <maxim.cournoyer@gmail.com> 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.

Toggle quote (8 lines)
> 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
Closed
?