Hi,
I am trying to use properties, but I might be missing something:
I tried multiple variations:
jack_property -l
Jack: JackClient::SetupDriverSync driver sem in flush mode
Jack: JackLinuxFutex::Connect name = jack_sem.1002_default_jack-property
Jack: Clock source : system clock via clock_gettime
Jack: JackLibClient::Open name = jack-property refnum = 7
could not retrieve all properties
jack_property -ps system:capture_1
http://jackaudio.org/metadata/pretty-name "Toto"
Jack: JackClient::SetupDriverSync driver sem in flush mode
Jack: JackLinuxFutex::Connect name = jack_sem.1002_default_jack-property
Jack: Clock source : system clock via clock_gettime
Jack: JackLibClient::Open name = jack-property refnum = 7
Jack: jack_set_property ext_client 246af040 client 246af040
cannot set value for key Toto of system:capture_1
jack_property -p -s system:capture_1 "Toto"
http://jackaudio.org/metadata/pretty-name
Jack: JackClient::SetupDriverSync driver sem in flush mode
Jack: JackLinuxFutex::Connect name = jack_sem.1002_default_jack-property
Jack: Clock source : system clock via clock_gettime
Jack: JackLibClient::Open name = jack-property refnum = 7
Jack: jack_set_property ext_client 51646040 client 51646040
cannot set value for key http://jackaudio.org/metadata/pretty-name of
system:capture_1
I am using jack-audio-connection-kit-1.9.14-2
Bruno
Hi people,
I am writing because I am experiencing a strange issue.
I had a setup with Jack PortAudio (& Jack Control) for Windows, i opened
them before (as admin), then opened Ableton and SuperCollider (also as
admin) to bridge audio from one software to another. I also start Jack
PortAudio with the following commands (going from Jack PortAudio ->
Properties -> Shortcut -> Target):
"C:\Program Files (x86)\Jack\jackd.exe" -R -P95 -Xwinmme -S -d portaudio
-d "ASIO::US-2x2 & US-4x4" -r44100 -p512
I have been playing with this set-up from Jan to mid of March.
Now I reopened my projects and something is wrong with that: when I play
the test sine tone from Ableton, I can hear a sort of a Ring Mod, that is
clearly a block size problem.
I tried to switch block sizes - and sample rates - (both in JackControl and
in the 'target' line of Jack PortAudio) but the only moment the test tone
was playing kind of normally was once with 256 block size. But that time I
had experienced a big problem: the sine tone was full of small clicks as my
cpu was not handling it (which is really strange cause I normally have
quite strong performances).
So I really do not know what to do, also because this project was intended
for my degree, which is tomorrow, but I have to rehearse this afternoon.
Thanks for your attention
Hope y'all are safe
Respectfully
Giovanni
Hi all!
I am the developer of XT-Audio (a project similar to PortAudio) which
provides a unified interface to a couple of audio I/O backends on windows
and linux, among them JACK. XT-Audio is implemented as a C interface to
these backends, and on top of that, bindings for C++, .NET and Java. Along
with the core library, I also provide a couple of sample programs (for each
language) and a GUI demo application which is implemented in .NET only. The
problem I currently run into is: when testing JACK using the GUI sample (a
WinForms application, run using Mono), I run into the SuspendRefNum and
JackClient::Execute errors immediately after starting an audio stream
(jack_activate) and after this point the application becomes unstable.
QJackCtl message window shows my app's ports being immediately disconnected
and I receive "server not running" errors. However this ONLY happens when
testing using my winforms demo app. I also provide a c++ console sample app
(runs JACK fullduplex by just copying input to output) and a .NET sample
console app which does the same thing. Both run without problems 100% of
the time. So at first I tried to find the error in my winforms app, but
i've been going through it for a couple of weeks now and can't seem to find
anything obviously wrong with it. Errors mentioned at
https://github.com/jackaudio/jack2/issues/307 look very similar to what i'm
encountering but i'm not sure they are actually related. Are there any
known problems that might cause the SuspendRefNum/JackClient::Execute error
sequence? I'm kind of at a loss here and any help would be greatly
appreciated. I'm running ubuntu 20.04 with jack 1.9.12. I also tried
various things like running the demo app before starting the JACK server,
the other way around, killing pulseaudio, using pasuspender etc, all to no
avail. My XT-Audio project is at https://github.com/sjoerdvankreel/xt-audio.
Binaries for the current version are at
https://sjoerdvankreel.github.io/xt-audio. Don't know if it's of any help,
but all of this used to run just fine under ubuntu 16.x (can't remember
jack version).
Best regards,
Sjoerd
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campai…>
Virus-free.
www.avast.com
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campai…>
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
Hiya,
My use case is this: I have a desktop with Arch, I play music on it
using the desktop audio port at the back during the day, and at night
I use headphones connected to a tiny USB sound card. This works with
pulseaudio, but despite being a simple scenario pulseaudio is a bit
flaky and sometimes hangs. So I went looking for an alternative
solution. I know that Jack is for professional audio, not some basic
home use, however I gave it a try.
I used the instructions in the Arch and Jack wikis. I am using jack2
with Cadence and set up a bridge for pulseaudio to Jack. Some of
players that I use have Jack outputs so I use it on them, example,
Vlc, Audacious, Mixxx. For Firefox and other players without a Jack
output I use the pulseaudio bridge. I have been using this for a day
only and so far I am happy, it seems more reliable than pulseaudio. I
do have to stop the jack server and the pulse audio bridge before
suspending the computer, but that is fine with me (incidentally this
suspending seems to trigger pulseaudio flakiness when not using jack).
The sound quality seems better with Jack – not really surprising as it
is professional audio!
There is something I have not figured out. If I plug headphones on the
3.5 mm headphone port in the front of the desktop, the sound out of
the back to the speakers stops, as normal in pulseaudio, however I
don't get any sound on the headphones. I could not find in Cadence any
port specific for the headphones. Another guy reported the same a few
days ago on the Arch forum so it is not just me. Is there a solution
for this?
Hi,
I am using KXStudio repos on Debian Testing with Mackie 1640i firewire
interface on Lenovo Thinkpad T420.
I followed most of this
https://wiki.linuxaudio.org/wiki/system_configuration to tune my system
for audio work.
I am starting JACKd with cadence automatically on boot. Everything seems
to work fine with Ardour and even PulseAudio sink but when I run Catia
(version 5:0.9.1 from kxrepos) it detects my FW device and shows I/O
ports so I can patch connections but not showing the device and I/O
ports in Claudia (version 5:0.9.1 from kxrepos).
custom RT kernel 5.4.19-rt9-fw (I am using some patch to tune FIFO
buffer on my firewire controller and get less xruns but same issue
remains with stock debian RT kernel) with libffado 2.4.2-1.
Here is log from jackd: https://del.dog/raw/jackd_log [GREP FOR THE
ERROR LINES]. Possible important lines:
ERROR: firewire MSG: Streaming thread running with Realtime scheduling, priority 30
ERROR: firewire MSG: Registering audio capture port firewire_pcm:000ff2050000145b_CH1_in
If someone has some more experience with JACKd and know where to start
debugging process please do post reply. Thanks in advance!
AreYouLoco?
Hi everyone,
As a word beforehand: I am a somewhat experienced C++ programmer but brand
new to developing with Jack.
I'm somewhat experienced in Using Jack audio tho.
I am rather ambitious and don't want to make stupid beginners mistakes so I
often ask super basic (some times really dumb) questions.
I will briefly talk about my current project so you maybe can suggest
something better or understand my thoughts better.
I'm pretty shure most of you guys have heard of automation tools like
autohotkey or something similar. I want to build such an automation tool
but tailored for midi devices instead of keyboards.
I want to have the ability to read information from a config file what so
ever. Actually thinking about a config script of sorts, instead of
json/yaml/toml files. (that's not the point tho)
I also want to be able to process multiple midi controllers with one
instance like autohotkey can have multiple instances running and supports
multiple scripts per instance.
I want to be able to register callbacks from the scripting engine that are
called if a message is received.
I want to support multiple instances of the same device (in my example I
use novation Launchpads).
I want to be able to have a function setup the device. For example change
modes or setup basic elements or ensure the device will have the right
firmware version for the script. (if the device supports it)
I want the Program to appear as one Jack client with one input and one
Output per midi device and optionally stereo outputs per Device.
Now I want to talk about my thoughts about the structure of my program:
First of all I will be working with C++14 or C++17. And want to get it
working at all before making it multithreaded and efficient.
I have some kind of main Class that is responsible for reading the main
config file/script and creates a vector of Device Objects.
I will call this main Class DeviceManager.
The device manager will run the main process function of jack.
It will receive midi events from all devices and will pass a vector of
vectors with raw midi data to the process function per device.
The Device object keeps a registry of callbacks and will call them from its
process function.
If I want to Send midi data or audio data to the Hardware it will push
vectors of raw midi data onto a queue and the process function will flush
the queue of one device per call.
I will have to implement my own midi clock per device (that controls the
blink and fade speed on the launchpad. It may be useful on other
controllers too.)
Now my real questions:
Would it be better to have the Device manager pass a reference to the
Devices and run every Device in its own thread with its own process
function?
How would I check if a external jack port exists? So it can wait until for
example a device is plugged in and comes up or a program is started.
What is the most effective way to send larger amounts of midi data?
Is there a good C++ wrapper around jack that would save me some work? I
already know about juice but I deemed it to big for the things I would use
it for.
Best regards Stefan Schmelz