[ubuntu-studio-devel] New Live Music Control Application

Elias Kesh elias at kesh.com
Mon Sep 9 20:05:46 UTC 2019


Ralf,

The app is currently using libwebkit2gtk-4.0.so.37. I've included a full 
ldd at the end.

Len,

I share your concerns in multiple areas, that's one of the reasons I've 
been sitting on this for the last few years.

In term of licensing I was thinking LGPL, but, open to suggestions.

For a small Pedal board, I have the source and schematics on github 
using an Arduino:

https://github.com/EliasKesh/SmallMidiExpressioWithButtons

The LED's on the stompbox (like tempo) are controller from the app.

In terms of setup, I think keyboard players are used to a certain amount 
of  programming before playing. At least this method uses a large 
screen, real keyboard and is consistent. However, for the less techie 
group I would think it's a non starter.

It would not be too difficult to set up the information (Patches, Tempo) 
by clicking on buttons and then having the code write into the HTML 
file. There is already a parser with reads songs files, extracts the 
meta data and can rewrite them (Comes for changing my mind on formats 
too much).

In terms of packing. I already have the debian make system and can build 
a .deb . However, beyond that I would need some guidance on what is 
required. I was also wondering if it where packaged as a container, that 
might make it easier to use.

By the way, all of this runs on a Raspberry Pi as well. Using the 
PiSound board it's no bigger than your average stomp box, minus the display.

What are the next steps ?

Thanks,

Elias

elias at kesh.com

LSB Version: 
core-10.2019031300ubuntu1-noarch:cxx-3.0-amd64:cxx-3.0-noarch:cxx-3.1-amd64:cxx-3.1-noarch:cxx-3.2-amd64:cxx-3.2-noarch:cxx-4.0-amd64:cxx-4.0-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-3.1-amd64:desktop-3.1-noarch:desktop-3.2-amd64:desktop-3.2-noarch:desktop-4.0-amd64:desktop-4.0-noarch:desktop-4.1-amd64:desktop-4.1-noarch:graphics-2.0-amd64:graphics-2.0-noarch:graphics-3.0-amd64:graphics-3.0-noarch:graphics-3.1-amd64:graphics-3.1-noarch:graphics-3.2-amd64:graphics-3.2-noarch:graphics-4.0-amd64:graphics-4.0-noarch:graphics-4.1-amd64:graphics-4.1-noarch:languages-3.2-amd64:languages-3.2-noarch:languages-4.0-amd64:languages-4.0-noarch:languages-4.1-amd64:languages-4.1-noarch:multimedia-3.2-amd64:multimedia-3.2-noarch:multimedia-4.0-amd64:multimedia-4.0-noarch:multimedia-4.1-amd64:multimedia-4.1-noarch:qt4-3.1-amd64:qt4-3.1-noarch:security-10.2019031300ubuntu1-noarch
Distributor ID: Ubuntu
Description:    Ubuntu 19.04
Release:        19.04
Codename:       disco

ldd LiveMusicApp

         linux-vdso.so.1 (0x00007fffaf107000)
         libxml2.so.2 => /usr/local/lib/x86_64-linux-gnu/libxml2.so.2 
(0x00007f52a0bda000)
         libasound.so.2 => /usr/local/lib/libasound.so.2 
(0x00007f52a0ad9000)
         libwebkit2gtk-4.0.so.37 => 
/usr/local/lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37 (0x00007f529e05b000)
         libgtk-3.so.0 => /usr/local/lib/x86_64-linux-gnu/libgtk-3.so.0 
(0x00007f529d968000)
         libgdk-3.so.0 => /usr/local/lib/x86_64-linux-gnu/libgdk-3.so.0 
(0x00007f529d86c000)
         libpango-1.0.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libpango-1.0.so.0 (0x00007f529d821000)
         libcairo.so.2 => /usr/local/lib/x86_64-linux-gnu/libcairo.so.2 
(0x00007f529d6ff000)
         libgdk_pixbuf-2.0.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0 (0x00007f529d6d9000)
         libgobject-2.0.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007f529d67d000)
         libglib-2.0.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f529d55c000)
         libjack.so.0 => /usr/local/lib/libjack.so.0 (0x00007f529d2ff000)
         liblo.so.7 => /usr/local/lib/liblo.so.7 (0x00007f529d2e8000)
         libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 
(0x00007f529d2c5000)
         librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f529d2ba000)
         libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f529d16c000)
         libXmu.so.6 => /usr/local/lib/x86_64-linux-gnu/libXmu.so.6 
(0x00007f529cf53000)
         libX11.so.6 => /usr/local/lib/x86_64-linux-gnu/libX11.so.6 
(0x00007f529ce19000)
         libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f529cc2e000)
         libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f529cc26000)
         libicuuc.so.63 => 
/usr/local/lib/x86_64-linux-gnu/libicuuc.so.63 (0x00007f529ca57000)
         libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f529ca3b000)
         liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 
(0x00007f529ca14000)
         /lib64/ld-linux-x86-64.so.2 (0x00007f52a0fc8000)
         libGL.so.1 => /usr/local/lib/x86_64-linux-gnu/libGL.so.1 
(0x00007f529c980000)
         libEGL.so.1 => /usr/local/lib/x86_64-linux-gnu/libEGL.so.1 
(0x00007f529c96b000)
         libatk-1.0.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libatk-1.0.so.0 (0x00007f529c940000)
         libgio-2.0.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libgio-2.0.so.0 (0x00007f529c777000)
         libnotify.so.4 => 
/usr/local/lib/x86_64-linux-gnu/libnotify.so.4 (0x00007f529c76d000)
         libxslt.so.1 => /usr/local/lib/x86_64-linux-gnu/libxslt.so.1 
(0x00007f529c72d000)
         libsqlite3.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f529c60d000)
         libjavascriptcoregtk-4.0.so.18 => 
/usr/local/lib/x86_64-linux-gnu/libjavascriptcoregtk-4.0.so.18 
(0x00007f529b394000)
         libicui18n.so.63 => 
/usr/local/lib/x86_64-linux-gnu/libicui18n.so.63 (0x00007f529b0b7000)
         libwoff2dec.so.1.0.2 => 
/usr/local/lib/x86_64-linux-gnu/libwoff2dec.so.1.0.2 (0x00007f529b0aa000)
         libfontconfig.so.1 => 
/usr/local/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007f529b064000)
         libfreetype.so.6 => 
/usr/local/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f529afa9000)
         libharfbuzz.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libharfbuzz.so.0 (0x00007f529aeb0000)
         libharfbuzz-icu.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libharfbuzz-icu.so.0 (0x00007f529aeab000)
         libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 
(0x00007f529ad8c000)
         libgstapp-1.0.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libgstapp-1.0.so.0 (0x00007f529ad7b000)
         libgstbase-1.0.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libgstbase-1.0.so.0 (0x00007f529ad00000)
         libgstreamer-1.0.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0 (0x00007f529abbe000)
         libgstpbutils-1.0.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libgstpbutils-1.0.so.0 (0x00007f529ab82000)
         libgstaudio-1.0.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libgstaudio-1.0.so.0 (0x00007f529ab08000)
         libgsttag-1.0.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libgsttag-1.0.so.0 (0x00007f529aac9000)
         libgstvideo-1.0.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libgstvideo-1.0.so.0 (0x00007f529aa1d000)
         libgstgl-1.0.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libgstgl-1.0.so.0 (0x00007f529a9a8000)
         libgstfft-1.0.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libgstfft-1.0.so.0 (0x00007f529a99b000)
         libjpeg.so.8 => /usr/local/lib/x86_64-linux-gnu/libjpeg.so.8 
(0x00007f529a918000)
         libpng16.so.16 => 
/usr/local/lib/x86_64-linux-gnu/libpng16.so.16 (0x00007f529a8e1000)
         libwebp.so.6 => /usr/local/lib/x86_64-linux-gnu/libwebp.so.6 
(0x00007f529a676000)
         libwebpdemux.so.2 => 
/usr/local/lib/x86_64-linux-gnu/libwebpdemux.so.2 (0x00007f529a471000)
         libenchant.so.1 => 
/usr/local/lib/x86_64-linux-gnu/libenchant.so.1 (0x00007f529a463000)
         libgmodule-2.0.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007f529a45d000)
         libsecret-1.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libsecret-1.so.0 (0x00007f529a40a000)
         libsoup-2.4.so.1 => 
/usr/local/lib/x86_64-linux-gnu/libsoup-2.4.so.1 (0x00007f529a37d000)
         libtasn1.so.6 => /usr/local/lib/x86_64-linux-gnu/libtasn1.so.6 
(0x00007f529a168000)
         libhyphen.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libhyphen.so.0 (0x00007f529a161000)
         libXcomposite.so.1 => 
/usr/local/lib/x86_64-linux-gnu/libXcomposite.so.1 (0x00007f5299f5e000)
         libXdamage.so.1 => 
/usr/local/lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007f5299d5b000)
         libwayland-server.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libwayland-server.so.0 (0x00007f5299d47000)
         libwayland-egl.so.1 => 
/usr/local/lib/x86_64-linux-gnu/libwayland-egl.so.1 (0x00007f5299d42000)
         libwayland-client.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libwayland-client.so.0 (0x00007f5299d2f000)
         libstdc++.so.6 => 
/usr/local/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f5299b4d000)
         libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 
(0x00007f5299b33000)
         libpangocairo-1.0.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0 (0x00007f5299b23000)
         libXi.so.6 => /usr/local/lib/x86_64-linux-gnu/libXi.so.6 
(0x00007f5299913000)
         libXfixes.so.3 => 
/usr/local/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007f529970b000)
         libcairo-gobject.so.2 => 
/usr/local/lib/x86_64-linux-gnu/libcairo-gobject.so.2 (0x00007f52996ff000)
         libatk-bridge-2.0.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0 (0x00007f52996cb000)
         libepoxy.so.0 => /usr/local/lib/x86_64-linux-gnu/libepoxy.so.0 
(0x00007f5299599000)
         libfribidi.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libfribidi.so.0 (0x00007f529957c000)
         libpangoft2-1.0.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0 (0x00007f5299563000)
         libXinerama.so.1 => 
/usr/local/lib/x86_64-linux-gnu/libXinerama.so.1 (0x00007f529955c000)
         libXrandr.so.2 => 
/usr/local/lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007f5299351000)
         libXcursor.so.1 => 
/usr/local/lib/x86_64-linux-gnu/libXcursor.so.1 (0x00007f5299346000)
         libxkbcommon.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libxkbcommon.so.0 (0x00007f5299305000)
         libwayland-cursor.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libwayland-cursor.so.0 (0x00007f52992fc000)
         libXext.so.6 => /usr/local/lib/x86_64-linux-gnu/libXext.so.6 
(0x00007f52990e8000)
         libthai.so.0 => /usr/local/lib/x86_64-linux-gnu/libthai.so.0 
(0x00007f52990dd000)
         libpixman-1.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libpixman-1.so.0 (0x00007f5299037000)
         libxcb-shm.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libxcb-shm.so.0 (0x00007f5299032000)
         libxcb.so.1 => /usr/local/lib/x86_64-linux-gnu/libxcb.so.1 
(0x00007f5299009000)
         libxcb-render.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libxcb-render.so.0 (0x00007f5298ff8000)
         libXrender.so.1 => 
/usr/local/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007f5298dee000)
         libffi.so.6 => /usr/local/lib/x86_64-linux-gnu/libffi.so.6 
(0x00007f5298de4000)
         libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 
(0x00007f5298d70000)
         libXt.so.6 => /usr/local/lib/x86_64-linux-gnu/libXt.so.6 
(0x00007f5298b07000)
         libicudata.so.63 => 
/usr/local/lib/x86_64-linux-gnu/libicudata.so.63 (0x00007f5297115000)
         libGLX.so.0 => /usr/local/lib/x86_64-linux-gnu/libGLX.so.0 
(0x00007f52970e1000)
         libGLdispatch.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libGLdispatch.so.0 (0x00007f5297024000)
         libmount.so.1 => /lib/x86_64-linux-gnu/libmount.so.1 
(0x00007f5296fc8000)
         libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 
(0x00007f5296f9e000)
         libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 
(0x00007f5296f81000)
         libwoff2common.so.1.0.2 => 
/usr/local/lib/x86_64-linux-gnu/libwoff2common.so.1.0.2 (0x00007f5296f7c000)
         libbrotlidec.so.1 => 
/usr/local/lib/x86_64-linux-gnu/libbrotlidec.so.1 (0x00007f5296f6d000)
         libexpat.so.1 => /usr/local/lib/libexpat.so.1 (0x00007f5296d38000)
         libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 
(0x00007f5296d2f000)
         libgraphite2.so.3 => 
/usr/local/lib/x86_64-linux-gnu/libgraphite2.so.3 (0x00007f5296d00000)
         libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 
(0x00007f5296cdd000)
         liborc-0.4.so.0 => 
/usr/local/lib/x86_64-linux-gnu/liborc-0.4.so.0 (0x00007f5296c5e000)
         libgstallocators-1.0.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libgstallocators-1.0.so.0 
(0x00007f5296c57000)
         libX11-xcb.so.1 => 
/usr/local/lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x00007f5296c52000)
         libdrm.so.2 => /usr/local/lib/x86_64-linux-gnu/libdrm.so.2 
(0x00007f5296c3d000)
         libgbm.so.1 => /usr/local/lib/x86_64-linux-gnu/libgbm.so.1 
(0x00007f5296c2c000)
         libgudev-1.0.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libgudev-1.0.so.0 (0x00007f5296a22000)
         libgssapi_krb5.so.2 => 
/usr/local/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f52969d5000)
         libpsl.so.5 => /usr/local/lib/x86_64-linux-gnu/libpsl.so.5 
(0x00007f52969c3000)
         libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 
(0x00007f5296972000)
         libatspi.so.0 => /usr/local/lib/x86_64-linux-gnu/libatspi.so.0 
(0x00007f529693f000)
         libdatrie.so.1 => 
/usr/local/lib/x86_64-linux-gnu/libdatrie.so.1 (0x00007f5296936000)
         libXau.so.6 => /usr/local/lib/x86_64-linux-gnu/libXau.so.6 
(0x00007f5296732000)
         libXdmcp.so.6 => /usr/local/lib/x86_64-linux-gnu/libXdmcp.so.6 
(0x00007f529652c000)
         libSM.so.6 => /usr/local/lib/x86_64-linux-gnu/libSM.so.6 
(0x00007f529651f000)
         libICE.so.6 => /usr/local/lib/x86_64-linux-gnu/libICE.so.6 
(0x00007f5296304000)
         libblkid.so.1 => /lib/x86_64-linux-gnu/libblkid.so.1 
(0x00007f52962af000)
         libbrotlicommon.so.1 => 
/usr/local/lib/x86_64-linux-gnu/libbrotlicommon.so.1 (0x00007f529628c000)
         libudev.so.1 => /lib/x86_64-linux-gnu/libudev.so.1 
(0x00007f5296266000)
         libkrb5.so.3 => /usr/local/lib/x86_64-linux-gnu/libkrb5.so.3 
(0x00007f5296189000)
         libk5crypto.so.3 => 
/usr/local/lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f5296155000)
         libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 
(0x00007f529614f000)
         libkrb5support.so.0 => 
/usr/local/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f5296141000)
         libidn2.so.0 => /usr/local/lib/x86_64-linux-gnu/libidn2.so.0 
(0x00007f5296122000)
         libunistring.so.2 => 
/usr/local/lib/x86_64-linux-gnu/libunistring.so.2 (0x00007f5295fa2000)
         libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 
(0x00007f5295f02000)
         libbsd.so.0 => /usr/local/lib/x86_64-linux-gnu/libbsd.so.0 
(0x00007f5295ee8000)
         libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 
(0x00007f5295ee1000)
         liblz4.so.1 => /usr/local/lib/x86_64-linux-gnu/liblz4.so.1 
(0x00007f5295eb2000)



On 9/9/19 8:33 AM, Len Ovens wrote:
> On Mon, 9 Sep 2019, Elias Kesh wrote:
>
>> I've been writing and using this over the last few years and was 
>> wondering if there is any interest in open sourcing it . It's written 
>> using GTK and WebKit and can control guitarix, sooperlooper, 
>> fluidsynth, hydrogen and a few others. I'm looking for feedback and 
>> interest levels. Here is a quick overview video.
>>
>> https://youtu.be/Y8flGCnV-j0
>
> Intreresting. What kind of open source licence were you thinking of? 
> Some are more compatable with debian/ubuntu than other. This seems to 
> be a mix of session manager and control application. I have seen 
> people who use such things but I am not one of them because I get 
> confused doing complex real time things beyond playing the instrument 
> itself ;)  But for people who do one man band with looping and backing 
> this could be quite useful. I guess it could easily work for taking a 
> MIDI controller foot switch and making a stomp box (a la Mod duo) wth 
> a pi4 or nuc as well.
>
> How hard is it to program? some people would have no trouble with HTML 
> programing, others would want some sort fo GUI.
>
> I guess we have to ask the hard questions too. What GUI does it use? 
> and will it be maintained? People tend to look is askance at things 
> where there has been no commits for ages (years). How would you host 
> the code? (github, launchpad, etc.)
>
> Anyway, I do think it looks like a useful application. I think before 
> we look at packaging it, we would want to see the how the code fits 
> together for ease of packaging... not the make a package that works 
> kind of packaging but rather the making the package acceptable for 
> publishing part (means passes lint at least)
>
> It would be too late to have appear in 19.10 at this point, but plenty 
> of time to hit 20.04.
>
> -- 
> Len Ovens
> www.ovenwerks.net
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/ubuntu-studio-devel/attachments/20190909/2b877475/attachment-0001.html>


More information about the ubuntu-studio-devel mailing list