All Projects → Buzztrax → buzztrax

Buzztrax / buzztrax

Licence: other
Buzztrax is a modular music composer for Linux.

Programming Languages

c
50402 projects - #5 most used programming language
Roff
2310 projects
C++
36643 projects - #6 most used programming language
shell
77523 projects
M4
1887 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to buzztrax

Movie Monad
📺 A free and simple to use video player made with Haskell.
Stars: ✭ 347 (+303.49%)
Mutual labels:  gtk, gstreamer
Music
Music player and library designed for elementary OS
Stars: ✭ 92 (+6.98%)
Mutual labels:  gtk, gstreamer
Zrythm
a highly automated and intuitive digital audio workstation - official mirror
Stars: ✭ 703 (+717.44%)
Mutual labels:  gtk, midi
Gifcurry
😎 The open-source, Haskell-built video editor for GIF makers.
Stars: ✭ 830 (+865.12%)
Mutual labels:  gtk, gstreamer
linux-show-player
Linux Show Player - Cue player designed for stage productions
Stars: ✭ 147 (+70.93%)
Mutual labels:  gstreamer, midi
Exaile
🎶 Cross-platform music player
Stars: ✭ 270 (+213.95%)
Mutual labels:  gtk, gstreamer
Pitivi
MIRROR of https://gitlab.gnome.org/GNOME/pitivi for your convenience
Stars: ✭ 79 (-8.14%)
Mutual labels:  gtk, gstreamer
Helio Workstation
One music sequencer for all major platforms, desktop and mobile
Stars: ✭ 2,257 (+2524.42%)
Mutual labels:  midi, audio-applications
Gaupol
Editor for text-based subtitle files
Stars: ✭ 159 (+84.88%)
Mutual labels:  gtk, gstreamer
Glide
Linux/macOS media player based on GStreamer and GTK+
Stars: ✭ 123 (+43.02%)
Mutual labels:  gtk, gstreamer
Clapper
A GNOME media player built using GJS with GTK4 toolkit and powered by GStreamer with OpenGL rendering.
Stars: ✭ 103 (+19.77%)
Mutual labels:  gtk, gstreamer
reco
A simple audio recording app for modern Linux desktop environment like Pantheon
Stars: ✭ 47 (-45.35%)
Mutual labels:  gtk, gstreamer
photos
Photo viewer and organizer designed for elementary OS
Stars: ✭ 101 (+17.44%)
Mutual labels:  gtk, gstreamer
Galicaster
The Galicaster Project is an open initiative to provide flexible, state-of-the-art solutions for recording educational multimedia contents like lectures and conferences
Stars: ✭ 34 (-60.47%)
Mutual labels:  gtk, gstreamer
gba-mus-ripper
(Not actively maintained) A fork of Bregalad's "GBA Mus Riper" program
Stars: ✭ 50 (-41.86%)
Mutual labels:  midi
webrtcsink
All-batteries included GStreamer WebRTC producer
Stars: ✭ 18 (-79.07%)
Mutual labels:  gstreamer
scalaui
Scala Native GUI framework based on libui
Stars: ✭ 56 (-34.88%)
Mutual labels:  gtk
auteur
Live GStreamer node compositor service, implemented in rust
Stars: ✭ 24 (-72.09%)
Mutual labels:  gstreamer
wingpanel-indicator-network
Wingpanel Network Indicator
Stars: ✭ 22 (-74.42%)
Mutual labels:  gtk
netpd-instruments
instruments (synths, sequencers, utilities, etc) to be used with netpd
Stars: ✭ 18 (-79.07%)
Mutual labels:  audio-applications

Buzztrax

Gitter

quick info

Please turn you browser to http://www.buzztrax.org to learn what this project is about. Buzztrax is free software and distributed under the LGPL.

build status

We are running continuous integration on travis-ci, get coverage from codecov and have the codebase checked by coverity:

Build Status Test Coverage Coverity Defects

intro

Buzztrax is a music composer similar to tracker applications. It is roughly modelled after the windows only, closed source application called Buzz.

requirements

  • gstreamer >= 1.2 and its plugins (gstreamer, gst-plugins-base and gst-plugins-good).
  • glib, gsf and libxml2 for the core libraries.
  • clutter-gtk and gtk+ for the UI

optional packages

  • gst-plugins-ugly: for the use of mp3 recording
  • gst-plugins-bad: extra audio effects
  • gudev and libasound: for interaction controller support
  • orc: for plugin acceleration
  • fluidsynth: to build a relates gstreamer wrapper
  • check: for unit tests

building from git

To build use autogen.sh instead of configure. This accept the same options like configure. Later one can use autoregen.sh to rerun the bootstrapping. To build from git one needs to have gtk-doc and cvs (for autopoint from gettext) installed.

directories

  • docs : design ideas and API reference
  • po : gettext i18n catalogs
  • src : the project sources
    • ui
      • cmd : buzztrax tool for the command line
      • edit : buzztrax editor (gtk based ui)
    • lib
      • core : logic, e.g. connections framework, file i/o, ...
      • ic : interaction controller
  • tests : unit tests (same directory structure as src)

installing locally

Use following options for ./autogen.sh or ./configure

--prefix=$HOME/buzztrax
--with-gconf-source=xml::/home/ensonic/.gconf/
--with-desktop-dir=/home/ensonic/.gnome2/vfolders/

when installing the package to e.g. $HOME/buzztrax you ned to set a few environment variables. To use the apps these variables are enough:

# libraries:
export LD_LIBRARY_PATH=$HOME/buzztrax/lib:$LD_LIBRARY_PATH
# gstreamer
export GST_PLUGIN_PATH="$HOME/buzztrax/lib/gstreamer-1.0"
# mime-database & icon-themes:
export XDG_DATA_DIRS="$XDG_DATA_DIRS:$HOME/buzztrax/share"
update-mime-database $HOME/buzztrax/share/mime/

Likewise for the man-pages to be found:

export MANPATH=\$MANPATH:$prefix/share/man

For developers:

# see buzztrax help files in devhelp:
export DEVHELP_SEARCH_PATH="$DEVHELP_SEARCH_PATH:$HOME/buzztrax/share/gtk-doc/html"
# compile against buzztrax libs using pkg-config:
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$HOME/buzztrax/lib/pkgconfig"
#
export GI_TYPELIB_PATH="\$GI_TYPELIB_PATH:$prefix/lib/girepository"

installing in /usr/local

The default value for the --prefix configure option is /usr/local. Also in that case the variables mentioned in the last example need to be exported.

running the apps

cd $HOME/buzztrax/bin
./buzztrax-cmd --command=info --input-file=../share/buzztrax/songs/melo1.xml
./buzztrax-cmd --command=play --input-file=../share/buzztrax/songs/melo1.xml
./buzztrax-cmd --command=encode --input-file=../share/buzztrax/songs/melo1.xml --output-file=./melo1.ogg
./buzztrax-edit --command=load --input-file=../share/buzztrax/songs/melo1.xml

running unit tests

run all the tests:

make check

select tests to run:

BT_CHECKS="test_bt_edit_app*" make bt_edit.check

activate some logging info that can help while testing:

BT_TEST_DEBUG=1 make check

The tests make use of Xvfb (X Virtual Frame Buffer) to create UI in a headless scenario; if installed, it will be used. Sometimes it's useful to be able to see the UI when writing or debugging tests, though. You can set BT_CHECK_NO_XVFB=1 to disable use of XVfb. You will then see UI windows created on your desktop directly during test runs.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].