Jump to content
Why become a member? ×

MOD Device (Dwarf/Duo/Duo X) owners' club - Tips, Ideas & Patches


SamIAm
 Share

Recommended Posts

I wonder if perhaps those of us tech types here on BC working on the whole Dwarf LV2 … challenges, might combine efforts? I’m happy to create a GitHub repo and add you chaps @rwillett, @Woodinblack (any others?) Many hands and all that.

Once we’ve got something less obtuse working we could share it more widely to the MOD community.

Thoughts?

S’manth x

  • Like 2
Link to comment
Share on other sites

Not a bad idea, but at the moment my actual issue is just getting the dev environment working, not the actual making of LV2 plugins. The plugins themselves, ie, the LV2 plugins as such not the mod versions, seem pretty straight forward. Hopefully if I get any time this week I will have a test plugin to work on, and then I will try and get it on the dwarf, and then I will try and gig it. 

I am certainly writing down everything I am doing along the way, and every resource I have used, hopefully at the end of this with a bit of trimming I can write a full checklist of how to do it, something that seems sadly lacking. 

  • Like 1
Link to comment
Share on other sites

1 hour ago, Woodinblack said:

Not a bad idea, but at the moment my actual issue is just getting the dev environment working, not the actual making of LV2 plugins. The plugins themselves, ie, the LV2 plugins as such not the mod versions, seem pretty straight forward. Hopefully if I get any time this week I will have a test plugin to work on, and then I will try and get it on the dwarf, and then I will try and gig it. 

I am certainly writing down everything I am doing along the way, and every resource I have used, hopefully at the end of this with a bit of trimming I can write a full checklist of how to do it, something that seems sadly lacking. 

I definately see three "categories" that would help folks.

  1. Getting the MOD build toolchain up and running successfully (be it native or docker/amd64 or arm64)
  2. LV2 itself (Which is probably well servedin the links we've shared above)
  3. The MOD specific stuff, such as the HMI and the UI

 

S'manth x

  • Like 2
Link to comment
Share on other sites

I’m just at step 1, building the dev end up. I left it a few hours ago and it was still building GCC. That’s under VMware on a M series Mac. Who knows how that will work out 😊

 

I do have other intel boxes I can use but let’s see how this one goes. Much prefer a command line TBH. 
 

might get to step 2 later in week

  • Like 2
Link to comment
Share on other sites

3 hours ago, Smanth said:

I wonder if perhaps those of us tech types here on BC working on the whole Dwarf LV2 … challenges, might combine efforts? I’m happy to create a GitHub repo and add you chaps @rwillett, @Woodinblack (any others?) Many hands and all that.

Once we’ve got something less obtuse working we could share it more widely to the MOD community.

Thoughts?

S’manth x

I am still new to all of this, but have done quite a lot of C++ in the distant past and a little docker stuff more recently and would be up for giving it a try.  I'm pslh on github too

  • Like 1
Link to comment
Share on other sites

33 minutes ago, rwillett said:

I’m just at step 1, building the dev end up. I left it a few hours ago and it was still building GCC. That’s under VMware on a M series Mac. Who knows how that will work out 😊

 

I put vmware on mine yesterday, but didn't actually do anything with it yet. But I retried with docker at lunchtime, and following the same thing I did on the PC earlier, I got the LV2 debian image installer, downloaded LV2 (not sure why it is an LV2 image when it doesn't have LV2 on it but hey), installed LV2, it passed all the tests and I installed it. So in theory, it is there ready to run and tonight I will try building a basic LV2 from the samples and playing around / adding stuff to it.

If that all works (and maybe will do a few more LV2 plugins), next step would be the UI which would involve some of the mod stuff

  • Like 1
Link to comment
Share on other sites

1 hour ago, rwillett said:

I’m just at step 1, building the dev end up. I left it a few hours ago and it was still building GCC. That’s under VMware on a M series Mac. Who knows how that will work out 😊

 

I do have other intel boxes I can use but let’s see how this one goes. Much prefer a command line TBH. 
 

might get to step 2 later in week

Now back to step 0, apparently 20GB isn't enough for a dev environment :) Ran out of space, I never even thought about it.

 

Oh well lets roll back and extend the disk space

 

I'm sure that this is documented somewhere.

 

As a matter of interest, can I do all of this from the command line? is there any need whatsoever for a web interface. I'm very, very happy with the command line, that plus Emacs is good.

 

Thanks


Rob

  • Like 1
Link to comment
Share on other sites

7 minutes ago, rwillett said:

Now back to step 0, apparently 20GB isn't enough for a dev environment :) Ran out of space, I never even thought about it.

 

Oh well lets roll back and extend the disk space

 

I'm sure that this is documented somewhere.

 

As a matter of interest, can I do all of this from the command line? is there any need whatsoever for a web interface. I'm very, very happy with the command line, that plus Emacs is good.

 

Thanks


Rob

Ouch!

I built my first Dev VM with about 32GB, which allowed me to generate the toolchain using the ./bootstrap.sh mod-dwarf command, but it then failed when I additionally used the ./bootstrap.sh moddwarf-new (to take advantage of the new gcc).  I rebuilt my Dev VM with 64GB and about 36GB is in use so far.

 

S'manth x

Link to comment
Share on other sites

Dwarf Tuner.

 

There is an updated tuner on the go, as described here:

https://forum.mod.audio/t/tuner-problems/8954/27

If you drop FalkTX a message he will send you a link to the firmware.

It is rather good ... and it include some code (not totally finished I think) to allow a change in place for a plugin (If the ins/outs match) without having to rewire everything!

 

S'manth x

Edited by Smanth
Link to comment
Share on other sites

17 minutes ago, Smanth said:

Ouch!

I built my first Dev VM with about 32GB, which allowed me to generate the toolchain using the ./bootstrap.sh mod-dwarf command, but it then failed when I additionally used the ./bootstrap.sh moddwarf-new (to take advantage of the new gcc).  I rebuilt my Dev VM with 64GB and about 36GB is in use so far.

 

S'manth x

No big deal, rolled back, extended to 60GB and now loading the toolchain

[INFO ]  =================================================================
[INFO ]  Installing GMP for host
[EXTRA]    Configuring GMP
[EXTRA]    Building GMP
[EXTRA]    Installing GMP
[INFO ]  Installing GMP for host: done in 28.07s (at 03:05)
[INFO ]  =================================================================
[INFO ]  Installing MPFR for host
[EXTRA]    Configuring MPFR
[EXTRA]    Building MPFR
[EXTRA]    Installing MPFR
[INFO ]  Installing MPFR for host: done in 17.77s (at 03:22)
[INFO ]  =================================================================
[INFO ]  Installing ISL for host
[EXTRA]    Configuring ISL
[EXTRA]    Building ISL
[EXTRA]    Installing ISL
[INFO ]  Installing ISL for host: done in 20.36s (at 03:43)
[INFO ]  =================================================================
[INFO ]  Installing MPC for host

 

Daughter in school so will leave it for a few hours as I attend that,.

 

Rob

  • Like 1
Link to comment
Share on other sites

@rwillett, each ./bootstrap ran for about an hour on my system (Linux mod-arm-dev-svr 5.10.0-23-arm64 #1 SMP Debian 5.10.179-1 (2023-05-12) aarch64 GNU/Linux VM running inside UTM on a Macbook PRo M1 16Gb RAM)

 

But thankfully the plugin builds are quite fast once the toolchain is built.

 

S'manth x

 

Link to comment
Share on other sites

4 hours ago, Smanth said:

@rwillett, each ./bootstrap ran for about an hour on my system (Linux mod-arm-dev-svr 5.10.0-23-arm64 #1 SMP Debian 5.10.179-1 (2023-05-12) aarch64 GNU/Linux VM running inside UTM on a Macbook PRo M1 16Gb RAM)

 

 

I tried that this evening, on a system I tried, which was ubuntu  5.19.0.6-arm64 VM running on VMWare Fusion on an M1 mac

 

Still failed, but different reason! Ahh - seems like it failed to download something for the right architecture.

Spent too much time on that bit now, going to give up.

 

However, I can build LV2 plugins on the mac ok, so I will get on with actually working on the plugins and maybe when I have got something that works how I want, someone with more patience than me can let me know how to make a mod one!

 

Link to comment
Share on other sites

So for ghits and siggles I thought I'd give the Docker mod plugin builder another go. Thought I'd share the results in case it is of interest to others.

 

Host
MacBook Pro 13-inch, M1, 2020
16Gb Memory
macOS 13.4.1 (22F82)

 

Docker
Docker Desktop 4.21.1 (114176)  All settings default

 

I fired up iTerm2 and ran

cd ~
mkdir dwarf
cd dwarf
git clone https://github.com/moddevices/mod-plugin-builder.git
cd mod-plugin-builder/docker
docker build -t mpb --build-arg platform=moddwarf-new .

 

this resulted in

image.thumb.png.e027852186f6f074e6bfdf6009b39b7b.png

 

Checking in the Docker gui I saw a new image mpb.

The following

cd ..
./docker-mount.sh moddwarf-new mpb

fired up an interactive Docker terminal

builder@02f246028ba5:~/mod-plugin-builder$

 

In this I ran

git submodule init
git submodule update

 

Tho I am not totally sure if these are required (I could not see anywhere in the Dockerfile that they were run)

Next up I tried to build some plugins

./build moddwarf-new abgate
./build moddwarf-new portal-lv2
./build moddwarf-new guitarix
./build moddwarf-new x42-midifilter

 

They all seemed to run successfully to completion with a message saying the LV2 had been copied.

 

Back in the MacOS world, I was then able to see them in my home folder

CleanShot2023-07-18at03_31.00@2x.thumb.png.85265cc520188f6b230fc65432760bc6.png

 

It all seemed to go smoothly.
IIRC, the reason I went the VM route is because 

  1. The interactive Docker terminal sux big time whereas I can SSH into my VM using iTerm2.
  2. I can remote VSCode into my VM.
  3. I was able to get a MOD setup working in my VM.

I suspect that I could achieve this in Docker, but I could not easily find out how.

 

S'manth x

(Who got to geeking out into the wee hours but does not have to go to work today)

 

 

Edited by Smanth
  • Like 1
Link to comment
Share on other sites

And 60GB is not enough to do the three builds :)

 

rwillett@MD-Dev:~/mod_dwarf$ df -h
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           391M  1.7M  390M   1% /run
/dev/nvme0n1p2   59G   56G     0 100% /
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
/dev/nvme0n1p1  512M  5.3M  507M   2% /boot/efi
tmpfs           391M  168K  391M   1% /run/user/1000
rwillett@MD-Dev:~/mod_dwarf$

 

How did you get away with 64GB. It must be right on the edge.

 

Oh well, lets have another go this morning. I only have 20TB of disk left on the network box. Will that be enough?

 

Rob

 

  • Sad 1
Link to comment
Share on other sites

4 hours ago, Smanth said:

So for ghits and siggles I thought I'd give the Docker mod plugin builder another go. Thought I'd share the results in case it is of interest to others.

 

 

It all seemed to go smoothly.

 

excelent, well, I guess it is just me!

 

4 hours ago, Smanth said:

IIRC, the reason I went the VM route is because 

  1. The interactive Docker terminal sux big time whereas I can SSH into my VM using iTerm2.
  2. I can remote VSCode into my VM.
  3. I was able to get a MOD setup working in my VM.

I suspect that I could achieve this in Docker, but I could not easily find out how.

 

S'manth x

(Who got to geeking out into the wee hours but does not have to go to work today)

 

Well, I couldn't get the VM to work either so you are doing much better than me!

  • Like 1
Link to comment
Share on other sites

13 minutes ago, rwillett said:

And 60GB is not enough to do the three builds :)

 

rwillett@MD-Dev:~/mod_dwarf$ df -h
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           391M  1.7M  390M   1% /run
/dev/nvme0n1p2   59G   56G     0 100% /
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
/dev/nvme0n1p1  512M  5.3M  507M   2% /boot/efi
tmpfs           391M  168K  391M   1% /run/user/1000
rwillett@MD-Dev:~/mod_dwarf$

 

How did you get away with 64GB. It must be right on the edge.

 

Oh well, lets have another go this morning. I only have 20TB of disk left on the network box. Will that be enough?

 

Rob

 

I only did the moddwarf and moddwarf-new, but it reports 24Gb free.

I imagine I will kill the moddwarf and replace with the debug of moddwarf-new.

S'manth x

Edited by Smanth
Link to comment
Share on other sites

17 minutes ago, Woodinblack said:

Well, I couldn't get the VM to work either so you are doing much better than me!

I have always hated it when I am trying to sort out a solution and the bloody tools do not do what they are supposed to do!  I would guess that perhaps 65% of my professional IT life was spent dealing with this sorta cr4p!

 

I used to run a couple of datacentres based on VMWare tech and it was awesome!

 

However, the UTM tech (free) is mindblowingly cool on MacOS. I'd never heard of it before @micahvdm (on the MOD forum) pointed it out.

 

They have several pre-tuned OS images, I use their Debian 11.7.0 ARM64 image and it runs a treat (With the mod-plugin-builder. mod-nost, mod-ui tho my audio an midi do not connect :(, but I think PEBCAK lol).

 

S'manth x

Edited by Smanth
Link to comment
Share on other sites

Oh there you go, followed your instructions, seems to be working on the docker image. Very different to how I used docker (I frankly had no idea how to use docker - were there some instructions somewhere that showed how to use it like that I missed)?

 

Never used vmware either - almost all of my stuff since the 90s has been PCs and apart from a bit of hyperv recently not much vm stuff. and the only problem with that stuff was networking!

 

Thanks for the headsup on the UTM - maybe when I get another free moment I will give that a try

 

 

  • Like 1
Link to comment
Share on other sites

I was dimly aware of UTM, but I know Vmware as I run an ESXI server at home for firewalls and other Linux boxes. UTM does look good and I might well give it a go.

 

ESXI is very good, used it for 20+ years in the background. VMWare Fusion Player is now free on the Mac, I can't compare and contrast to UTM as I don't know UTM.

 

I'm also just going to stick to the modwarf toolchain to simplify things

 

Rob

  • Like 1
Link to comment
Share on other sites

1 hour ago, Woodinblack said:

were there some instructions somewhere that showed how to use it like that I missed)?

 

Not that I could find :(.

 

I used a mashup of the instructions on the MOD wiki https://wiki.mod.audio/wiki/How_To_Use_Docker_Toolbox_With_MPB

on their github https://github.com/moddevices/mod-plugin-builder#readme

a number of posts in the MOD forum

and reading the Dockerfile

plus a bit of experience from having tried several times before without success!

 

I think an up to date set of 'how to' instructions is needed on the MOD wiki, to be fair I'm not sure how this approach will work using a MacOS AMD64 (or windows/* or linux/*) environment, tho as the Dockerfile is based on debian:bookworm, I'd expect a tweaked version of the same build to work there ... pity they don't share a common install/build script (I think this is possible).

 

S'manth x

 

 

  • Like 1
Link to comment
Share on other sites

1 hour ago, rwillett said:

I run an ESXI server at home for firewalls and other Linux boxes.

I get that!

 

A few years back I played with a few virtualisation options for home use and ended up landing on Proxmox, which (like you) I use for a variety of home servers and a couple of web sites. I've an old Mac Mini/Intel which I was given post fire which after I bunged in some extra RAM purrs along running Proxmox quite nicely.

 

S'manth x

Link to comment
Share on other sites

The docker instructions of yours build on the PC today - although obviously I couldn't run the docker shell scripts as windows can't, and its wsl can't either and my limited experience on docker means I can't persuade it to run interactively - even though I can get other stuff to go.

Will try it on the mac later.

 

I have always had to do it, but I really hate IT work - when people ask me if I work in IT I always say no, I work in computer software. dissapointing my degree actually memtions IT - I can stick some tape over that bit. If I worked in IT maybe I could work out why my pigeons always set my keyboard to french when they walk over it - stupid, they don't even speak french!

  • Like 2
Link to comment
Share on other sites

37 minutes ago, Woodinblack said:

pigeons always set my keyboard to french when they walk over it - stupid, they don't even speak french!

OMG this made me laugh!

I use wordpress for my very simple nursing website, for reasons that are beyond my understanding the wordpress interface, whislt it does display in english, quotes prices in swedish kroner!  My best efforts to date have been unsuccessful is getting this resolved!

 

S'manth x

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...