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"
|
||||||
|
|
||||||
|
|
|
||||||
78
README.md
78
README.md
|
|
@ -11,31 +11,31 @@ to play in realtime.
|
||||||
This allows you to interpret a sound with a different one. As we
|
This allows you to interpret a sound with a different one. As we
|
||||||
worked on it (during 2015 and 2016) we gradually added more and more
|
worked on it (during 2015 and 2016) we gradually added more and more
|
||||||
tweakable parameters until it became slightly out of control.
|
tweakable parameters until it became slightly out of control.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Quick start:
|
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
|
||||||
|
|
||||||
The default block size (3000) is really high to prevent CPU glitches -
|
The default block size (3000) is really high to prevent CPU glitches -
|
||||||
500 to 1000 is a better range.
|
500 to 1000 is a better range.
|
||||||
|
|
||||||
# [Demo brain session](https://static.thentrythis.org/samplebrain/demo.samplebrain)
|
# [Demo brain session](https://static.thentrythis.org/samplebrain/demo.samplebrain)
|
||||||
|
|
||||||
Load this file using "load session" not "load brain" (sessions contain
|
Load this file using "load session" not "load brain" (sessions contain
|
||||||
both the target and brain samples).
|
both the target and brain samples).
|
||||||
|
|
||||||
# [Manual](docs/manual.md)
|
# [Manual](docs/manual.md)
|
||||||
|
|
||||||
Full description of all the parameters and a bit of the thinking
|
Full description of all the parameters and a bit of the thinking
|
||||||
behind it.
|
behind it.
|
||||||
|
|
||||||
# Binaries
|
# Binaries
|
||||||
|
|
||||||
* **Windows**: [samplebrain_0.18_win.zip](https://static.thentrythis.org/samplebrain/samplebrain_0.18_win.zip)
|
* **Windows**: [samplebrain_0.18_win.zip](https://static.thentrythis.org/samplebrain/samplebrain_0.18_win.zip)
|
||||||
|
|
@ -48,9 +48,9 @@ Mac note: As this software is not on the apple store, to run the
|
||||||
binary you need to tell your mac it's ok: Go to System Preferences >
|
binary you need to tell your mac it's ok: Go to System Preferences >
|
||||||
Security & Privacy > General. At the bottom of the window, select
|
Security & Privacy > General. At the bottom of the window, select
|
||||||
"Allow apps to be downloaded from Anywhere".
|
"Allow apps to be downloaded from Anywhere".
|
||||||
|
|
||||||
**Linux install (Ubuntu)**
|
**Linux install (Ubuntu)**
|
||||||
|
|
||||||
$ sudo add-apt-repository ppa:thentrythis/samplebrain
|
$ sudo add-apt-repository ppa:thentrythis/samplebrain
|
||||||
$ sudo apt update
|
$ sudo apt update
|
||||||
$ sudo apt install samplebrain
|
$ sudo apt install samplebrain
|
||||||
|
|
@ -58,21 +58,41 @@ Security & Privacy > General. At the bottom of the window, select
|
||||||
If you'd like the right font, optionally:
|
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
|
||||||
|
|
||||||
Install dependancies for the interface:
|
Install dependancies for the interface:
|
||||||
|
|
||||||
$ sudo apt install build-essential qtcreator qt5-default
|
$ sudo apt install build-essential qtcreator qt5-default
|
||||||
|
|
||||||
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
|
||||||
|
|
@ -80,11 +100,23 @@ Build & run it:
|
||||||
# Mac build additions
|
# Mac build additions
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
1. brain:
|
1. brain:
|
||||||
|
|
@ -98,11 +130,11 @@ To make a mac app bundle:
|
||||||
4. cooking:
|
4. cooking:
|
||||||
* some sketches and ideas
|
* some sketches and ideas
|
||||||
* proof of concept written in python
|
* proof of concept written in python
|
||||||
* brief initial (abandoned) attempt at clojure version
|
* brief initial (abandoned) attempt at clojure version
|
||||||
|
|
||||||
MFCC algo courtesy of the Aquila library by Zbigniew Siciarz MIT/X11
|
MFCC algo courtesy of the Aquila library by Zbigniew Siciarz MIT/X11
|
||||||
licence 2007-2014 (see brain/src/aquila/LICENCE)
|
licence 2007-2014 (see brain/src/aquila/LICENCE)
|
||||||
|
|
||||||
This program is free software licenced under GNU General Public
|
This program is free software licenced under GNU General Public
|
||||||
License version 2 (see LICENCE).
|
License version 2 (see LICENCE).
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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