All Projects → canorusmusic → canorus

canorusmusic / canorus

Licence: GPL-3.0 license
Canorus is a free cross-platform music score editor

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
shell
77523 projects
Makefile
30231 projects
CMake
9771 projects
SWIG
194 projects

Projects that are alternatives of or similar to canorus

erk
Ərk is an open source, cross-platform IRC client written in Python 3, Qt 5, and Twisted.
Stars: ✭ 21 (-16%)
Mutual labels:  plugins, qt5
Crusta
Fast, modern and minimal desktop web browser with rich features
Stars: ✭ 53 (+112%)
Mutual labels:  plugins, qt5
Musescore
MuseScore is an open source and free music notation software. For support, contribution, bug reports, visit MuseScore.org. Fork and make pull requests!
Stars: ✭ 6,546 (+26084%)
Mutual labels:  music-notation, musicxml
embed-client
🎼 Sheet Music & Tabs Embed JavaScript Client
Stars: ✭ 43 (+72%)
Mutual labels:  music-notation, musicxml
Textosaurus
Cross-platform text editor based on Qt and Scintilla.
Stars: ✭ 224 (+796%)
Mutual labels:  lightweight, qt5
Bitsofbytes
Code and projects from my blog posts.
Stars: ✭ 89 (+256%)
Mutual labels:  plugins, qt5
diagnostictools
Plugin for Qt Creator (Memory and CPU usage visualizer)
Stars: ✭ 41 (+64%)
Mutual labels:  plugins, qt5
superfomus
SuperCollider bindings to Fomus Music Notation
Stars: ✭ 23 (-8%)
Mutual labels:  lilypond, musicxml
Qview
Practical and minimal image viewer
Stars: ✭ 460 (+1740%)
Mutual labels:  lightweight, qt5
plexydesk
Lightweight Desktop Manager for Gnu/Linux and FreeBSD - Ideal for Low resource computers
Stars: ✭ 33 (+32%)
Mutual labels:  lightweight, qt5
clifm
The shell-like, command line terminal file manager: simple, fast, extensible, and lightweight as hell
Stars: ✭ 825 (+3200%)
Mutual labels:  lightweight, plugins
lyluatex
Alternative à lilypond-book pour lualatex
Stars: ✭ 46 (+84%)
Mutual labels:  lilypond, music-notation
lexer
Hackable Lexer with UTF-8 support
Stars: ✭ 19 (-24%)
Mutual labels:  lightweight
verovio-humdrum-viewer
Verovio Humdrum Viewer
Stars: ✭ 26 (+4%)
Mutual labels:  music-notation
QTextRecognizer
A gui for tesseractOCR with some preprocessing image options (OpenCV) for improve character recognition
Stars: ✭ 27 (+8%)
Mutual labels:  qt5
copy-translator
简单、轻量、好用的划词翻译软件
Stars: ✭ 979 (+3816%)
Mutual labels:  lightweight
python-blobopera
Toolkit to convert MusicXML files into Blob Opera scores with real lyrics.
Stars: ✭ 24 (-4%)
Mutual labels:  musicxml
java-cpp-example
Example of using C++ classes from Java. Showcases SWIG, JNA and JNI
Stars: ✭ 135 (+440%)
Mutual labels:  swig
instant-apps
Your search box is now an app store! 🎉
Stars: ✭ 93 (+272%)
Mutual labels:  plugins
dunya-desktop
A modular, customizable and open-source desktop application for accessing and visualizing music data.
Stars: ✭ 76 (+204%)
Mutual labels:  qt5
Canorus - a free music score editor
===================================
Canorus  is a free music score editor. It supports note writing, scripting support,
import/export of various file formats, MIDI input and output and more! Note that
Canorus is still in heavy stage of development and not all the features are
implemented yet!

Canorus is free (libre) software, licensed under GNU GPL. This means that the program
source code is available to public, anyone is welcome to research how the program
works, participate in its development, freely distribute the program and spread the
word! Canorus runs on Linux, Windows, MacOSX and others! 

Build dependencies:
===================
The latest version of Qt5, Swig and CMake is preferred.
Canorus requires the current "LTS" version 5.6 or later.

- Qt development package >=5.6 (http://www.qt-project.org).
- Swig >=3.0.8 (http://www.swig.org).
- g++ >=5, make (http://gcc.gnu.org, http://www.mingw.org).
- cmake >=3.5 (http://www.cmake.org). 
- Python development package >=3.0 (http://www.python.org)
- (optional) Lyx, tex4ht (user's guide)

Qt5 Build (tested with version 5.6.2 and 5.9.5)
- Get original Qt development package 5.6.2 or 5.9.5 (http://www.qt.io)
- It is strongly recommended not to use Qt coming with your distribution
- Get Swig, g++, cmake, python, lyx as specified above
  (make sure to remove Swig 2.0 before using Swig 3.0)
- Run cmake with prefix to the Qt installation path (f.e. "/opt/Qt")
- Create a build folder, outside the source folder and "cd" into it
  $ cmake -DCMAKE_PREFIX_PATH=/opt/Qt/5.6/gcc_64/lib/cmake ../canorus/trunk
- Ignore the warning about the missing ruby package
- make -j4 (for dual-core use -j2 switch)
  on AMD Ryzen or Intel i7 use -j8 / -j4 
  depending on your available memory you may need to reduce the number

Note that if you use the old way of building canorus you have to
disable the local installation of Canorus when calling cmake:
- $ cmake -DCMAKE_PREFIX_PATH=/opt/Qt/5.6/gcc_64/lib/cmake -DCANORUS_DEV_INSTALL=False

Set it to true to do a test installation for a Release version, f.e.
- $ cmake -DCMAKE_PREFIX_PATH=/opt/Qt/5.6/gcc_64/lib/cmake -DCMAKE_BUILD_TYPE=Release -DCANORUS_DEV_INSTALL=True

Testing Canorus
===============
If you built the development version of Canorus, an install folder is
created containing a local installation of Canorus.

To run it, first set the library path to the Qt libraries, f.e.
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/Qt/5.6/gcc_64/lib

Change into resources folder:
$ cd install/share/canorus

Run canorus from the bin folder:
$ ../../bin/canorus

You need to run it from here so Canorus finds it's libraries, images etc.

Runtime dependencies:
=====================
- Qt library, same version
- Python library, same version
- On Windows, Mingw library, same version

Compilation:
============
1. (Optional) Compile User's guide:
 $ cd doc/usersguide
 $ make (use -j4 / -j2 for faster build)
  You need latex and other tools installed (see doc/Readme-doc.txt for details).
  You can skip this step, but the User's guide won't be launched using
  Help->User's Guide action then.
2. Go to Canorus root directory and run:
 $ cmake .
 $ make
 $ src/canorus(.exe)
  To create a release build without debug info, run:
 $ cmake -DCMAKE_BUILD_TYPE=Release
  Note that this also causes QT_NO_DEBUG to be defined.


Installation
============
 $ make install

Compilation under Debian/Ubuntu:
===========================
One-liner to install build dependencies on Ubuntu 17.10 Artful Aardvark:
 $ sudo apt install cmake g++ make libqt5webkit5-dev libqt5svg5-dev qtbase5-dev qttools5-dev qtwebengine5-dev libasound2-dev

For python scripting support, add:
 $ sudo apt install python3-dev swig

NOTE: If you had installed the Ubuntu qt5 environment and wish to switch to
      (newer) Qt we recommend to first uninstall the above dev files (include
      QtCreator):
$ sudo apt purge libqt5webkit5-dev libqt5svg5-dev qtbase5-dev qttools5-dev qtwebengine5-dev

Download the SVN/release version of canorus, go to Canorus root directory and run:
 $ debian/rules binary
 
Install the created .deb package.

Debian based shipped binaries
=============================
We distribute binaries compiled with the official Qt 5.6 version. Built on xenial.
In the near future we will switch to Qt 5.9 version, built on bionic.

The debian package has a wrapper script canorus-qt.sh for the debian package
that includes the libraries. 

This uses a different directory for the libraries intentionally to avoid
problem with an official installation of Qt 5.6

The second debian binaries expect Qt 5.6 to be installed with the official
installer in the /opt/Qt folder, precisely /opt/Qt/5.6/gcc_64/lib.

They also may work with libraries of Qt 5.6 from your Distribution.
Avoid using these with later versions (f.e. 5.7/5.8/5.9) of Qt, instead rebuild.

There is an unofficial PPA for Ubuntu containing binaries for current Ubuntu series:
https://launchpad.net/~ichthyo/+archive/ubuntu/music

Troubleshooting:
================

If you get the following error (could be only the last line!):

 QT_QMAKE_EXECUTABLE set to qmake version: QTVERSION = **Unknown**
 QT_QMAKE_EXECUTABLE = /usr/bin/qmake, please set to path to qmake from qt4.
 Qt qmake not found!

Then you have to run cmake with the following switch:
 $ cmake -DQT_QMAKE_EXECUTABLE="/usr/lib/qt4/bin/qmake"

(replace the path to fit your needs).

IMPORTANT: Do not run cmake again before removing the cache files
CMakeCache.txt and the directory CMakeFiles!

If you use gcc 4.8.x with Qt < 4.8.5 you will get an error. This can
be fixed by editing the header qt4/QtCore/qtconcurrentfilter.h and
removing the line that caused the error (the fix Qt Team performed too).

If you use gcc 8.x you may be unable to use python plugins with swig.
Reason is an issue that was fixed after release of 3.0.12 that may
have not been patched by your distribution.

-------------------------------------------------------------------------------

If you get the error "swig not found" then you have the problem
that FindSWIG.cmake does not match your system configuration. On
my system swig files are in /usr/share/swig3.x.y, so I needed to
create a link to it from swig3.x:

 $ ln -s /usr/share/swig3.x.y /usr/share/swig3.x

Replace 3.x.y with the real version f.e. 3.0.8.

-------------------------------------------------------------------------------

If you get the following error:
"libpython.a: undefined reference to openpty"
your system requires the util library to be included to the
Canorus link libaries. To do this edit src/CMakeLists.txt file
and search for the line containing TARGET_LINK_LIBRARIES.
Add " util" as last library to the line f.e. like this:

 TARGET_LINK_LIBRARIES(canorus ${QT_LIBRARIES} ${QT_QTXML_LIBRARY} ${RUBY_LIBRARY} ${PYTHON_LIBRARY} util)

-------------------------------------------------------------------------------

To disable Ruby/Python support even when installed call cmake with these options:
 $ cmake -DNO_RUBY=1 -DNO_PYTHON=1

I hope that the NO_DEFAULT_PATH options gets added to newer cmake releases :)

Settings
========
Settings are stored in $HOME/.config/Canorus directory under POSIX systems and under
Local settings directory in your user profile directory under Microsoft Windows.

Windows users
=============
See windows/Readme.txt for details about building Canorus under Microsoft Windows.

Mac OS X users
==============
Check macosx/ directory and run Make.

License
=======
Canorus is licensed under GPLv3. See COPYING for details. Consult documentation
of other libraries in folder lib/ for their respective license.
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].