Where to start developing Linux music software?
Moderators: MattKingUSA, khz
- lucianodato
- Established Member
- Posts: 156
- Joined: Sat May 15, 2010 9:00 pm
- Has thanked: 3 times
- Been thanked: 16 times
Re: Where to start developing Linux music software?
How about an amp plugin that uses dpf and meson as a build system? Would that be useful? Meson is not hard to learn at all and makes much more sense than make or cmake or waf or anything really (I'm converted yes!)
Arguy (IRC)
- SpotlightKid
- Established Member
- Posts: 260
- Joined: Sun Jul 02, 2017 1:24 pm
- Has thanked: 57 times
- Been thanked: 61 times
Re: Where to start developing Linux music software?
I find the makefiles that DPF uses, quite clear.Lyberta wrote:I don't see a simple way of merging the makefile mess of DPF with cmake code.
BTW, a while ago, I wrote a cookiecutter template, with which you can generate a new DPF project by simply answering a few prompts:
Code: Select all
$ cookiecutter https://github.com/SpotlightKid/cookiecutter-dpf-effect
project_name [Simple Gain]:
plugin_description [A simple audio volume gain plugin]:
full_name [Christopher Arndt]:
domain [chrisarndt.de]:
github_username [SpotlightKid]:
email [info@chrisarndt.de]:
plugin_brand [chrisarndt.de]:
plugin_name [SimpleGain]:
repo_name [simplegain]:
plugin_uri [http://chrisarndt.de/plugins/simplegain]:
project_license [MIT]:
version [0.1.0]:
year [2016]: 2018
Leeres Git-Repository in /home/chris/work/audio-plugins/simplegain/.git/ initialisiert
Klone nach '/home/chris/work/audio-plugins/simplegain/dpf' ...
remote: Counting objects: 7126, done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 7126 (delta 0), reused 1 (delta 0), pack-reused 7121
Empfange Objekte: 100% (7126/7126), 12.12 MiB | 966.00 KiB/s, Fertig.
Löse Unterschiede auf: 100% (6040/6040), Fertig.
$ cd simplegain
$ ls
dpf/ plugins/ LICENSE Makefile Makefile.mk README.md
$ git remote -v
origin git@github.com:SpotlightKid/simplegain (fetch)
origin git@github.com:SpotlightKid/simplegain (push)
$ make
[ Compilation output ]
$ ls bin
simplegain.lv2/ simplegain-dssi.so* simplegain-ladspa.so* simplegain-vst.so*
-
- Established Member
- Posts: 681
- Joined: Sat Nov 01, 2014 8:15 pm
- Location: The Internet
- Been thanked: 1 time
Re: Where to start developing Linux music software?
I do have plans to do that but I don't understand most of what is going on inside those Makefiles.falkTX wrote:anyway, instead of complaining you can do more useful things and contribute with a pull request or patches.
What about this one, it's from one of my libraries:falkTX wrote:to be honest, I really cannot read cmake projects at all.
Code: Select all
cmake_minimum_required(VERSION 3.8)
# Name of the library.
set(LIBRARY_NAME ftzGeneral)
# Name of the library file.
set(LIBRARY_FILENAME ftzgeneral)
# Name of the project.
project(${LIBRARY_NAME})
# Setting output directory.
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/Lib)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/Lib)
# Importing Conan settings.
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
conan_basic_setup(TARGETS NO_OUTPUT_DIRS)
# Adding a library target.
add_library(Library
Src/Delta.cpp
Src/FileLogger.cpp
Src/Hex.cpp
Src/InterfaceManager.cpp
Src/MultiLogger.cpp
Src/RLE.cpp
Src/StdLogger.cpp
Src/ThreadedMultiLogger.cpp
Src/UUID.cpp
Src/WorkerThread.cpp)
# Setting the name of the library file.
set_target_properties(Library PROPERTIES OUTPUT_NAME ${LIBRARY_FILENAME})
# Specifying compiler configuration for the library.
target_compile_options(Library PUBLIC "-fconcepts")
set_target_properties(Library PROPERTIES POSITION_INDEPENDENT_CODE ON)
# Specifying include directories of the library.
target_include_directories(Library PUBLIC Include)
# Specifying libraries to link to for the users of the library.
target_link_libraries(Library PUBLIC CONAN_PKG::ftzSerialization pthread stdc++fs)