From 592f0cece781edfd2b8be0b601c0685b9ed1fe0c Mon Sep 17 00:00:00 2001 From: humdinger Date: Tue, 23 Feb 2021 22:12:07 +0100 Subject: [PATCH] New recipe: MidiSynth v1.8 (#5735) --- .../midisynth_install_chord_keymapping.sh | 18 +++++ haiku-apps/midisynth/midisynth-1.8.0.recipe | 67 +++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100755 haiku-apps/midisynth/additional-files/midisynth_install_chord_keymapping.sh create mode 100644 haiku-apps/midisynth/midisynth-1.8.0.recipe diff --git a/haiku-apps/midisynth/additional-files/midisynth_install_chord_keymapping.sh b/haiku-apps/midisynth/additional-files/midisynth_install_chord_keymapping.sh new file mode 100755 index 000000000..c2d97e05d --- /dev/null +++ b/haiku-apps/midisynth/additional-files/midisynth_install_chord_keymapping.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +settingsDir="$(finddir B_USER_SETTINGS_DIRECTORY)/MidiSynth/" + +pluginsSysDataDir="$(finddir B_SYSTEM_DATA_DIRECTORY)/MidiSynth" +pluginsUserDataDir="$(finddir B_USER_DATA_DIRECTORY)/MidiSynth" + +mkdir -p $settingsDir + +if [ -d "$pluginsSysDataDir/KeyMappings" ]; then + cp -rfn "$pluginsSysDataDir/KeyMappings" "$settingsDir" + cp -a "$pluginsSysDataDir/Chords" "$settingsDir" +elif [ -d "$pluginsUserDataDir/KeyMappings" ]; then + cp -rfn "$pluginsUserDataDir/KeyMappings" "$settingsDir" + cp -a "$pluginsUserDataDir/Chords" "$settingsDir" +else + exit 1 # couldn't find KeyMappings and Chords +fi diff --git a/haiku-apps/midisynth/midisynth-1.8.0.recipe b/haiku-apps/midisynth/midisynth-1.8.0.recipe new file mode 100644 index 000000000..a26083d8a --- /dev/null +++ b/haiku-apps/midisynth/midisynth-1.8.0.recipe @@ -0,0 +1,67 @@ +SUMMARY="A simple software MIDI keyboard" +DESCRIPTION="MidiSynth is a simple software MIDI keyboard using Haiku's \ +built-in synthesizer or any connected MIDI In or Out device. It can be played \ +with the mouse and/or the computer's keyboard, and also has an interface \ +(In and Out) to MIDI hardware and any apps that use MidiKit2. + +You can choose the SoundFont to use, or disable the Haiku synthesizer \ +altogether when you connect to some other Midi Out device. + +MidiSynth supports chords, which are defined in a file and can be enabled by \ +selecting a chord from a the Chords menu. You can even remap the keys on your \ +keyboard." +HOMEPAGE="https://github.com/HaikuArchives/MidiSynth" +COPYRIGHT="2000-2013 Michael Pfeiffer + 2013 Pete Goodeve + 2021 Humdinger" +LICENSE="GNU GPL v2" +REVISION="1" +SOURCE_URI="$HOMEPAGE/archive/v$portVersion.tar.gz" +CHECKSUM_SHA256="3c84239502defc4367eb1c83e12374753aa636ccf8ad4778a96e61f6204e1d99" +SOURCE_DIR="MidiSynth-$portVersion" +ADDITIONAL_FILES="midisynth_install_chord_keymapping.sh" + +ARCHITECTURES="x86_gcc2 x86_64" + +USER_SETTINGS_FILES="settings/MidiSynth/KeyMappings directory + settings/MidiSynth/KeyMappings/Default template data/MidiSynth/KeyMappings/Default + settings/MidiSynth/Chords template data/MidiSynth/Chords + " +POST_INSTALL_SCRIPTS="$relativePostInstallDir/midisynth_install_chord_keymapping.sh" + +PROVIDES=" + midisynth = $portVersion + app:MidiSynth = $portVersion + " +REQUIRES=" + haiku + " + +BUILD_REQUIRES=" + haiku_devel + " +BUILD_PREREQUIRES=" + makefile_engine + cmd:g++ + cmd:make + " + +BUILD() +{ + cd src + make $jobArgs + make bindcatalogs +} + +INSTALL() +{ + mkdir -p $appsDir $dataDir/MidiSynth + cp -a MidiSynth $appsDir + cp -rf KeyMappings $dataDir/MidiSynth + cp -a Chords $dataDir/MidiSynth + + addAppDeskbarSymlink $appsDir/MidiSynth + + mkdir -p $postInstallDir + cp $portDir/additional-files/midisynth_install_chord_keymapping.sh $postInstallDir +}