diff options
author | Steven Voges <svoges.sbo@gmail.com> | 2022-08-18 04:15:36 +0100 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2022-08-20 10:06:39 +0700 |
commit | d62113f1b5ac665967b1f7118450fc02d07a486d (patch) | |
tree | f141e52ddfb1b46dd6550585a6c640b124c0b1c9 | |
parent | 90efc0dd26cb93971e57026435c9ffaefa4ff410 (diff) | |
download | slackbuilds-d62113f1b5ac665967b1f7118450fc02d07a486d.tar.gz |
libraries/libADLMIDI: Added (MIDI Synthesizer)
Signed-off-by: Dave Woodfall <dave@slackbuilds.org>
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r-- | libraries/libADLMIDI/README | 35 | ||||
-rw-r--r-- | libraries/libADLMIDI/libADLMIDI.SlackBuild | 108 | ||||
-rw-r--r-- | libraries/libADLMIDI/libADLMIDI.info | 10 | ||||
-rw-r--r-- | libraries/libADLMIDI/slack-desc | 19 |
4 files changed, 172 insertions, 0 deletions
diff --git a/libraries/libADLMIDI/README b/libraries/libADLMIDI/README new file mode 100644 index 0000000000..29a0ad1f67 --- /dev/null +++ b/libraries/libADLMIDI/README @@ -0,0 +1,35 @@ +libADLMIDI is a free Software MIDI synthesizer library with OPL3 +emulation. + +Some Key features: + +OPL3 emulation with four-operator mode support +FM patches from a number of known PC games, copied from files typical + to AIL = Miles Sound System / DMX / HMI = Human Machine Interfaces / + Creative IBK. +Stereo sound +Number of simulated OPL3 chips can be specified as 1-100 (maximum + channels 1800!) +Pan (binary panning, i.e. left/right side on/off) +Pitch-bender with adjustable range +Vibrato that responds to RPN/NRPN parameters +Sustain (a.k.a. Pedal hold) and Sostenuto enable/disable +MIDI and RMI file support +Real-Time MIDI API support +loopStart / loopEnd tag support (Final Fantasy VII) +111-th controller based loop start (RPG-Maker) +Use automatic arpeggio with chords to relieve channel pressure +Support for multiple concurrent MIDI synthesizers (per-track + device/port select FF 09 message), can be used to overcome 16 channel + limit +Support for playing Id-software Music File format (IMF) +Support for custom banks of WOPL format +Partial support for GS and XG standards (having more instruments than + in one 128:128 GM set and ability to use multiple channels for + percussion purposes, and a support for some GS/XG exclusive + controllers) +CC74 "Brightness" affects a modulator scale (to simulate frequency + cut-off on WT synths) +Portamento support (CC5, CC37, and CC65) +SysEx support that supports some generic, GS, and XG features +Full-panning stereo option (works for emulators only) diff --git a/libraries/libADLMIDI/libADLMIDI.SlackBuild b/libraries/libADLMIDI/libADLMIDI.SlackBuild new file mode 100644 index 0000000000..6798fb95e4 --- /dev/null +++ b/libraries/libADLMIDI/libADLMIDI.SlackBuild @@ -0,0 +1,108 @@ +#!/bin/bash + +# Slackware build script for libADLMIDI + +# Copyright 2022 Steven Voges <svoges.sbo@gmail.com> +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=libADLMIDI +VERSION=${VERSION:-1.5.0.1.1} +SRCVER=${SRCVER:-1.5.0.1-1} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$SRCVER +tar xvf $CWD/$PRGNAM-$SRCVER.tar.gz +cd $PRGNAM-$SRCVER +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +mkdir -p build +cd build + cmake \ + -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DlibADLMIDI_SHARED=ON \ + -DlibADLMIDI_STATIC=OFF \ + -DCMAKE_BUILD_TYPE=Release .. + make + make install/strip DESTDIR=$PKG +cd .. + +rm -R $PKG/usr/share + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a \ + *.txt AUTHORS LICENSE README.md \ + $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/libraries/libADLMIDI/libADLMIDI.info b/libraries/libADLMIDI/libADLMIDI.info new file mode 100644 index 0000000000..16fdc5cc1a --- /dev/null +++ b/libraries/libADLMIDI/libADLMIDI.info @@ -0,0 +1,10 @@ +PRGNAM="libADLMIDI" +VERSION="1.5.0.1.1" +HOMEPAGE="https://github.com/Wohlstand/libADLMIDI" +DOWNLOAD="https://github.com/Wohlstand/libADLMIDI/archive/v1.5.0.1-1/libADLMIDI-1.5.0.1-1.tar.gz" +MD5SUM="17eab18574ffe22b50b6170a491f0c07" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="" +MAINTAINER="Steven Voges" +EMAIL="svoges.sbo@gmail.com" diff --git a/libraries/libADLMIDI/slack-desc b/libraries/libADLMIDI/slack-desc new file mode 100644 index 0000000000..2a4e00acc5 --- /dev/null +++ b/libraries/libADLMIDI/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +libADLMIDI: libADLMIDI (MIDI Synthesizer) +libADLMIDI: +libADLMIDI: libADLMIDI is a free Software MIDI synthesizer library with OPL3 +libADLMIDI: emulation. +libADLMIDI: +libADLMIDI: Homepage: https://github.com/Wohlstand/libADLMIDI +libADLMIDI: +libADLMIDI: +libADLMIDI: +libADLMIDI: +libADLMIDI: |