Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

lyrebird: init at 1.1.0 #96895

Merged
merged 1 commit into from Oct 4, 2020
Merged

lyrebird: init at 1.1.0 #96895

merged 1 commit into from Oct 4, 2020

Conversation

@OPNA2608
Copy link
Contributor

@OPNA2608 OPNA2608 commented Sep 1, 2020

First time I'm packaging something Python-y, please go easy on me if there are any problems with this. 馃槢

Motivation for this change

New package "lyrebird" - an easy-to-use, GTK3-based voice changer application for Linux.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.
pkgs/applications/audio/lyrebird/default.nix Outdated Show resolved Hide resolved
@OPNA2608 OPNA2608 force-pushed the OPNA2608:package-lyrebird branch 2 times, most recently from 0e0323f to 813690a Sep 5, 2020
@wamserma
Copy link
Contributor

@wamserma wamserma commented Sep 8, 2020

Successfully built via nix-shell -p nixpkgs-review --run "nixpkgs-review pr 96895".
It also runs but doesn't seem to work. I only get a bunch of pulseaudio errors:

Module module-null-sink not loaded.
Module module-remap-source not loaded.
@OPNA2608
Copy link
Contributor Author

@OPNA2608 OPNA2608 commented Sep 8, 2020

Those are normal, you'll need to put "Toggle Lyrebird" into the on position, then play around with the presets / pitch shift value while having something listening to the newly created "Lyrebird Virtual Input" device.

Tested with Discord, device gets picked up and successfully applies the selected presets.

@wamserma
Copy link
Contributor

@wamserma wamserma commented Sep 9, 2020

A warning for all possible reviewers: This PR was branched of while the fontconfig font cache issue was present in master. If the system behaves weird after nix-review, run fc-cache -r.

@OPNA2608
Copy link
Contributor Author

@OPNA2608 OPNA2608 commented Sep 14, 2020

Rebased on current master, I hope that helps with the fontconfig cache issue.

@Lassulus
Copy link
Contributor

@Lassulus Lassulus commented Sep 17, 2020

getting these errors when trying to use it:

sox FAIL formats: can't open output file `Lyrebird-Output': can not open audio device: No such entity
No PulseAudio daemon running, or not running as session daemon.
Traceback (most recent call last):
  File "/nix/store/j475am9xsjzyvxjdgab6xmljj1l1dk2b-lyrebird-1.1.0/share/lyrebird/app/mainwindow.py", line 162, in toggle_activated
    null_sink = subprocess.check_call(
  File "/nix/store/bs03sg8b0gq2zr4v252hh9psp780qj5q-python3-3.8.5/lib/python3.8/subprocess.py", line 364, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['pacmd', 'load-module', 'module-null-sink', 'sink_name=Lyrebird-Output']' returned non-zero exit status 1.

wat do I need to do? otherwise looks good

@OPNA2608 OPNA2608 force-pushed the OPNA2608:package-lyrebird branch from 2630099 to ae10b6e Sep 18, 2020
@OPNA2608
Copy link
Contributor Author

@OPNA2608 OPNA2608 commented Sep 18, 2020

Added pulseaudio to PATH so it can find pacmd, blind guess that's what's missing? If that didn't fix it then I'd suspect the application having a problem with your audio setup: are you running Pulse & does pacmd load-module module-null-sink sink_name=Lyrebird-Output complete without errors if you run it?

@Lassulus
Copy link
Contributor

@Lassulus Lassulus commented Sep 18, 2020

hmm, it does indeed not work. I guess my setup is a little bit unconventional with pulseaudio running systemWide

@OPNA2608
Copy link
Contributor Author

@OPNA2608 OPNA2608 commented Sep 18, 2020

That does appear to be the problem, as lyrebird tries to load PulseAudio modules via pacmd load-module. Having a system-wide PulseAudio server seems to not be compatible with that approach by default, assuming none of the basic design behind this 13 year old report has been changed.

Normally the automatic module loading bit will fail with system PAs
because module loading is not allowed and thus the module-cli-protocol-
unix cannot be loaded.

Either way, this is by design and I'm not sure it's something we should
change, especially as system mode is not really recommended or really
heavily tested upstream.

Copy link
Contributor

@jonringer jonringer left a comment

diff LGTM
gui opens fine

https://github.com/NixOS/nixpkgs/pull/96895
1 package built:
lyrebird
@jonringer jonringer merged commit d3a22b4 into NixOS:master Oct 4, 2020
19 checks passed
19 checks passed
tests tests
Details
action
Details
lyrebird, lyrebird.passthru.tests on aarch64-linux No attempt
Details
Evaluation Performance Report Evaluator Performance Report
Details
Wait for ofborg
Details
grahamcofborg-eval ^.^!
Details
grahamcofborg-eval-check-maintainers matching changed paths to changed attrs...
Details
grahamcofborg-eval-check-meta config.nix: checkMeta = true
Details
grahamcofborg-eval-darwin nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ae10b6e"; rev="ae10b6e64e90e9fd089d9deccf47d128fdca7fbd"; } ./pkgs/t
Details
grahamcofborg-eval-lib-tests nix-build --arg pkgs import ./. {} ./lib/tests/release.nix
Details
grahamcofborg-eval-nixos nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ae10b6e"; rev="ae10b6e64e90e9fd089d9deccf47d128fdca7fbd"; } ./nixos/
Details
grahamcofborg-eval-nixos-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ae10b6e"; rev="ae10b6e64e90e9fd089d9deccf47d128fdca7fbd"; } ./nixos/
Details
grahamcofborg-eval-nixos-options nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ae10b6e"; rev="ae10b6e64e90e9fd089d9deccf47d128fdca7fbd"; } ./nixos/
Details
grahamcofborg-eval-nixpkgs-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ae10b6e"; rev="ae10b6e64e90e9fd089d9deccf47d128fdca7fbd"; } ./pkgs/t
Details
grahamcofborg-eval-nixpkgs-tarball nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ae10b6e"; rev="ae10b6e64e90e9fd089d9deccf47d128fdca7fbd"; } ./pkgs/t
Details
grahamcofborg-eval-nixpkgs-unstable-jobset nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ae10b6e"; rev="ae10b6e64e90e9fd089d9deccf47d128fdca7fbd"; } ./pkgs/t
Details
grahamcofborg-eval-package-list nix-env -qa --json --file .
Details
grahamcofborg-eval-package-list-no-aliases nix-env -qa --json --file . --arg config { allowAliases = false; }
Details
lyrebird, lyrebird.passthru.tests on x86_64-linux Success
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

5 participants
You can鈥檛 perform that action at this time.