Coder Social home page Coder Social logo

rncbc / qjackctl Goto Github PK

View Code? Open in Web Editor NEW
179.0 179.0 39.0 38.08 MB

QjackCtl - JACK Audio Connection Kit Qt GUI Interface

Home Page: https://qjackctl.sourceforge.io

License: GNU General Public License v2.0

Shell 0.05% C++ 96.36% C 0.35% Roff 0.33% CMake 2.90%

qjackctl's People

Contributors

agraef avatar amurzeau avatar biswa96 avatar david0 avatar falktx avatar heit0r avatar ignotus666 avatar joelmo avatar jonasboss avatar jose1711 avatar jpcima avatar kmatheussen avatar kronihias avatar maronghappy avatar mttvn avatar muellermartin avatar nick87720z avatar prokoudine avatar rdoursenaud avatar rncbc avatar stevenc99 avatar takaswie avatar trebmuh avatar yurchor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qjackctl's Issues

Delete patchbay profiles from Patchbay menu

Right now you can only Create (New), Load, Save and Activate patchbay profiles from the Patchbay menu. It'd be nice if there was an option to delete* them as well.

* = which asked for confirmation, of course, otherwise one could accidentally delete their beloved patches! πŸ˜‚

Make fails with "unknown modules dbus x11extras"

Otherwise, configure script runs fine.

[root@air qjackctl-git]# make
make[1]: Entering directory /tmp/qjackctl-git' cd src/ && ( test -e Makefile || /opt/Qt/5.11.1/android_x86/bin/qmake -o Makefile /tmp/qjackctl-git/src/src.pro ) && make -f Makefile Project ERROR: Unknown module(s) in QT: dbus x11extras make[1]: *** [sub-src-make_first] Error 3 make[1]: Leaving directory /tmp/qjackctl-git'
make: *** [src/qjackctl] Error 2

pt_BR translation

Hello Qjackctl team,

How can i translate it to brazilian portuguese or help doing?

Obrigado.

Rubber band selection in graph window

In the graph window, it's totally possible to shift-select multiple items and subsequently move them as a group. Strangely when using the rubber band method to select multiple items it's not possible to move them together.

Restore original deletion of graph connection behaviour

In the qjackctl 0.6.1.7, in the graph window, to delete a connection, both the receiver and sender outlets need to be highlighted and the delete pressed, to delete a connection. To connect from one to the other, a cable is pulled out from a sender and dropped onto a receiver to create a connection.

From a user perspective, the previous behaviour, where dragging from a receiver to the sender deletes the connection if they're already connected, is more efficient in terms of physical movement. This build doesn't have this behaviour, i'd like it back.

Wrong build-dependency in the Debian packaging?

Hi Rui,

qttools5-dev-tools (>= 5.1), libjack2-dev, libasound2-dev

It looks like there is a mistake here since there isn't such a libjack2-dev package on Debian's repos. It is probably libjack-jackd2-dev you had in mind.
Note that there is libjack-dev too.

If you really want to enforce building with jack2, then a libjack-jackd2-dev build-depend sounds what you want here. They can be both listed in the debian/control's build-depends field with: libjack-jackd2-dev | libjack-dev if needed to provide alternative.

Hope that helps.

Note that the same mistake a few lines above in: Depends: libjack2, ${shlibs:Depends}, ${misc:Depends} which is supposed to be Depends: jackd, ${shlibs:Depends}, ${misc:Depends}

qjackctl configure fails with Qt 5.7

checking for qmake-qt5... no
checking for qmake... /usr/lib64/qt5/bin/../bin/qmake
checking for qmake... (cached) /usr/lib64/qt5/bin/../bin/qmake
checking for Qt library version >= 5.1... no; Qt 5.1 or greater is required

The solution would be passing -std=c++11 to CXXFLAGS.

[feature-request] Use jack_property for renaming ports

It's cool that in the Graph window one can rename the ports by double clicking on it or rightclick, Rename.
It would be even greater if the new name would be reflected elsewhere too. Renaming in the Graph could actually run jack_property to change the port metadata.

False Positive Realtime Flag in Messages-Status

I set up a new operating system.(Archlinux)
After installing jack2 jackdmp version 1.9.14 and qjackctl 0.6.1, but without confiuring the system for realtime, I started jack, just for fun.

The message log said RT was not possibly, as expected.
Jack started anyway and Qjackctls info in the Messages window, Status tab said "Realtime Mode: yes". Which was obviously not true.

Information-feedback to the (inexperienced) user is very important. We need to be able to trust the programs.
Could you look into that please and make sure it is reporting the correct values.

Condition failed: menu Error in Status

I'm getting a lot of those errors in the status / Messages window, I can't switch the soundcard any more:

οΏ½[31muint DBusMenuExporterDBus::GetLayout(int, int, const QStringList&, DBusMenuLayoutItem&)οΏ½[0m: Condition failed: menu

User Manual?

Hi,

I am wondering if there is a user manual for this program?

My specific questions are:

  • Why do my MIDI devices show up in the ALSA tab (not the MIDI tab) of the "Connect" button and
  • Why use the patchbay instead of the "Connect" button

but I have other questions which I think could be easier answered by reading a manual.

Dummy driver looks to be sent translated

Hi,

I am using qjackctl 0.5.0.

I am trying to run the dummy driver using the GUI. This driver is translated in the selection widget. In french dummy is translated to factice.

Then when i start the server, jackd looks to fail cause factice is unknown. I guess dummy is expected here.

20:19:43.038 /usr/bin/jackd -r -dfactice -r44100 -p1024
connect(2) call to /dev/shm/jack-1000/default/jack_0 failed (err=Aucun fichier ou dossier de ce type)
attempt to connect to server failed
jackd 0.125.0rc1
Copyright 2001-2009 Paul Davis, Stephane Letz, Jack O'Quinn, Torben Hohn and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
jackd: unknown driver 'factice'
no message buffer overruns

Variable length array in causing build failure on Mac OS X

The build fails on Mac OS 10.11.5 with following error (relevant excerpt from the build log):

qjackctlInterfaceComboBox.cpp:213:21: error: variable length array of non-POD
      element type 'QString'
                        QString hostNames[iNumHostApi];

A quick search on Google of course revealed a useful thread on Stack Overflow: https://stackoverflow.com/questions/20461424/error-variable-length-array-of-non-pod-element-type-string

This is probably due to the fact that LLVM/Clang (default compiler on Mac OS X) is a bit stricter than GCC. I've successfully built qjackctl with the suggestion in the Stack Overlfow answer. I will provide a pull request shortly.

Feature request: client shaming when an xrun occurs

Just an idea that could maybe ease troubleshooting and performance tuning in a multi application set up.
The xrun log sometimes points a a particular application "client X did not finish in time".
It would maybe be useful to reflect this in the GUI, or in the status windows.
Something like: out of N total xruns, client X caused Z xruns etc...
Or more generally improve the information about the source of xruns - as much as possible with the jack back end messages.

[question] configure step

Hi Rui,
I've just seen that there is a line "JACK version support [JACK2)" which is set to "no" in my configure step.
Questions:

  • what is it aimed for?
  • what if I build a qjackctl with that option turned on, but using JACK1 at Qjackctl runtime?
    Thanks.

Can not open on Ubuntu 18.04

Hi, I have Ubuntu 18.04 and I am trying the newest version (installing from source).

I did everything as the install said. When I get run $ /usr/local/bin/qjackctl nothing happens. No output, nothing. Can you help me debug this somehow?

Also - have you considered making an appImage?

simplfing setup and uses

1.Ie setup audio interface a auto detect and rescan button for detecting audio interface if user start jack before they plugging in the audio interface.

  1. make it so you can just open jack control and click start to start it without needing to open jack net driver first.
    sketch
  2. add a number pad for connect two pc

Help for the installation

Hi all
I’m very new to raspberry and raspbian, I followed the installation process on
https://qjackctl.sourceforge.io/qjackctl-downloads.html#Downloads
And after go to
https://qjackctl.sourceforge.io/qjackctl-index.html#Installation
I can’t proceed because I don’t know what I have to do with ./configure [- - prefix=PREFIX]
If I star only ./configure terminal start but ending with
configure: error: qmake-qt5 not found in current PATH
and after I can’t go on with make

Could somebody explain me all the installation process. (I have the same issue when I follow the README)

200% CPU usage

This happens quite often:

23643 kjetil    20   0  658668 132428 118460 R 199.3  0.8  40:21.89 qjackctl                                                  

It started happening after I compiled 0.6.1. Tried git HEAD today, but still 200%.

I think it starts happening after having to kill a jack client. I only have the main window open.

perf top -p pidof qjackctl -K

  15.50%  libc-2.18.so                             [.] __memcpy_sse2_unaligned                                               β–’
   3.33%  libQt5Gui.so.5.10.0                      [.] QTextBlock::textDirection                                             β–’
   2.54%  libQt5Gui.so.5.10.0                      [.] QTextBlock::position                                                  β–’
   2.33%  libc-2.18.so                             [.] __GI___libc_write                                                     β–’
   1.40%  libQt5Core.so.5.10.0                     [.] QVariant::userType                                                    β–’
   1.29%  libc-2.18.so                             [.] _int_malloc                                                           β–’
   1.23%  libc-2.18.so                             [.] __libc_enable_asynccancel                                             β–’
   1.10%  libQt5Gui.so.5.10.0                      [.] QTextLine::layout_helper                                              β–’
   1.02%  libQt5Core.so.5.10.0                     [.] QUnicodeTools::initCharAttributes                                     β–’
   0.98%  libQt5Gui.so.5.10.0                      [.] QTextFormat::QTextFormat                                              β–’
   0.86%  libQt5Gui.so.5.10.0                      [.] QTextFormat::~QTextFormat                                             β–’
   0.85%  libc-2.18.so                             [.] _int_free                                                             β–’
   0.76%  libc-2.18.so                             [.] malloc                                                                β–’
   0.76%  libQt5Gui.so.5.10.0                      [.] QTextEngine::itemize                                                  β–’
   0.72%  libQt5Gui.so.5.10.0                      [.] QTextEngine::shapeText                                                β–’
   0.54%  libQt5Widgets.so.5.10.0                  [.] QWidget::window                                                       β–’
   0.54%  libQt5Core.so.5.10.0                     [.] QMetaObject::activate                                                 β–’
   0.52%  libQt5Gui.so.5.10.0                      [.] QTextFormat::intProperty                                              β–’
   0.50%  libQt5Gui.so.5.10.0                      [.] QTextFrame::iterator::operator++                                      β–’
   0.48%  libQt5Gui.so.5.10.0                      [.] QTextEngine::shapeTextWithHarfbuzzNG                                  β–’

Please allow meta data JACKEY_ORDER to order ports

Please allow meta data to order ports in your patchbays, both the old one as well as the graphical.

https://github.com/drobilla/jackey/blob/master/jackey.h


/**
   Order for a port.
   This is used to specify the best order to show ports in user interfaces.
   The value MUST be an integer.  There are no other requirements, so there may
   be gaps in the orders for several ports.  Applications should compare the
   orders of ports to determine their relative order, but must not assign any
   other relevance to order values.
*/
#define JACKEY_ORDER "http://jackaudio.org/metadata/order"

Connection anomaly in graph window

I found by manipulation mistake that I can create unconnected cable items in the graph.

To create one:
1- start dragging a connection out of an output audio port of choice;
2- while it's still dragging, right-click to pop up the menu;
3- left click to make the menu go away;
4- (at this point, if you click on canvas, it would disappear and return to normal)
start dragging a cable out of another output audio port, and drop it anywhere on canvas;
5- the situation as in the screenshot should be seen.

Capture du 2019-10-16 18-12-58

6- next, try moving the client from which these cables have been pulled, and it will crash.

Qjackctl 0.5.9

Warning triangle in system tray does not go away after server restart

After choosing a different Preset, a warning notification is displayed that restarting the JACK audio server is necessary, and the QjackCtl system tray icon changes into a yellow exclamation mark.

After stopping/starting the server, the system tray does not revert back to its normal state.

Xubuntu 18.04 LTS, QjackCtl 0.6.2.

docs for session window

I am currently using 0.5.0 from debian (unstable) and try to make sense of the session window. Is there an article how this works. My intent was to add a bunch of programs (for illustration vkeybd and qsynth) to be able to launch them with one click. Ideally I would also associate a patchbay config for it to active the connections. Is that possible?

Right now I can add programs, but I am not sure how to 'activate' them?

Maybe some part of the confusion is that I am not sure why is referred to by 'Infra-Client'.

Regression in 0.5.4 w/out alsa: error: use of undeclared identifier 'qjackctlAlsaGraph'

In the FreeBSD port (with --disable-alsa_seq) I am getting:

qjackctlAlsaGraph.cpp:356:6: error: use of undeclared identifier 'qjackctlAlsaGraph'
void qjackctlAlsaGraph::resetPortTypeColors (void)
     ^
qjackctlGraphForm.cpp:220:41: error: incomplete type 'qjackctlAlsaGraph' named in nested name specifier
        m_ui.viewColorsAlsaMidiAction->setData(qjackctlAlsaGraph::midiPortType());
                                               ^~~~~~~~~~~~~~~~~~~
./qjackctlGraphForm.h:31:7: note: forward declaration of 'qjackctlAlsaGraph'
class qjackctlAlsaGraph;
      ^
qjackctlGraphForm.cpp:390:8: error: member access into incomplete type 'qjackctlAlsaGraph'
        m_alsa->resetPortTypeColors();
              ^

name_field_contents use translation

Qjackctl is using the German translation for "default" as the server name in Ardour, I guess other applications are also affected in a similar way.

See here:

Name: (voreingestellt)

http://funkyimg.com/view/2dWht

the issue is that it compares the contents of the Name field to the string "(default)"
in this case use it (voreingestellt) instead, which is simply the German translation of default.

I guess other languages are also effected.

thanks a lot to las, who detect that issue.

Freeze during setup of dbus ?

Hi,
I'm trying out linux audio, jack + MIDI for the first time, and found I can get the odd freeze in QJackCTL.

Under certain circumstances, when I start up QJackCTL it has a black window.

If I kill jackdbus in the terminal killall jackdbus -9 it carries on starting up.

Could the app continue starting up and display a message instead (or better, detect the issue and fix it) ?

Issue with QjackCtl 0.5.2

I have issue with QjackCtl with preset having () in the name.
Ardour doesn't have sound output if the name of preset in QjackCtl is (default),
it's working if I erase the () in the preset name, it wors with 'default'.
Reaper (native linux version) give error message too (if thre is () ).
it was working fine with QjackCtl 5.0.0.

Memory corruption in graph when disconnecting

Hi. There is a crash in the graph editor in a particular situation.

It seems in relation with client name.
In this repository is a flanger plugin realized with faust2lv2: https://github.com/linuxmao-org/greffons-faust
It's an educational-purpose source with non-english text, containing accented characters in the name. When it's instantiated, it seems to give qjackctl graph editor some trouble. (rev 17ef7ce)

These are my steps to produce a crash:

  1. open in Jalv the plugin by URI https://github.com/linuxmao-org/greffons-faust/flanger
  2. connect something on the instance's first input by qjackctl graph editor
  3. disconnect the connection just created
  4. it's probably crashing here, otherwise repeat 2. until it does

In valgrind, a memory error will be reported; see vg-log.txt.gz

Would displaying both sampling rates avoid confusion?

I'm new to jack.

The window shows the configured sampling rate on the window (top-right of the display "48000 Hz"):

image
(Don't mind the mix of resolutions - it's reported in #28)

However, jack might ignore this for one reason or another, and the messages window seems to show this:

Starting jack server...
JACK server starting in realtime mode with priority 10
self-connect-mode is "Don't restrict self connect requests"
Acquired audio card Audio1
Acquired audio card Audio0
creating alsa driver ... hw:PCH,0|hw:ToneLabST,0|128|3|44100|0|0|nomon|swmeter|-|16bit
configuring for 44100Hz, period = 128 frames (2.9 ms), buffer = 3 periods

This is confusing because you'll get errors like:

ERROR: playback and capture sample rates do not match (48000 vs. 44100)

And it's confusing because you think the window shows you what frequency is being used (48000Hz) while actually 44100Hz is being used and the window simply seems to show what you wrote in the settings. This would make the display more of a wishful thinking rather than an actual frequency gauge

Again, I might have interpreted this all wrong. But since I'm new to jack, I could be considered an UX tester and I'm confused. Perhaps the Window display can show both the playback and capture sample rates with a nice little alert indicator showing which hardware device is "in the wrong", because in settings you can only specify one rate, not separate rates for both capture and playback.

Option to Ignore All Self Connect Requests

Hi friends,
One of the dealbreakers preventing me from switching to QJackCtl is there is no option to ignore "self connect requests".
Sometimes I need to restart the engine, and when that happens, there appears to be some sort of request by jack (or the hardware; not sure) to set up initial connections.
But when this happens, it messes up all the work I've done setting up connections the way I prefer. I must then select all, disconnect all, then reload my saved connections.
It's a minor inconvenience but still several clicks extra work, which I'm sure is maddening to newbies (it was to me before I realized what was happening).

As an example, here's a screenshot of the tool I currently use: Claudia:
image

When I select that option "Ignore all self-connect requests", no additional connections are ever made just because I restart jack or other modules. Thus, when my DAW comes back up, my previous connection state reappears instantly.

Window not compatible with modern resolution

These days I can't find a modern media computer around with a resolution below 4K anymore.

But the window is still in the same pixel size, effectively dividing the window surface by 4:

image

This is on Ubuntu 16.04 LTS. The title bar is the normal window font size.

Admittedly, this is qjackctl version 0.4.2 build apr 7 2016 21:23:34. I see a lot of work has been done since. This version comes default from the Ubuntu repositories. This might have been solved already. I'm not sure where I can go to suggest a backport of said improvement, if it exists. I also suspect Ubuntu LTS people will start upgrading in the summer, hopefully getting a newer version of qjackctl.

Misleading notifications

While checking/unckecking the new Setup... -> Misc -> Buttons -> []Β Replace Connections with Graph buttons, we are notified that: Server settings will be only effective after restarting the JACK audio server..

Despite this message, the change is made instantaneously.
This is a bit confusing from a user point of view thus there is no harm here. Only reporting it here.

HTH.

OK and Apply buttons still grey after changing preset

In 0.6.0.9git.407b3a after changing the preset, I can't activate it with the OK or Apply buttons because they are still greyed out. I have to press Cancel, after which the Dialog pops up "Some settings have been changed. Do you want to apply these changes?" There I can Apply them.

Unusable (hangs X while running) on ubuntu 16.04?

Hi,

Today I was going to create some music - Started up my dedicated DAW machine and I encountered a very strange problem with qjackctl:

When I run it from console Xorg just hangs there, until I press Ctrl-C... I thought it had something to do with my IRQ prioritization on the realtime-stuff, so I logged in from another machine using ssh -X and started qjackctl from there. Then the Xorg issue occurred on THAT machine too... Everything freezes until I killed the qjackctl process. What happened here?

Very anxious for some clarification/workaround. It seems to be a GUI issue?

... I don't get anything in logs. Nor console output.

Kind regards,
/AiO

On-the-fly patchbay activation from command line

The patchbay is very useful for live performance, however patchbay profiles can be activated only via the GUI, which makes it hard to automate via scripting.

It would be nice if QjackCtl offered a way to activate patchbays on the fly, without restarting the JACK server.

I'm not asking to change the current -a option if that means breaking some people's current setups, but maybe a new option like this:

qjackctl --patchbay-profile=Song1.xml

would be very, very useful to all people who make their own live setups without relying on DAWs.

Thank you for reading 😸

Starting with runing jack causes to ask settings save on quit

Short time before I had qjackctl with enabled option to stop jack in application exit. Today I disabled this option, because need sometimes to restart qjackctl due to another clearly systray-related bug.

It is ok, if qjackctl quited first time after enabling this option. But if started during same jack run, following attempt to quit will cause it to behave as if there are unsaved settings. Problem doesn't appear if jack was not started when qjackctl started, but doesn't disappear if jack was stoped before to quit.

Turning mentioned option back on makes problem to disappear immediately (not only on next qjackctl run). It even doesn't appear if option is enabled, saved, and then immediately disabled, all during one qjackctl/jack run.

Cannot use system tray menu on Ubuntu 18.04

Hi.

On Ubuntu 18.04 (GNOME), qjackctl works except that the system tray menu does not.

What happens: I launch qjackctl, I see the app opening, and the system tray menu appears where my mouse currently is. I then have to press Escape to make it disappear.

Right clicking on the qjackctl icon in the panel doesn't bring up the usual menu. I have to double click the icon to have the window appear.

qjackctl version in ubuntu is 0.4.5, but I backported 0.5.0 from debian unstable and I get the same issue.

I can post screenshots / screencasts if needed if you have trouble understand what I tried to describe above :)

Tray context menu breaks input, requiring mouse click to restore

This problem affects all gui, including tray icon.

After tray context menu is opened, it will close by click outside, but all following mouse and keyboard input is ignored. For keyboard - impossible to change focus or input to text fields, for mouse - heh, even cursor doesn't change between text/pointer forms when moved in/out of text entry field.

To restore input, mouse click by any button is required at any gui part. Scroll events (mouse buttons 4/5) don't work just like keyboard.

Edit (landed to enter early): after input is restored, keyboard focus change is still broken, although after some magick clicks sequence it is ok too. Tried live version as well, besides recent release.

How do I build with support for jack2 and jack1?

When building qjackctl I have always built with jack1 because that was everything that was in the repository for my Linux distro, Solus. I manage to get Jack2 packaged but I don't know how to figure out how to build both jack1 and jack2 support. The two packages conflicts with each other so there is not possible to install them at the same time. What should I do?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.