First project - KDE Widget for Jack Transport

Programming applications for making music on Linux.

Moderators: khz, MattKingUSA

Post Reply
Largos
Established Member
Posts: 183
Joined: Mon Oct 05, 2020 12:21 pm
Has thanked: 10 times
Been thanked: 40 times

First project - KDE Widget for Jack Transport

Post by Largos »

To say I don't really know what I am doing is putting it mildly. I have created the UI for a widget so that the play stop and skip controls for jack transport can be in the panel of a plasma desktop. What I don't know is how to send the commands and to what to have them actually working (small detail, I know). I have actually spent a good bit of time on this because I had to learn all the qml stuff.

I created a gitlab page for it here https://gitlab.com/a7534/jacktransportwidget

If you want to install it, you download it and move the jacktransportwidget folder to ~/.local/share/plasma/plasmoids You might have to restart plasma. It doesn't do anything at the moment, though.

What I want it to do is, detect in the background when JACK is running and connect to it. There is an indicator button on the widget, which I want to light up when it's connected. The buttons are skip forward and back, play/pause and stop. I copied the buttons off Catia. My idea for this was to move those buttons on the panel because that would be convenient.

Those are my first goals. If I can get that working, I'll see if I can do other things for jack from the panel.

What I am looking for is any advice and/or information to help with how I go about getting this to work because I haven't had any joy finding information on this.
User avatar
SpotlightKid
Established Member
Posts: 184
Joined: Sun Jul 02, 2017 1:24 pm
Been thanked: 3 times

Re: First project - KDE Widget for Jack Transport

Post by SpotlightKid »

Do you want to write the main program logic in C++ or Python? In latter case, check out jackclient-python.

This example shows how to connect to a running JACK server and query and manipulate the transport state:

https://github.com/spatialaudio/jackcli ... sporter.py
User avatar
marbangens
Established Member
Posts: 54
Joined: Fri Nov 16, 2018 8:39 pm
Been thanked: 5 times

Re: First project - KDE Widget for Jack Transport

Post by marbangens »

If you like to detect jack in the background with c++ you probably need to create a thread with the lowest priority and just check for something simple and fast and then sleep kind of loop. Its a bit advanced for fist project, but you learn the most when you just go into the fun stuff from the start :D
There is the docs
https://jackaudio.org/api/group__TransportControl.html

You may need to use those, test what you need to use and what works for you and you're code :D

Code: Select all

jack_client_open()
// To change position, use jack_transport_reposition() and jack_transport_locate()
jack_transport_start()
jack_transport_stop()
Look at others code also, take things apart and test everything
Post Reply