From 330502e0c3321907ebde60a76e1d375436e6b115 Mon Sep 17 00:00:00 2001 From: Douglas Heriot Date: Wed, 23 Jan 2013 08:11:37 +1100 Subject: [PATCH] Simple first version that sends CC messages. Fixed rpath so SnoizeMIDI can link in current directory, /Library/Frameworks, or ~/Library/Frameworks --- DHSendMIDI.xcodeproj/project.pbxproj | 6 ++++-- DHSendMIDI/main.m | 30 ++++++++++++++++++++++------ MIDIApps | 2 +- 3 files changed, 29 insertions(+), 9 deletions(-) diff --git a/DHSendMIDI.xcodeproj/project.pbxproj b/DHSendMIDI.xcodeproj/project.pbxproj index 7b726b7..40981c4 100644 --- a/DHSendMIDI.xcodeproj/project.pbxproj +++ b/DHSendMIDI.xcodeproj/project.pbxproj @@ -257,7 +257,8 @@ buildSettings = { GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "DHSendMIDI/DHSendMIDI-Prefix.pch"; - LD_RUNPATH_SEARCH_PATHS = "@loader_path /Library/Frameworks ~/Library/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/. /Library/Frameworks ~/Library/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.6; PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Debug; @@ -267,7 +268,8 @@ buildSettings = { GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "DHSendMIDI/DHSendMIDI-Prefix.pch"; - LD_RUNPATH_SEARCH_PATHS = "@loader_path /Library/Frameworks ~/Library/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "@loader_path/. /Library/Frameworks ~/Library/Frameworks"; + MACOSX_DEPLOYMENT_TARGET = 10.6; PRODUCT_NAME = "$(TARGET_NAME)"; }; name = Release; diff --git a/DHSendMIDI/main.m b/DHSendMIDI/main.m index bd34b20..813b17a 100644 --- a/DHSendMIDI/main.m +++ b/DHSendMIDI/main.m @@ -7,15 +7,33 @@ // #import +#import int main(int argc, const char * argv[]) { - - @autoreleasepool { - - // insert code here... - NSLog(@"Hello, World!"); - + @autoreleasepool + { + if(argc != 3) + { + fprintf(stderr, "Must have 2 arguments - MIDI CC Controller and Value\n"); + return 1; + } + + SMPortOutputStream *os = [[SMPortOutputStream alloc] init]; + [os setEndpoints:[NSSet setWithArray:[SMDestinationEndpoint destinationEndpoints]]]; + + uint8_t byte1 = atoi(argv[1]); + uint8_t byte2 = atoi(argv[2]); + + SMVoiceMessage *message = [[SMVoiceMessage alloc] initWithTimeStamp:0 statusByte:SMVoiceMessageStatusControl]; + [message setTimeStampToNow]; + [message setDataByte1:byte1]; + [message setDataByte2:byte2]; + [message setChannel:1]; + + [os takeMIDIMessages:@[message]]; + + printf("Sent CC %u %u\n", byte1, byte2); } return 0; } diff --git a/MIDIApps b/MIDIApps index 0ead91f..0b63722 160000 --- a/MIDIApps +++ b/MIDIApps @@ -1 +1 @@ -Subproject commit 0ead91fcf79f82b76f2a1c0ca834e2d37a9cf311 +Subproject commit 0b637221520dba33cdab4e580c94b8bf6d9c89f2