Page 2 of 2

Re: Where to start developing Linux music software?

Posted: Thu Mar 29, 2018 3:57 pm
by lucianodato
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!)

Re: Where to start developing Linux music software?

Posted: Thu Mar 29, 2018 4:31 pm
by SpotlightKid
Lyberta wrote:I don't see a simple way of merging the makefile mess of DPF with cmake code.
I find the makefiles that DPF uses, quite clear.

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*

Re: Where to start developing Linux music software?

Posted: Thu Mar 29, 2018 7:06 pm
by rghvdberg
That's brilliant!
Thanks.

Re: Where to start developing Linux music software?

Posted: Fri Mar 30, 2018 3:10 am
by Lyberta
falkTX wrote:anyway, instead of complaining you can do more useful things and contribute with a pull request or patches.
I do have plans to do that but I don't understand most of what is going on inside those Makefiles.
falkTX wrote:to be honest, I really cannot read cmake projects at all.
What about this one, it's from one of my libraries:

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)