Introducing the MOD Desktop - Beta release

“MOD Desktop” seems clear enough and is shorter so I think it’s a better name.

I found them both wired. Desktop and App been both to generic to describe anything. What about
“MOD PRO” or “MOD Titan” or something like that.

desktop is the differentiator, between “device” and “desktop”, so in those terms we have also “mobile” and “cloud” as a generic term.

I find that a name like “mod titan” would be the generic one, not the other way around.

1 Like

I feel that “Desktop app” would make it seem as though you use it to connect to a MOD device, from the desktop.

“MOD Desktop” makes it more clearly differentiated as a standalone desktop software.

4 Likes

I was wondering if it was possible to install MasterMe on a hardware device:)

OMG … The ‘replace plugin’ feature is amazing!
Screenshot shows dragging TinyGainMono over Gain MOD Mono, which just then replaces the Gain MOD Mono, all wired up in the same way :slight_smile:

Sam x

14 Likes

Not sure if there is a better thread for reporting issues for the MOD Desktop beta.

The following works on my Dwarf (Latest firmware)

But not on the MOD Desktop :frowning:

Startup log

Starting jackd using:
-R -S -n mod-desktop-app -X coremidi -C ./jack/jack-session.conf -d coreaudio -r 48000 -p 128 -P BuiltInSpeakerDevice -C BuiltInMicrophoneDevice
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"
Separated input = 'MacBook Pro Microphone' 
Separated output = 'MacBook Pro Speakers'
Input channel = 0 ==> JACK input port = 0
JACK output port = 0 ==> output channel = 0
JACK output port = 1 ==> output channel = 1
CoreMIDI driver is opened...
JackCoreMidiDriver::Start - Starting driver.
JackCoreMidiDriver::Start - Enabling physical input ports.
JackCoreMidiDriver::Start - Enabling physical output ports.
JackCoreMidiDriver::Start - Enabling virtual input ports.
JackCoreMidiDriver::Start - Enabling virtual output ports.
JackCoreMidiDriver::Start - Driver started.
CoreAudio driver is running...
Internal client mod-midi-merger successfully loaded
Internal client mod-midi-broadcaster successfully loaded
Internal client mod-host successfully loaded
PROTOCOL: received 'feature_enable' 'processing' '0'
PROTOCOL: response 'resp 0'
PROTOCOL: received 'transport' '0' '4.000000' '120.000000'
DEBUG: effects_transport rolling status ignored
DEBUG: Transport changed to rolling:0 bpm:120.000000 bpb:4.000000
PROTOCOL: response 'resp 0'
PROTOCOL: received 'remove' '9993'
DEBUG: PostPonedEventsThread() stopping (code 0)
DEBUG: RunPostPonedEvents() START
DEBUG: RunPostPonedEvents() Queue is empty
DEBUG: effects_remove restarted RunPostPonedEvents thread
PROTOCOL: response 'resp 0'
PROTOCOL: received 'remove' '-1'
DEBUG: PostPonedEventsThread() stopping (code 0)
DEBUG: effects_remove restarted RunPostPonedEvents thread
PROTOCOL: response 'resp 0'
PROTOCOL: received 'state_tmpdir' '/Users/smanth/Documents/MOD' 'Desktop' 'App/pedalboard-tmp-data'
PROTOCOL: error 'many arguments'
PROTOCOL: received 'transport' '0' '4.000000' '120.000000'
DEBUG: effects_transport rolling status ignored
DEBUG: Transport changed to rolling:0 bpm:120.000000 bpb:4.000000
PROTOCOL: response 'resp 0'
PROTOCOL: received 'add' 'urn:distrho:a-fluidsynth' '12'
PROTOCOL: response 'resp 12'
PROTOCOL: received 'add' 'http://gareus.org/oss/lv2/midigen' '15'
PROTOCOL: response 'resp 15'
PROTOCOL: received 'bypass' '15' '1'
PROTOCOL: response 'resp 0'
PROTOCOL: received 'param_set' '15' 'sequence' '14.000000'
PROTOCOL: response 'resp 0'
PROTOCOL: received 'connect' 'effect_12:outR' 'mod-monitor:in_2'
PROTOCOL: response 'resp 0'
PROTOCOL: received 'connect' 'effect_12:outL' 'mod-monitor:in_1'
PROTOCOL: response 'resp 0'
PROTOCOL: received 'connect' 'effect_15:midiout' 'effect_12:control'
PROTOCOL: response 'resp 0'
PROTOCOL: received 'state_load' '/Users/smanth/Documents/MOD Desktop App/pedalboards/MIDI_Test.pedalboard'
PROTOCOL: response 'resp 0'
PROTOCOL: received 'monitor_midi_program' '9' '1'
PROTOCOL: response 'resp 0'
PROTOCOL: received 'monitor_midi_program' '10' '1'
PROTOCOL: response 'resp 0'
PROTOCOL: received 'feature_enable' 'processing' '2'
DEBUG: effects_output_data_ready() UI is ready to receive more stuff (code 1)
fluidsynth: warning: No preset found on channel 9 [bank=128 prog=0]
PROTOCOL: response 'resp 0'
PROTOCOL: received 'transport_sync' 'none'
PROTOCOL: response 'resp 0'
DEBUG: RunPostPonedEvents() START
DEBUG: RunPostPonedEvents() Before the queue iteration
DEBUG: RunPostPonedEvents() Sending 'patch_set 12 urn:distrho:a-fluidsynth:sf2file p /Users/smanth/Documents/MOD Desktop App/pedalboards/MIDI_Test.pedalboard/effect-12/Full Grand.sf2'
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)
PROTOCOL: received 'monitor_midi_program' '9' '1'
PROTOCOL: response 'resp 0'
PROTOCOL: received 'monitor_midi_program' '9' '0'
PROTOCOL: response 'resp 0'
PROTOCOL: received 'output_data_ready'
DEBUG: effects_output_data_ready() UI is ready to receive more stuff (code 1)

Then when I start MidiGen it continues (first line is from startup log above)

DEBUG: effects_output_data_ready() UI is ready to receive more stuff (code 1)
fluidsynth: warning: Failed to allocate a synthesis process. (chan=0,key=69)
fluidsynth: warning: Failed to allocate a synthesis process. (chan=1,key=45)
fluidsynth: warning: Failed to allocate a synthesis process. (chan=1,key=52)
fluidsynth: warning: Failed to allocate a synthesis process. (chan=1,key=55)
fluidsynth: warning: Failed to allocate a synthesis process. (chan=2,key=45)
fluidsynth: warning: Failed to allocate a synthesis process. (chan=0,key=67)
fluidsynth: warning: Failed to allocate a synthesis process. (chan=0,key=64)
fluidsynth: warning: Failed to allocate a synthesis process. (chan=0,key=67)
fluidsynth: warning: Failed to allocate a synthesis process. (chan=1,key=45)
fluidsynth: warning: Failed to allocate a synthesis process. (chan=1,key=52)
fluidsynth: warning: Failed to allocate a synthesis process. (chan=1,key=55)
fluidsynth: warning: Failed to allocate a synthesis process. (chan=2,key=45)
fluidsynth: warning: Failed to allocate a synthesis process. (chan=2,key=40)
fluidsynth: warning: Failed to allocate a synthesis process. (chan=0,key=63)
fluidsynth: warning: Failed to allocate a synthesis process. (chan=0,key=62)
fluidsynth: warning: Failed to allocate a synthesis process. (chan=0,key=60)
fluidsynth: warning: Failed to allocate a synthesis process. (chan=1,key=45)
fluidsynth: warning: Failed to allocate a synthesis process. (chan=1,key=50)
fluidsynth: warning: Failed to allocate a synthesis process. (chan=1,key=54)
fluidsynth: warning: Failed to allocate a synthesis process. (chan=2,key=43)
fluidsynth: warning: Failed to allocate a synthesis process. (chan=0,key=62)
fluidsynth: warning: Failed to allocate a synthesis process. (chan=1,key=45)
fluidsynth: warning: Failed to allocate a synthesis process. (chan=1,key=52)
fluidsynth: warning: Failed to allocate a synthesis process. (chan=1,key=55)
fluidsynth: warning: Failed to allocate a synthesis process. (chan=2,key=44)
fluidsynth: warning: Failed to allocate a synthesis process. (chan=0,key=60)
fluidsynth: warning: Failed to allocate a synthesis process. (chan=2,key=50)
fluidsynth: warning: Failed to allocate a synthesis process. (chan=1,key=45)
fluidsynth: warning: Failed to allocate a synthesis process. (chan=1,key=48)
fluidsynth: warning: Failed to allocate a synthesis process. (chan=1,key=54)

MOD Desktop v 0.0.6
System
MacBook Pro, 13-inch, M1, 2020; 16 GB Ram
macOS Sonoma 14.2.1 (23C71)
Installed using all default options.

AudioFile plugin does produce sound.

Sam x

since you have a github account please report those issues in there. 1 ticket per issue please.

I suspect from glib thread issue, where the macOS implementation is incorrect or similar

2 Likes

We got another release!
Quite some fixes, also it should work under Linux + PipeWire too, and JACK MIDI pass-through as well.

We renamed it once again, from “MOD Desktop App” to “MOD Desktop”, so rename your docs folder to “MOD Desktop” before updating to preserve your old settings.
Hopefully this is the final name now.

15 Likes

Amazing. I’ve also wanted for a long time the ability to drop a plugin on a cable and automatically have it inserted in the circuit with the cable split and connected to some default plugin’s input/output ports.

1 Like

Another release is here!

Introduces a few “factory pedalboards”, based on Dwarf ones. For now it is basically the “Guitar Synth” collection and the “useful tips” one. But this paves the way to have a collection of pedalboards pre-installed with the desktop app, we will add more later on.

Also corrected the case of JACK + PipeWire on some systems, hopefully that works better now.

Enjoy!

PS: Also started generating a “device unique id” thing, to be used later on for the whole plugin store and commercial plugins. But will take a while…

12 Likes

Eehhm?.. where are this pedalboard?? Nothing is installed with this version… my user doc folder is correctly namef MOD Desktop, so…

1 Like

I installed v0.0.8 for Mac and am able to load the factory pedalboards from the Pedalboards Library.

Sorry, are you speaking about the pedalboards library on internet?
I was thinking that this Guitar Synth pedalboards were inserted in this software release, falkTX speak about factory pedalboards

Well probably I’m wrong!

1 Like

(as a side note, opening the synth boards with the default OS mic input makes for a nice noise / ambient soundscape :grin:)

I’m on windows (11)!! There’s no factory pedalboards, only the ones I have created (user pedalboards)…
Maybe it’s my fault…

1 Like

I am trying to have the fun too but so far no luck :frowning:

I have a Mac Mini Late 2012 running Catalina. Python 3.12.2

This is what I get in the “mod-ui” log when I start the Mod Desktop 0.0.8:

Traceback (most recent call last):
File “lib/startup.py”, line 113, in run
File “lib/Console.py”, line 15, in run
File “lib/mod-ui-setup.py”, line 91, in
File “/Applications/MOD Desktop.app/Contents/MacOS/mod/webserver.py”, line 2500, in run
prepare()
File “/Applications/MOD Desktop.app/Contents/MacOS/mod/webserver.py”, line 2471, in prepare
application.listen(DEVICE_WEBSERVER_PORT, address=(“localhost” if DESKTOP else “0.0.0.0”))
File “lib/tornado/web.py”, line 1825, in listen
File “lib/tornado/tcpserver.py”, line 126, in listen
File “lib/tornado/netutil.py”, line 154, in bind_sockets
File “lib/socket.py”, line 953, in getaddrinfo
socket.gaierror: [Errno 8] nodename nor servname provided, or not known
ERROR: This system has no python serial support
Using FakeHMI => <mod.development.FakeHMI object at 0x110589250>
cc start socket missing
jack client deactivated NOT

…not only!! Cliking on Open User File …it doesn’t open the user file… but not… the directori is correctly named because I can load audio, nam, midi, or any other file…
Strange!

1 Like

Thank you for your work; it’s a fantastic piece of software, very powerful.

I have a kind of technical question. I would like to control some settings with the command line (I’m on Linux, by the way). I found out that mod-host can be controlled with the command line, and I tried to send some commands via the socket. The problem is, I don’t know the socket port. I tried the default one (5555), but it doesn’t seem to work with mod-desktop.

What would be needed to remove the need to ‘approve’ access to mics on MacOS? Is it simply a case of getting hold of an Apple Dev Licence to allow signing?
If so, I would be willing to chip in towards the cost (I think it’s about $300 for organisations).
Sam x

2 Likes