You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Nils 23d7d46fce Better configure checks and logs 12 months ago
desktop Prepare release with documentation generation 1 year ago
documentation Update documentation and info files 1 year ago
engine Prepare release 1.7.3 1 year ago
qtgui Prepare release 1.7.3 1 year ago
template Better configure checks and logs 12 months ago
.gitignore small changes 2 years ago
CHANGELOG Prepare release 1.7.3 1 year ago
LICENSE Extend LICENSE file with clear intentions and information about files without headers. Everything here is free and open source, except the branding 3 years ago
README.md Update documentation and info files 1 year ago
__main__.py initial adoption to new build system 3 years ago
configure Prepare release 1.7.3 1 year ago
fluajho initial adoption to new build system 3 years ago
mypy.ini Prepare config.py and changelog for next release 2 years ago

README.md

Fluajho

Program version 1.7.3

Screenshot

"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.

This program is feature-complete with version 1.7.1 in 2022. Further releases will be limited to maintenance and fixing problems.

.sf2 is an old file format for making MIDI signals audible through virtual instruments, although it is still in moderate use today.

Why does Fluajho exist? There are already 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 New Session Manager (Agordejo) 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.

If you already have a DAW, host or plugin that reliably saves soundfont files together with the session you do not need Fluajho.

You can load one soundfont file per Fluajho instance. Each instance holds 16 of the soundfonts instruments that can be assigned to 16 MIDI channels. All access to MIDI parameters like Volume or Pan needs to be done via midi control changes.

Finally connect external sequencers, such as Laborejo or Patroneo, through JACK-Midi to play the instruments. There is only one JACK-Midi input but each of the 16 midi channels has it's own stereo JACK audio output. Additionally there is a stereo mix output pair.

This README is just a short introduction. Consult the manual (see below) for more information.

Contact and Information

Installation and Starting

Download

Release Version

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.

Git Version

It is possible to clone a git repository.

git clone https://git.laborejo.org/lss/fluajho.git

Dependencies

  • Python 3.6 (maybe earlier)
  • PyQt5 for Python 3
  • PyQt OpenGL and SVG modules, if they are separated in your distribution
  • DejaVu Sans Sarif TTF (Font) (recommended, but not technically necessary)
  • libcalfbox-lss https://git.laborejo.org/lss/libcalfbox-lss

Environment:

  • Jack Audio Connection Kit must be running
  • Optional: Agordejo / New Session Manager ("NSM")

Build

./configure --prefix=/usr/local
make
sudo make install

Starting

There are multiple ways to run Fluajho which should give you the flexibility to configure your system as you want.

We make no distinction if you installed Fluajho yourself or through the distributions package-manager.

The differences are: With or without Agordejo, with or without sound, installed or from the source dir.

Starting Fluajho through Agordejo after you installed fluajho system-wide is the recommended and only supported way. Start agordejo and load or create a new session. Then use the program launcher to add fluajho. It should appear with an icon in the list and open its GUI.

Installed without Agordejo

If you start fluajho directly it will present you with a dialog to choose your session directory.

You can also 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.

Sending SIGUSR1 to the program in this mode will trigger a save.

Closing through your window manager in this mode will actually quit the application without a prompt to save changes.

From source directory

You can run Fluajho after extracting the release archive or cloning from git, without installation.

From source directory with NSM

The developer uses this way to develop and use the software, so it will always be as stable as the compiled version. 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.

If you compiled without installing you can also symlink to ./fluajho.bin

From source dir without NSM

Use ./fluajho --save (see above). If you compiled without installing you can also run ./fluajho.bin

No NSM, no Make, No Sound

Combining the above options you can start the program directly after unpacking or cloning from git:

./fluajho --save /tmp --mute

Or even shorter:

./fluajho -s /tmp -m

This is the minimal run mode which is only useful for testing and development. But if you only want to look at the GUI and are not in the mood to install anything -including dependencies-, go ahead.