diff --git a/audio/Makefile b/audio/Makefile index 894010003f10..c92c38c0fa1c 100644 --- a/audio/Makefile +++ b/audio/Makefile @@ -366,6 +366,7 @@ SUBDIR += kid3-kf5 SUBDIR += kid3-qt5 SUBDIR += kmix + SUBDIR += komposter SUBDIR += ksmp3play SUBDIR += kwave SUBDIR += ladspa diff --git a/audio/komposter/Makefile b/audio/komposter/Makefile new file mode 100644 index 000000000000..c0249db89613 --- /dev/null +++ b/audio/komposter/Makefile @@ -0,0 +1,44 @@ +# Created by: Emanuel Haupt +# $FreeBSD$ + +PORTNAME= komposter +DISTVERSION= g20201211 +CATEGORIES= audio + +MAINTAINER= ehaupt@FreeBSD.org +COMMENT= Lightweight music composing system + +LICENSE= GPLv2 + +LIB_DEPENDS= libfreetype.so:print/freetype2 + +USES= autoreconf gl libtool openal pkgconfig +USE_GITHUB= yes +GH_ACCOUNT= electronoora +GH_TAGNAME= f75eeb7 +USE_GL= gl glu glut +GNU_CONFIGURE= yes +CONFIGURE_ARGS= --disable-optimizations \ + --disable-silent-rules \ + --without-auto-arch + +CFLAGS_i386= -Wl,-znotext + +DESKTOP_ENTRIES= "Komposter" \ + "${COMMENT}" \ + "${DATADIR}/komposter_icon.png" \ + "${PORTNAME}" \ + "Audio;" \ + false + +OPTIONS_DEFINE= EXAMPLES + +post-extract: + @${RM} ${WRKSRC}/resources/libfreetype* ${WRKSRC}/resources/komposter.* + @${RM} -rf ${WRKSRC}/resources/GLUT.framework + +post-install: + (cd ${WRKSRC}/resources && ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}) + (cd ${WRKSRC}/examples && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}) + +.include diff --git a/audio/komposter/distinfo b/audio/komposter/distinfo new file mode 100644 index 000000000000..f3f05d5284b9 --- /dev/null +++ b/audio/komposter/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1608484879 +SHA256 (electronoora-komposter-g20201211-f75eeb7_GH0.tar.gz) = 759706ef8ccbffe3aa20fb1a53b3d416243f545003170d2d92b604add346861b +SIZE (electronoora-komposter-g20201211-f75eeb7_GH0.tar.gz) = 1909488 diff --git a/audio/komposter/files/patch-Makefile.am b/audio/komposter/files/patch-Makefile.am new file mode 100644 index 000000000000..330bb8171ab3 --- /dev/null +++ b/audio/komposter/files/patch-Makefile.am @@ -0,0 +1,11 @@ +--- Makefile.am.orig 2020-12-11 20:19:57 UTC ++++ Makefile.am +@@ -6,7 +6,7 @@ EXTRA_DIST = doc/ \ + player/ \ + resources/ + +-AM_CPPFLAGS = -DRESOURCEPATH=\"$(prefix)/share/komposter\" ++AM_CPPFLAGS = -DRESOURCEPATH=\"$(prefix)/share/komposter/\" + + komposter_SOURCES = about.c \ + audio.c \ diff --git a/audio/komposter/pkg-descr b/audio/komposter/pkg-descr new file mode 100644 index 000000000000..e83385229346 --- /dev/null +++ b/audio/komposter/pkg-descr @@ -0,0 +1,14 @@ +Komposter is a lightweight music composing system intended mainly to be used in +applications where the size of the executable must be minimized such as 4K and +64K intros. + +It is built using a modular "virtual analog" model, where the composer can build +the synthesizers from scratch using simple basic building blocks. This minimizes +the amount of code required and relies more on data, which can be compressed +more effectively. + +A simple pattern-based sequencer is used to create songs which use up to 24 +voices, each of which can use a different synthesizer. Each synthesizer can be +programmed with a number of patches that can be switched between patterns. + +WWW: https://github.com/electronoora/komposter diff --git a/audio/komposter/pkg-plist b/audio/komposter/pkg-plist new file mode 100644 index 000000000000..bde79c962d4a --- /dev/null +++ b/audio/komposter/pkg-plist @@ -0,0 +1,27 @@ +bin/komposter +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/songs/2015_intro.ksong +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/songs/acidtest.ksong +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/songs/delaytest.ksong +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/songs/drumtest.ksong +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/songs/groovetest.ksong +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/songs/intro2011.ksong +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/songs/introtune.ksong +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/songs/juno60.ksong +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/songs/modulator_test.ksong +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/songs/sawtest.ksong +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/synths/analog_brass.ksyn +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/synths/drum_machine.ksyn +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/synths/fm_synth_2op.ksyn +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/synths/juno-like.ksyn +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/synths/phase_mod_2op.ksyn +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/synths/schroeder.ksyn +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/synths/supersaw.ksyn +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/synths/sweep_pads.ksyn +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/synths/trance_supersaw.ksyn +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/synths/transistor_bass.ksyn +%%DATADIR%%/078MKSD_MC.TTF +%%DATADIR%%/acknowtt.ttf +%%DATADIR%%/komposter_icon.png +%%DATADIR%%/komposter_icon.psd +%%DATADIR%%/m42.TTF +%%DATADIR%%/shaders/palette.frag