[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
?
Your comment

This issue is archived.

To comment on this conversation send an email to 58809@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 58809
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch