3

Moiré is a musical live performance application with a DAW-like timeline interfa...

 3 years ago
source link: https://codeberg.org/Be.ing/moire
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Moiré

Moiré will be a new DJ application written in Rust with a DAW-like timeline interface. Refer to the roadmap.

Come say hi on the Zulip chat.

A moiré is "an interference pattern produced by overlaying similar but slightly offset templates".

XKCD comic by Randall Munroe licensed under Creative Commons Attribution-NonCommercial 2.5 License.

Moiré is licensed under the GNU General Public Licese version 3 or later.

Building & running

Moiré is written in Rust and has few C dependencies.

JACK is required on all operating systems. On Windows and macOS, libjack does not need to be available at build time, only at runtime. On Linux, Pipewire JACK can be used instead of JACK1 or JACK2 (pipewire-jack-audio-connection-kit-devel package on Fedora). JACK/Pipewire needs to be running before running Moiré.

On Linux, at least one of the x11 or wayland Cargo features must be enabled. Both are enabled by default. The x11 feature requires the xcb library (libxcb-devel package on Fedora).

On Linux, fontconfig is required. Also, an XDG Desktop Portal implementation that supports the org.freedesktop.portal.FileChooser D-Bus API needs to be available at runtime. The KDE, GNOME, and GTK XDG Desktop Portal backends provide this, but the wlroots backend does not. The wlroots backend can be installed simultaneously with another backend that provides the FileChooser API.

After these dependencies are installed, building is as simple as:

cargo build

and running is as simple as:

cargo run

Goals

  • Equally usable as a casual music player application on a phone in a pocket or a full fleged DJ software on a laptop
  • Support features common on commercially available contemporary DJ controllers from popular manufacturers
  • Eventually support timecode vinyl control
  • Eventually crossplatform (Linux, Windows, potentially Android) but focusing on Linux first (desktop and mobile Linux)
  • Strive for designs that work for a wide variety of use cases before resorting to adding options
  • Actively work to solve problems upstream and collaborate with other projects
  • Purely FOSS without proprietary dependencies beyond operating system APIs
  • Use FOSS infrastructure as much as practical (exceptions can be made, for example, for building the application on proprietary operating systems)
  • Consensus-based decision making and cooperative, nonhierarchical governance. Irreconcilable disagreements will be decided promptly by voting. Details will be worked out as more people join.

Non-goals

  • Video playback, mixing, manipulation, or generation. Communication with external video applications over standard protocols would be welcome though.
  • Imitating other DJ software verbatim. This is its own application. Proposals will be evaluated on their own merits, not simply because another software does it that way.
  • Antifeatures (functionality that acts against the interest of the user), for example DRM. Antifeatures also include interacting with any network services such as music streaming services whose terms of service would require implementing artificial restrictions.

Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK