Git Product home page Git Product logo

mod-desktop's Introduction

MOD Desktop

MOD Audio is on the desktop!

This is the source code repository for MOD Desktop, a little tool by MOD Audio that combines all the goodies from MOD for the desktop platform packaged in a convenient installer.

screenshot

What this actually means is that you get a virtual pedalboard setup in a node/patchbay-like fashion, where you load "pedals" which are basically just LV2 audio plugins.
Everything is drag & drop based, so you drop plugins from the bottom plugin bar into the main pedalboard view (called "constructor") and then drag & drop output-facing cables into either other plugins or the right side of the constructor.
Unlike typical physical pedalboards where the signal flows from right to left, on MOD Desktop the signal flows from left to right as that is more common on desktop UIs.

See https://wiki.mod.audio/wiki/MOD_Web_GUI_User_Guide for a more in-depth explanation of UI details, though please note a few things will not be the same due to platform differences.

Download

MOD Desktop has builds for:

  • Linux x86_64
  • macOS universal (Intel + Apple Sillicon)
  • Windows 64bit

You can find them in the releases section.

These downloads contain both MOD Desktop and a couple of plugins ready for usage.

Installing

Installation depends on your operating system.

For Linux systems we currently provide a binary tarball, you just extract and run the startup script inside. Eventually we want to have MOD Desktop under Flathub, please get in touch if you want to help make that happen.

For macOS we provide a signed pkg installer, compatible with both Intel and Apple Sillicon systems. Double-click the package to install. After installation you can find "MOD Desktop" under your "Applications" folder.

And finally for Windows there is a simple installer executable, that shows an installer wizard as typical for most Windows applications.

Usage

By default MOD Desktop will show you as few controls as possible, to not get in the way. You just need to pick a soundcard you wish to use and press "Start". This will start up the audio engine and (local) web service that manages the session and plugins.

Once the engine is running, click the "Open Web GUI" button to open the MOD UI view in your default web browser.
NOTE: even though this uses a web browser, the page is being served locally; the use of web technologies is an intentional design choice for making the UI cross-platform compatible.

If anything fails you can enable debug logs in the "GUI Options" section, that might provide some information.

MOD Desktop will close to the "system tray" by default, but this can also be changed in the "GUI Options".

Handling files

There are a few plugins on the MOD platform, like AIDA-X and NAM, that load external files. On their GUIs they will list the files as available under $Documents/MOD Desktop/user-files directory (the actual file path depends on the operating system).

You are meant to copy the files you wish to load into the relevant directory for them. For convenience, MOD Desktop includes a "Open User Files" button that will automatically open your file explorer in the directory dedicated to such files. So when wishing to load NAM models for the "Neural Amp Modeller" plugin for example, simply copy your model files into the "NAM Models" subdirectory.

screenshot

screenshot

Current status

At this point this tool should be considered in beta state. Most things already work but we are still tweaking and fixing a lot, specially due to MOD related software and plugins never been tested on Windows systems before. Feedback and testing is very much appreciated, make sure to report issues you find during your own testing. When reporting issues make sure to create 1 ticket per issue, and give some information about your system (what OS and version, what soundcard you use)

Current known issues:

  • Handling of Windows filepaths is not always correct (differences between POSIX vs Windows path separators)
  • When mod-host crashes it will stop the UI process, instead of being automatically restarted like in MOD units

Development

If you want to contribute, here are a few items where help would be appreciated:

  • Debugging and fixing Windows specific issues within mod-ui (*)
  • Documentation regarding "universal" ASIO drivers, like ASIO4ALL and FlexASIO, and how to set them nicely for MOD Desktop

(*) Note: on Windows the default installation has html/css/js files in C:\Program Files\MOD Desktop\html and python files in C:\Program Files\MOD Desktop\mod, which can be directly modified, making it very easy and convenient to try out any changes.

Also help in these areas, but they are much more involved:

  • Create a JACK-API-compatible node-based audio graph, to be used for eventually running "mod-desktop as a plugin" (there are a few opensource libs for this already, like the one included in miniaudio)
  • Create a virtual sound device for macOS that can send audio into a JACK client, similar to JACK-Router and WineASIO projects

License

MOD Desktop is licensed under AGPLv3+, see LICENSE for more details.

mod-desktop's People

Contributors

falktx avatar samantha-uk avatar weavermedia 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  avatar

mod-desktop's Issues

QUESTION - How are releases obtained?

I've forked this repo (To contribute to the development) and have enabled github workflows.
I've googled, but have failed to find how to grab the github workflow (I assume) generated builds to add as release images, can you point me at some directions or describe how this can be done?

Sam x

[Feature Request] Switch presets using midi

Hi,

Currently, there is no way to control and select a preset from the preset list of a plugin using MIDI.

Could it be possible to implement a way to change between presets using a MIDI input? I can see two approaches:

  • Assigning a MIDI input to select the next or previous preset in the loaded bank.
  • Listing all presets saved for a specific plugin and assigning them a range of values between 0 and 255. This way, it would be possible to use a slider to quickly select a preset from those available.

Time to change the Readme.

As title says, now there are Linux and macOS builds, the readme says there are just windows builds... I've sent the repo to someone who has read only the readme and I found it's a bit misleading now....

MIDI on Windows with Program Change does nothing on Pedalboards or Snapshots

Hi,

I've downloaded the latest build from the github actions, as suggested to enable MIDI on Windows.
Apparently Program Change commands does nothing.

I've tried to switch channels also, but without luck.

I?m not able to switch Pedalboards or Snapshots.

I send these commands on channel 1 and 2: PC 0, PC 1, PC 2, PC 3

image

The mod host and jackd verbose log show this for Channel 1:

PROTOCOL: response 'resp 0'
Jack: JackWinMMEInputPort::EnqueueMessage - enqueueing event at 1589830.981000 (frame: 4418425) with start offset '92063' scheduled for frame '4418421'
Jack: JackWinMMEInputPort::EnqueueMessage - enqueueing event at 1591071.851000 (frame: 4477975) with start offset '93303' scheduled for frame '4477929'
Jack: JackWinMMEInputPort::EnqueueMessage - enqueueing event at 1592002.796000 (frame: 4522653) with start offset '94235' scheduled for frame '4522658'
Jack: JackWinMMEInputPort::EnqueueMessage - enqueueing event at 1592805.869000 (frame: 4561201) with start offset '95038' scheduled for frame '4561202'

Instead for channel 2 it shows this:

DEBUG: RunPostPonedEvents() START
DEBUG: RunPostPonedEvents() Before the queue iteration
DEBUG: RunPostPonedEvents() Sending 'midi_program_change 0 1'
DEBUG: RunPostPonedEvents() After the queue iteration
DEBUG: RunPostPonedEvents() Sending 'data_finish'
DEBUG: RunPostPonedEvents() END
DEBUG: PostPonedEventsThread() looping (code 1)
PROTOCOL: received 'output_data_ready'
DEBUG: effects_output_data_ready() UI is ready to receive more stuff (code 0)
DEBUG: RunPostPonedEvents() START
DEBUG: RunPostPonedEvents() Queue is empty
DEBUG: PostPonedEventsThread() looping (code 1)
PROTOCOL: response 'resp 0'
Jack: JackWinMMEInputPort::EnqueueMessage - enqueueing event at 1566663.474000 (frame: 3306504) with start offset '68895' scheduled for frame '3306476'
DEBUG: RunPostPonedEvents() START
DEBUG: RunPostPonedEvents() Before the queue iteration
DEBUG: RunPostPonedEvents() Sending 'midi_program_change 1 1'
DEBUG: RunPostPonedEvents() After the queue iteration
DEBUG: RunPostPonedEvents() Sending 'data_finish'
DEBUG: RunPostPonedEvents() END
DEBUG: PostPonedEventsThread() looping (code 1)
PROTOCOL: received 'output_data_ready'
DEBUG: effects_output_data_ready() UI is ready to receive more stuff (code 0)
DEBUG: RunPostPonedEvents() START
PROTOCOL: response 'resp 0'
DEBUG: RunPostPonedEvents() Queue is empty
DEBUG: PostPonedEventsThread() looping (code 1)
Jack: JackWinMMEInputPort::EnqueueMessage - enqueueing event at 1567848.355000 (frame: 3363369) with start offset '70081' scheduled for frame '3363395'
DEBUG: RunPostPonedEvents() START
DEBUG: RunPostPonedEvents() Before the queue iteration
DEBUG: RunPostPonedEvents() Sending 'midi_program_change 2 1'
DEBUG: RunPostPonedEvents() After the queue iteration
DEBUG: RunPostPonedEvents() Sending 'data_finish'
DEBUG: RunPostPonedEvents() END
DEBUG: PostPonedEventsThread() looping (code 1)
PROTOCOL: received 'output_data_ready'
DEBUG: effects_output_data_ready() UI is ready to receive more stuff (code 0)
PROTOCOL: response 'resp 0'
DEBUG: RunPostPonedEvents() START
DEBUG: RunPostPonedEvents() Queue is empty
DEBUG: PostPonedEventsThread() looping (code 1)
Jack: JackWinMMEInputPort::EnqueueMessage - enqueueing event at 1570525.147000 (frame: 3491841) with start offset '72757' scheduled for frame '3491829'
DEBUG: RunPostPonedEvents() START
DEBUG: RunPostPonedEvents() Before the queue iteration
DEBUG: RunPostPonedEvents() Sending 'midi_program_change 3 1'
DEBUG: RunPostPonedEvents() After the queue iteration
DEBUG: RunPostPonedEvents() Sending 'data_finish'
DEBUG: RunPostPonedEvents() END
DEBUG: PostPonedEventsThread() looping (code 1)
PROTOCOL: received 'output_data_ready'
DEBUG: effects_output_data_ready() UI is ready to receive more stuff (code 0)
DEBUG: RunPostPonedEvents() START
DEBUG: RunPostPonedEvents() Queue is empty
DEBUG: PostPonedEventsThread() looping (code 1)

Is seems it reacts like in Linux, MIDI Channel 2 is in reality Channel 1 for ModHost

Let me know how can I help.

Cheers.

Windows Version 0.3 does not stay started/connected

I first tried 0.2 last night and it made sounds but I couldn't select any IRs. Tried 0.3 this morning and it can't start: click start and after a second the start button is still enabled and GUI button disabled.

image


Starting jackd using:
-R -S -n mod-app -C .\jack\jack-session.conf -v -d portaudio -r 48000 -p 128 -d ASIO::Focusrite USB ASIO
jackdmp 1.9.22
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2016 Grame.
Copyright 2016-2023 Filipe Coelho.
jackdmp 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
Drivers/internals found in : C:\Program Files\MOD App
Drivers/internals found in : C:\Program Files\MOD App
JACK server starting in realtime mode with priority 10
self-connect-mode is "Don't restrict self connect requests"
Jack: JackWinThread::StartImp : create non RT thread
Jack: JackWinThread::ThreadHandler : start
Jack: Initializing PortAudio...
Jack: JackPortAudioDriver::Open nframes = 128 in = 0 out = 0 capture name = ASIO::Focusrite USB ASIO playback name = ASIO::Focusrite USB ASIO samplerate = 48000
Jack: JackDriver::Open capture_driver_name = ASIO::Focusrite USB ASIO
Jack: JackDriver::Open playback_driver_name = ASIO::Focusrite USB ASIO
Jack: Check protocol client = 9 server = 9
Jack: JackEngine::ClientInternalOpen: name = system
Jack: JackEngine::AllocateRefNum ref = 0
Jack: JackWinSemaphore::Allocate name = jack_pipe.mod-app_system val = 0
Jack: JackEngine::NotifyAddClient: name = system
Jack: JackGraphManager::SetBufferSize size = 128
Jack: JackConnectionManager::DirectConnect first: ref1 = 0 ref2 = 0
Jack: JackGraphManager::ConnectRefNum cur_index = 0 ref1 = 0 ref2 = 0
Jack: JackDriver::SetupDriverSync driver sem in normal mode
Jack: JackPortAudioDriver::Open fInputDevice = 21, fOutputDevice 21
Jack: JackPortAudioDriver::Open setup max in channels = 2
Jack: JackPortAudioDriver::Open setup max out channels = 2
Jack: JackPortAudioDriver::OpenStream buffer_size = 128
Jack: JackWinNamedPipeServerChannel::Open
Jack: JackWinNamedPipeServer::BindAux : fName \\.\pipe\server_jack_mod-app_0
Jack: JackEngine::Open
Jack: JackWinNamedPipeClient::ConnectAux : fName \\.\pipe\server_jack_mod-app_0
Jack: JackEngine::ClientInternalOpen: name = freewheel
Jack: JackEngine::AllocateRefNum ref = 1
Jack: JackWinSemaphore::Allocate name = jack_pipe.mod-app_freewheel val = 0
Jack: JackEngine::NotifyAddClient: name = freewheel
Jack: JackDriver::ClientNotify ref = 1 driver = system name = freewheel notify = 0
Jack: JackDriver::ClientNotify ref = 0 driver = freewheel name = system notify = 0
Jack: JackConnectionManager::DirectConnect first: ref1 = 1 ref2 = 1
Jack: JackGraphManager::ConnectRefNum cur_index = 0 ref1 = 1 ref2 = 1
Jack: JackDriver::SetupDriverSync driver sem in normal mode
Jack: JackAudioDriver::Attach fBufferSize = 128 fSampleRate = 48000
Jack: JackEngine::PortRegister ref = 0 name = system:capture_1 type = 32 bit float mono audio flags = 22 buffer_size = 128
Jack: JackGraphManager::AllocatePortAux port_index = 1 name = system:capture_1 type = 32 bit float mono audio
Jack: JackConnectionManager::AddOutputPort ref = 0 port = 1
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackAudioDriver::Attach fCapturePortList[i] port_index = 1
Jack: JackEngine::PortRegister ref = 0 name = system:capture_2 type = 32 bit float mono audio flags = 22 buffer_size = 128
Jack: JackGraphManager::AllocatePortAux port_index = 2 name = system:capture_2 type = 32 bit float mono audio
Jack: JackConnectionManager::AddOutputPort ref = 0 port = 2
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackAudioDriver::Attach fCapturePortList[i] port_index = 2
Jack: JackEngine::PortRegister ref = 0 name = system:playback_1 type = 32 bit float mono audio flags = 21 buffer_size = 128
Jack: JackGraphManager::AllocatePortAux port_index = 3 name = system:playback_1 type = 32 bit float mono audio
Jack: JackConnectionManager::AddInputPort ref = 0 port = 3
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackAudioDriver::Attach fPlaybackPortList[i] port_index = 3
Jack: JackEngine::PortRegister ref = 0 name = system:playback_2 type = 32 bit float mono audio flags = 21 buffer_size = 128
Jack: JackGraphManager::AllocatePortAux port_index = 4 name = system:playback_2 type = 32 bit float mono audio
Jack: JackConnectionManager::AddInputPort ref = 0 port = 4
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackAudioDriver::Attach fPlaybackPortList[i] port_index = 4
Jack: InitTime : multimedia timer resolution set to 1 milliseconds
Jack: JackServer::Start
Jack: JackPortAudioDriver::Start
Jack: JackWinThread::StartImp : create non RT thread
Jack: JackWinThread::ThreadHandler : start
Jack: JackWinNamedPipeServerChannel::Init
Jack: JackWinNamedPipeServerChannel::ClientAdd size 0
Jack: JackWinThread::StartImp : create non RT thread
Jack: JackWinNamedPipeServer::BindAux : fName \\.\pipe\server_jack_mod-app_0
Jack: JackWinThread::ThreadHandler : start
Jack: JackClientPipeThread::Execute ea808aa0
Jack: JackLoadableInternalClient::JackLoadableInternalClient path_to_so = jack/mod-midi-merger.dll
Jack: No jack_get_descriptor entry-point for mod-midi-merger
Jack: JackInternalClient::Open name = mod-midi-merger
Jack: Check protocol client = 9 server = 9
Jack: JackEngine::ClientInternalOpen: name = mod-midi-merger
Jack: JackEngine::AllocateRefNum ref = 2
Jack: JackWinSemaphore::Allocate name = jack_pipe.mod-app_mod-midi-merger val = 0
Jack: JackRequest::Notification
Jack: JackEngine::NotifyAddClient: name = mod-midi-merger
Jack: JackDriver::ClientNotify ref = 2 driver = system name = mod-midi-merger notify = 0
Jack: JackClient::ClientNotify ref = 0 name = system notify = 0
Jack: JackDriver::ClientNotify ref = 2 driver = freewheel name = mod-midi-merger notify = 0
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackClient::ClientNotify ref = 1 name = freewheel notify = 0
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackClient::SetupDriverSync driver sem in normal mode
Jack: JackInternalClient::Open name = mod-midi-merger refnum = 2
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackEngine::PortRegister ref = 2 name = mod-midi-merger:in type = 8 bit raw midi flags = 1 buffer_size = 0
Jack: JackGraphManager::AllocatePortAux port_index = 5 name = mod-midi-merger:in type = 8 bit raw midi
Jack: JackConnectionManager::AddInputPort ref = 2 port = 5
Jack: JackClient::PortRegister ref = 2 name = mod-midi-merger:in type = 8 bit raw midi port_index = 5
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackEngine::PortRegister ref = 2 name = mod-midi-merger:out type = 8 bit raw midi flags = 2 buffer_size = 0
Jack: JackGraphManager::AllocatePortAux port_index = 6 name = mod-midi-merger:out type = 8 bit raw midi
Jack: JackConnectionManager::AddOutputPort ref = 2 port = 6
Jack: JackClient::PortRegister ref = 2 name = mod-midi-merger:out type = 8 bit raw midi port_index = 6
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackClientPipeThread::Execute ea808aa0
Jack: JackRequest::Notification
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackClientPipeThread::Execute ea808aa0
Jack: JackClient::Activate
Jack: JackWinThread::StartImp : create non RT thread
Jack: JackWinThread::ThreadHandler : start
Jack: JackClient::kBufferSizeCallback buffer_size = 128
Jack: JackRequest::Notification
Jack: JackClient::Init : period = 0 computation = 0 constraint = 0
Jack: JackWinThread::AcquireRealTimeImp priority = 7
Jack: MMCSS API not used...
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackClientPipeThread::Execute ea808aa0
Jack: JackEngine::ClientActivate ref = 2 name = mod-midi-merger
Jack: JackConnectionManager::DirectConnect first: ref1 = 1 ref2 = 2
Jack: JackGraphManager::ConnectRefNum cur_index = 3 ref1 = 1 ref2 = 2
Jack: JackConnectionManager::DirectConnect first: ref1 = 2 ref2 = 1
Jack: JackGraphManager::ConnectRefNum cur_index = 3 ref1 = 2 ref2 = 1
Jack: JackClient::ClientNotify ref = 2 name = mod-midi-merger notify = 2
Jack: JackClient::kActivateClient name = mod-midi-merger ref = 2 
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackClient::ClientNotify ref = 2 name = mod-midi-merger notify = 9
Jack: JackClient::kPortRegistrationOn port_index = 5
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackClient::ClientNotify ref = 2 name = mod-midi-merger notify = 9
Jack: JackClient::kPortRegistrationOn port_index = 6
Internal client mod-midi-merger successfully loaded
Jack: JackLoadableInternalClient::JackLoadableInternalClient path_to_so = jack/mod-midi-broadcaster.dll
Jack: No jack_get_descriptor entry-point for mod-midi-broadcaster
Jack: JackInternalClient::Open name = mod-midi-broadcaster
Jack: Check protocol client = 9 server = 9
Jack: JackEngine::ClientInternalOpen: name = mod-midi-broadcaster
Jack: JackEngine::AllocateRefNum ref = 3
Jack: JackWinSemaphore::Allocate name = jack_pipe.mod-app_mod-midi-broadcaster val = 0
Jack: JackRequest::Notification
Jack: JackEngine::NotifyAddClient: name = mod-midi-broadcaster
Jack: JackDriver::ClientNotify ref = 3 driver = system name = mod-midi-broadcaster notify = 0
Jack: JackClient::ClientNotify ref = 0 name = system notify = 0
Jack: JackDriver::ClientNotify ref = 3 driver = freewheel name = mod-midi-broadcaster notify = 0
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackClient::ClientNotify ref = 1 name = freewheel notify = 0
Jack: JackClient::ClientNotify ref = 2 name = mod-midi-merger notify = 18
Jack: JackClient::ClientNotify ref = 3 name = mod-midi-broadcaster notify = 0
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackClient::kAddClient fName = mod-midi-merger name = mod-midi-broadcaster
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackClient::ClientNotify ref = 2 name = mod-midi-merger notify = 0
Jack: JackClient::ClientNotify ref = 2 name = mod-midi-merger notify = 18
Jack: JackClient::SetupDriverSync driver sem in normal mode
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackInternalClient::Open name = mod-midi-broadcaster refnum = 3
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackClientPipeThread::Execute ea808aa0
Jack: JackEngine::PortRegister ref = 3 name = mod-midi-broadcaster:in type = 8 bit raw midi flags = 1 buffer_size = 0
Jack: JackGraphManager::AllocatePortAux port_index = 7 name = mod-midi-broadcaster:in type = 8 bit raw midi
Jack: JackConnectionManager::AddInputPort ref = 3 port = 7
Jack: JackClient::PortRegister ref = 3 name = mod-midi-broadcaster:in type = 8 bit raw midi port_index = 7
Jack: JackEngine::PortRegister ref = 3 name = mod-midi-broadcaster:out type = 8 bit raw midi flags = 2 buffer_size = 0
Jack: JackGraphManager::AllocatePortAux port_index = 8 name = mod-midi-broadcaster:out type = 8 bit raw midi
Jack: JackConnectionManager::AddOutputPort ref = 3 port = 8
Jack: JackClient::PortRegister ref = 3 name = mod-midi-broadcaster:out type = 8 bit raw midi port_index = 8
Jack: JackRequest::Notification
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackClient::ClientNotify ref = 2 name = mod-midi-merger notify = 18
Jack: JackClient::Activate
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackClient::ClientNotify ref = 2 name = mod-midi-merger notify = 18
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackClientPipeThread::Execute ea808aa0
Jack: JackWinThread::StartImp : create non RT thread
Jack: JackWinThread::ThreadHandler : start
Jack: JackClient::kBufferSizeCallback buffer_size = 128
Jack: JackClient::Init : period = 0 computation = 0 constraint = 0
Jack: JackWinThread::AcquireRealTimeImp priority = 7
Jack: JackWinProcessSync::Trylock WaitForSingleObject err = 0
Jack: JackEngine::ClientActivate ref = 3 name = mod-midi-broadcaster
Jack: JackConnectionManager::DirectConnect first: ref1 = 1 ref2 = 3
Jack: JackGraphManager::ConnectRefNum cur_index = 5 ref1 = 1 ref2 = 3
Jack: JackConnectionManager::DirectConnect first: ref1 = 3 ref2 = 1
Jack: JackGraphManager::ConnectRefNum cur_index = 5 ref1 = 3 ref2 = 1
Jack: JackClient::ClientNotify ref = 3 name = mod-midi-broadcaster notify = 2
Jack: JackClient::kActivateClient name = mod-midi-broadcaster ref = 3 
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackClient::ClientNotify ref = 2 name = mod-midi-merger notify = 9
Jack: JackClient::kPortRegistrationOn port_index = 7
Jack: JackClient::ClientNotify ref = 3 name = mod-midi-broadcaster notify = 9
Jack: JackClient::kPortRegistrationOn port_index = 7
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackClient::ClientNotify ref = 2 name = mod-midi-merger notify = 9
Jack: JackClient::kPortRegistrationOn port_index = 8
Jack: JackClient::ClientNotify ref = 3 name = mod-midi-broadcaster notify = 9
Jack: JackClient::kPortRegistrationOn port_index = 8
Internal client mod-midi-broadcaster successfully loaded
Jack: JackRequest::Notification
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackClient::ClientNotify ref = 2 name = mod-midi-merger notify = 18
Jack: JackClient::ClientNotify ref = 3 name = mod-midi-broadcaster notify = 18
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackClient::ClientNotify ref = 3 name = mod-midi-broadcaster notify = 18
Jack: JackClient::ClientNotify ref = 2 name = mod-midi-merger notify = 18
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackClientPipeThread::Execute ea808aa0
Jack: JackLoadableInternalClient::JackLoadableInternalClient path_to_so = jack/mod-host.dll
Jack: No jack_get_descriptor entry-point for mod-host
Jack: JackInternalClient::Open name = mod-host
Jack: Check protocol client = 9 server = 9
Jack: JackEngine::ClientInternalOpen: name = mod-host
Jack: JackEngine::AllocateRefNum ref = 4
Jack: JackWinSemaphore::Allocate name = jack_pipe.mod-app_mod-host val = 0
Jack: JackEngine::NotifyAddClient: name = mod-host
Jack: JackDriver::ClientNotify ref = 4 driver = system name = mod-host notify = 0
Jack: JackClient::ClientNotify ref = 0 name = system notify = 0
Jack: JackDriver::ClientNotify ref = 4 driver = freewheel name = mod-host notify = 0
Jack: JackClient::ClientNotify ref = 1 name = freewheel notify = 0
Jack: JackClient::ClientNotify ref = 4 name = mod-host notify = 0
Jack: JackClient::kAddClient fName = mod-midi-merger name = mod-host
Jack: JackClient::ClientNotify ref = 2 name = mod-midi-merger notify = 0
Jack: JackClient::ClientNotify ref = 4 name = mod-host notify = 0
Jack: JackClient::kAddClient fName = mod-midi-broadcaster name = mod-host
Jack: JackClient::ClientNotify ref = 3 name = mod-midi-broadcaster notify = 0
Jack: JackClient::SetupDriverSync driver sem in normal mode
Jack: JackInternalClient::Open name = mod-host refnum = 4
Jack: JackEngine::PortRegister ref = 4 name = mod-host:midi_in type = 8 bit raw midi flags = 1 buffer_size = 0
Jack: JackGraphManager::AllocatePortAux port_index = 9 name = mod-host:midi_in type = 8 bit raw midi
Jack: JackConnectionManager::AddInputPort ref = 4 port = 9
Jack: JackClient::PortRegister ref = 4 name = mod-host:midi_in type = 8 bit raw midi port_index = 9
Jack: jack_client_open mod-monitor
Jack: JackInternalClient::Open name = mod-monitor
Jack: Check protocol client = 9 server = 9
Jack: JackEngine::ClientInternalOpen: name = mod-monitor
Jack: JackEngine::AllocateRefNum ref = 5
Jack: JackWinSemaphore::Allocate name = jack_pipe.mod-app_mod-monitor val = 0
Jack: JackEngine::NotifyAddClient: name = mod-monitor
Jack: JackDriver::ClientNotify ref = 5 driver = system name = mod-monitor notify = 0
Jack: JackClient::ClientNotify ref = 0 name = system notify = 0
Jack: JackDriver::ClientNotify ref = 5 driver = freewheel name = mod-monitor notify = 0
Jack: JackClient::ClientNotify ref = 1 name = freewheel notify = 0
Jack: JackClient::ClientNotify ref = 5 name = mod-monitor notify = 0
Jack: JackClient::kAddClient fName = mod-midi-merger name = mod-monitor
Jack: JackClient::ClientNotify ref = 2 name = mod-midi-merger notify = 0
Jack: JackClient::ClientNotify ref = 5 name = mod-monitor notify = 0
Jack: JackClient::kAddClient fName = mod-midi-broadcaster name = mod-monitor
Jack: JackClient::ClientNotify ref = 3 name = mod-midi-broadcaster notify = 0
Jack: JackClient::ClientNotify ref = 5 name = mod-monitor notify = 0
Jack: JackClient::ClientNotify ref = 4 name = mod-host notify = 0
Jack: JackClient::SetupDriverSync driver sem in normal mode
Jack: JackInternalClient::Open name = mod-monitor refnum = 5
Jack: JackEngine::PortRegister ref = 5 name = mod-monitor:in_1 type = 32 bit float mono audio flags = 1 buffer_size = 0
Jack: JackGraphManager::AllocatePortAux port_index = 10 name = mod-monitor:in_1 type = 32 bit float mono audio
Jack: JackConnectionManager::AddInputPort ref = 5 port = 10
Jack: JackClient::PortRegister ref = 5 name = mod-monitor:in_1 type = 32 bit float mono audio port_index = 10
Jack: JackEngine::PortRegister ref = 5 name = mod-monitor:in_2 type = 32 bit float mono audio flags = 1 buffer_size = 0
Jack: JackGraphManager::AllocatePortAux port_index = 11 name = mod-monitor:in_2 type = 32 bit float mono audio
Jack: JackConnectionManager::AddInputPort ref = 5 port = 11
Jack: JackClient::PortRegister ref = 5 name = mod-monitor:in_2 type = 32 bit float mono audio port_index = 11
Jack: JackEngine::PortRegister ref = 5 name = mod-monitor:out_1 type = 32 bit float mono audio flags = 2 buffer_size = 0
Jack: JackGraphManager::AllocatePortAux port_index = 12 name = mod-monitor:out_1 type = 32 bit float mono audio
Jack: JackConnectionManager::AddOutputPort ref = 5 port = 12
Jack: JackClient::PortRegister ref = 5 name = mod-monitor:out_1 type = 32 bit float mono audio port_index = 12
Jack: JackEngine::PortRegister ref = 5 name = mod-monitor:out_2 type = 32 bit float mono audio flags = 2 buffer_size = 0
Jack: JackGraphManager::AllocatePortAux port_index = 13 name = mod-monitor:out_2 type = 32 bit float mono audio
Jack: JackConnectionManager::AddOutputPort ref = 5 port = 13
Jack: JackClient::PortRegister ref = 5 name = mod-monitor:out_2 type = 32 bit float mono audio port_index = 13
Jack: jack_set_graph_order_callback ext_client ea81e8f0 client ea81e8f0 
Jack: JackClient::Activate
Jack: JackWinThread::StartImp : create non RT thread
Jack: JackWinThread::ThreadHandler : start
Jack: JackClient::kBufferSizeCallback buffer_size = 128
Jack: JackClient::Init : period = 0 computation = 0 constraint = 0
Jack: JackWinThread::AcquireRealTimeImp priority = 7
Jack: MMCSS API not used...
Jack: JackRequest::Notification
Jack: JackEngine::ClientActivate ref = 5 name = mod-monitor
Jack: JackConnectionManager::DirectConnect first: ref1 = 1 ref2 = 5
Jack: JackGraphManager::ConnectRefNum cur_index = 7 ref1 = 1 ref2 = 5
Jack: JackConnectionManager::DirectConnect first: ref1 = 5 ref2 = 1
Jack: JackGraphManager::ConnectRefNum cur_index = 7 ref1 = 5 ref2 = 1
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackClient::ClientNotify ref = 2 name = mod-midi-merger notify = 18
Jack: JackClient::ClientNotify ref = 3 name = mod-midi-broadcaster notify = 18
Jack: JackClient::ClientNotify ref = 5 name = mod-monitor notify = 2
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackClient::kActivateClient name = mod-monitor ref = 5 
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackClient::ClientNotify ref = 2 name = mod-midi-merger notify = 9
Jack: JackClient::kPortRegistrationOn port_index = 10
Jack: JackClient::ClientNotify ref = 3 name = mod-midi-broadcaster notify = 18
Jack: JackClient::ClientNotify ref = 3 name = mod-midi-broadcaster notify = 9
Jack: JackClient::kPortRegistrationOn port_index = 10
Jack: JackClient::ClientNotify ref = 2 name = mod-midi-merger notify = 18
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackClient::ClientNotify ref = 2 name = mod-midi-merger notify = 9
Jack: JackClient::kPortRegistrationOn port_index = 11
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackClient::ClientNotify ref = 3 name = mod-midi-broadcaster notify = 9
Jack: JackClient::kPortRegistrationOn port_index = 11
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackClient::ClientNotify ref = 2 name = mod-midi-merger notify = 9
Jack: JackClient::kPortRegistrationOn port_index = 12
Jack: JackClient::ClientNotify ref = 3 name = mod-midi-broadcaster notify = 9
Jack: JackClient::kPortRegistrationOn port_index = 12
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackClient::ClientNotify ref = 5 name = mod-monitor notify = 4
Jack: JackClient::kGraphOrderCallback
Jack: WaitGraphChange...
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackClient::ClientNotify ref = 2 name = mod-midi-merger notify = 9
Jack: JackClient::kPortRegistrationOn port_index = 13
Jack: JackClient::ClientNotify ref = 3 name = mod-midi-broadcaster notify = 9
Jack: JackClient::kPortRegistrationOn port_index = 13
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackClient::Connect src = mod-monitor:out_1 dst = system:playback_1
Jack: JackEngine::PortConnect ref = 5 src = mod-monitor:out_1 dst = system:playback_1
Jack: JackGraphManager::CheckConnect src_name = mod-monitor:out_1 dst_name = system:playback_1
Jack: JackEngine::PortConnect ref = 5 src = 12 dst = 3
Jack: JackGraphManager::Connect port_src = 12 port_dst = 3
Jack: JackConnectionManager::Connect port_src = 12 port_dst = 3
Jack: JackConnectionManager::Connect port_src = 3 port_dst = 12
Jack: JackConnectionManager::IsLoopPathAux ref1 = 0 ref2 = 5
Jack: JackConnectionManager::DirectConnect first: ref1 = 5 ref2 = 0
Jack: JackConnectionManager::IncConnectionRef: ref1 = 5 ref2 = 0
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackClient::Connect src = mod-monitor:out_2 dst = system:playback_2
Jack: JackEngine::PortConnect ref = 5 src = mod-monitor:out_2 dst = system:playback_2
Jack: JackGraphManager::CheckConnect src_name = mod-monitor:out_2 dst_name = system:playback_2
Jack: JackEngine::PortConnect ref = 5 src = 13 dst = 4
Jack: JackGraphManager::Connect port_src = 13 port_dst = 4
Jack: JackConnectionManager::Connect port_src = 13 port_dst = 4
Jack: JackConnectionManager::Connect port_src = 4 port_dst = 13
Jack: JackConnectionManager::IsLoopPathAux ref1 = 0 ref2 = 5
Jack: JackConnectionManager::IncConnectionRef: ref1 = 5 ref2 = 0
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: WaitGraphChange...
Jack: jack_set_thread_init_callback ext_client ea80a6c0 client ea80a6c0 
Jack: new timebase master: ref = 4
monitor debug: out1 connected: false, out2 connected: false
Jack: JackClientPipeThread::Execute ea808aa0
Jack: JackRequest::Notification
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackClient::ClientNotify ref = 2 name = mod-midi-merger notify = 18
Jack: JackClient::ClientNotify ref = 3 name = mod-midi-broadcaster notify = 18
Jack: JackClient::ClientNotify ref = 5 name = mod-monitor notify = 18
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackClient::ClientNotify ref = 5 name = mod-monitor notify = 18
Jack: JackClient::ClientNotify ref = 3 name = mod-midi-broadcaster notify = 18
Jack: JackClient::ClientNotify ref = 2 name = mod-midi-merger notify = 18
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackClient::ClientNotify ref = 5 name = mod-monitor notify = 4
Jack: JackClient::kGraphOrderCallback
monitor debug: out1 connected: false, out2 connected: false
Jack: JackClientPipeThread::Execute ea808aa0
Jack: JackClient::Activate
Jack: JackWinThread::StartImp : create non RT thread
Jack: JackWinThread::ThreadHandler : start
Jack: JackClient::kBufferSizeCallback buffer_size = 128
Jack: JackClient::Init calling client thread init callback
Jack: JackClient::Init : period = 0 computation = 0 constraint = 0
Jack: JackWinThread::AcquireRealTimeImp priority = 7
Jack: MMCSS API not used...
Jack: JackEngine::ClientActivate ref = 4 name = mod-host
Jack: JackConnectionManager::DirectConnect first: ref1 = 1 ref2 = 4
Jack: JackGraphManager::ConnectRefNum cur_index = 8 ref1 = 1 ref2 = 4
Jack: JackConnectionManager::DirectConnect first: ref1 = 4 ref2 = 1
Jack: JackGraphManager::ConnectRefNum cur_index = 8 ref1 = 4 ref2 = 1
Jack: JackClient::ClientNotify ref = 4 name = mod-host notify = 2
Jack: JackClient::kActivateClient name = mod-host ref = 4 
Jack: JackClient::Init calling client thread init callback
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackClient::ClientNotify ref = 2 name = mod-midi-merger notify = 9
Jack: JackClient::kPortRegistrationOn port_index = 9
Jack: JackClient::ClientNotify ref = 3 name = mod-midi-broadcaster notify = 9
Jack: JackClient::kPortRegistrationOn port_index = 9
Jack: JackClient::ClientNotify ref = 4 name = mod-host notify = 9
Jack: JackClient::kPortRegistrationOn port_index = 9
Jack: JackEngine::ClientNotify: no callback for notification = 9
Jack: JackClient::Connect src = mod-midi-merger:out dst = mod-host:midi_in
Jack: JackEngine::PortConnect ref = 4 src = mod-midi-merger:out dst = mod-host:midi_in
Jack: JackGraphManager::CheckConnect src_name = mod-midi-merger:out dst_name = mod-host:midi_in
Jack: JackEngine::PortConnect ref = 4 src = 6 dst = 9
Jack: JackGraphManager::Connect port_src = 6 port_dst = 9
Jack: JackConnectionManager::Connect port_src = 6 port_dst = 9
Jack: JackConnectionManager::Connect port_src = 9 port_dst = 6
Jack: JackConnectionManager::IsLoopPathAux ref1 = 4 ref2 = 2
Jack: JackConnectionManager::IsLoopPathAux ref1 = 1 ref2 = 2
Jack: JackConnectionManager::DirectConnect first: ref1 = 2 ref2 = 4
Jack: JackConnectionManager::IncConnectionRef: ref1 = 2 ref2 = 4
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackEngine::ClientNotify: no callback for notification = 11
Jack: JackRequest::Notification
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackClient::ClientNotify ref = 2 name = mod-midi-merger notify = 18
Jack: JackClient::ClientNotify ref = 3 name = mod-midi-broadcaster notify = 18
Internal client mod-host successfully loaded
Jack: JackClient::ClientNotify ref = 4 name = mod-host notify = 18
Jack: JackClient::ClientNotify ref = 5 name = mod-monitor notify = 18
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackClient::ClientNotify ref = 5 name = mod-monitor notify = 18
Jack: JackClient::ClientNotify ref = 4 name = mod-host notify = 18
Jack: JackClient::ClientNotify ref = 3 name = mod-midi-broadcaster notify = 18
Jack: JackClient::ClientNotify ref = 2 name = mod-midi-merger notify = 18
Jack: JackDriver::ClientNotify ref = 1 driver = freewheel name = freewheel notify = 18
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackEngine::ClientNotify: no callback for notification = 4
Jack: JackClient::ClientNotify ref = 5 name = mod-monitor notify = 4
Jack: JackClient::kGraphOrderCallback
monitor debug: out1 connected: false, out2 connected: false
Jack: JackClientPipeThread::Execute ea808aa0

I'm on Windows 10.

Adding another one plugin into system..

When I'm adding another one plugin into system from github it appiars in list of plugins but couldn't be added to the pedal board. .dll is missing. How can I import another one plugin into the system?

Split MIDI mode does not work (jack2 midi aliases problem)

Split MIDI is broken, due to jack2 using MIDI aliases in a wrong way in the past.

We need to investigate if these aliases match between Linux/ALSA, macOS and Windows. Somehow come with a way to make it work on all of them at the same time.

The color of the audio cable.

Have a nice day. Please tell me if there is any way to change the color of the audio cable with the plug. And then Magenta is already making my eyes blink. (mod-desktop for windows)

357567

Does not start.

The installation is completed successfully, but the program does not start. I see a circle for a while, and then nothing. Please help me fix this. Thanks a lot..

Saved pedalboard doesn't load

Screenshot apart, I've saved a paedalboard, the files get created, but then when I open it it's empty. I've seen the manifest that point to the pedalboard name "ttl" file.

This is the manifest.ttl

@prefix ingen: <http://drobilla.net/ns/ingen#> .
@prefix lv2:   <http://lv2plug.in/ns/lv2core#> .
@prefix pedal: <http://moddevices.com/ns/modpedal#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .

<NAM.ttl>
    lv2:prototype ingen:GraphPrototype ;
    a lv2:Plugin ,
        ingen:Graph ,
        pedal:Pedalboard ;
    rdfs:seeAlso <NAM.ttl> .

And this is NAM.ttl

@prefix atom:  <http://lv2plug.in/ns/ext/atom#> .
@prefix doap:  <http://usefulinc.com/ns/doap#> .
@prefix ingen: <http://drobilla.net/ns/ingen#> .
@prefix lv2:   <http://lv2plug.in/ns/lv2core#> .
@prefix midi:  <http://lv2plug.in/ns/ext/midi#> .
@prefix mod:   <http://moddevices.com/ns/mod#> .
@prefix pedal: <http://moddevices.com/ns/modpedal#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .

_:b1
    ingen:tail <neural_amp_modeler_lv2/output> ;
    ingen:head <CabinetLoader/lv2_audio_in> .

_:b2
    ingen:tail <capture_1> ;
    ingen:head <gate/input> .

_:b3
    ingen:tail <gate/output> ;
    ingen:head <neural_amp_modeler_lv2/input> .

_:b4
    ingen:tail <CabinetLoader/lv2_audio_out> ;
    ingen:head <stereo/inL> .

_:b5
    ingen:tail <CabinetLoader/lv2_audio_out> ;
    ingen:head <stereo/inR> .

_:b6
    ingen:tail <stereo/outL> ;
    ingen:head <playback_1> .

_:b7
    ingen:tail <stereo/outR> ;
    ingen:head <playback_2> .

<CabinetLoader>
    ingen:canvasX 1708.0 ;
    ingen:canvasY 484.2 ;
    ingen:enabled true ;
    ingen:polyphonic false ;
    lv2:microVersion 0 ;
    lv2:minorVersion 2 ;
    mod:builderVersion 0 ;
    mod:releaseNumber 0 ;
    lv2:port <CabinetLoader/lv2_audio_in> ,
             <CabinetLoader/lv2_audio_out> ,
             <CabinetLoader/level> ,
             <CabinetLoader/lv2_enabled> ,
             <CabinetLoader/:bypass> ;
    lv2:prototype <https://mod.audio/plugins/CabinetLoader> ;
    pedal:instanceNumber 0 ;
    pedal:preset <> ;
    a ingen:Block .

<CabinetLoader/lv2_audio_in>
    a lv2:AudioPort ,
        lv2:InputPort .

<CabinetLoader/lv2_audio_in>
    a lv2:AudioPort ,
        lv2:OutputPort .

<CabinetLoader/level>
    ingen:value -11.304348 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<CabinetLoader/lv2_enabled>
    ingen:value 1.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<CabinetLoader/:bypass>
    ingen:value 0 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<neural_amp_modeler_lv2>
    ingen:canvasX 721.4 ;
    ingen:canvasY 642.7 ;
    ingen:enabled true ;
    ingen:polyphonic false ;
    lv2:microVersion 0 ;
    lv2:minorVersion 1 ;
    mod:builderVersion 0 ;
    mod:releaseNumber 0 ;
    lv2:port <neural_amp_modeler_lv2/input> ,
             <neural_amp_modeler_lv2/output> ,
             <neural_amp_modeler_lv2/input_level> ,
             <neural_amp_modeler_lv2/output_level> ,
             <neural_amp_modeler_lv2/buffered> ,
             <neural_amp_modeler_lv2/:bypass> ;
    lv2:prototype <http://github.com/mikeoliphant/neural-amp-modeler-lv2> ;
    pedal:instanceNumber 1 ;
    pedal:preset <> ;
    a ingen:Block .

<neural_amp_modeler_lv2/input>
    a lv2:AudioPort ,
        lv2:InputPort .

<neural_amp_modeler_lv2/input>
    a lv2:AudioPort ,
        lv2:OutputPort .

<neural_amp_modeler_lv2/input_level>
    ingen:value 0.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<neural_amp_modeler_lv2/output_level>
    ingen:value 0.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<neural_amp_modeler_lv2/buffered>
    ingen:value 0.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<neural_amp_modeler_lv2/:bypass>
    ingen:value 0 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<gate>
    ingen:canvasX 291.2 ;
    ingen:canvasY 278.3 ;
    ingen:enabled true ;
    ingen:polyphonic false ;
    lv2:microVersion 0 ;
    lv2:minorVersion 2 ;
    mod:builderVersion 0 ;
    mod:releaseNumber 0 ;
    lv2:port <gate/input> ,
             <gate/output> ,
             <gate/switch> ,
             <gate/threshold> ,
             <gate/attack> ,
             <gate/hold> ,
             <gate/decay> ,
             <gate/gaterange> ,
             <gate/:bypass> ;
    lv2:prototype <http://hippie.lt/lv2/gate> ;
    pedal:instanceNumber 2 ;
    pedal:preset <> ;
    a ingen:Block .

<gate/input>
    a lv2:AudioPort ,
        lv2:InputPort .

<gate/input>
    a lv2:AudioPort ,
        lv2:OutputPort .

<gate/switch>
    ingen:value 1.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<gate/threshold>
    ingen:value -70.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<gate/attack>
    ingen:value 30.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<gate/hold>
    ingen:value 500.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<gate/decay>
    ingen:value 1000.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<gate/gaterange>
    ingen:value -90.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<gate/:bypass>
    ingen:value 0 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo>
    ingen:canvasX 2654.2 ;
    ingen:canvasY 310.9 ;
    ingen:enabled true ;
    ingen:polyphonic false ;
    lv2:microVersion 1 ;
    lv2:minorVersion 1 ;
    mod:builderVersion 0 ;
    mod:releaseNumber 0 ;
    lv2:port <stereo/inL> ,
             <stereo/inR> ,
             <stereo/outL> ,
             <stereo/outR> ,
             <stereo/enable> ,
             <stereo/gain> ,
             <stereo/peakreset> ,
             <stereo/HighPass> ,
             <stereo/HPfreq> ,
             <stereo/HPQ> ,
             <stereo/LowPass> ,
             <stereo/LPfreq> ,
             <stereo/LPQ> ,
             <stereo/LSsec> ,
             <stereo/LSfreq> ,
             <stereo/LSq> ,
             <stereo/LSgain> ,
             <stereo/sec1> ,
             <stereo/freq1> ,
             <stereo/q1> ,
             <stereo/gain1> ,
             <stereo/sec2> ,
             <stereo/freq2> ,
             <stereo/q2> ,
             <stereo/gain2> ,
             <stereo/sec3> ,
             <stereo/freq3> ,
             <stereo/q3> ,
             <stereo/gain3> ,
             <stereo/sec4> ,
             <stereo/freq4> ,
             <stereo/q4> ,
             <stereo/gain4> ,
             <stereo/HSsec> ,
             <stereo/HSfreq> ,
             <stereo/HSq> ,
             <stereo/HSgain> ,
             <stereo/peak> ,
             <stereo/:bypass> ;
    lv2:prototype <http://gareus.org/oss/lv2/fil4#stereo> ;
    pedal:instanceNumber 4 ;
    pedal:preset <> ;
    a ingen:Block .

<stereo/inL>
    a lv2:AudioPort ,
        lv2:InputPort .

<stereo/inR>
    a lv2:AudioPort ,
        lv2:InputPort .

<stereo/inL>
    a lv2:AudioPort ,
        lv2:OutputPort .

<stereo/inR>
    a lv2:AudioPort ,
        lv2:OutputPort .

<stereo/enable>
    ingen:value 1.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/gain>
    ingen:value -0.100446 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/peakreset>
    ingen:value 1.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/HighPass>
    ingen:value 1.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/HPfreq>
    ingen:value 37.506890 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/HPQ>
    ingen:value 0.078125 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/LowPass>
    ingen:value 1.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/LPfreq>
    ingen:value 8235.938815 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/LPQ>
    ingen:value 0.644531 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/LSsec>
    ingen:value 1.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/LSfreq>
    ingen:value 80.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/LSq>
    ingen:value 1.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/LSgain>
    ingen:value 0.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/sec1>
    ingen:value 1.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/freq1>
    ingen:value 160.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/q1>
    ingen:value 0.600000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/gain1>
    ingen:value 0.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/sec2>
    ingen:value 1.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/freq2>
    ingen:value 397.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/q2>
    ingen:value 0.600000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/gain2>
    ingen:value 0.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/sec3>
    ingen:value 1.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/freq3>
    ingen:value 1250.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/q3>
    ingen:value 1.108398 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/gain3>
    ingen:value 4.660714 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/sec4>
    ingen:value 1.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/freq4>
    ingen:value 2500.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/q4>
    ingen:value 0.600000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/gain4>
    ingen:value 0.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/HSsec>
    ingen:value 1.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/HSfreq>
    ingen:value 8000.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/HSq>
    ingen:value 1.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/HSgain>
    ingen:value 0.000000 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<stereo/peak>
    a lv2:ControlPort ,
        lv2:OutputPort .

<stereo/:bypass>
    ingen:value 0 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<:bpb>
    ingen:value 4.000000 ;
    lv2:index 0 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<:bpm>
    ingen:value 120.000000 ;
    lv2:index 1 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<:rolling>
    ingen:value 0 ;
    lv2:index 2 ;
    a lv2:ControlPort ,
        lv2:InputPort .

<control_in>
    atom:bufferType atom:Sequence ;
    lv2:index 3 ;
    lv2:name "Control In" ;
    lv2:portProperty lv2:connectionOptional ;
    lv2:symbol "control_in" ;
    <http://lv2plug.in/ns/ext/resize-port#minimumSize> 4096 ;
    a atom:AtomPort ,
        lv2:InputPort .

<control_out>
    atom:bufferType atom:Sequence ;
    lv2:index 4 ;
    lv2:name "Control Out" ;
    lv2:portProperty lv2:connectionOptional ;
    lv2:symbol "control_out" ;
    <http://lv2plug.in/ns/ext/resize-port#minimumSize> 4096 ;
    a atom:AtomPort ,
        lv2:OutputPort .

<capture_1>
    lv2:index 5 ;
    lv2:name "Capture 1" ;
    lv2:portProperty lv2:connectionOptional ;
    lv2:symbol "capture_1" ;
    a lv2:AudioPort ,
        lv2:InputPort .

<capture_2>
    lv2:index 6 ;
    lv2:name "Capture 2" ;
    lv2:portProperty lv2:connectionOptional ;
    lv2:symbol "capture_2" ;
    a lv2:AudioPort ,
        lv2:InputPort .

<capture_3>
    lv2:index 7 ;
    lv2:name "Capture 3" ;
    lv2:portProperty lv2:connectionOptional ;
    lv2:symbol "capture_3" ;
    a lv2:AudioPort ,
        lv2:InputPort .

<capture_4>
    lv2:index 8 ;
    lv2:name "Capture 4" ;
    lv2:portProperty lv2:connectionOptional ;
    lv2:symbol "capture_4" ;
    a lv2:AudioPort ,
        lv2:InputPort .

<playback_1>
    lv2:index 9 ;
    lv2:name "Playback 1" ;
    lv2:portProperty lv2:connectionOptional ;
    lv2:symbol "playback_1" ;
    a lv2:AudioPort ,
        lv2:OutputPort .

<playback_2>
    lv2:index 10 ;
    lv2:name "Playback 2" ;
    lv2:portProperty lv2:connectionOptional ;
    lv2:symbol "playback_2" ;
    a lv2:AudioPort ,
        lv2:OutputPort .

<playback_3>
    lv2:index 11 ;
    lv2:name "Playback 3" ;
    lv2:portProperty lv2:connectionOptional ;
    lv2:symbol "playback_3" ;
    a lv2:AudioPort ,
        lv2:OutputPort .

<playback_4>
    lv2:index 12 ;
    lv2:name "Playback 4" ;
    lv2:portProperty lv2:connectionOptional ;
    lv2:symbol "playback_4" ;
    a lv2:AudioPort ,
        lv2:OutputPort .

<midi_separated_mode>
    ingen:value 0 ;
    lv2:index 13 ;
    a atom:AtomPort ,
        lv2:InputPort .

<midi_loopback>
    ingen:value 0 ;
    lv2:index 14 ;
    a atom:AtomPort ,
        lv2:InputPort .

<>
    doap:name "NAM" ;
    pedal:unitName "Unknown" ;
    pedal:unitModel "None" ;
    pedal:width 0 ;
    pedal:height 0 ;
    pedal:addressings <addressings.json> ;
    pedal:screenshot <screenshot.png> ;
    pedal:thumbnail <thumbnail.png> ;
    pedal:version 1 ;
    ingen:polyphony 1 ;
    ingen:arc _:b1 ,
              _:b2 ,
              _:b3 ,
              _:b4 ,
              _:b5 ,
              _:b6 ,
              _:b7 ;
    ingen:block <CabinetLoader> ,
                <neural_amp_modeler_lv2> ,
                <gate> ,
                <stereo> ;
    lv2:port <:bpb> ,
             <:bpm> ,
             <:rolling> ,
             <midi_separated_mode> ,
             <midi_loopback> ,
             <control_in> ,
             <control_out> ,
             <capture_1> ,
             <capture_2> ,
             <capture_3> ,
             <capture_4> ,
             <playback_1> ,
             <playback_2> ,
             <playback_3> ,
             <playback_4> ;
    lv2:extensionData <http://lv2plug.in/ns/ext/state#interface> ;
    a lv2:Plugin ,
        ingen:Graph ,
        pedal:Pedalboard .

This is the log from Mod-ui

DEBUG:root:[host] popped from queue: feature_enable processing 0
DEBUG:root:[host] sending -> feature_enable processing 0
INFO:tornado.access:200 POST /pedalboard/load_bundle/ (127.0.0.1) 10.55ms
INFO:tornado.access:200 GET /snapshot/name?id=0&_=1698598544996 (127.0.0.1) 1.01ms
WARNING:tornado.access:404 GET /effect/get?uri=App%2Fpedalboards%2FNAM.pedalboard%2Fstereo&version=1698598361&plugin_version=0&_=1698598544995 (127.0.0.1) 0.00ms
WARNING:tornado.access:404 GET /effect/get?uri=App%2Fpedalboards%2FNAM.pedalboard%2Fstereo&version=1698598361&plugin_version=0&_=1698598544995 (127.0.0.1) 0.00ms
DEBUG:root:[host] popped from queue: transport 0 4.000000 120.000000
DEBUG:root:[host] sending -> transport 0 4.000000 120.000000
DEBUG:root:[host] popped from queue: add http://gareus.org/oss/lv2/fil4#stereo 4
DEBUG:root:[host] sending -> add http://gareus.org/oss/lv2/fil4#stereo 4
DEBUG:root:[host] popped from queue: param_set 4 HighPass 1.000000
DEBUG:root:[host] sending -> param_set 4 HighPass 1.000000
DEBUG:root:[host] popped from queue: param_set 4 LPQ 0.644531
DEBUG:root:[host] sending -> param_set 4 LPQ 0.644531
DEBUG:root:[host] popped from queue: param_set 4 gain3 4.660714
DEBUG:root:[host] sending -> param_set 4 gain3 4.660714
DEBUG:root:[host] popped from queue: param_set 4 HPQ 0.078125
DEBUG:root:[host] sending -> param_set 4 HPQ 0.078125
DEBUG:root:[host] popped from queue: param_set 4 gain -0.100446
DEBUG:root:[host] sending -> param_set 4 gain -0.100446
DEBUG:root:[host] popped from queue: param_set 4 HPfreq 37.506889
DEBUG:root:[host] sending -> param_set 4 HPfreq 37.506889
DEBUG:root:[host] popped from queue: param_set 4 LPfreq 8235.938477
DEBUG:root:[host] sending -> param_set 4 LPfreq 8235.938477
DEBUG:root:[host] popped from queue: param_set 4 q3 1.108398
DEBUG:root:[host] sending -> param_set 4 q3 1.108398
DEBUG:root:[host] popped from queue: param_set 4 LowPass 1.000000
DEBUG:root:[host] sending -> param_set 4 LowPass 1.000000
DEBUG:root:[host] popped from queue: add https://mod.audio/plugins/CabinetLoader 0
DEBUG:root:[host] sending -> add https://mod.audio/plugins/CabinetLoader 0
DEBUG:root:[host] popped from queue: param_set 0 level -11.304348
DEBUG:root:[host] sending -> param_set 0 level -11.304348
DEBUG:root:[host] popped from queue: add http://github.com/mikeoliphant/neural-amp-modeler-lv2 1
DEBUG:root:[host] sending -> add http://github.com/mikeoliphant/neural-amp-modeler-lv2 1
DEBUG:root:[host] popped from queue: add http://hippie.lt/lv2/gate 2
DEBUG:root:[host] sending -> add http://hippie.lt/lv2/gate 2
DEBUG:root:[host] popped from queue: state_load C:\Users\raido\OneDrive\Documents\MOD App\pedalboards\NAM.pedalboard
DEBUG:root:[host] sending -> state_load C:\Users\raido\OneDrive\Documents\MOD App\pedalboards\NAM.pedalboard
DEBUG:root:[host] popped from queue: feature_enable processing 1
DEBUG:root:[host] sending -> feature_enable processing 1

But I see this:

image

[Linux] Problems selecting a usb audio interface

Hi!

I have problems selecting a usb audio interface (yamaha ag03) from the dropdown in mod app. Usually I have start and shutdown the app around three times for my usb audio interface to appear in the drop down menu. Its visible and selected in the separate audio input drop down but does not appear in the main drop down.

On Linux, i cant access my sound card while the mod app is using itt.

so the app itself works great and has better latency than ardour, but im unable to use any DAW or anything with the app running. this is actually kind of a feature since it keeps my doing only once thing at a time, but I want to integrate the mod desktop app with renoise...like if I use BYOD, I can use qjackctl to port the BYOD output to renoise input and i can program some accompaniment with my phrases. hoesntly, ive never seen an app hijack my soundcard like that before........im not complaining, but i just want to discuss this with other linux users........my distro is popOS and im long time user ive been following falktx since when I first started over 10 years ago.,...back then it was just rakarrak until guitarix came out :)

Could not start MOD Host - Fedora

On release 0.0.7 I can't start the Jack / Pipewire option on Fedora 39.

The app shows the "Could not start MOD Host". Running the output of jackd command line gives:

Music/mod-desktop-8d4e2463-linux-x86_64/mod-desktop 
❯ export JACK_DRIVER_DIR="$(pwd)/jack"

Music/mod-desktop-8d4e2463-linux-x86_64/mod-desktop 
❯ ./jackd -R -S -n mod-desktop -C ./jack/jack-session-alsamidi.conf -v -d portaudio -r 48000 -p 128 -d JACK::system
jackdmp 1.9.22
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2016 Grame.
Copyright 2016-2023 Filipe Coelho.
jackdmp 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
JACK server starting in realtime mode with priority 10
self-connect-mode is "Don't restrict self connect requests"
Jack: JackPosixThread::StartImp : create non RT thread
Jack: JackPosixThread::ThreadHandler : start
Jack: Initializing PortAudio...
libjack.so.0 loaded successfully!
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
Jack: JackPortAudioDriver::Open nframes = 128 in = 0 out = 0 capture name = JACK::system playback name = JACK::system samplerate = 48000
Can't open JACK::system, PortAudio will use default input device.
Can't open default PortAudio device
Jack: Terminate PortAudio...
Jack: ~JackDriver
Cannot initialize driver
Jack: no message buffer overruns
Jack: JackPosixThread::Stop
Jack: JackPosixThread::ThreadHandler : exit
JackServer::Open failed with -1
Jack: Succeeded in unlocking 107341340 byte memory area
Jack: JackShmMem::delete size = 0 index = 0
Jack: ~JackDriver
Jack: Succeeded in unlocking 1196 byte memory area
Jack: JackShmMem::delete size = 0 index = 1
Jack: Cleaning up shared memory
Jack: Cleaning up files
Jack: Unregistering server `mod-desktop'
Failed to open server

System:

  • Fedora 39 non-RT kernel
  • libpipewire 1.0.2
  • mod-desktop 0.0.7
  • Focusrite plugged in

Thanks for all your work!

build on debian sid

building mod-app on debian sid gives me some issues. First stop after running make was at liblo -> server.c line 2251. Using pointer after free. Checking the source showed that it = prev; is the issue, I wonder why that is done, and set it to NULL. That makes it compile. Next stop was wired to me, it's fluidsynth didn't find glib-2.0 dependency libpcre2-8. I checked with
pkg-config -cflags libpcre2-8 which was empty, checked with pkg-config -libs libpcre2-8 which return -lpcre2-8.
However, I'm going to hack the fluidsynth CMakeList.txt file line 325, remove the REQUIRED flag from pkg_check_modules and hack in the flags I get from pkg-config -libs -cflags glib-2.0 gthread-2.0 like this:

  SET( GLIB_INCLUDE_DIRS "/usr/include/glib-2.0" "/usr/lib/x86_64-linux-gnu/glib-2.0/include" "/usr/lib/x86_64-linux-gnu/glib-2.0/include/" )
   SET( GLIB_LIBRARIES "-pthread" "-lgthread-2.0" "-pthread" "-lglib-2.0")

That makes it compile so far. But the issue returns when I hit the step to compile a-fluidsynth. I tried the same hack, but it wouldn't work here. So I must disable die-plugins in the makefile. Continue with make brings me the mod-app. It seems to run smooth so far. Nice work @falkTX

Now going to try the win64 build, first steps stops me already, let's see what I need to hack to make it build here.

it does not recognize Symbolic Link Folders in user files

There is no problem with folders in user files, but it does not recognize Symbolic Link Folders. If a solution is provided in this regard, it will be a solution to the file transportation problem and file duplication will be prevented.

[Linux] Enhanchement - Jack DBUS option to route desktop audio via pulseaudio

Hi,

I've noticed that using mod-app I can't use the pulseaudio jack sink, because jackdbus is not enabled, so basically I can't play anything from the desktop using the same audio card used in Jack.

It would be great to have jackdbus enabled in the jackd instance created by mod-app, so then the pulse audio jack sink can be loaded at least via "pacmd" using a script.

Thanks!

Pedalboard screenshots are not generated

Involves 2 issues:

  1. the way mod-ui waits for screenshot child process to complete is incompatible with Windows
  2. mod-screenshot tool does not work yet (issues with PIL packaging)

"Could not start MOD Host. Process crashed." error on JACK/PipeWire setting

I downloaded ver 0.0.7 on my Manjaro Linux with MOTU M4 audio interface.
Works fine when I select "M4, USB Audio (hw:4,0)" but the audio interface disappears on the qpwgraph.
When I select "JACK/PipeWire," the error "Could not start MOD Host. Process crashed." window pops up.
screenshot_2024-02-04T16:45:10

The following output appears on the console.

--------------------------------------------------------
/usr/lib/libjack.so.0 loaded successfully!
--------------------------------------------------------
----------- loadSettings 654
----------- updateDeviceDetails 1028 | 7 8
----------- setStopped 782
kf.windowsystem: Could not find any platform plugin
----------- saveSettings 624
----------- start 872
----------- setStarting 758
----------- hostStartSuccess 1088
----------- hostStartError 1051
----------- setStopped 782
----------- getProcessErrorAsString 797
----------- showErrorMessage 811
----------- hostFinished 1100
----------- stopUIIfNeeded 830
----------- setStopped 782

MOD Desktop 0.0.9 crashes on start on NixOS/Hyprland

Hello!

It's gonna be a very lacking bug report, but I can't start the app.
I don't know if it's Wayland, missing dependencies or whatever, but when I try to execute mod-desktop, my terminal just plain crashes without any error, message box or anything.

I don't really have any ideas on how to even provide more information on the problem. Maybe I'm doing something stupid, I don't know.
My machine is AMD Ryzen 5800H/Radeon RX 6600M runnning NixOS stable 23.11 with Wayland(Hyprland).

[Question] MIDI controller using Mido

I am trying to make a small controller using mido.
While the output MIDI port is detected by Jack (for example), it does not work with MOD Desktop.

Here is a small sample:

import time

import mido

port = mido.open_output("loopMIDI Port 1", virtual=True)

while True:
    msg = mido.Message("control_change", value=127, control=1)
    print(msg)
    port.send(msg)
    time.sleep(1)

    msg = mido.Message(
        "control_change",
        value=0,
        control=1,
    )
    print(msg)
    port.send(msg)
    time.sleep(1)

I am trying to set those changes to a pedal controller, but it is not recognized... Am I doing something wrong ? Missing something ? 🤔

macOS release is not signed

Needs weird workarounds and cannot save microphone/input permissions.

We need a MOD Audio Apple developer account and sign the releases/artifacts with it.

NO MIDI input in Windows

As the subject says... I don't see midi Input in the GUI.

Jackd is started with this command line:

Starting jackd using:
-R -S -C .\jack\jack-session.conf -X winmme -d portaudio -r 48000 -p 128 -P ASIO::Studio USB ASIO Driver -C ASIO::Studio USB ASIO Driver
jackdmp 1.9.21

Midi channels works as expected, I can see the commands coming in using Pocket Midi:

image

Hide away all advanced features

Current proposal is to use collapsible widgets to hide all options that are a bit more advanced, so the GUI looks super simple and clean.

Test on mac M1

Hi!
App runs only from the dmg package folder; if you copy it to the application folder, the window does not open and requests access to the microphone every time. The setting is not saved and creates multiple copies of the application in the privacy section on mac settings. The jack does not start with an external USB card

Starting jackd using:
-R -S -C ./jack/jack-session.conf -d coreaudio -r 48000 -p 128 -P 60 -C 60
Could not find any internals in /private/var/folders/2y/7056xvb513z16w31jv4z9c6h0000gn/T/AppTranslocation/A167A01E-94A0-4FFD-A460-197B8848953E/d/mod-app.app/Contents/MacOS/jack!
Could not find any internals in driver directory!
jackdmp 1.9.22
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2016 Grame.
Copyright 2016-2023 Filipe Coelho.
jackdmp 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
JACK server starting in realtime mode with priority 10
self-connect-mode is "Don't restrict self connect requests"
Default input and output devices are not the same !!
Cannot open default device
Cannot initialize driver
JackServer::Open failed with -1
Failed to open server

No plugins GUi in plugin bar

image
system : mod-desktop 0.0.11 and previous / debian 12.5 / firefox browser
There is no gui in plugins bar except for those I imported. Is there a bug or something I forgot ?

NAM sounds wrong..

NAM produces strange sounds. Feeling like the resampling is wrong. MacOS 13.6 M1Pro

macOS device choice is ignored

No matter what device we pick, there is always some kind of conflict between input and output, where one of them is treated as default.
This makes JACK unable to start for some setups.

[macOS] Window size extends beyond the screen

Сool ! Good job. Now everything starts, the window is displayed, NAM sounds good. It remains to be signed by the developer) I found some small problems in the interface. When expanding settings the audio, midi, lv2, gui , the window increases in size and extends beyond the screen, it is advisable to add a sheet of views for scrolling.

mod-desktop for Windows do not start

Снимок экрана (2456)
Снимок экрана (2457)
Mod-desktop for Windows. Versions 0.0.5, 0.0.6, 0.0.7, 0.0.8 do not start. The Open Web GUI button is not active. Version 0.0.4 is starting. But it has a huge number of inputs and outputs. Pulling out one cable to the output, connects the 4th at once. Is this normal?

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.