AV Linux MX Edition Released!

Discuss anything new and newsworthy! See http://planet.linuxaudio.org and https://libreav.org/news for more Linux Audio News!

Announcements of proprietary software may fit better in the Marketplace.


Moderators: raboof, MattKingUSA, khz

User avatar
GMaq
Established Member
Posts: 2774
Joined: Fri Sep 25, 2009 1:42 pm
Has thanked: 520 times
Been thanked: 555 times

Re: AV Linux MX Edition Released!

Post by GMaq »

Teaser screenie :D

Work in progress with the New XFCE4/Openbox hybrid D.E., cleaned up Wine tab of the AVL-MXE Assistant and the updated User Manual which has a fair bit of new content.. Fine tuning a few things and waiting for Ardour 6.7 and Mixbus v7.. 'Freddie King' Wallpaper may or may not be default.

Image
Last edited by GMaq on Fri Apr 23, 2021 4:44 am, edited 1 time in total.
ubuntuuser
Established Member
Posts: 315
Joined: Mon Jan 02, 2017 9:46 am
Has thanked: 1 time
Been thanked: 5 times

Re: AV Linux MX Edition Released!

Post by ubuntuuser »

GMaq wrote: Fri Apr 23, 2021 4:03 am Teaser screenie :D

Work in progress with the New XFCE4/Openbox hybrid D.E., cleaned up Wine tab of the AVL-MXE Assistant and the updated User Manual which has a fair bit of new content.. Fine tuning a few things and waiting for Ardour 6.7 and Mixbus v7.. 'Freddie King' Wallpaper may or may nor be default.

Image
Wow, Freddie King Wallpaper.

Rock On.
User avatar
GMaq
Established Member
Posts: 2774
Joined: Fri Sep 25, 2009 1:42 pm
Has thanked: 520 times
Been thanked: 555 times

Re: AV Linux MX Edition Released!

Post by GMaq »

ubuntuuser wrote: Fri Apr 23, 2021 4:36 am
GMaq wrote: Fri Apr 23, 2021 4:03 am Teaser screenie :D

Work in progress with the New XFCE4/Openbox hybrid D.E., cleaned up Wine tab of the AVL-MXE Assistant and the updated User Manual which has a fair bit of new content.. Fine tuning a few things and waiting for Ardour 6.7 and Mixbus v7.. 'Freddie King' Wallpaper may or may nor be default.

Image
Wow, Freddie King Wallpaper.

Rock On.
What can I say... I'm a huge fan!
ubuntuuser
Established Member
Posts: 315
Joined: Mon Jan 02, 2017 9:46 am
Has thanked: 1 time
Been thanked: 5 times

Re: AV Linux MX Edition Released!

Post by ubuntuuser »

GMaq wrote: Fri Apr 23, 2021 4:43 am
ubuntuuser wrote: Fri Apr 23, 2021 4:36 am
GMaq wrote: Fri Apr 23, 2021 4:03 am Teaser screenie :D

Work in progress with the New XFCE4/Openbox hybrid D.E., cleaned up Wine tab of the AVL-MXE Assistant and the updated User Manual which has a fair bit of new content.. Fine tuning a few things and waiting for Ardour 6.7 and Mixbus v7.. 'Freddie King' Wallpaper may or may nor be default.

Image
Wow, Freddie King Wallpaper.

Rock On.
What can I say... I'm a huge fan!
One of the greats.
robbert-vdh
Established Member
Posts: 219
Joined: Mon Mar 01, 2021 10:56 pm
Has thanked: 51 times
Been thanked: 92 times
Contact:

Re: AV Linux MX Edition Released!

Post by robbert-vdh »

The wallpaper looks dope! Matches the AV Linux color scheme really well. Also on an unrelated side note, have you considered bundling yabridge yet? :D Yabridge 3.1.0 seems to be working really well for everyone who's been using it over the last week or so.
User avatar
GMaq
Established Member
Posts: 2774
Joined: Fri Sep 25, 2009 1:42 pm
Has thanked: 520 times
Been thanked: 555 times

Re: AV Linux MX Edition Released!

Post by GMaq »

robbert-vdh wrote: Fri Apr 23, 2021 12:21 pm The wallpaper looks dope! Matches the AV Linux color scheme really well. Also on an unrelated side note, have you considered bundling yabridge yet? :D Yabridge 3.1.0 seems to be working really well for everyone who's been using it over the last week or so.
Hi!

I've had a look at yabridge (but not taken time to install yet) and first thanks for your great work, it's a very ambitious project!

Although it looks like this is a whole new version of AVL-MXE it is mostly a bugfix ISO with some notable upgrades but mostly due to my waiting for the star DAWs to drop their new versions I've had time to tweak the D.E., Graphics and Docs side of things so my plan wasn't really to add new features, just polish and fix up the ISO for people getting on the bus for the first time.

That said... will yabridge work with LinVST on the same system? I've worked hard on integrating LinVST and it is doing a good job and it's developer has been very helpful when I've run into issues. That isn't to take anything away from yabridge at all I just want to to 'enhance' things without throwing out things that work well.. Also secondly I have to read up in more detail but are there somewhat graphical tools to set yabridge up on the system? For many people from Windows and OSX AV Linux is their first foray into Linuxdom and I like to keep complex things reasonably point and click and fill in the gaps with documentation. If yabridge works perfectly but involves lots of time in the terminal then that could be a concern, if it's a set it and forget kind of thing then that would be better.

It's not that I'm afraid of command line obviously far from it, but the target audience is not used to it.. AVL is actually not all that popular here among hardcore 'nixers, many of the first time users are from other platforms so I have to keep ease-of-use and the ability to simply install it and start working as a high priority.

That's the view from here anyway..
robbert-vdh
Established Member
Posts: 219
Joined: Mon Mar 01, 2021 10:56 pm
Has thanked: 51 times
Been thanked: 92 times
Contact:

Re: AV Linux MX Edition Released!

Post by robbert-vdh »

Thanks for the response!
GMaq wrote: Fri Apr 23, 2021 4:13 pm That said... will yabridge work with LinVST on the same system? I've worked hard on integrating LinVST and it is doing a good job and it's developer has been very helpful when I've run into issues. That isn't to take anything away from yabridge at all I just want to to 'enhance' things without throwing out things that work well.. Also secondly I have to read up in more detail but are there somewhat graphical tools to set yabridge up on the system? For many people from Windows and OSX AV Linux is their first foray into Linuxdom and I like to keep complex things reasonably point and click and fill in the gaps with documentation. If yabridge works perfectly but involves lots of time in the terminal then that could be a concern, if it's a set it and forget kind of thing then that would be better.
Yabridge and LinVst can of course cowexist on the same system. Although yabridge does of course take 'ownership' of a plugin directory when you manage that directory with yabridgectl, since the whole point of yabridgectl is to make sure that the entire system stays updated and in sync with minimal effort from the user. But if you don't use yabridge, then it won't do anything. That being said, yabridge is for all intents and purposes a superset of LinVst in terms of both features and plugin support, and it can also do VST3 plugin bridging. To my knowledge there currently aren't any plugins that work with LinVst and that don't work with yabridge, but there are a number of plugins that do work with yabridge that don't work under LinVst (that was actually my primary motivation for working on Wine plugin bridging in the first place).
GMaq wrote: Fri Apr 23, 2021 4:13 pm It's not that I'm afraid of command line obviously far from it, but the target audience is not used to it.. AVL is actually not all that popular here among hardcore 'nixers, many of the first time users are from other platforms so I have to keep ease-of-use and the ability to simply install it and start working as a high priority.
As for yabridgectl, there's no GUI for it at the moment since the workflow is very simple and only involves selecting your plugin directories with `yabridgectl add` (those can of course be prepopulated with the common plugin installation locations), and then running `yabridgectl sync` to setup yabridge, repeating the sync step whenever you install a new plugin or update yabridge. I personally don't consider a full GUI to have a lot of added benefit in that workflow, but it would of course be trivial to use Zenity or KDialog to create a nice graphical wrapper around `yabridgectl add`, `yabridgectl rm`, `yabridgectl list`, `yabridgectl status` and `yabridgectl sync`! For instance, the following would be a KDialog based GUI wrapper around yabridgectl that I just came up with:

Code: Select all

#
# Wrapper around `yabridgectl add`
#
yabridgectl add "$(kdialog --getexistingdirectory)"

#
# Wrapper around `yabridgectl rm`, this is the only non-trivial one since
# yabridgectl will ask you if also you want to clean up the directory afterwards
#
old_IFS=$IFS
IFS=$'\n'

path=$(kdialog --menu "Choose a directory to remove" $(yabridgectl list | awk '{ print; print }') --title "Remove directory")
if [[ -n $path ]]; then
  # If yabridgectl find leftover .so files in the directory you're trying to
  # remove, then it will ask you to type YES in call caps first to remove those
  # leftover files. We'll move that question here for a better user experience.
  # Since IFS is already set to a line feed, we don't need any additional
  # escaping here.
  confirmation=""
  leftover_sofiles=$(find -L "$path" -type f -name '*.so' 2>/dev/null)
  if [[ -n $leftover_sofiles ]]; then
    num_leftover_sofiles=$(echo "$leftover_sofiles" | wc -l)
    kdialog --warningyesno "$num_leftover_sofiles leftover .so files found in '$path'.\nWould you like to remove these?\n\n$leftover_sofiles" &&
      kdialog --warningyesno "Are you really sure you want to remove these $num_leftover_sofiles .so files?" &&
      confirmation="YES"
  fi

  kdialog --msgbox "$(yes "$confirmation" | yabridgectl rm "$path")" --title "Remove directory"
fi

IFS=$old_IFS

#
# Wrapper around `yabridgectl list`
#
kdialog --msgbox "$(yabridgectl list)" --title "yabridge paths"

#
# Wrapper around `yabridgectl status`
#
kdialog --msgbox "$(yabridgectl status)" --title "yabridge status"

#
# Wrapper around `yabridgectl sync`
#
kdialog --msgbox "$(yabridgectl sync)" --title "yabridge sync"
User avatar
GMaq
Established Member
Posts: 2774
Joined: Fri Sep 25, 2009 1:42 pm
Has thanked: 520 times
Been thanked: 555 times

Re: AV Linux MX Edition Released!

Post by GMaq »

@robbert-vdh

Thanks for the detailed explanation! I guess the next step for me would be to install and get my own feet wet. Thanks also for the Kdialog example. I actually have a VERY basic gtkdialog control panel type of thingie in AVL that I've put LinVST in so perhaps if yabridge is present I could just add buttons for yabridge then all the Wine/VST stuff stays in one tab.. I'm a facilitator not a 'proper' developer so even something as silly as the 'AVL-MXE Assistant' has taken years for me to improve.

Does yabridge depend on the very latest versions of Wine-Staging for every release? After the Wine breakage shitshow of the last 2 months my plan was to release AVL-MXE with a locked version of Wine-Staging 6.2.. I'm not a bleeding-edge guy at all and my software approach is pretty conservative (even if my politics aren't ..lol) so I tend to hunker down with things I know work so I guess I'm asking before I wade into it does yabridge 3.1.0 work with Wine-staging 6.2?
robbert-vdh
Established Member
Posts: 219
Joined: Mon Mar 01, 2021 10:56 pm
Has thanked: 51 times
Been thanked: 92 times
Contact:

Re: AV Linux MX Edition Released!

Post by robbert-vdh »

GMaq wrote: Fri Apr 23, 2021 7:51 pm Thanks for the detailed explanation! I guess the next step for me would be to install and get my own feet wet. Thanks also for the Kdialog example. I actually have a VERY basic gtkdialog control panel type of thingie in AVL that I've put LinVST in so perhaps if yabridge is present I could just add buttons for yabridge then all the Wine/VST stuff stays in one tab.. I'm a facilitator not a 'proper' developer so even something as silly as the 'AVL-MXE Assistant' has taken years for me to improve.
Yeah I looked at your control panel before! That sounds like a great idea for a preconfigured purpose-specific distro (configuration) like AV Linux, hence why my mind immediately went to something *dialog based since yabridgectl is very easily scriptable (although of course you won't get pretty colors that way since most of the *dialog utilities don't support ANSI color codes).
GMaq wrote: Fri Apr 23, 2021 7:51 pm Does yabridge depend on the very latest versions of Wine-Staging for every release? After the Wine breakage shitshow of the last 2 months my plan was to release AVL-MXE with a locked version of Wine-Staging 6.2.. I'm not a bleeding-edge guy at all and my software approach is pretty conservative (even if my politics aren't ..lol) so I tend to hunker down with things I know work so I guess I'm asking before I wade into it does yabridge 3.1.0 work with Wine-staging 6.2?
When compiled from source, yabridge will detect the Wine version at compile time and it can thus support any Wine version between at least Wine 5.0 and 6.7 with the exception of Wine 6.3, of course, because of that one character typo in the new initialization code. The builds up on GitHub (on the automated builds page and in the releases) are currently compiled with Wine 6.0, and will thus work on Wine (Staging) 6.0-6.2 and Wine 6.4-6.7 (and presumably beyond that, but you never know :D). I'm always targeting the most recent Wine version that had backwards incompatible changes concerning Winelibs (which is currently Wine 6.0), but I can of course provide yabridge builds for any other Wine version if needed.
User avatar
GMaq
Established Member
Posts: 2774
Joined: Fri Sep 25, 2009 1:42 pm
Has thanked: 520 times
Been thanked: 555 times

Re: AV Linux MX Edition Released!

Post by GMaq »

Well I'm quickly running out of excuses not to try this, I'll give 'er a go over the weekend!

Not to look a gift horse in the mouth but your little dialog idea done with YAD (better zenity successor) or Zenity would use the system theme and in my selfish use-case be more natural looking in a GTK-based DE like XFCE4, it would also be a natural fit with my little Assistant. If you could even come up with a thumbnail sketch of a YAD/Zenity doodad to work from it would probably be a bit more universal to distribute with yabridge in general..

I'll check it out and play around a bit and post back. Again thanks for your work on this!

Have a good weekend!
Glen
User avatar
GMaq
Established Member
Posts: 2774
Joined: Fri Sep 25, 2009 1:42 pm
Has thanked: 520 times
Been thanked: 555 times

Re: AV Linux MX Edition Released!

Post by GMaq »

One more question...

Is /usr/local/share a valid PATH? Or even /opt/yabridge? I prefer placing things like this in the root filesystem (usually /opt) and wrapping them in Deb packages to install and remove them. Creating ISO's it's much better to keep applications out of the User's home folder, but on your end I completely understand why you do it that way..
robbert-vdh
Established Member
Posts: 219
Joined: Mon Mar 01, 2021 10:56 pm
Has thanked: 51 times
Been thanked: 92 times
Contact:

Re: AV Linux MX Edition Released!

Post by robbert-vdh »

GMaq wrote: Fri Apr 23, 2021 10:05 pm Well I'm quickly running out of excuses not to try this, I'll give 'er a go over the weekend!

Not to look a gift horse in the mouth but your little dialog idea done with YAD (better zenity successor) or Zenity would use the system theme and in my selfish use-case be more natural looking in a GTK-based DE like XFCE4, it would also be a natural fit with my little Assistant. If you could even come up with a thumbnail sketch of a YAD/Zenity doodad to work from it would probably be a bit more universal to distribute with yabridge in general..

I'll check it out and play around a bit and post back. Again thanks for your work on this!

Have a good weekend!
Glen
Haha awesome, let me know how it goes! The current master branch has a single extra commit on top of 3.1.0 (or at least, a single commit that actually does something) that fixes MIDI playback with the old 32-bit Native Instrument FM7 (that plugin was doing some really weird things it should not have been doing). That's probably irrelevant, but in the tiny off-chance that that specific plugin is your go-to plugin then it may be good to know that there is a fix :D. Oh and I'll have to take a look at yad, forgot about that one. I picked KDialog over Zenity for that proof of concept because Zenity doesn't have a neat way to display long text. KDialog's message boxes get a nice scroll bar, but Zenity's don't and Zenity's --text-info option looks pretty ugly.
GMaq wrote: Fri Apr 23, 2021 10:17 pm One more question...

Is /usr/local/share a valid PATH? Or even /opt/yabridge? I prefer placing things like this in the root filesystem (usually /opt) and wrapping them in Deb packages to install and remove them. Creating ISO's it's much better to keep applications out of the User's home folder, but on your end I completely understand why you do it that way..
Yes, that's how yabridge is normally packaged for distros! There are basically two path lookup things going on: yabridgectl needs to find libyabridge*.so, and yabridge's plugin libraries need to be able to find yabridge-*.exe (and then yabridgectl will check if all of this is set up correctly during yabridgectl sync). ~/.local/share/yabridge is only a magic installation location to make setup using the binary packages as easy as possible (I don't want to require people to manually copy files to outside of their home directory). Before falling back to that directory, yabridgectl will first search through the typical library paths for those libraries, and yabridge will search through the regular search PATH for the Wine plugin host applications.
Rodney
Established Member
Posts: 232
Joined: Mon May 28, 2018 3:56 pm
Has thanked: 9 times
Been thanked: 14 times

Re: AV Linux MX Edition Released!

Post by Rodney »

Looking great! :D loved the default wallpaper as well LOL :mrgreen:
User avatar
GMaq
Established Member
Posts: 2774
Joined: Fri Sep 25, 2009 1:42 pm
Has thanked: 520 times
Been thanked: 555 times

Re: AV Linux MX Edition Released!

Post by GMaq »

@robbert-vdh

Hi, more questions! Posting here in case this Q/A is helpful to others... Using your 18.04 binaries from your github page.

First, if my system already has LinVST on it and LinVST has created the appropriate '.so' files for all the VST .dlls then will yabridge overwrite the existing linvst.so files? And secondly in my DAW (Ardour in my case) how will I know which applications .so file Ardour is using? If Ardour is using 2 sets of .so files from 2 different bridges does that not cause issues?

OK, for my experiments I want the yabridge folder in /opt, so that is where I put it.. I also copied libyabridge-vst2.so to my Windows VST folder in /usr/local/lib/vst

So first I want to add my VST directory so I did this:

Code: Select all

/opt/yabridge/yabridgectl add /usr/local/lib/vst
So checking out things with 'status' I get this:

Code: Select all

$ /opt/yabridge/yabridgectl status
yabridge path: '/opt/yabridge'
Could not find yabridge's files files: Could not locate 'yabridge-host.exe'.

installation method: copy

/usr/local/lib/vst/
  ANWIDASoft/ANWIDA Soft DX Reverb Light.dll :: VST2, 32-bit, copy
  ESP/ESP_FreeeQ.dll :: VST2, 32-bit, copy
  ESP/ESP_UniQ.dll :: VST2, 32-bit, copy
  IgniteAmps/Emissary.dll :: VST2, 32-bit, copy
  IgniteAmps/SHB-1.dll :: VST2, 32-bit, copy
  Kjaerhus/ClassicAuto-Filter.dll :: VST2, 32-bit, copy
  Kjaerhus/ClassicChorus.dll :: VST2, 32-bit, copy
  Kjaerhus/ClassicCompressor.dll :: VST2, 32-bit, copy
  Kjaerhus/ClassicDelay.dll :: VST2, 32-bit, copy
  Kjaerhus/ClassicEQ.dll :: VST2, 32-bit, copy
  Kjaerhus/ClassicFlanger.dll :: VST2, 32-bit, copy
  Kjaerhus/ClassicMasterLimiter.dll :: VST2, 32-bit, copy
  Kjaerhus/ClassicPhaser.dll :: VST2, 32-bit, copy
  Klanghelm/DC1A2.dll :: VST2, 32-bit, copy
  Klanghelm/IVGI2.dll :: VST2, 32-bit, copy
  Klanghelm/MJUCjr.dll :: VST2, 32-bit, copy
  LePou/HyBrit.dll :: VST2, 32-bit, copy
  LePou/Le456.dll :: VST2, 32-bit, copy
  LePou/LeCto.dll :: VST2, 32-bit, copy
  LePou/LeGion.dll :: VST2, 32-bit, copy
  LePou/LeXtac.dll :: VST2, 32-bit, copy
  SFZ/sfz.dll :: VST2, 32-bit, copy
  SmartElectronix/Ambience.dll :: VST2, 32-bit, copy
  SmartElectronix/AnalogDelay.dll :: VST2, 32-bit, copy
  TSE/TSE_808_2.0.dll :: VST2, 32-bit, copy
  TSE/TSE_BOD_v2.0.dll :: VST2, 32-bit, copy
  ThomasMundt/LoudMax.dll :: VST2, 32-bit, copy
isotester@avlmx:~
So yabridge knows where the VST's are...excellent! But it doesn't know where it's own files are... I do a bit of reading and see the 'set path' command, and run it:

Code: Select all

/opt/yabridge/yabridgectl set --path=/opt/yabridge
Now I figure I've established the path but running 'sync' gives me this:

Code: Select all

$ /opt/yabridge/yabridgectl sync
Error: Could not locate 'yabridge-host.exe'.
Something is amiss here so before I proceed any further I will leave this with you to see where I've gone off the rails.

Thanks for your time and patience!
robbert-vdh
Established Member
Posts: 219
Joined: Mon Mar 01, 2021 10:56 pm
Has thanked: 51 times
Been thanked: 92 times
Contact:

Re: AV Linux MX Edition Released!

Post by robbert-vdh »

@GMaq

Ask away!

GMaq wrote: Sat Apr 24, 2021 5:01 pm First, if my system already has LinVST on it and LinVST has created the appropriate '.so' files for all the VST .dlls then will yabridge overwrite the existing linvst.so files? And secondly in my DAW (Ardour in my case) how will I know which applications .so file Ardour is using? If Ardour is using 2 sets of .so files from 2 different bridges does that not cause issues?
For VST2 plugins, both yabridge and LinVst use the same installation mechanism (yabridge also allows a few more variations involving symlinks, but let's forget about that for now). So unless you have duplicate copies of a VST2 plugin .dll file, you can only have one bridge set up for it. If for whatever reason you would want to do that, then you could in theory mix and match of course. Only issue with that is that LinVst modifies the host's environment, which will break yabridge's automatic Wine prefix detection because now the WINEPREFIX environment variable is overridden by LinVst. If you only use a single WIne prefix then that doesn't matter of course.
GMaq wrote: Sat Apr 24, 2021 5:01 pm OK, for my experiments I want the yabridge folder in /opt, so that is where I put it.. I also copied libyabridge-vst2.so to my Windows VST folder in /usr/local/lib/vst
I'd strongly advise against trying to install yabridge in /opt. You can of course do it if you really want to, but you will need to do some manual setup that only makes things more complicated than it needs to be. Instead, I would install yabridge's files to /usr/local/lib and /usr/local/bin to install it globally, just like a regular package manager package would install them to /usr/bin and /usr/lib. So this would mean that the files from the archive should go here:

Code: Select all

yabridge-group-32.exe -> /usr/local/bin/yabridge-group-32.exe
yabridge-group-32.exe.so -> /usr/local/bin/yabridge-group-32.exe.so
yabridge-group.exe -> /usr/local/bin/yabridge-group.exe
yabridge-group.exe.so -> /usr/local/bin/yabridge-group.exe.so
yabridge-host-32.exe -> /usr/local/bin/yabridge-host-32.exe
yabridge-host-32.exe.so -> /usr/local/bin/yabridge-host-32.exe.so
yabridge-host.exe -> /usr/local/bin/yabridge-host.exe
yabridge-host.exe.so -> /usr/local/bin/yabridge-host.exe.so
yabridgectl -> /usr/local/bin/yabridgectl
libyabridge-vst2.so -> /usr/local/lib/libyabridge-vst2.so
libyabridge-vst3.so -> /usr/local/lib/libyabridge-vst3.so
If you do that, then everything will work out of the box with no further configuration necessary. In your current situation you will have to run `yabridgectl set --path-auto` first to revert back to the default auto detection behaviour. That way it will pick up the files in /usr/local/lib out of the box.

As for that `Could not locate 'yabridge-host.exe'.` error you were seeing earlier, that was yabridgectl warning you in advance that if you were to run yabridge right now, then it would not have been able to run because it would not be able to find the yabridge-*.exe host applications. /opt/yabridge was not in your PATH, and trying to launch `yabridge-host.exe` from a terminal would not have worked unless you specified the full path. When those files are installed to /usr/local/bin, you can run them with no additional setup.

I hope that answered your questions. Let me know if that was still a bit unclear!
Post Reply