Updated README with usage instructions

This commit is contained in:
Douglas Heriot 2013-01-23 17:46:09 +11:00
parent e8fe13fbfc
commit 44aabf6234
3 changed files with 265 additions and 4 deletions

View File

@ -0,0 +1,101 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0450"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A513A69216AF2F47000DF615"
BuildableName = "DHSendMIDI"
BlueprintName = "DHSendMIDI"
ReferencedContainer = "container:DHSendMIDI.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Release">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A513A69216AF2F47000DF615"
BuildableName = "DHSendMIDI"
BlueprintName = "DHSendMIDI"
ReferencedContainer = "container:DHSendMIDI.xcodeproj">
</BuildableReference>
</MacroExpansion>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A513A69216AF2F47000DF615"
BuildableName = "DHSendMIDI"
BlueprintName = "DHSendMIDI"
ReferencedContainer = "container:DHSendMIDI.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<CommandLineArguments>
<CommandLineArgument
argument = "--pc"
isEnabled = "YES">
</CommandLineArgument>
<CommandLineArgument
argument = "-v"
isEnabled = "YES">
</CommandLineArgument>
<CommandLineArgument
argument = "234"
isEnabled = "YES">
</CommandLineArgument>
</CommandLineArguments>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A513A69216AF2F47000DF615"
BuildableName = "DHSendMIDI"
BlueprintName = "DHSendMIDI"
ReferencedContainer = "container:DHSendMIDI.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Release">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
customArchiveName = "DHSendMIDI"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -0,0 +1,100 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0450"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A513A69216AF2F47000DF615"
BuildableName = "DHSendMIDI"
BlueprintName = "DHSendMIDI"
ReferencedContainer = "container:DHSendMIDI.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A513A69216AF2F47000DF615"
BuildableName = "DHSendMIDI"
BlueprintName = "DHSendMIDI"
ReferencedContainer = "container:DHSendMIDI.xcodeproj">
</BuildableReference>
</MacroExpansion>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A513A69216AF2F47000DF615"
BuildableName = "DHSendMIDI"
BlueprintName = "DHSendMIDI"
ReferencedContainer = "container:DHSendMIDI.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<CommandLineArguments>
<CommandLineArgument
argument = "--pc"
isEnabled = "YES">
</CommandLineArgument>
<CommandLineArgument
argument = "-v"
isEnabled = "YES">
</CommandLineArgument>
<CommandLineArgument
argument = "234"
isEnabled = "YES">
</CommandLineArgument>
</CommandLineArguments>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "A513A69216AF2F47000DF615"
BuildableName = "DHSendMIDI"
BlueprintName = "DHSendMIDI"
ReferencedContainer = "container:DHSendMIDI.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -1,14 +1,73 @@
# DHSendMIDI
DHSendMIDI is a simple tool for sending MIDI messages from a command line
DHSendMIDI is a simple tool for sending MIDI messages from an OS X command line.
## Sounds awesome! Downloads?
Theres no complicated config files to set up or anything it just simple sends MIDI messages for you!
Note that sometimes there could be a little delay as OS X wakes up its internal MIDI Server on each execution. It seems that if youve got other apps using MIDI also open, it can do this so quickly you probably wont notice it.
## Sounds awesome!
Theres no prebuilt downloads just yet (Ill get to that soon when its ready for general use)
## Usage
DHSendMIDI [options] byte1 [byte2]
### Voice Messages
You can use one of the self-explanatory options to set the kind of message youd like to send: `--note-on`, `--note-off`, `--aftertouch`, `--control-change`, `--program-change`, `--channel-pressure`, `--pitch-wheel`.
Some examples:
DHSendMIDI --control-change 7 9
DHSendMIDI --note-on 54 127
DHSendMIDI --note-off 54 0
DHSendMIDI --program-change 2
Note that program change and channel pressure messages only have one data byte to send.
DHSendMIDI --pitch-wheel 0 64
Note pitch bend messages are 2 bytes, making a 14-bit value (yes, 14 bits MIDI uses 7-bit values, and the 8th bit to represent control bytes). Its *little endian*, so values `0 64` places the wheel in the centre.
### Channel
Set the channel (a number 1-16) with `--channel` or `-c`
DHSendMIDI --channel 8 --cc 0 127
(Sends control change message setting controller `0` to value `127`, on channel `8`)
### Destination Device
You can specify a specific device to send to. When this option isnt specified, messages are sent to **all** devices.
For example, to send to IAC Driver, Bus 1:
DHSendMIDI --destination "Bus 1" --note-on 52 113
### Other Options
* `--verbose`, `-v` Prints message being sent
* `--version`, `-V` Displays version
### More Help
For slightly more detailed options (and short versions), see
DHSendMIDI --help
## Getting the Code
Note it uses SnoizeMIDI from a submodule, so clone recursively:
Note it includes SnoizeMIDI as a submodule, so clone recursively:
git clone --recursive git://github.com/DouglasHeriot/DHSendMIDI.git
@ -16,7 +75,8 @@ Note it uses SnoizeMIDI from a submodule, so clone recursively:
DHSendMIDI has a BSD-style license. See the file LICENSE.md
Also includes SnoizeMIDI
Also includes SnoizeMIDI:
### SnoizeMIDI