1 changed files with 94 additions and 33 deletions
@ -1,65 +1,126 @@
|
||||
noisicaä |
||||
======== |
||||
|
||||
**Important note**: This is project is in pre-APLHA state, do not expect it to |
||||
be usable in any form or shape. |
||||
**Important note**: This is project is in pre-APLHA state, do not expect it to be usable in any form |
||||
or shape. |
||||
|
||||
* It has bugs. |
||||
* It does not do a lot of useful things. |
||||
* There is no documentation. |
||||
* And most importantly: the save format is not finalized and will change in |
||||
incompatible ways, i.e. you will not be able to open your work from older |
||||
versions. |
||||
* And most importantly: the save format is not finalized and will change in incompatible ways, |
||||
i.e. you will not be able to open your work from older versions. |
||||
|
||||
Follow the development at http://noisicaa.odahoda.de/ |
||||
|
||||
What's This? |
||||
------------ |
||||
|
||||
A simple music editor with a focus on classical musical notation. |
||||
|
||||
Follow the development at http://noisicaa.odahoda.de/ |
||||
The open source DAW that does not DAW. |
||||
|
||||
License: GPL2 (see file COPYING). |
||||
|
||||
Requirements |
||||
------------ |
||||
This project is currenly only designed to run on Linux desktops. |
||||
|
||||
Eventually it should have the general features you would expect from a DAW, like recording and |
||||
editing audio or MIDI, using plugins, etc. I specifically want to have tracks that can be edited |
||||
using musical notation (i.e. notes on staff lines instead of the more common MIDI grid). |
||||
|
||||
This project is currenly only designed to run on Linux desktops. No effort has |
||||
yet been made to make it run on anything else than Ubuntu 16.04 and 18.04 |
||||
(which are the distributions used for development). |
||||
But all that is still in the far out future. |
||||
|
||||
The focus will be on electronic music production and sound design (using the broadest possible |
||||
definition of music). |
||||
|
||||
noisicaä should not be a tool to record, edit and mix audio tracks from people playing actual |
||||
instruments - it does not try to compete with [Ardour](https://ardour.org/). |
||||
|
||||
Getting Started |
||||
--------------- |
||||
|
||||
These instructions are not targetted at end users. There are not prebuilt |
||||
binary packages, which you could just install, so you have to build from |
||||
source. It is assumed that you're moderately experienced with software |
||||
development on Linux. |
||||
> There are currently no prebuilt binary packages, which you could just install, so you have to |
||||
> build from source. It is assumed that you're moderately experienced with software development on |
||||
> Linux. |
||||
|
||||
**1. Prerequisites** |
||||
|
||||
You need `git`, which is probably already installed on your system. |
||||
|
||||
Building noisicaä itself does not need a lot of disk space, but Nix (see below) will download and |
||||
install *a lot* of packages, which are going to be stored on your root filesystem. So make sure that |
||||
you have a few gigabytes of free space there. But the upside is that you do not need to manually |
||||
install any other packages. |
||||
|
||||
**2. Set up Nix** |
||||
|
||||
The development setup is currently built around the [Nix package manager](https://nixos.org/). If |
||||
you already use Nix, then you can skip this section. |
||||
|
||||
> *What is Nix?*\ |
||||
> Nix is a functional package manager, a configuration language to describe package and a Linux |
||||
> distribution.\ |
||||
> For our purposes you only need to think of it as a package manager like `apt`, `pip`, etc. The |
||||
> great thing about it is that you can install and use it on any Linux system and it will not |
||||
> interfere with your normal package manager. We're going to use it to install all the tools and |
||||
> dependencies needed to build noisicaä without messing up your system.\ |
||||
> If you want to contribute to the code, you might need to deal with the Nix configuration |
||||
> language.\ |
||||
> But you do not need to install Nix as your Linux OS (neither do I). |
||||
|
||||
The most basic Nix installation is done with a single command (the |
||||
[Nix documentation](https://nixos.org/manual/nix/stable/) describes more options, but we |
||||
don't need those): |
||||
|
||||
```bash |
||||
sh <(curl -L https://nixos.org/nix/install) |
||||
``` |
||||
|
||||
**3. Get the source code** |
||||
|
||||
Go to some directory where you want to store the source code and clone the git repository: |
||||
|
||||
```bash |
||||
git clone https://git.odahoda.de/pink/noisicaa.git |
||||
``` |
||||
|
||||
That should create a directory `noisicaa`, so now go there: |
||||
|
||||
```bash |
||||
cd noisicaa |
||||
``` |
||||
|
||||
You need at least `git` and `python3` installed on your system. |
||||
**4. Install the dependencies** |
||||
|
||||
sudo apt install git python3 |
||||
Now we're going to start a "Nix shell". |
||||
|
||||
First grab the latest source code: |
||||
Nix will download all the packages needed to build noisicaa into its "Nix store" and start a |
||||
subshell with environment variables (`$PATH` and so on) setup such that those packages are |
||||
accessible. When you exit that subshell, there will be no trace left of what has been installed, |
||||
except from the disk usage of the Nix store. |
||||
|
||||
git clone https://github.com/odahoda/noisicaa.git |
||||
cd noisicaa |
||||
The downloads will take a while and some packages need to be built from source, so grab a cup of |
||||
tea, while you watch it: |
||||
|
||||
Configure the project. This will create a virtual environment and populate it |
||||
with the required 3rd party packages. It will also install missing system |
||||
packages - this assumes that you have `sudo` rights on the system, and it might |
||||
query you for your password. |
||||
```bash |
||||
nix-shell |
||||
``` |
||||
|
||||
./waf configure --download --install-system-packages |
||||
**5. Configure and build** |
||||
|
||||
Now you can build it: |
||||
Once inside the Nix shell and all dependencies available, the actual build process is pretty simple |
||||
and standard (using [waf](https://waf.io/) as the build system): |
||||
|
||||
./waf build |
||||
```bash |
||||
./waf configure |
||||
./waf build |
||||
``` |
||||
|
||||
You can either run it from the build directory: |
||||
The output of that process is stored in a `build` directory. |
||||
|
||||
bin/noisicaä |
||||
**6. Launch noisicaä** |
||||
|
||||
Or install it to `/usr/local`: |
||||
It is not yet possible to properly install noisicaä on your system (i.e. the configuration to make |
||||
`./waf install` work has yet to be written), so use a wrapper script to launch it from the `build` |
||||
directory: |
||||
|
||||
sudo ./waf install |
||||
```bash |
||||
bin/noisicaa-dev |
||||
``` |
||||
|
Loading…
Reference in new issue