Compare commits
7 Commits
392883abee
...
d1f7b01067
| Author | SHA1 | Date |
|---|---|---|
|
|
d1f7b01067 | |
|
|
e741246b1f | |
|
|
6241b1030d | |
|
|
70a277afb8 | |
|
|
129b6ea416 | |
|
|
9d7931c8c2 | |
|
|
74b00570dd |
|
|
@ -18,29 +18,29 @@
|
||||||
|
|
||||||
# see also https://docs.gitlab.com/ee/ci/runners/saas/macos_saas_runner.html
|
# see also https://docs.gitlab.com/ee/ci/runners/saas/macos_saas_runner.html
|
||||||
|
|
||||||
.macos_saas_runners:
|
# .macos_saas_runners:
|
||||||
tags:
|
# tags:
|
||||||
- shared-macos-amd64
|
# - shared-macos-amd64
|
||||||
image: macos-11-xcode-12
|
# image: macos-11-xcode-12
|
||||||
|
|
||||||
stages:
|
# stages:
|
||||||
- build
|
# - build
|
||||||
- test
|
# - test
|
||||||
|
|
||||||
before_script:
|
# before_script:
|
||||||
- echo "started by ${GITLAB_USER_NAME}"
|
# - echo "started by ${GITLAB_USER_NAME}"
|
||||||
|
|
||||||
build:
|
# build:
|
||||||
extends:
|
# extends:
|
||||||
- .macos_saas_runners
|
# - .macos_saas_runners
|
||||||
stage: build
|
# stage: build
|
||||||
script:
|
# script:
|
||||||
- echo "running scripts in the build job"
|
# - echo "running scripts in the build job"
|
||||||
|
|
||||||
test:
|
# test:
|
||||||
extends:
|
# extends:
|
||||||
- .macos_saas_runners
|
# - .macos_saas_runners
|
||||||
stage: test
|
# stage: test
|
||||||
script:
|
# script:
|
||||||
- echo "running scripts in the test job"
|
# - echo "running scripts in the test job"
|
||||||
|
|
||||||
|
|
|
||||||
46
README.md
46
README.md
|
|
@ -19,7 +19,7 @@ Quick start:
|
||||||
1. Load a bunch of samples into the brain
|
1. Load a bunch of samples into the brain
|
||||||
2. Click (re)generate brain
|
2. Click (re)generate brain
|
||||||
3. Load a loop sample into the target
|
3. Load a loop sample into the target
|
||||||
4. Click (re)generate target
|
4. Click (re)generate blocks
|
||||||
5. Press play
|
5. Press play
|
||||||
6. Tweak brain
|
6. Tweak brain
|
||||||
|
|
||||||
|
|
@ -60,7 +60,7 @@ If you'd like the right font, optionally:
|
||||||
$ sudo apt install ttf-mscorefonts-installer
|
$ sudo apt install ttf-mscorefonts-installer
|
||||||
|
|
||||||
# Building from source
|
# Building from source
|
||||||
|
## Linux (Ubuntu)
|
||||||
Install libraries for the sample engine (use brew on mac, MinGW on win):
|
Install libraries for the sample engine (use brew on mac, MinGW on win):
|
||||||
|
|
||||||
$ sudo apt install libsndfile1-dev portaudio19-dev liblo-dev libfftw3-dev
|
$ sudo apt install libsndfile1-dev portaudio19-dev liblo-dev libfftw3-dev
|
||||||
|
|
@ -71,8 +71,28 @@ Install dependancies for the interface:
|
||||||
|
|
||||||
Build & run it:
|
Build & run it:
|
||||||
|
|
||||||
$ cd app
|
$ mkdir build
|
||||||
$ qmake
|
$ cd build
|
||||||
|
$ qmake ..
|
||||||
|
$ make
|
||||||
|
$ sudo make install
|
||||||
|
$ samplebrain
|
||||||
|
|
||||||
|
## Mac
|
||||||
|
Install libraries for sample engine:
|
||||||
|
|
||||||
|
$ brew install fftw portaudio
|
||||||
|
|
||||||
|
Install dependancies for the interface:
|
||||||
|
|
||||||
|
$ brew install qt
|
||||||
|
$ brew link qt
|
||||||
|
|
||||||
|
Build & run it:
|
||||||
|
|
||||||
|
$ mkdir build
|
||||||
|
$ cd build
|
||||||
|
$ qmake ..
|
||||||
$ make
|
$ make
|
||||||
$ sudo make install
|
$ sudo make install
|
||||||
$ samplebrain
|
$ samplebrain
|
||||||
|
|
@ -81,9 +101,21 @@ Build & run it:
|
||||||
|
|
||||||
To make a mac app bundle:
|
To make a mac app bundle:
|
||||||
|
|
||||||
* Run `macdeployqt` to copy all dependancies inside the app.
|
Run `macdeployqt` to copy all dependencies inside the app.
|
||||||
* Copy desktop/samplebrain.icns (the icon) to the Resources directory in the bundle.
|
|
||||||
* Edit Info.plist to add samplebrain.icns to CFBundleIconFile.
|
Create Mac app bundle:
|
||||||
|
|
||||||
|
$ cd build
|
||||||
|
$ macdeployqt
|
||||||
|
|
||||||
|
Copy desktop/samplebrain.icns (the icon) to the Resources directory in the bundle.
|
||||||
|
|
||||||
|
$ cp ../desktop/samplebrain.icns samplebrain.app/Contents/Resources
|
||||||
|
|
||||||
|
Edit Info.plist to add samplebrain.icns to CFBundleIconFile. Key `CFBundleIconFile` should match:
|
||||||
|
|
||||||
|
<key>CFBundleIconFile</key>
|
||||||
|
<string>samplebrain.icns</string>
|
||||||
|
|
||||||
## What's here
|
## What's here
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
# Flatpak Build Instructions
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
To build the Flatpak, install the `flatpak` and `flatpak-builder` packages
|
||||||
|
from your repositories. Then, [add Flathub](https://flatpak.org/setup/).
|
||||||
|
|
||||||
|
Now, install the KDE SDK:
|
||||||
|
```sh
|
||||||
|
flatpak install flathub org.kde.Sdk//5.15-22.08
|
||||||
|
```
|
||||||
|
|
||||||
|
## Building and installing
|
||||||
|
To build and install the app locally:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
flatpak-builder --force-clean --install --user builddir build-aux/flatpak/org.thentrythis.Samplebrain.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
## Building and exporting
|
||||||
|
To build and export a Flatpak bundle:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
flatpak-builder --force-clean --repo=repo builddir build-aux/flatpak/org.thentrythis.Samplebrain.yaml
|
||||||
|
flatpak build-bundle repo org.thentrythis.Samplebrain.flatpak org.thentrythis.Samplebrain
|
||||||
|
```
|
||||||
|
|
||||||
|
To install the bundle:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
flatpak install org.thentrythis.Samplebrain.flatpak
|
||||||
|
```
|
||||||
|
|
@ -0,0 +1,73 @@
|
||||||
|
id: org.thentrythis.Samplebrain
|
||||||
|
runtime: org.kde.Platform
|
||||||
|
runtime-version: "5.15-22.08"
|
||||||
|
sdk: org.kde.Sdk
|
||||||
|
|
||||||
|
rename-desktop-file: samplebrain.desktop
|
||||||
|
rename-icon: samplebrain
|
||||||
|
|
||||||
|
command: samplebrain
|
||||||
|
|
||||||
|
finish-args:
|
||||||
|
- "--share=ipc"
|
||||||
|
- "--socket=wayland"
|
||||||
|
- "--socket=fallback-x11"
|
||||||
|
- "--socket=pulseaudio"
|
||||||
|
- "--device=dri"
|
||||||
|
- "--share=network"
|
||||||
|
|
||||||
|
cleanup:
|
||||||
|
- "/include"
|
||||||
|
- "/lib/cmake"
|
||||||
|
- "/lib/pkgconfig"
|
||||||
|
- "/share/doc"
|
||||||
|
|
||||||
|
modules:
|
||||||
|
- name: libsndfile
|
||||||
|
buildsystem: cmake-ninja
|
||||||
|
config-opts:
|
||||||
|
- "-DCMAKE_BUILD_TYPE=Release"
|
||||||
|
- "-DBUILD_SHARED_LIBS=ON"
|
||||||
|
- "-DENABLE_EXTERNAL_LIBS=NO"
|
||||||
|
- "-DENABLE_CPACK=NO"
|
||||||
|
- "-DBUILD_PROGRAMS=OFF"
|
||||||
|
- "-DBUILD_EXAMPLES=OFF"
|
||||||
|
sources:
|
||||||
|
- type: archive
|
||||||
|
url: https://github.com/libsndfile/libsndfile/releases/download/1.1.0/libsndfile-1.1.0.tar.xz
|
||||||
|
sha256: 0f98e101c0f7c850a71225fb5feaf33b106227b3d331333ddc9bacee190bcf41
|
||||||
|
|
||||||
|
- name: portaudio
|
||||||
|
buildsystem: autotools
|
||||||
|
config-opts:
|
||||||
|
- "--with-alsa"
|
||||||
|
- "--without-jack"
|
||||||
|
- "--without-oss"
|
||||||
|
- "--without-asihpi"
|
||||||
|
sources:
|
||||||
|
- type: archive
|
||||||
|
url: http://files.portaudio.com/archives/pa_stable_v190700_20210406.tgz
|
||||||
|
sha256: 47efbf42c77c19a05d22e627d42873e991ec0c1357219c0d74ce6a2948cb2def
|
||||||
|
|
||||||
|
- name: liblo
|
||||||
|
buildsystem: autotools
|
||||||
|
config-opts:
|
||||||
|
- "--disable-tests"
|
||||||
|
- "--disable-network-tests"
|
||||||
|
- "--disable-tools"
|
||||||
|
- "--disable-examples"
|
||||||
|
sources:
|
||||||
|
- type: archive
|
||||||
|
url: https://versaweb.dl.sourceforge.net/project/liblo/liblo/0.31/liblo-0.31.tar.gz
|
||||||
|
sha256: 2b4f446e1220dcd624ecd8405248b08b7601e9a0d87a0b94730c2907dbccc750
|
||||||
|
|
||||||
|
- name: samplebrain
|
||||||
|
buildsystem: qmake
|
||||||
|
build-options:
|
||||||
|
env:
|
||||||
|
PREFIX: /app
|
||||||
|
config-opts:
|
||||||
|
- "LIBS+=-L/app/lib"
|
||||||
|
sources:
|
||||||
|
- type: dir
|
||||||
|
path: ../../
|
||||||
|
|
@ -3,8 +3,8 @@ Encoding=UTF-8
|
||||||
Type=Application
|
Type=Application
|
||||||
Name=Samplebrain
|
Name=Samplebrain
|
||||||
Comment=A sample masher designed by Aphex Twin
|
Comment=A sample masher designed by Aphex Twin
|
||||||
Exec=/usr/bin/samplebrain
|
Exec=samplebrain
|
||||||
Icon=/usr/share/icons/hicolor/scalable/apps/samplebrain.svg
|
Icon=samplebrain
|
||||||
Terminal=false
|
Terminal=false
|
||||||
Categories=GNOME;Application;
|
Categories=GNOME;Application;
|
||||||
StartupNotify=true
|
StartupNotify=true
|
||||||
|
|
@ -51,10 +51,15 @@ QMAKE_CXXFLAGS += -O3 -Wall -Wno-unused -std=c++11
|
||||||
# assets
|
# assets
|
||||||
RESOURCES = app/samplebrain.qrc
|
RESOURCES = app/samplebrain.qrc
|
||||||
|
|
||||||
unix:desktopfile.path = /usr/share/applications/
|
PREFIX = $$(PREFIX)
|
||||||
|
isEmpty(PREFIX) {
|
||||||
|
PREFIX = /usr
|
||||||
|
}
|
||||||
|
|
||||||
|
unix:desktopfile.path = $$PREFIX/share/applications/
|
||||||
unix:desktopfile.files = desktop/samplebrain.desktop
|
unix:desktopfile.files = desktop/samplebrain.desktop
|
||||||
unix:iconfile.path = /usr/share/icons/hicolor/scalable/apps
|
unix:iconfile.path = $$PREFIX/share/icons/hicolor/scalable/apps
|
||||||
unix:iconfile.files = desktop/samplebrain.svg
|
unix:iconfile.files = desktop/samplebrain.svg
|
||||||
|
|
||||||
target.path = /usr/bin
|
target.path = $$PREFIX/bin
|
||||||
INSTALLS += target desktopfile iconfile
|
INSTALLS += target desktopfile iconfile
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue