diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index de610f13..5b586a6b 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -24,7 +24,7 @@ jobs:
uses: bilelmoussaoui/flatpak-github-actions/flatpak-builder@v3
with:
bundle: Ensembles.flatpak
- manifest-path: com.github.subhadeepjasu.ensembles.yml
+ manifest-path: com.github.ensemblesaw.ensembles.yml
run-tests: true
repository-name: appcenter
repository-url: https://flatpak.elementary.io/repo.flatpakrepo
diff --git a/.gitignore b/.gitignore
index 00a18a74..54d54d31 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,3 +11,8 @@ null.d
*~
.~lock*
xtleak.kcg.*
+subprojects/ens-shell-gtk
+subprojects/ens-shell-cli
+subprojects/ens-aw-core
+subprojects/enstl
+subprojects/libvinject
diff --git a/com.github.ensemblesaw.ensembles.yml b/com.github.ensemblesaw.ensembles.yml
new file mode 100644
index 00000000..299fcdba
--- /dev/null
+++ b/com.github.ensemblesaw.ensembles.yml
@@ -0,0 +1,203 @@
+app-id: com.github.ensemblesaw.ensembles
+runtime: io.elementary.Platform
+runtime-version: '7.3'
+sdk: io.elementary.Sdk
+command: com.github.ensemblesaw.ensembles
+finish-args:
+ - '--share=ipc'
+ - '--socket=fallback-x11'
+ - '--socket=wayland'
+ - '--socket=pulseaudio'
+ - '--device=all'
+ - '--filesystem=home'
+ # Required for system wide dark style preference
+ - '--system-talk-name=org.freedesktop.Accounts'
+ # Required for media keys and MPRIS access
+ - '--own-name=org.mpris.MediaPlayer2.com.github.subhadeepjasu.ensembles'
+ - '--talk-name=org.gnome.SettingsDaemon.MediaKeys'
+ # For PipeWire
+ - '--filesystem=xdg-run/pipewire-0'
+ - '--system-talk-name=org.freedesktop.RealtimeKit1'
+modules:
+ # Adds dependency injection
+ - name: vinject
+ buildsystem: meson
+ sources:
+ - type: git
+ url: https://gitlab.com/geeky_endeavours/vinject.git
+ branch: main
+
+
+ # Adds support for lv2 virtual instruments and effects plugins
+ - name: lv2
+ buildsystem: meson
+ cleanup:
+ - /bin
+ - /include
+ - /lib/pkgconfig
+ - /share
+ sources:
+ - type: archive
+ url: https://lv2plug.in/spec/lv2-1.18.10.tar.xz
+ sha256: 78c51bcf21b54e58bb6329accbb4dae03b2ed79b520f9a01e734bd9de530953f
+ post-install:
+ - install -Dm644 -t $FLATPAK_DEST/share/licenses/lv2 ../COPYING
+ - ln -sf lv2.pc $FLATPAK_DEST/lib/pkgconfig/lv2core.pc
+
+ # Allows Ensembles to act as a lv2 host
+ - name: lilv
+ buildsystem: meson
+ modules:
+ - name: serd
+ buildsystem: meson
+ sources:
+ - type: archive
+ url: https://download.drobilla.net/serd-0.30.16.tar.xz
+ sha256: f50f486da519cdd8d03b20c9e42414e459133f5a244411d8e63caef8d9ac9146
+ post-install:
+ - install -Dm644 -t $FLATPAK_DEST/share/licenses/serd ../COPYING
+ cleanup:
+ - /bin
+ - /include
+ - /lib/pkgconfig
+ - /share/man
+ - name: sord
+ buildsystem: meson
+ sources:
+ - type: archive
+ url: https://download.drobilla.net/sord-0.16.14.tar.xz
+ sha256: 220fd97d5fcb216e7b85db66f685bfdaad7dc58a50d1f96dfb2558dbc6c4731b
+ post-install:
+ - install -Dm644 -t $FLATPAK_DEST/share/licenses/sord ../COPYING
+ cleanup:
+ - /bin
+ - /include
+ - /lib/pkgconfig
+ - /share/doc
+ - /share/man
+ - name: sratom
+ buildsystem: meson
+ sources:
+ - type: archive
+ url: https://download.drobilla.net/sratom-0.6.14.tar.xz
+ sha256: 9982faf40db83aedd9b3850e499fecd6852b8b4ba6dede514013655cffaca1e6
+ post-install:
+ - install -Dm644 -t $FLATPAK_DEST/share/licenses/sratom ../COPYING
+ cleanup:
+ - /include
+ - /lib/pkgconfig
+ sources:
+ - type: archive
+ url: https://download.drobilla.net/lilv-0.24.20.tar.xz
+ sha256: 4fb082b9b8b286ea92bbb71bde6b75624cecab6df0cc639ee75a2a096212eebc
+ post-install:
+ - install -Dm644 -t $FLATPAK_DEST/share/licenses/lilv ../COPYING
+ cleanup:
+ - /bin
+ - /etc
+ - /include
+ - /lib/pkgconfig
+ - /share/man
+
+ - name: zix
+ buildsystem: meson
+ sources:
+ - type: git
+ url: https://github.com/drobilla/zix.git
+ tag: v0.4.2
+
+ - name: suil
+ buildsystem: meson
+ sources:
+ - type: archive
+ url: https://download.drobilla.net/suil-0.10.20.tar.xz
+ sha256: 334a3ed3e73d5e17ff400b3db9801f63809155b0faa8b1b9046f9dd3ffef934e
+ post-install:
+ - install -Dm644 -t $FLATPAK_DEST/share/licenses/suil ../COPYING
+ cleanup:
+ - /bin
+ - /include
+ - /lib/pkgconfig
+ - /share/man
+
+ # Synthesizer backend
+ - name: fluidsynth
+ buildsystem: cmake-ninja
+ cleanup:
+ - /bin
+ - /include
+ - /lib/pkgconfig
+ - /share/man
+ - '*.so'
+ sources:
+ - type: archive
+ url: https://github.com/FluidSynth/fluidsynth/archive/v2.3.4.tar.gz
+ sha256: 1529ef5bc3b9ef3adc2a7964505912f7305103e269e50cc0316f500b22053ac9
+
+ # MIDI controller support
+ - name: portmidi
+ buildsystem: cmake
+ sources:
+ - type: git
+ url: https://github.com/PortMidi/portmidi.git
+ tag: v2.0.3
+
+
+ # Install styles
+ - name: styles
+ buildsystem: meson
+ sources:
+ - type: git
+ url: https://github.com/ensemblesaw/styles.git
+ branch: main
+
+ # CLI shell
+ - name: ens-shell-cli
+ buildsystem: meson
+ sources:
+ - type: git
+ url: https://github.com/ensemblesaw/ens-shell-cli.git
+ branch: main
+
+ # Arranger Workstation Core
+ - name: ens-aw-core
+ buildsystem: meson
+ build-options:
+ config-opts:
+ - -Dprofile=default
+ - -Dbuildtype=release
+ sources:
+ - type: git
+ url: https://github.com/ensemblesaw/ens-aw-core.git
+ branch: main
+
+ # GTK Shell
+ - name: ens-shell-gtk
+ buildsystem: meson
+ build-options:
+ config-opts:
+ - -Dprofile=default
+ - -Dbuildtype=release
+ sources:
+ - type: git
+ url: https://github.com/ensemblesaw/ens-shell-gtk.git
+ branch: main
+
+ # The app itself
+ - name: ensembles
+ buildsystem: meson
+ build-options:
+ config-opts:
+ - -Dprofile=default
+ - -Dbuildtype=release
+ sources:
+ - type: dir
+ path: .
+
+ # Adds default soundfont
+ - name: ensemblesGMSoundfonts
+ buildsystem: meson
+ sources:
+ - type: archive
+ url: https://gitlab.com/SubhadeepJasu/ensemblesgmsoundfont/-/archive/v0.0.3/ensemblesgmsoundfont-v0.0.3.tar.gz
+ sha256: 0b5ecca24623dabc9ea546c49cc25ebb3f419d6b61c035c603133a1032a4f2bc
diff --git a/com.github.subhadeepjasu.ensembles.yml b/com.github.subhadeepjasu.ensembles.yml
deleted file mode 100644
index ca784203..00000000
--- a/com.github.subhadeepjasu.ensembles.yml
+++ /dev/null
@@ -1,194 +0,0 @@
-app-id: com.github.subhadeepjasu.ensembles
-runtime: io.elementary.Platform
-runtime-version: '7.1'
-sdk: io.elementary.Sdk
-command: com.github.subhadeepjasu.ensembles
-finish-args:
- - '--share=ipc'
- - '--socket=fallback-x11'
- - '--socket=wayland'
- - '--socket=pulseaudio'
- - '--device=all'
- - '--filesystem=home'
- # Required for system wide dark style preference
- - '--system-talk-name=org.freedesktop.Accounts'
- # Required for media keys and MPRIS access
- - '--own-name=org.mpris.MediaPlayer2.com.github.subhadeepjasu.ensembles'
- - '--talk-name=org.gnome.SettingsDaemon.MediaKeys'
- # For PipeWire
- - '--filesystem=xdg-run/pipewire-0'
- - '--system-talk-name=org.freedesktop.RealtimeKit1'
-modules:
- # Adds support for lv2 virtual instruments and effects plugins
- - name: lv2
- buildsystem: simple
- cleanup:
- - /bin
- - /include
- - /pkgconfig
- - /share
- build-commands:
- - python3 ./waf configure --prefix=$FLATPAK_DEST --lv2dir=$FLATPAK_DEST/lib/lv2 --copy-headers
- - python3 ./waf build -j $FLATPAK_BUILDER_N_JOBS
- - python3 ./waf install
- sources:
- - type: archive
- url: https://lv2plug.in/spec/lv2-1.18.2.tar.bz2
- sha256: 4e891fbc744c05855beb5dfa82e822b14917dd66e98f82b8230dbd1c7ab2e05e
- post-install:
- - install -Dm644 -t $FLATPAK_DEST/share/licenses/lv2 COPYING
- - ln -sf lv2.pc $FLATPAK_DEST/lib/pkgconfig/lv2core.pc
-
- # Allows Ensembles to act as a lv2 host
- - name: lilv
- buildsystem: simple
- build-commands:
- - python3 ./waf configure --prefix=$FLATPAK_DEST
- - python3 ./waf build -j $FLATPAK_BUILDER_N_JOBS
- - python3 ./waf install
- modules:
- - name: serd
- buildsystem: simple
- build-commands:
- - python3 ./waf configure --prefix=$FLATPAK_DEST
- - python3 ./waf build -j $FLATPAK_BUILDER_N_JOBS
- - python3 ./waf install
- sources:
- - type: archive
- url: https://download.drobilla.net/serd-0.30.10.tar.bz2
- sha256: affa80deec78921f86335e6fc3f18b80aefecf424f6a5755e9f2fa0eb0710edf
- post-install:
- - install -Dm644 -t /app/share/licenses/serd COPYING
- cleanup:
- - /bin
- - /include
- - /lib/pkgconfig
- - /share/man
- - name: sord
- buildsystem: simple
- build-commands:
- - python3 ./waf configure --prefix=$FLATPAK_DEST
- - python3 ./waf build -j $FLATPAK_BUILDER_N_JOBS
- - python3 ./waf install
- sources:
- - type: archive
- url: https://download.drobilla.net/sord-0.16.8.tar.bz2
- sha256: 7c289d2eaabf82fa6ac219107ce632d704672dcfb966e1a7ff0bbc4ce93f5e14
- post-install:
- - install -Dm644 -t /app/share/licenses/sord COPYING
- cleanup:
- - /bin
- - /include
- - /lib/pkgconfig
- - /share/man
- - name: sratom
- buildsystem: simple
- build-commands:
- - python3 ./waf configure --prefix=$FLATPAK_DEST
- - python3 ./waf build -j $FLATPAK_BUILDER_N_JOBS
- - python3 ./waf install
- sources:
- - type: archive
- url: https://download.drobilla.net/sratom-0.6.8.tar.bz2
- sha256: 3acb32b1adc5a2b7facdade2e0818bcd6c71f23f84a1ebc17815bb7a0d2d02df
- post-install:
- - install -Dm644 -t /app/share/licenses/sratom COPYING
- cleanup:
- - /include
- - /lib/pkgconfig
- sources:
- - type: archive
- url: https://download.drobilla.net/lilv-0.24.12.tar.bz2
- sha256: 26a37790890c9c1f838203b47f5b2320334fe92c02a4d26ebbe2669dbd769061
- post-install:
- - install -Dm644 -t /app/share/licenses/lilv COPYING
- cleanup:
- - /bin
- - /etc
- - /lib/pkgconfig
- - /share/man
-
- - name: suil
- buildsystem: simple
- build-commands:
- - python3 ./waf configure --prefix=$FLATPAK_DEST
- - python3 ./waf build -j $FLATPAK_BUILDER_N_JOBS
- - python3 ./waf install
- sources:
- - type: archive
- url: http://download.drobilla.net/suil-0.10.10.tar.bz2
- sha256: 750f08e6b7dc941a5e694c484aab02f69af5aa90edcc9fb2ffb4fb45f1574bfb
- post-install:
- - install -Dm644 -t /app/share/licenses/suil COPYING
- cleanup:
- - /bin
- - /include
- - /lib/pkgconfig
- - /share/man
-
- # Synthesizer backend
- # - name: fluidsynth
- # buildsystem: cmake-ninja
- # config-opts:
- # - -DLIB_SUFFIX=
- # cleanup:
- # - /bin
- # - /include
- # - /lib/pkgconfig
- # - /share/man
- # - '*.so'
- # sources:
- # - type: archive
- # url: https://github.com/FluidSynth/fluidsynth/archive/v2.2.4.tar.gz
- # sha256: 83cb1dba04c632ede74f0c0717018b062c0e00b639722203b23f77a961afd390
- - name: fluidsynth
- buildsystem: cmake-ninja
- config-opts:
- - -DLIB_SUFFIX=
- cleanup:
- - /bin
- - /include
- - /lib/pkgconfig
- - /share/man
- - '*.so'
- - '*.a'
- sources:
- - type: git
- url: https://github.com/FluidSynth/fluidsynth
-
- # MIDI controller support
- - name: portmidi
- buildsystem: cmake-ninja
- config-opts:
- - -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/app/lib
- - -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY=/app/lib
- - -DCMAKE_RUNTIME_OUTPUT_DIRECTORY=/app/bin
- post-install:
- - ln -s libportmidi.so /app/lib/libporttime.so
- sources:
- - type: archive
- url: https://sourceforge.net/projects/portmedia/files/portmidi/217/portmidi-src-217.zip
- sha256: 08e9a892bd80bdb1115213fb72dc29a7bf2ff108b378180586aa65f3cfd42e0f
- - type: patch
- path: patches/portmidi-no-java.patch
- cleanup:
- - /bin
- - /lib/pkgconfig
- - /include
- - '*.a'
- - '*.la'
-
- # The app itself
- - name: ensembles
- buildsystem: meson
- sources:
- - type: dir
- path: .
-
- # Adds default soundfont
- - name: ensemblesGMSoundfonts
- buildsystem: meson
- sources:
- - type: archive
- url: https://gitlab.com/SubhadeepJasu/ensemblesgmsoundfont/-/archive/v0.0.3/ensemblesgmsoundfont-v0.0.3.tar.gz
- sha256: 0b5ecca24623dabc9ea546c49cc25ebb3f419d6b61c035c603133a1032a4f2bc
diff --git a/data/Icons/128/com.github.ensemblesaw.ensembles.svg b/data/Icons/128/com.github.ensemblesaw.ensembles.svg
new file mode 100644
index 00000000..97506b32
--- /dev/null
+++ b/data/Icons/128/com.github.ensemblesaw.ensembles.svg
@@ -0,0 +1,698 @@
+
diff --git a/data/Icons/128/com.github.subhadeepjasu.ensembles.svg b/data/Icons/128/com.github.subhadeepjasu.ensembles.svg
deleted file mode 100644
index f833964e..00000000
--- a/data/Icons/128/com.github.subhadeepjasu.ensembles.svg
+++ /dev/null
@@ -1,464 +0,0 @@
-
diff --git a/data/Icons/16/com.github.subhadeepjasu.ensembles.svg b/data/Icons/16/com.github.ensemblesaw.ensembles.svg
similarity index 100%
rename from data/Icons/16/com.github.subhadeepjasu.ensembles.svg
rename to data/Icons/16/com.github.ensemblesaw.ensembles.svg
diff --git a/data/Icons/24/com.github.subhadeepjasu.ensembles.svg b/data/Icons/24/com.github.ensemblesaw.ensembles.svg
similarity index 73%
rename from data/Icons/24/com.github.subhadeepjasu.ensembles.svg
rename to data/Icons/24/com.github.ensemblesaw.ensembles.svg
index 03762cef..a391ad43 100644
--- a/data/Icons/24/com.github.subhadeepjasu.ensembles.svg
+++ b/data/Icons/24/com.github.ensemblesaw.ensembles.svg
@@ -1,184 +1,184 @@