From 76e34435e13057f9cfe9a2cb25831c4367e31867 Mon Sep 17 00:00:00 2001 From: Joshua McKinney Date: Sun, 6 Dec 2015 12:17:44 -0600 Subject: [PATCH 1/2] Add Audio Unit and VST plugin folder artifiacts --- doc/CASK_LANGUAGE_REFERENCE.md | 2 ++ doc/src/brew-cask.1.md | 10 ++++++++-- lib/hbc/artifact.rb | 4 ++++ lib/hbc/artifact/audio_unit_plugin.rb | 3 +++ lib/hbc/artifact/vst_plugin.rb | 3 +++ lib/hbc/cli.rb | 6 ++++++ lib/hbc/cli/internal_stanza.rb | 2 ++ lib/hbc/dsl.rb | 2 ++ lib/hbc/locations.rb | 16 ++++++++++++++++ 9 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 lib/hbc/artifact/audio_unit_plugin.rb create mode 100644 lib/hbc/artifact/vst_plugin.rb diff --git a/doc/CASK_LANGUAGE_REFERENCE.md b/doc/CASK_LANGUAGE_REFERENCE.md index 5ae016dff6e02..6fd83e134d086 100644 --- a/doc/CASK_LANGUAGE_REFERENCE.md +++ b/doc/CASK_LANGUAGE_REFERENCE.md @@ -89,6 +89,8 @@ Each Cask must declare one or more *artifacts* (i.e. something to install) | `qlplugin` | yes | relative path to a QuickLook plugin that should be linked into the `~/Library/QuickLook` folder on installation | `screen_saver` | yes | relative path to a Screen Saver that should be linked into the `~/Library/Screen Savers` folder on installation | `service` | yes | relative path to a service that should be linked into the `~/Library/Services` folder on installation +| `audio_unit_plugin`| yes | relative path to an Audio Unit plugin that should be linked into the `~/Library/Audio/Components` folder on installation +| `vst_plugin` | yes | relative path to a VST plugin that should be linked into the `~/Library/Audio/VST` folder on installation | `suite` | yes | relative path to a containing directory that should be linked into the `~/Applications` folder on installation (see also [Suite Stanza Details](#suite-stanza-details)) | `artifact` | yes | relative path to an arbitrary path that should be symlinked on installation. This is only for unusual cases. The `app` stanza is strongly preferred when linking `.app` bundles. | `installer` | yes | describes an executable which must be run to complete the installation. (see [Installer Stanza Details](#installer-stanza-details)) diff --git a/doc/src/brew-cask.1.md b/doc/src/brew-cask.1.md index 471483d09cb54..ed47ca1673454 100644 --- a/doc/src/brew-cask.1.md +++ b/doc/src/brew-cask.1.md @@ -89,7 +89,7 @@ names, and other aspects of this manual are still subject to change. * `search` or `-S` | //: Perform a substring search of known Cask tokens for . If the text is delimited by slashes, it is interpreted as a Ruby regular expression. - + * `uninstall [--force]` or `rm` or `remove` [ ... ]: Uninstall the given Cask. With `--force`, uninstall even if the Cask does not appear to be present. @@ -105,7 +105,7 @@ names, and other aspects of this manual are still subject to change. `uninstall` without `--force` is also imperfect. It may be unable to perform an `uninstall` operation if the given Cask has changed since you installed it. This issue is being addressed. - + * `update`: For convenience. `brew cask update` is a synonym for `brew update`. @@ -166,6 +166,12 @@ in a future version. * `--internet_plugindir=`: Target location for Internet Plugin links. The default value is `~/Library/Internet Plug-Ins`. + * `--audio_unit_plugindir=`: + Target location for Audio Unit Plugin links. The default value is `~/Library/Audio/Plug-Ins/Components`. + + * `--vst_plugindir=`: + Target location for VST Plugin links. The default value is `~/Library/Audio/Plug-Ins/VST`. + * `--screen_saverdir=`: Target location for Screen Saver links. The default value is `~/Library/Screen Savers`. diff --git a/lib/hbc/artifact.rb b/lib/hbc/artifact.rb index 6e9e2cc492fce..45989fc4099fe 100644 --- a/lib/hbc/artifact.rb +++ b/lib/hbc/artifact.rb @@ -13,6 +13,8 @@ module Hbc::Artifact; end require 'hbc/artifact/input_method' require 'hbc/artifact/installer' require 'hbc/artifact/internet_plugin' +require 'hbc/artifact/audio_unit_plugin' +require 'hbc/artifact/vst_plugin' require 'hbc/artifact/nested_container' require 'hbc/artifact/pkg' require 'hbc/artifact/postflight_block' @@ -49,6 +51,8 @@ def self.artifacts Hbc::Artifact::Binary, Hbc::Artifact::InputMethod, Hbc::Artifact::InternetPlugin, + Hbc::Artifact::AudioUnitPlugin, + Hbc::Artifact::VstPlugin, Hbc::Artifact::ScreenSaver, Hbc::Artifact::Uninstall, Hbc::Artifact::PostflightBlock, diff --git a/lib/hbc/artifact/audio_unit_plugin.rb b/lib/hbc/artifact/audio_unit_plugin.rb new file mode 100644 index 0000000000000..fd69116f1f2f5 --- /dev/null +++ b/lib/hbc/artifact/audio_unit_plugin.rb @@ -0,0 +1,3 @@ +class Hbc::Artifact::AudioUnitPlugin < Hbc::Artifact::Symlinked + +end diff --git a/lib/hbc/artifact/vst_plugin.rb b/lib/hbc/artifact/vst_plugin.rb new file mode 100644 index 0000000000000..14f32c98a3b65 --- /dev/null +++ b/lib/hbc/artifact/vst_plugin.rb @@ -0,0 +1,3 @@ +class Hbc::Artifact::VstPlugin < Hbc::Artifact::Symlinked + +end diff --git a/lib/hbc/cli.rb b/lib/hbc/cli.rb index b3458170188a4..8a3db15f72dd2 100644 --- a/lib/hbc/cli.rb +++ b/lib/hbc/cli.rb @@ -179,6 +179,12 @@ def self.parser opts.on("--internet_plugindir=MANDATORY") do |v| Hbc.internet_plugindir = Pathname(v).expand_path end + opts.on("--audio_unit_plugindir=MANDATORY") do |v| + Hbc.audio_unit_plugindir = Pathname(v).expand_path + end + opts.on("--vst_plugindir=MANDATORY") do |v| + Hbc.vst_plugindir = Pathname(v).expand_path + end opts.on("--screen_saverdir=MANDATORY") do |v| Hbc.screen_saverdir = Pathname(v).expand_path end diff --git a/lib/hbc/cli/internal_stanza.rb b/lib/hbc/cli/internal_stanza.rb index 9b8ef28f59d01..e1fd9f740cb30 100644 --- a/lib/hbc/cli/internal_stanza.rb +++ b/lib/hbc/cli/internal_stanza.rb @@ -33,6 +33,8 @@ class Hbc::CLI::InternalStanza < Hbc::CLI::InternalUseBase :binary, :input_method, :internet_plugin, + :audio_unit_plugin, + :vst_plugin, :screen_saver, :pkg, :installer, diff --git a/lib/hbc/dsl.rb b/lib/hbc/dsl.rb index d9797b769d03e..2567853905f44 100644 --- a/lib/hbc/dsl.rb +++ b/lib/hbc/dsl.rb @@ -249,6 +249,8 @@ def self.ordinary_artifact_types :binary, :input_method, :internet_plugin, + :audio_unit_plugin, + :vst_plugin, :screen_saver, :pkg, :stage_only, diff --git a/lib/hbc/locations.rb b/lib/hbc/locations.rb index fac4ecdf5133c..9e51a3a7f331f 100644 --- a/lib/hbc/locations.rb +++ b/lib/hbc/locations.rb @@ -84,6 +84,22 @@ def internet_plugindir=(_internet_plugindir) @internet_plugindir = _internet_plugindir end + def audio_unit_plugindir + @audio_unit_plugindir ||= Pathname.new('~/Library/Audio/Plug-Ins/Components').expand_path + end + + def audio_unit_plugindir=(_audio_unit_plugindir) + @audio_unit_plugindir = _audio_unit_plugindir + end + + def vst_plugindir + @vst_plugindir ||= Pathname.new('~/Library/Audio/Plug-Ins/VST').expand_path + end + + def vst_plugindir=(_vst_plugindir) + @vst_plugindir = _vst_plugindir + end + def screen_saverdir @screen_saverdir ||= Pathname.new('~/Library/Screen Savers').expand_path end From 968e5be740c3af438174cac1c613f6f4ffdbdfb9 Mon Sep 17 00:00:00 2001 From: Joshua McKinney Date: Sun, 6 Dec 2015 12:25:20 -0600 Subject: [PATCH 2/2] Add 'Synth1' Audio Unit and VST plugins These are two seperate casks of the same plugin. One for the Audio Unit, and one for the VST. Neither is the main type as each DAW (Ableton Live, Cubase, Apple Logic, etc.) may use one or the other. --- Casks/synth1-au.rb | 12 ++++++++++++ Casks/synth1-vst.rb | 12 ++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 Casks/synth1-au.rb create mode 100644 Casks/synth1-vst.rb diff --git a/Casks/synth1-au.rb b/Casks/synth1-au.rb new file mode 100644 index 0000000000000..40c34701e0dbc --- /dev/null +++ b/Casks/synth1-au.rb @@ -0,0 +1,12 @@ +cask :v1 => 'synth1-au' do + version '1.13beta8' + sha256 '78660848d78c19cdda2597bd050a2ec95fa915cc1a1ab598bde0192a1cbc9a6f' + + url 'http://www.geocities.jp/daichi1969/softsynth/Synth1macau113beta8.zip' + name 'Synth1 (AU)' + name 'Synth 1 (AU)' + homepage 'http://www.geocities.jp/daichi1969/softsynth/' + license :gratis + + audio_unit_plugin 'Synth1.component' +end diff --git a/Casks/synth1-vst.rb b/Casks/synth1-vst.rb new file mode 100644 index 0000000000000..e50dbc304216d --- /dev/null +++ b/Casks/synth1-vst.rb @@ -0,0 +1,12 @@ +cask :v1 => 'synth1-vst' do + version '1.13beta8' + sha256 '6b172b9433358bce21f0af75a28505c3365d934fadee04a738336e7f5f601675' + + url 'http://www.geocities.jp/daichi1969/softsynth/Synth1macvst113beta8.zip' + name 'Synth1 (VST)' + name 'Synth 1 (VST)' + homepage 'http://www.geocities.jp/daichi1969/softsynth/' + license :gratis + + vst_plugin 'Synth1.vst' +end