Browse Source

fixes

Former-commit-id: 537d39256c4a0c9f57fefb0bb595475d3b09763c
master
Nils 5 years ago
parent
commit
11c3953124
  1. 89
      README.md
  2. 48
      engine/config.py
  3. 2
      template

89
README.md

@ -1,13 +1,21 @@
# Fluajho
Fluajho is a simple sf2 soundfont host/player for Linux. It needs to be started through the Non Session Manager (NSM).
#Fluajho
"Fluajho" (with jh as in pleasure) means fluid in Esperanto. Behind the scenes the Fluidsynth library is at work, hence the name.
"Fluajho" (with jh as in pleasure) means fluid in Esperanto. It is a simple sf2 soundfont
host/player for Linux. Behind the scenes the Fluidsynth library is at work, hence the name.
Why does Fluajho exist? There are many soundfont players for Linux, most of them even based on Fluidsynth.
Fluajho was written for a clearly defined use case: Load an .sf2 in the Non Session Manager and save the soundfont in the session directory.
Why does Fluajho exist? There are many soundfont players for Linux,
most of them even based on Fluidsynth. Fluajho was written for a clearly defined use case:
Load an .sf2 in the Non Session Manager and save the soundfont in the session directory.
This makes it possible to archive the session, for example as a backup or to share it.
This README is just a short introduction. You better read the manual, which also includes detailed instructions how to build Fluajho from source and start it.
Workflow summary: Load an .sf2 file by the file menu or drag and drop. You can then choose one
instrument for each of the 16 MIDI-channels by using the GUI or via midi signals.
Connect external sequencers or midi devices to play the instruments.
This README is just a short introduction. Consult the manual (see below) for more information.
# Contact and Information
* Website https://www.laborejo.org
* Documentation and Manual https://www.laborejo.org/documentation/fluajho
@ -15,24 +23,73 @@ This README is just a short introduction. You better read the manual, which also
# Installation and Starting
## Download
Download the latest release through your package manger.
You can also build it yourself: Download the latest code release on https://www.laborejo.org/downloads and
* `./configure --prefix=/usr`
* `make`
* `sudo make install`
Fluajho can then be started using the Non Session Manager.
If the latest release is not available through your package manger you can build it yourself:
Download the latest code release on https://www.laborejo.org/downloads and extract it.
## Dependencies
* Glibc
* Python 3.6 (maybe earlier)
* PyQt5 for Python 3
* Fluidsynth
* F
* l
* u
* i
* d
* s
* y
* n
* t
* h
### Build Dependencies
#### Build Dependencies
* Bash
* Nuitka >= 0.6 (maybe earlier)
* GCC (development is done on 8.2, but most likely you can use a much earlier version)
### Environment:
* Jack Audio Connection Kit must be running
* Fluajho must be started via the Non Session Manager
## Build
The default prefix is /usr/local
* `./configure --prefix=/usr`
* `make`
* `sudo make install`
## Starting through the Non Session Manager after installation (recommended)
Starting Fluajho through the Non Session Manager after you installed fluajho system-wide
is the recommended and only supported way. Start non-session-manager and load or create a new
session. Then use the button "Add Client to Session" and type in fluajho.
It should appear with an icon in the list and open its GUI.
## Starting through NSM without building / installation
Starting Fluajho through the Non Session Manager is possible without building or installation.
So you don't need to call the steps avobe (configure, make, make install)
The developer uses this way to develop the software, so it will always be stable and supported.
But it is a bit less performant than building and installing it.
After extracting the release archive create a symlink from `fluajho` into your PATH. e.g. /usr/bin
or ~/bin, if that exists on your system.
This mode needs calfbox to be installed systemwide. Please consult https://github.com/kfoltman/calfbox
## Starting without Non Session Manager
This is not yet implemented!
You need to start fluajho from a terminal (or create a starter script).
`fluajho --save DIRECTORY`
Uses the given directory to save. The dir will be created or loaded from if already present. Use
the applications file menu to save (Ctrl+s).
You can use this to load and save the files from an existing NSM session. If you create a new
directory you can copy it manually to an NSM session directory, but that requires renaming the
directory to append the unique ID provided by NSM.
Closing through your window manager in this mode will actually quit the application without a
prompt to save changes.

48
engine/config.py

@ -5,36 +5,54 @@
METADATA={
#The pretty name of this program. Used for NSM display and Jack client name
#Can contain everything a linux file/path supports. Never change this or it will break the
#Can contain everything a linux file/path supports. Never change this or it will break the
#session, making your file unable to load and destroying saved Jack connections.
"name" : "Fluajho",
"name" : "Fluajho",
#Set this to the name the user types into a terminal.
#MUST be the same as the binary name as well as the name in configure.
#Program reports that as proc title so you can killall it by name.
#Should not contain spaces or special characters. We use this as save file extension as well
#to distinguish between compatible program versions. In basic programs this will just be e.g.
#patroneo. But in complex programs with a bright future it will be "laborejo1" "laborejo2" etc.
"shortName" : "fluajho",
"version" : "1.1",
"year" : "2019",
"author" : "Laborejo Software Suite",
#patroneo. But in complex programs with a bright future it will be "laborejo1" "laborejo2" etc.
"shortName" : "fluajho",
"version" : "1.1",
"year" : "2019",
"author" : "Laborejo Software Suite",
"url" : "https://www.laborejo.org/fluajho",
"supportedLanguages" : {"German":"de.qm"},
#Show the About Dialog the first time the program starts up. This is the initial state for a
#new instance in NSM, not the saved state! Decide on how annoying it would be for every new
#instance to show about. Fluajho does not show it because you add it many times into a session.
#Patroneo does because its only added once.
"showAboutDialogFirstStart" : False,
"showAboutDialogFirstStart" : False,
#If your program handles very small duration with n-tuplets you should increase D4.
#This will not be visible to the outside jack world
"quarterNoteInTicks" : 96,
#How many audio outputs do you want? must be pairs. These are just unconnected jack outputs
"quarterNoteInTicks" : 96,
#How many audio outputs do you want? must be pairs. These are just unconnected jack outputs
#that need to be connected internally to instrument outputs like fluidsynth
"cboxOutputs" : 16 * 2, #16 stereo channels
#Various strings for the README
#Extra whitespace will be stripped so we don't need to worry about docstring indentation
"description" : """
"Fluajho" (with jh as in pleasure) means fluid in Esperanto. It is a simple sf2 soundfont
host/player for Linux. Behind the scenes the Fluidsynth library is at work, hence the name.
Why does Fluajho exist? There are many soundfont players for Linux,
most of them even based on Fluidsynth. Fluajho was written for a clearly defined use case:
Load an .sf2 in the Non Session Manager and save the soundfont in the session directory.
This makes it possible to archive the session, for example as a backup or to share it.
""" + "\n" + """
Workflow summary: Load an .sf2 file by the file menu or drag and drop. You can then choose one
instrument for each of the 16 MIDI-channels by using the GUI or via midi signals.
Connect external sequencers or midi devices to play the instruments.""",
"dependencies" : "\n".join("* "+dep for dep in ("Fluidsynth")),
}

2
template

@ -1 +1 @@
Subproject commit 5ab758515b389b30d5a76668f64ae020f3173c48
Subproject commit e98497110556d15f30ddc61c97bdccf83b9691fc
Loading…
Cancel
Save