- Remove obsolete Growl framework
- Update BASS and friends to latest versions - Remove unused unmo3 library - Add entitlements to Hardened Runtime for unsigned plugins (for AU MIDI playback), and for executable memory use (for the USF recompiler) - TODO: Replace Growl branding with generic notification iconCQTexperiment
parent
14c6ce431a
commit
9a47c0ebe9
|
@ -7,13 +7,12 @@
|
||||||
//
|
//
|
||||||
|
|
||||||
#import <Cocoa/Cocoa.h>
|
#import <Cocoa/Cocoa.h>
|
||||||
#import <Growl/GrowlApplicationBridge.h>
|
|
||||||
|
|
||||||
#import "PlaybackController.h"
|
#import "PlaybackController.h"
|
||||||
#import "PlaylistEntry.h"
|
#import "PlaylistEntry.h"
|
||||||
|
|
||||||
@class AudioScrobbler;
|
@class AudioScrobbler;
|
||||||
@interface PlaybackEventController : NSObject <NSUserNotificationCenterDelegate, GrowlApplicationBridgeDelegate> {
|
@interface PlaybackEventController : NSObject <NSUserNotificationCenterDelegate> {
|
||||||
NSOperationQueue *queue;
|
NSOperationQueue *queue;
|
||||||
|
|
||||||
PlaylistEntry *entry;
|
PlaylistEntry *entry;
|
||||||
|
|
|
@ -38,7 +38,6 @@ typedef enum
|
||||||
[NSNumber numberWithBool:YES], @"enableAudioScrobbler",
|
[NSNumber numberWithBool:YES], @"enableAudioScrobbler",
|
||||||
[NSNumber numberWithBool:NO], @"automaticallyLaunchLastFM",
|
[NSNumber numberWithBool:NO], @"automaticallyLaunchLastFM",
|
||||||
[NSNumber numberWithBool:YES], @"notifications.enable",
|
[NSNumber numberWithBool:YES], @"notifications.enable",
|
||||||
[NSNumber numberWithBool:NO], @"notifications.use-growl",
|
|
||||||
[NSNumber numberWithBool:YES], @"notifications.itunes-style",
|
[NSNumber numberWithBool:YES], @"notifications.itunes-style",
|
||||||
[NSNumber numberWithBool:YES], @"notifications.show-album-art",
|
[NSNumber numberWithBool:YES], @"notifications.show-album-art",
|
||||||
nil];
|
nil];
|
||||||
|
@ -58,7 +57,6 @@ typedef enum
|
||||||
|
|
||||||
scrobbler = [[AudioScrobbler alloc] init];
|
scrobbler = [[AudioScrobbler alloc] init];
|
||||||
[[NSUserNotificationCenter defaultUserNotificationCenter] setDelegate:self];
|
[[NSUserNotificationCenter defaultUserNotificationCenter] setDelegate:self];
|
||||||
[GrowlApplicationBridge setGrowlDelegate:self];
|
|
||||||
|
|
||||||
entry = nil;
|
entry = nil;
|
||||||
}
|
}
|
||||||
|
@ -108,17 +106,7 @@ typedef enum
|
||||||
if ([AudioScrobbler isRunning]) return;
|
if ([AudioScrobbler isRunning]) return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ([defaults boolForKey:@"notifications.use-growl"]) {
|
{
|
||||||
// Note: We don't want to send a growl notification on resume.
|
|
||||||
[GrowlApplicationBridge notifyWithTitle:[pe title]
|
|
||||||
description:[pe artist]
|
|
||||||
notificationName:@"Stream Changed"
|
|
||||||
iconData:[pe albumArtInternal]
|
|
||||||
priority:0
|
|
||||||
isSticky:NO
|
|
||||||
clickContext:nil];
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
NSUserNotification *notif = [[NSUserNotification alloc] init];
|
NSUserNotification *notif = [[NSUserNotification alloc] init];
|
||||||
notif.title = [pe title];
|
notif.title = [pe title];
|
||||||
|
|
||||||
|
@ -194,16 +182,6 @@ typedef enum
|
||||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playbackDidPause:) name:CogPlaybackDidPauseNotficiation object:nil];
|
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playbackDidPause:) name:CogPlaybackDidPauseNotficiation object:nil];
|
||||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playbackDidResume:) name:CogPlaybackDidResumeNotficiation object:nil];
|
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playbackDidResume:) name:CogPlaybackDidResumeNotficiation object:nil];
|
||||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playbackDidStop:) name:CogPlaybackDidStopNotficiation object:nil];
|
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playbackDidStop:) name:CogPlaybackDidStopNotficiation object:nil];
|
||||||
|
|
||||||
[[NSUserDefaultsController sharedUserDefaultsController] addObserver:self forKeyPath:@"values.enableGrowlMist" options:0 context:nil];
|
|
||||||
|
|
||||||
[self toggleGrowlMist];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void) toggleGrowlMist
|
|
||||||
{
|
|
||||||
BOOL enableMist = [[NSUserDefaults standardUserDefaults] boolForKey:@"enableGrowlMist"];
|
|
||||||
[GrowlApplicationBridge setShouldUseBuiltInNotifications:enableMist];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void) observeValueForKeyPath:(NSString *)keyPath
|
- (void) observeValueForKeyPath:(NSString *)keyPath
|
||||||
|
@ -211,9 +189,6 @@ typedef enum
|
||||||
change:(NSDictionary *)change
|
change:(NSDictionary *)change
|
||||||
context:(void *)context
|
context:(void *)context
|
||||||
{
|
{
|
||||||
if ([keyPath isEqualToString:@"values.enableGrowlMist"]) {
|
|
||||||
[self toggleGrowlMist];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)playbackDidBegin:(NSNotification *)notification
|
- (void)playbackDidBegin:(NSNotification *)notification
|
||||||
|
@ -240,17 +215,6 @@ typedef enum
|
||||||
[queue addOperation:op];
|
[queue addOperation:op];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (NSDictionary *) registrationDictionaryForGrowl
|
|
||||||
{
|
|
||||||
NSArray *notifications = [NSArray arrayWithObjects:@"Stream Changed", nil];
|
|
||||||
|
|
||||||
return [NSDictionary dictionaryWithObjectsAndKeys:
|
|
||||||
@"Cog", GROWL_APP_NAME,
|
|
||||||
notifications, GROWL_NOTIFICATIONS_ALL,
|
|
||||||
notifications, GROWL_NOTIFICATIONS_DEFAULT,
|
|
||||||
nil];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)userNotificationCenter:(NSUserNotificationCenter *)center didActivateNotification:(NSUserNotification *)notification
|
- (void)userNotificationCenter:(NSUserNotificationCenter *)center didActivateNotification:(NSUserNotification *)notification
|
||||||
{
|
{
|
||||||
switch (notification.activationType)
|
switch (notification.activationType)
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
|
||||||
|
<true/>
|
||||||
|
<key>com.apple.security.cs.disable-library-validation</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
|
@ -9,8 +9,6 @@
|
||||||
/* Begin PBXBuildFile section */
|
/* Begin PBXBuildFile section */
|
||||||
07D971E60ED1DAA800E7602E /* TagEditorController.m in Sources */ = {isa = PBXBuildFile; fileRef = 07D971E50ED1DAA800E7602E /* TagEditorController.m */; };
|
07D971E60ED1DAA800E7602E /* TagEditorController.m in Sources */ = {isa = PBXBuildFile; fileRef = 07D971E50ED1DAA800E7602E /* TagEditorController.m */; };
|
||||||
07E18DF30D62B38400BB0E11 /* NSArray+ShuffleUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 07E18DF20D62B38400BB0E11 /* NSArray+ShuffleUtils.m */; };
|
07E18DF30D62B38400BB0E11 /* NSArray+ShuffleUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 07E18DF20D62B38400BB0E11 /* NSArray+ShuffleUtils.m */; };
|
||||||
170680630B950158006BA573 /* Growl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 170680620B950158006BA573 /* Growl.framework */; };
|
|
||||||
170680840B950164006BA573 /* Growl.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 170680620B950158006BA573 /* Growl.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
|
|
||||||
170B55940D6E5E7B006B9E92 /* StatusImageTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 170B55930D6E5E7B006B9E92 /* StatusImageTransformer.m */; };
|
170B55940D6E5E7B006B9E92 /* StatusImageTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 170B55930D6E5E7B006B9E92 /* StatusImageTransformer.m */; };
|
||||||
171B57DD0C091F2B00F6AFAF /* flac.icns in Resources */ = {isa = PBXBuildFile; fileRef = 171B57D90C091F2B00F6AFAF /* flac.icns */; };
|
171B57DD0C091F2B00F6AFAF /* flac.icns in Resources */ = {isa = PBXBuildFile; fileRef = 171B57D90C091F2B00F6AFAF /* flac.icns */; };
|
||||||
171B57DE0C091F2B00F6AFAF /* m4a.icns in Resources */ = {isa = PBXBuildFile; fileRef = 171B57DA0C091F2B00F6AFAF /* m4a.icns */; };
|
171B57DE0C091F2B00F6AFAF /* m4a.icns in Resources */ = {isa = PBXBuildFile; fileRef = 171B57DA0C091F2B00F6AFAF /* m4a.icns */; };
|
||||||
|
@ -753,7 +751,6 @@
|
||||||
83E6B7621816136F00D4576D /* Sparkle.framework in CopyFiles */,
|
83E6B7621816136F00D4576D /* Sparkle.framework in CopyFiles */,
|
||||||
838491881808593200E7332D /* NDHotKey.framework in CopyFiles */,
|
838491881808593200E7332D /* NDHotKey.framework in CopyFiles */,
|
||||||
17F561400C3BD4F30019975C /* CogAudio.framework in CopyFiles */,
|
17F561400C3BD4F30019975C /* CogAudio.framework in CopyFiles */,
|
||||||
170680840B950164006BA573 /* Growl.framework in CopyFiles */,
|
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
@ -1004,6 +1001,7 @@
|
||||||
83849170180843B200E7332D /* playDockBadgeColorful.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = playDockBadgeColorful.png; path = Images/playDockBadgeColorful.png; sourceTree = "<group>"; };
|
83849170180843B200E7332D /* playDockBadgeColorful.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = playDockBadgeColorful.png; path = Images/playDockBadgeColorful.png; sourceTree = "<group>"; };
|
||||||
83849171180843B200E7332D /* stopDockBadgeColorful.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = stopDockBadgeColorful.png; path = Images/stopDockBadgeColorful.png; sourceTree = "<group>"; };
|
83849171180843B200E7332D /* stopDockBadgeColorful.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = stopDockBadgeColorful.png; path = Images/stopDockBadgeColorful.png; sourceTree = "<group>"; };
|
||||||
838491791808585C00E7332D /* NDHotKey.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = NDHotKey.xcodeproj; path = Frameworks/NDHotKey/NDHotKey.xcodeproj; sourceTree = "<group>"; };
|
838491791808585C00E7332D /* NDHotKey.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = NDHotKey.xcodeproj; path = Frameworks/NDHotKey/NDHotKey.xcodeproj; sourceTree = "<group>"; };
|
||||||
|
83859520234FEB35004E9946 /* Cog.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Cog.entitlements; sourceTree = "<group>"; };
|
||||||
8399D4E01805A55000B503B1 /* XmlContainer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XmlContainer.m; sourceTree = "<group>"; };
|
8399D4E01805A55000B503B1 /* XmlContainer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XmlContainer.m; sourceTree = "<group>"; };
|
||||||
8399D4E11805A55000B503B1 /* XmlContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XmlContainer.h; sourceTree = "<group>"; };
|
8399D4E11805A55000B503B1 /* XmlContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XmlContainer.h; sourceTree = "<group>"; };
|
||||||
83B0669C180D5668008E3612 /* MIDI.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = MIDI.xcodeproj; path = Plugins/MIDI/MIDI.xcodeproj; sourceTree = "<group>"; };
|
83B0669C180D5668008E3612 /* MIDI.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = MIDI.xcodeproj; path = Plugins/MIDI/MIDI.xcodeproj; sourceTree = "<group>"; };
|
||||||
|
@ -1079,7 +1077,6 @@
|
||||||
17BB5CFA0B8A86350009ACB1 /* CoreAudio.framework in Frameworks */,
|
17BB5CFA0B8A86350009ACB1 /* CoreAudio.framework in Frameworks */,
|
||||||
17BB5CFB0B8A86350009ACB1 /* CoreAudioKit.framework in Frameworks */,
|
17BB5CFB0B8A86350009ACB1 /* CoreAudioKit.framework in Frameworks */,
|
||||||
17BB5EA60B8A87850009ACB1 /* IOKit.framework in Frameworks */,
|
17BB5EA60B8A87850009ACB1 /* IOKit.framework in Frameworks */,
|
||||||
170680630B950158006BA573 /* Growl.framework in Frameworks */,
|
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
@ -1510,6 +1507,7 @@
|
||||||
29B97314FDCFA39411CA2CEA /* Cog */ = {
|
29B97314FDCFA39411CA2CEA /* Cog */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
83859520234FEB35004E9946 /* Cog.entitlements */,
|
||||||
080E96DDFE201D6D7F000001 /* Classes */,
|
080E96DDFE201D6D7F000001 /* Classes */,
|
||||||
29B97315FDCFA39411CA2CEA /* Other Sources */,
|
29B97315FDCFA39411CA2CEA /* Other Sources */,
|
||||||
29B97317FDCFA39411CA2CEA /* Resources */,
|
29B97317FDCFA39411CA2CEA /* Resources */,
|
||||||
|
@ -2482,7 +2480,7 @@
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
shellPath = /bin/sh;
|
shellPath = /bin/sh;
|
||||||
shellScript = "\"${PROJECT_DIR}/Scripts/genversion.sh\"\nif [ \"${EXPANDED_CODE_SIGN_IDENTITY_NAME}\" != \"\" ]; then codesign --verbose --force --deep -o runtime --sign \"${EXPANDED_CODE_SIGN_IDENTITY_NAME}\" \"${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}\"; fi\n";
|
shellScript = "\"${PROJECT_DIR}/Scripts/genversion.sh\"\nif [ \"${EXPANDED_CODE_SIGN_IDENTITY_NAME}\" != \"\" ]; then codesign --verbose --force --deep -o runtime --sign \"${EXPANDED_CODE_SIGN_IDENTITY_NAME}\" \"${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/Contents/Frameworks/Sparkle.framework/Versions/A/Resources/AutoUpdate.app\"; fi\n";
|
||||||
};
|
};
|
||||||
/* End PBXShellScriptBuildPhase section */
|
/* End PBXShellScriptBuildPhase section */
|
||||||
|
|
||||||
|
@ -2823,13 +2821,17 @@
|
||||||
C01FCF4B08A954540054247B /* Debug */ = {
|
C01FCF4B08A954540054247B /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
CODE_SIGN_ENTITLEMENTS = Cog.entitlements;
|
||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
COPY_PHASE_STRIP = NO;
|
COPY_PHASE_STRIP = NO;
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
ENABLE_HARDENED_RUNTIME = YES;
|
ENABLE_HARDENED_RUNTIME = YES;
|
||||||
FRAMEWORK_SEARCH_PATHS = ThirdParty/Frameworks;
|
FRAMEWORK_SEARCH_PATHS = (
|
||||||
|
ThirdParty/Frameworks,
|
||||||
|
"$(PROJECT_DIR)/ThirdParty/Frameworks",
|
||||||
|
);
|
||||||
GCC_DYNAMIC_NO_PIC = NO;
|
GCC_DYNAMIC_NO_PIC = NO;
|
||||||
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
|
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
|
||||||
GCC_OPTIMIZATION_LEVEL = 0;
|
GCC_OPTIMIZATION_LEVEL = 0;
|
||||||
|
@ -2860,12 +2862,16 @@
|
||||||
C01FCF4C08A954540054247B /* Release */ = {
|
C01FCF4C08A954540054247B /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
CODE_SIGN_ENTITLEMENTS = Cog.entitlements;
|
||||||
CODE_SIGN_IDENTITY = "Apple Development";
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = "";
|
||||||
ENABLE_HARDENED_RUNTIME = YES;
|
ENABLE_HARDENED_RUNTIME = YES;
|
||||||
FRAMEWORK_SEARCH_PATHS = ThirdParty/Frameworks;
|
FRAMEWORK_SEARCH_PATHS = (
|
||||||
|
ThirdParty/Frameworks,
|
||||||
|
"$(PROJECT_DIR)/ThirdParty/Frameworks",
|
||||||
|
);
|
||||||
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
|
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
|
||||||
INFOPLIST_FILE = Info.plist;
|
INFOPLIST_FILE = Info.plist;
|
||||||
INSTALL_PATH = "$(HOME)/Applications";
|
INSTALL_PATH = "$(HOME)/Applications";
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="11762" systemVersion="16D32" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="15400" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="macosx"/>
|
<deployment identifier="macosx"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="11762"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="15400"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<objects>
|
<objects>
|
||||||
|
@ -33,11 +33,11 @@
|
||||||
<rect key="frame" x="0.0" y="0.0" width="500" height="131"/>
|
<rect key="frame" x="0.0" y="0.0" width="500" height="131"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField verticalHuggingPriority="750" id="28" customClass="HotKeyControl">
|
<textField verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="28" customClass="HotKeyControl">
|
||||||
<rect key="frame" x="91" y="42" width="82" height="19"/>
|
<rect key="frame" x="91" y="42" width="82" height="19"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="left" drawsBackground="YES" id="202">
|
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="left" drawsBackground="YES" id="202">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
<font key="font" metaFont="label" size="11"/>
|
||||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
|
@ -45,11 +45,11 @@
|
||||||
<action selector="hotKeyChanged:" target="6" id="38"/>
|
<action selector="hotKeyChanged:" target="6" id="38"/>
|
||||||
</connections>
|
</connections>
|
||||||
</textField>
|
</textField>
|
||||||
<textField verticalHuggingPriority="750" id="2Eh-AY-mzV" customClass="HotKeyControl">
|
<textField verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="2Eh-AY-mzV" customClass="HotKeyControl">
|
||||||
<rect key="frame" x="91" y="17" width="82" height="19"/>
|
<rect key="frame" x="91" y="17" width="82" height="19"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="left" drawsBackground="YES" id="A8w-Tx-TAd">
|
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="left" drawsBackground="YES" id="A8w-Tx-TAd">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
<font key="font" metaFont="label" size="11"/>
|
||||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
|
@ -57,11 +57,11 @@
|
||||||
<action selector="hotKeyChanged:" target="6" id="WrA-Jp-1SV"/>
|
<action selector="hotKeyChanged:" target="6" id="WrA-Jp-1SV"/>
|
||||||
</connections>
|
</connections>
|
||||||
</textField>
|
</textField>
|
||||||
<textField verticalHuggingPriority="750" id="27" customClass="HotKeyControl">
|
<textField verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="27" customClass="HotKeyControl">
|
||||||
<rect key="frame" x="91" y="67" width="82" height="19"/>
|
<rect key="frame" x="91" y="67" width="82" height="19"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="left" drawsBackground="YES" id="201">
|
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="left" drawsBackground="YES" id="201">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
<font key="font" metaFont="label" size="11"/>
|
||||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
|
@ -69,7 +69,7 @@
|
||||||
<action selector="hotKeyChanged:" target="6" id="37"/>
|
<action selector="hotKeyChanged:" target="6" id="37"/>
|
||||||
</connections>
|
</connections>
|
||||||
</textField>
|
</textField>
|
||||||
<textField verticalHuggingPriority="750" id="26">
|
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="26">
|
||||||
<rect key="frame" x="42" y="44" width="44" height="17"/>
|
<rect key="frame" x="42" y="44" width="44" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="right" title="Next:" id="200">
|
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="right" title="Next:" id="200">
|
||||||
|
@ -78,7 +78,7 @@
|
||||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<textField verticalHuggingPriority="750" id="25">
|
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="25">
|
||||||
<rect key="frame" x="17" y="69" width="69" height="17"/>
|
<rect key="frame" x="17" y="69" width="69" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="right" title="Previous:" id="199">
|
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="right" title="Previous:" id="199">
|
||||||
|
@ -87,7 +87,7 @@
|
||||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<textField verticalHuggingPriority="750" id="24">
|
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="24">
|
||||||
<rect key="frame" x="47" y="94" width="39" height="17"/>
|
<rect key="frame" x="47" y="94" width="39" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="right" title="Play:" id="198">
|
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="right" title="Play:" id="198">
|
||||||
|
@ -96,11 +96,11 @@
|
||||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<textField verticalHuggingPriority="750" id="16" customClass="HotKeyControl">
|
<textField verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="16" customClass="HotKeyControl">
|
||||||
<rect key="frame" x="91" y="92" width="82" height="19"/>
|
<rect key="frame" x="91" y="92" width="82" height="19"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="left" drawsBackground="YES" id="196">
|
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="left" drawsBackground="YES" id="196">
|
||||||
<font key="font" metaFont="smallSystem"/>
|
<font key="font" metaFont="label" size="11"/>
|
||||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
|
@ -108,7 +108,7 @@
|
||||||
<action selector="hotKeyChanged:" target="6" id="20"/>
|
<action selector="hotKeyChanged:" target="6" id="20"/>
|
||||||
</connections>
|
</connections>
|
||||||
</textField>
|
</textField>
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" id="eid-M4-6Cs">
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="eid-M4-6Cs">
|
||||||
<rect key="frame" x="24" y="19" width="62" height="17"/>
|
<rect key="frame" x="24" y="19" width="62" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Spam:" id="SMd-GA-jrH">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Spam:" id="SMd-GA-jrH">
|
||||||
|
@ -118,12 +118,13 @@
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
</subviews>
|
</subviews>
|
||||||
|
<point key="canvasLocation" x="123" y="139"/>
|
||||||
</customView>
|
</customView>
|
||||||
<customView id="50" userLabel="UpdatesView">
|
<customView id="50" userLabel="UpdatesView">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="500" height="82"/>
|
<rect key="frame" x="0.0" y="0.0" width="500" height="82"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField verticalHuggingPriority="750" id="111">
|
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="111">
|
||||||
<rect key="frame" x="17" y="23" width="92" height="17"/>
|
<rect key="frame" x="17" y="23" width="92" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<textFieldCell key="cell" sendsActionOnEndEditing="YES" title="Update Feed:" id="209">
|
<textFieldCell key="cell" sendsActionOnEndEditing="YES" title="Update Feed:" id="209">
|
||||||
|
@ -132,12 +133,12 @@
|
||||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<popUpButton verticalHuggingPriority="750" id="106">
|
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="106">
|
||||||
<rect key="frame" x="111" y="16" width="207" height="26"/>
|
<rect key="frame" x="111" y="16" width="207" height="26"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" inset="2" arrowPosition="arrowAtCenter" preferredEdge="maxY" id="208">
|
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" inset="2" arrowPosition="arrowAtCenter" preferredEdge="maxY" id="208">
|
||||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="menu"/>
|
<font key="font" metaFont="system"/>
|
||||||
<menu key="menu" title="OtherViews" id="107">
|
<menu key="menu" title="OtherViews" id="107">
|
||||||
<items>
|
<items>
|
||||||
<menuItem title="Stable" id="108"/>
|
<menuItem title="Stable" id="108"/>
|
||||||
|
@ -153,7 +154,7 @@
|
||||||
<binding destination="52" name="selectedObject" keyPath="values.SUFeedURL" previousBinding="145" id="147"/>
|
<binding destination="52" name="selectedObject" keyPath="values.SUFeedURL" previousBinding="145" id="147"/>
|
||||||
</connections>
|
</connections>
|
||||||
</popUpButton>
|
</popUpButton>
|
||||||
<button id="51">
|
<button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="51">
|
||||||
<rect key="frame" x="18" y="46" width="299" height="18"/>
|
<rect key="frame" x="18" y="46" width="299" height="18"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<buttonCell key="cell" type="check" title="Automatically check for updates on startup" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="207">
|
<buttonCell key="cell" type="check" title="Automatically check for updates on startup" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="207">
|
||||||
|
@ -177,7 +178,7 @@
|
||||||
<rect key="frame" x="0.0" y="0.0" width="500" height="103"/>
|
<rect key="frame" x="0.0" y="0.0" width="500" height="103"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<textField verticalHuggingPriority="750" id="65">
|
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="65">
|
||||||
<rect key="frame" x="17" y="66" width="103" height="17"/>
|
<rect key="frame" x="17" y="66" width="103" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="right" title="Output Device: " id="211">
|
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="right" title="Output Device: " id="211">
|
||||||
|
@ -186,12 +187,12 @@
|
||||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<popUpButton verticalHuggingPriority="750" id="60">
|
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="60">
|
||||||
<rect key="frame" x="122" y="60" width="252" height="26"/>
|
<rect key="frame" x="122" y="60" width="252" height="26"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<popUpButtonCell key="cell" type="push" title="Item1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" inset="2" arrowPosition="arrowAtCenter" preferredEdge="maxY" selectedItem="62" id="210">
|
<popUpButtonCell key="cell" type="push" title="Item1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" inset="2" arrowPosition="arrowAtCenter" preferredEdge="maxY" selectedItem="62" id="210">
|
||||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="menu"/>
|
<font key="font" metaFont="system"/>
|
||||||
<menu key="menu" title="OtherViews" id="61">
|
<menu key="menu" title="OtherViews" id="61">
|
||||||
<items>
|
<items>
|
||||||
<menuItem title="Item1" state="on" id="62"/>
|
<menuItem title="Item1" state="on" id="62"/>
|
||||||
|
@ -207,7 +208,7 @@
|
||||||
<binding destination="59" name="selectedIndex" keyPath="selectionIndex" previousBinding="71" id="72"/>
|
<binding destination="59" name="selectedIndex" keyPath="selectionIndex" previousBinding="71" id="72"/>
|
||||||
</connections>
|
</connections>
|
||||||
</popUpButton>
|
</popUpButton>
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" id="zkP-2E-1Kc">
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="zkP-2E-1Kc">
|
||||||
<rect key="frame" x="17" y="29" width="103" height="17"/>
|
<rect key="frame" x="17" y="29" width="103" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Volume Level:" id="wK4-EF-8Wa">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Volume Level:" id="wK4-EF-8Wa">
|
||||||
|
@ -216,12 +217,12 @@
|
||||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<popUpButton verticalHuggingPriority="750" id="2v7-Ef-ekr">
|
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="2v7-Ef-ekr">
|
||||||
<rect key="frame" x="123" y="24" width="251" height="26"/>
|
<rect key="frame" x="123" y="24" width="251" height="26"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="vmS-eb-zen">
|
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" id="vmS-eb-zen">
|
||||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="menu"/>
|
<font key="font" metaFont="system"/>
|
||||||
<menu key="menu" title="OtherViews" id="V8o-Xy-HUW">
|
<menu key="menu" title="OtherViews" id="V8o-Xy-HUW">
|
||||||
<items>
|
<items>
|
||||||
<menuItem title="Item 1" id="oWh-lD-mFH"/>
|
<menuItem title="Item 1" id="oWh-lD-mFH"/>
|
||||||
|
@ -274,7 +275,7 @@
|
||||||
<rect key="frame" x="0.0" y="0.0" width="500" height="94"/>
|
<rect key="frame" x="0.0" y="0.0" width="500" height="94"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<button id="3gi-0d-78Z">
|
<button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="3gi-0d-78Z">
|
||||||
<rect key="frame" x="18" y="38" width="396" height="18"/>
|
<rect key="frame" x="18" y="38" width="396" height="18"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<buttonCell key="cell" type="check" title="Automatically launch Last.fm client" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="ze8-9p-SeX">
|
<buttonCell key="cell" type="check" title="Automatically launch Last.fm client" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="ze8-9p-SeX">
|
||||||
|
@ -285,7 +286,7 @@
|
||||||
<binding destination="52" name="value" keyPath="values.automaticallyLaunchLastFM" id="Ere-1R-mgh"/>
|
<binding destination="52" name="value" keyPath="values.automaticallyLaunchLastFM" id="Ere-1R-mgh"/>
|
||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<button id="ABj-cO-MaV">
|
<button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="ABj-cO-MaV">
|
||||||
<rect key="frame" x="18" y="58" width="396" height="18"/>
|
<rect key="frame" x="18" y="58" width="396" height="18"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<buttonCell key="cell" type="check" title="Enable Last.fm support (Last.fm client must be installed)" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="2N5-DH-IO6">
|
<buttonCell key="cell" type="check" title="Enable Last.fm support (Last.fm client must be installed)" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="2N5-DH-IO6">
|
||||||
|
@ -296,7 +297,7 @@
|
||||||
<binding destination="52" name="value" keyPath="values.enableAudioScrobbler" id="R2p-gP-5oR"/>
|
<binding destination="52" name="value" keyPath="values.enableAudioScrobbler" id="R2p-gP-5oR"/>
|
||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<button id="Hi4-pa-uDu">
|
<button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Hi4-pa-uDu">
|
||||||
<rect key="frame" x="18" y="18" width="389" height="18"/>
|
<rect key="frame" x="18" y="18" width="389" height="18"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<buttonCell key="cell" type="check" title="Allow Last.fm client to control media keys" bezelStyle="regularSquare" imagePosition="left" inset="2" id="4Yi-67-ivc">
|
<buttonCell key="cell" type="check" title="Allow Last.fm client to control media keys" bezelStyle="regularSquare" imagePosition="left" inset="2" id="4Yi-67-ivc">
|
||||||
|
@ -309,11 +310,11 @@
|
||||||
</button>
|
</button>
|
||||||
</subviews>
|
</subviews>
|
||||||
</customView>
|
</customView>
|
||||||
<customView misplaced="YES" id="231" userLabel="PlaylistView">
|
<customView id="231" userLabel="PlaylistView">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="500" height="139"/>
|
<rect key="frame" x="0.0" y="0.0" width="500" height="139"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<button id="310">
|
<button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="310">
|
||||||
<rect key="frame" x="18" y="35" width="395" height="18"/>
|
<rect key="frame" x="18" y="35" width="395" height="18"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<buttonCell key="cell" type="check" title="Read CUE sheets when adding folders to playlist" bezelStyle="regularSquare" imagePosition="left" alignment="left" state="on" inset="2" id="311">
|
<buttonCell key="cell" type="check" title="Read CUE sheets when adding folders to playlist" bezelStyle="regularSquare" imagePosition="left" alignment="left" state="on" inset="2" id="311">
|
||||||
|
@ -324,7 +325,7 @@
|
||||||
<binding destination="52" name="value" keyPath="values.readCueSheetsInFolders" id="328"/>
|
<binding destination="52" name="value" keyPath="values.readCueSheetsInFolders" id="328"/>
|
||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<textField verticalHuggingPriority="750" id="261">
|
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="261">
|
||||||
<rect key="frame" x="17" y="59" width="138" height="35"/>
|
<rect key="frame" x="17" y="59" width="138" height="35"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" title="When opening file with ⇧ or ⌃⌘ held:" id="262">
|
<textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" title="When opening file with ⇧ or ⌃⌘ held:" id="262">
|
||||||
|
@ -333,7 +334,7 @@
|
||||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<textField verticalHuggingPriority="750" id="259">
|
<textField verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="259">
|
||||||
<rect key="frame" x="17" y="102" width="129" height="17"/>
|
<rect key="frame" x="17" y="102" width="129" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<textFieldCell key="cell" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="When opening files:" id="260">
|
<textFieldCell key="cell" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="When opening files:" id="260">
|
||||||
|
@ -342,12 +343,12 @@
|
||||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<popUpButton verticalHuggingPriority="750" id="253">
|
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="253">
|
||||||
<rect key="frame" x="157" y="63" width="257" height="26"/>
|
<rect key="frame" x="157" y="63" width="257" height="26"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" inset="2" id="254">
|
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" borderStyle="borderAndBezel" inset="2" id="254">
|
||||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="menu"/>
|
<font key="font" metaFont="system"/>
|
||||||
<menu key="menu" title="OtherViews" id="255">
|
<menu key="menu" title="OtherViews" id="255">
|
||||||
<items>
|
<items>
|
||||||
<menuItem title="Item 1" id="256"/>
|
<menuItem title="Item 1" id="256"/>
|
||||||
|
@ -363,12 +364,12 @@
|
||||||
<binding destination="52" name="selectedObject" keyPath="values.openingFilesAlteredBehavior" previousBinding="308" id="309"/>
|
<binding destination="52" name="selectedObject" keyPath="values.openingFilesAlteredBehavior" previousBinding="308" id="309"/>
|
||||||
</connections>
|
</connections>
|
||||||
</popUpButton>
|
</popUpButton>
|
||||||
<popUpButton verticalHuggingPriority="750" id="247">
|
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="247">
|
||||||
<rect key="frame" x="157" y="95" width="257" height="26"/>
|
<rect key="frame" x="157" y="95" width="257" height="26"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" inset="2" selectedItem="250" id="248">
|
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" inset="2" selectedItem="250" id="248">
|
||||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="menu"/>
|
<font key="font" metaFont="system"/>
|
||||||
<menu key="menu" title="OtherViews" id="249">
|
<menu key="menu" title="OtherViews" id="249">
|
||||||
<items>
|
<items>
|
||||||
<menuItem title="Item 1" state="on" id="250"/>
|
<menuItem title="Item 1" state="on" id="250"/>
|
||||||
|
@ -384,7 +385,7 @@
|
||||||
<binding destination="52" name="selectedObject" keyPath="values.openingFilesBehavior" previousBinding="305" id="306"/>
|
<binding destination="52" name="selectedObject" keyPath="values.openingFilesBehavior" previousBinding="305" id="306"/>
|
||||||
</connections>
|
</connections>
|
||||||
</popUpButton>
|
</popUpButton>
|
||||||
<button misplaced="YES" id="6QS-GF-Vnc">
|
<button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="6QS-GF-Vnc">
|
||||||
<rect key="frame" x="18" y="15" width="388" height="18"/>
|
<rect key="frame" x="18" y="15" width="388" height="18"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<buttonCell key="cell" type="check" title="Resume playback on startup" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="fUg-Cg-gXa">
|
<buttonCell key="cell" type="check" title="Resume playback on startup" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="fUg-Cg-gXa">
|
||||||
|
@ -399,10 +400,10 @@
|
||||||
<point key="canvasLocation" x="-78" y="-31.5"/>
|
<point key="canvasLocation" x="-78" y="-31.5"/>
|
||||||
</customView>
|
</customView>
|
||||||
<customView id="U4w-jw-ca5" userLabel="GrowlView">
|
<customView id="U4w-jw-ca5" userLabel="GrowlView">
|
||||||
<rect key="frame" x="0.0" y="-5" width="500" height="114"/>
|
<rect key="frame" x="0.0" y="0.0" width="500" height="114"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<button id="njn-Xl-9k9">
|
<button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="njn-Xl-9k9">
|
||||||
<rect key="frame" x="18" y="78" width="158" height="18"/>
|
<rect key="frame" x="18" y="78" width="158" height="18"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<buttonCell key="cell" type="check" title="Enable notifications" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="hqT-nY-NoU">
|
<buttonCell key="cell" type="check" title="Enable notifications" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="hqT-nY-NoU">
|
||||||
|
@ -413,8 +414,8 @@
|
||||||
<binding destination="52" name="value" keyPath="values.notifications.enable" id="toQ-Hx-kYp"/>
|
<binding destination="52" name="value" keyPath="values.notifications.enable" id="toQ-Hx-kYp"/>
|
||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<button id="AIz-WH-Wqk">
|
<button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="AIz-WH-Wqk">
|
||||||
<rect key="frame" x="18" y="38" width="131" height="18"/>
|
<rect key="frame" x="18" y="58" width="131" height="18"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<buttonCell key="cell" type="check" title="Use iTunes style" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="cOb-hQ-7K8">
|
<buttonCell key="cell" type="check" title="Use iTunes style" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="cOb-hQ-7K8">
|
||||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||||
|
@ -424,8 +425,8 @@
|
||||||
<binding destination="52" name="value" keyPath="values.notifications.itunes-style" id="jmN-ov-rRF"/>
|
<binding destination="52" name="value" keyPath="values.notifications.itunes-style" id="jmN-ov-rRF"/>
|
||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<button id="LLn-jv-hmj">
|
<button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="LLn-jv-hmj">
|
||||||
<rect key="frame" x="18" y="18" width="131" height="18"/>
|
<rect key="frame" x="18" y="38" width="131" height="18"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<buttonCell key="cell" type="check" title="Show album art" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="RGf-4D-3NW">
|
<buttonCell key="cell" type="check" title="Show album art" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="RGf-4D-3NW">
|
||||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||||
|
@ -435,17 +436,6 @@
|
||||||
<binding destination="52" name="value" keyPath="values.notifications.show-album-art" id="nrZ-bM-zQX"/>
|
<binding destination="52" name="value" keyPath="values.notifications.show-album-art" id="nrZ-bM-zQX"/>
|
||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<button id="iyk-MU-PT8">
|
|
||||||
<rect key="frame" x="18" y="58" width="150" height="18"/>
|
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
|
||||||
<buttonCell key="cell" type="check" title="Use Growl" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="GbM-Kf-xzx">
|
|
||||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
|
||||||
<font key="font" metaFont="system"/>
|
|
||||||
</buttonCell>
|
|
||||||
<connections>
|
|
||||||
<binding destination="52" name="value" keyPath="values.notifications.use-growl" id="ihr-Z4-e0x"/>
|
|
||||||
</connections>
|
|
||||||
</button>
|
|
||||||
</subviews>
|
</subviews>
|
||||||
<point key="canvasLocation" x="348" y="132"/>
|
<point key="canvasLocation" x="348" y="132"/>
|
||||||
</customView>
|
</customView>
|
||||||
|
@ -453,7 +443,7 @@
|
||||||
<rect key="frame" x="0.0" y="0.0" width="500" height="54"/>
|
<rect key="frame" x="0.0" y="0.0" width="500" height="54"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<button id="haX-dq-OIe">
|
<button fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="haX-dq-OIe">
|
||||||
<rect key="frame" x="18" y="18" width="329" height="18"/>
|
<rect key="frame" x="18" y="18" width="329" height="18"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
<buttonCell key="cell" type="check" title="Colorful dock icons" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="GdX-5e-NeU">
|
<buttonCell key="cell" type="check" title="Colorful dock icons" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="GdX-5e-NeU">
|
||||||
|
@ -470,7 +460,7 @@
|
||||||
<rect key="frame" x="0.0" y="0.0" width="500" height="137"/>
|
<rect key="frame" x="0.0" y="0.0" width="500" height="137"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<button verticalHuggingPriority="750" id="SBO-WF-DVS" userLabel="Push Button - Select a SoundFont">
|
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="SBO-WF-DVS" userLabel="Push Button - Select a SoundFont">
|
||||||
<rect key="frame" x="14" y="93" width="160" height="32"/>
|
<rect key="frame" x="14" y="93" width="160" height="32"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<buttonCell key="cell" type="push" title="Select a SoundFont" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="yeL-9c-lFq" userLabel="Button Cell - Select a SoundFont">
|
<buttonCell key="cell" type="push" title="Select a SoundFont" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="yeL-9c-lFq" userLabel="Button Cell - Select a SoundFont">
|
||||||
|
@ -481,7 +471,7 @@
|
||||||
<action selector="setSoundFont:" target="i5B-ga-Atm" id="b2t-MX-dua"/>
|
<action selector="setSoundFont:" target="i5B-ga-Atm" id="b2t-MX-dua"/>
|
||||||
</connections>
|
</connections>
|
||||||
</button>
|
</button>
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" id="FRC-Dh-BS2" userLabel="Text Field - Selected:">
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="FRC-Dh-BS2" userLabel="Text Field - Selected:">
|
||||||
<rect key="frame" x="173" y="102" width="61" height="17"/>
|
<rect key="frame" x="173" y="102" width="61" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Selected:" id="KJz-qS-IcO" userLabel="Text Field Cell - Selected">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Selected:" id="KJz-qS-IcO" userLabel="Text Field Cell - Selected">
|
||||||
|
@ -490,7 +480,7 @@
|
||||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" id="cZr-2d-6cv">
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="cZr-2d-6cv">
|
||||||
<rect key="frame" x="236" y="102" width="220" height="17"/>
|
<rect key="frame" x="236" y="102" width="220" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Label" id="ECB-P0-pve">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Label" id="ECB-P0-pve">
|
||||||
|
@ -507,7 +497,7 @@
|
||||||
</connections>
|
</connections>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" id="G86-18-hiK">
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="G86-18-hiK">
|
||||||
<rect key="frame" x="32" y="48" width="138" height="17"/>
|
<rect key="frame" x="32" y="48" width="138" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Resampling Quality:" id="eX0-PC-iVo">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Resampling Quality:" id="eX0-PC-iVo">
|
||||||
|
@ -516,7 +506,7 @@
|
||||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" id="4uG-vW-B64">
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="4uG-vW-B64">
|
||||||
<rect key="frame" x="79" y="75" width="91" height="17"/>
|
<rect key="frame" x="79" y="75" width="91" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="MIDI Plugin:" id="n5F-dq-NZh">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="MIDI Plugin:" id="n5F-dq-NZh">
|
||||||
|
@ -525,12 +515,12 @@
|
||||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<popUpButton verticalHuggingPriority="750" id="8Nj-G4-5ag">
|
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="8Nj-G4-5ag">
|
||||||
<rect key="frame" x="173" y="70" width="164" height="26"/>
|
<rect key="frame" x="173" y="70" width="164" height="26"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="vaQ-pZ-jXy" id="xcv-1b-kTI">
|
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="vaQ-pZ-jXy" id="xcv-1b-kTI">
|
||||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="menu"/>
|
<font key="font" metaFont="system"/>
|
||||||
<menu key="menu" id="pRc-b6-sMR">
|
<menu key="menu" id="pRc-b6-sMR">
|
||||||
<items>
|
<items>
|
||||||
<menuItem title="Item 1" state="on" id="vaQ-pZ-jXy"/>
|
<menuItem title="Item 1" state="on" id="vaQ-pZ-jXy"/>
|
||||||
|
@ -546,7 +536,7 @@
|
||||||
<binding destination="52" name="selectedObject" keyPath="values.midi.plugin" previousBinding="6JE-ba-47Z" id="n1u-ie-870"/>
|
<binding destination="52" name="selectedObject" keyPath="values.midi.plugin" previousBinding="6JE-ba-47Z" id="n1u-ie-870"/>
|
||||||
</connections>
|
</connections>
|
||||||
</popUpButton>
|
</popUpButton>
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" id="K5c-km-7Qa">
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="K5c-km-7Qa">
|
||||||
<rect key="frame" x="50" y="23" width="120" height="17"/>
|
<rect key="frame" x="50" y="23" width="120" height="17"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="MIDI Flavor:" id="FQF-vJ-hBx">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="MIDI Flavor:" id="FQF-vJ-hBx">
|
||||||
|
@ -555,12 +545,12 @@
|
||||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<popUpButton verticalHuggingPriority="750" id="1Yw-25-Gbs">
|
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="1Yw-25-Gbs">
|
||||||
<rect key="frame" x="173" y="17" width="164" height="26"/>
|
<rect key="frame" x="173" y="17" width="164" height="26"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" enabled="NO" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" autoenablesItems="NO" altersStateOfSelectedItem="NO" selectedItem="XzK-h2-vIT" id="qzt-Ox-taI">
|
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" enabled="NO" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" autoenablesItems="NO" altersStateOfSelectedItem="NO" selectedItem="XzK-h2-vIT" id="qzt-Ox-taI">
|
||||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="menu"/>
|
<font key="font" metaFont="system"/>
|
||||||
<menu key="menu" autoenablesItems="NO" id="q1g-E5-NwQ">
|
<menu key="menu" autoenablesItems="NO" id="q1g-E5-NwQ">
|
||||||
<items>
|
<items>
|
||||||
<menuItem title="Item 1" id="XzK-h2-vIT"/>
|
<menuItem title="Item 1" id="XzK-h2-vIT"/>
|
||||||
|
@ -581,12 +571,12 @@
|
||||||
</binding>
|
</binding>
|
||||||
</connections>
|
</connections>
|
||||||
</popUpButton>
|
</popUpButton>
|
||||||
<popUpButton verticalHuggingPriority="750" id="E1D-Bo-ZVf">
|
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="E1D-Bo-ZVf">
|
||||||
<rect key="frame" x="173" y="43" width="164" height="26"/>
|
<rect key="frame" x="173" y="43" width="164" height="26"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="3Gx-cs-3B0" id="5q7-83-7V6">
|
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="3Gx-cs-3B0" id="5q7-83-7V6">
|
||||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||||
<font key="font" metaFont="menu"/>
|
<font key="font" metaFont="system"/>
|
||||||
<menu key="menu" title="OtherViews" id="HKM-FW-dhH">
|
<menu key="menu" title="OtherViews" id="HKM-FW-dhH">
|
||||||
<items>
|
<items>
|
||||||
<menuItem title="Item 1" state="on" id="3Gx-cs-3B0"/>
|
<menuItem title="Item 1" state="on" id="3Gx-cs-3B0"/>
|
||||||
|
|
|
@ -354,7 +354,7 @@
|
||||||
TargetAttributes = {
|
TargetAttributes = {
|
||||||
8D5B49AC048680CD000E48DA = {
|
8D5B49AC048680CD000E48DA = {
|
||||||
DevelopmentTeam = N6E749HJ2X;
|
DevelopmentTeam = N6E749HJ2X;
|
||||||
ProvisioningStyle = Manual;
|
ProvisioningStyle = Automatic;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -496,8 +496,11 @@
|
||||||
1DEB913B08733D840010E9CD /* Debug */ = {
|
1DEB913B08733D840010E9CD /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
COPY_PHASE_STRIP = NO;
|
COPY_PHASE_STRIP = NO;
|
||||||
|
DEVELOPMENT_TEAM = "";
|
||||||
GCC_DYNAMIC_NO_PIC = NO;
|
GCC_DYNAMIC_NO_PIC = NO;
|
||||||
GCC_MODEL_TUNING = G5;
|
GCC_MODEL_TUNING = G5;
|
||||||
GCC_OPTIMIZATION_LEVEL = 0;
|
GCC_OPTIMIZATION_LEVEL = 0;
|
||||||
|
@ -507,6 +510,7 @@
|
||||||
INSTALL_PATH = "$(HOME)/Library/Bundles";
|
INSTALL_PATH = "$(HOME)/Library/Bundles";
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = org.cogx.cog.preferences;
|
PRODUCT_BUNDLE_IDENTIFIER = org.cogx.cog.preferences;
|
||||||
PRODUCT_NAME = General;
|
PRODUCT_NAME = General;
|
||||||
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
SKIP_INSTALL = YES;
|
SKIP_INSTALL = YES;
|
||||||
WRAPPER_EXTENSION = preferencePane;
|
WRAPPER_EXTENSION = preferencePane;
|
||||||
ZERO_LINK = YES;
|
ZERO_LINK = YES;
|
||||||
|
@ -516,7 +520,10 @@
|
||||||
1DEB913C08733D840010E9CD /* Release */ = {
|
1DEB913C08733D840010E9CD /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
|
CODE_SIGN_STYLE = Automatic;
|
||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
|
DEVELOPMENT_TEAM = "";
|
||||||
GCC_MODEL_TUNING = G5;
|
GCC_MODEL_TUNING = G5;
|
||||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||||
GCC_PREFIX_HEADER = General_Prefix.pch;
|
GCC_PREFIX_HEADER = General_Prefix.pch;
|
||||||
|
@ -524,6 +531,7 @@
|
||||||
INSTALL_PATH = "$(HOME)/Library/Bundles";
|
INSTALL_PATH = "$(HOME)/Library/Bundles";
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = org.cogx.cog.preferences;
|
PRODUCT_BUNDLE_IDENTIFIER = org.cogx.cog.preferences;
|
||||||
PRODUCT_NAME = General;
|
PRODUCT_NAME = General;
|
||||||
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
SKIP_INSTALL = YES;
|
SKIP_INSTALL = YES;
|
||||||
WRAPPER_EXTENSION = preferencePane;
|
WRAPPER_EXTENSION = preferencePane;
|
||||||
};
|
};
|
||||||
|
|
|
@ -101,9 +101,6 @@
|
||||||
/* Class = "NSTextFieldCell"; title = "MIDI Flavor:"; ObjectID = "FQF-vJ-hBx"; */
|
/* Class = "NSTextFieldCell"; title = "MIDI Flavor:"; ObjectID = "FQF-vJ-hBx"; */
|
||||||
"FQF-vJ-hBx.title" = "MIDI Flavor:";
|
"FQF-vJ-hBx.title" = "MIDI Flavor:";
|
||||||
|
|
||||||
/* Class = "NSButtonCell"; title = "Use Growl"; ObjectID = "GbM-Kf-xzx"; */
|
|
||||||
"GbM-Kf-xzx.title" = "Use Growl";
|
|
||||||
|
|
||||||
/* Class = "NSButtonCell"; title = "Colorful dock icons"; ObjectID = "GdX-5e-NeU"; */
|
/* Class = "NSButtonCell"; title = "Colorful dock icons"; ObjectID = "GdX-5e-NeU"; */
|
||||||
"GdX-5e-NeU.title" = "Colorful dock icons";
|
"GdX-5e-NeU.title" = "Colorful dock icons";
|
||||||
|
|
||||||
|
|
|
@ -101,9 +101,6 @@
|
||||||
/* Class = "NSTextFieldCell"; title = "MIDI Flavor:"; ObjectID = "FQF-vJ-hBx"; */
|
/* Class = "NSTextFieldCell"; title = "MIDI Flavor:"; ObjectID = "FQF-vJ-hBx"; */
|
||||||
"FQF-vJ-hBx.title" = "MIDI Flavor:";
|
"FQF-vJ-hBx.title" = "MIDI Flavor:";
|
||||||
|
|
||||||
/* Class = "NSButtonCell"; title = "Use Growl"; ObjectID = "GbM-Kf-xzx"; */
|
|
||||||
"GbM-Kf-xzx.title" = "Use Growl";
|
|
||||||
|
|
||||||
/* Class = "NSButtonCell"; title = "Colorful dock icons"; ObjectID = "GdX-5e-NeU"; */
|
/* Class = "NSButtonCell"; title = "Colorful dock icons"; ObjectID = "GdX-5e-NeU"; */
|
||||||
"GdX-5e-NeU.title" = "Colorful dock icons";
|
"GdX-5e-NeU.title" = "Colorful dock icons";
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
BASS 2.4 C/C++ header file
|
BASS 2.4 C/C++ header file
|
||||||
Copyright (c) 1999-2014 Un4seen Developments Ltd.
|
Copyright (c) 1999-2019 Un4seen Developments Ltd.
|
||||||
|
|
||||||
See the BASS.CHM file for more detailed documentation
|
See the BASS.CHM file for more detailed documentation
|
||||||
*/
|
*/
|
||||||
|
@ -84,7 +84,7 @@ typedef DWORD HPLUGIN; // Plugin handle
|
||||||
#define BASS_ERROR_NONET 32 // no internet connection could be opened
|
#define BASS_ERROR_NONET 32 // no internet connection could be opened
|
||||||
#define BASS_ERROR_CREATE 33 // couldn't create the file
|
#define BASS_ERROR_CREATE 33 // couldn't create the file
|
||||||
#define BASS_ERROR_NOFX 34 // effects are not available
|
#define BASS_ERROR_NOFX 34 // effects are not available
|
||||||
#define BASS_ERROR_NOTAVAIL 37 // requested data is not available
|
#define BASS_ERROR_NOTAVAIL 37 // requested data/action is not available
|
||||||
#define BASS_ERROR_DECODE 38 // the channel is/isn't a "decoding channel"
|
#define BASS_ERROR_DECODE 38 // the channel is/isn't a "decoding channel"
|
||||||
#define BASS_ERROR_DX 39 // a sufficient DirectX version is not installed
|
#define BASS_ERROR_DX 39 // a sufficient DirectX version is not installed
|
||||||
#define BASS_ERROR_TIMEOUT 40 // connection timedout
|
#define BASS_ERROR_TIMEOUT 40 // connection timedout
|
||||||
|
@ -117,6 +117,7 @@ typedef DWORD HPLUGIN; // Plugin handle
|
||||||
#define BASS_CONFIG_VERIFY 23
|
#define BASS_CONFIG_VERIFY 23
|
||||||
#define BASS_CONFIG_UPDATETHREADS 24
|
#define BASS_CONFIG_UPDATETHREADS 24
|
||||||
#define BASS_CONFIG_DEV_BUFFER 27
|
#define BASS_CONFIG_DEV_BUFFER 27
|
||||||
|
#define BASS_CONFIG_REC_LOOPBACK 28
|
||||||
#define BASS_CONFIG_VISTA_TRUEPOS 30
|
#define BASS_CONFIG_VISTA_TRUEPOS 30
|
||||||
#define BASS_CONFIG_IOS_MIXAUDIO 34
|
#define BASS_CONFIG_IOS_MIXAUDIO 34
|
||||||
#define BASS_CONFIG_DEV_DEFAULT 36
|
#define BASS_CONFIG_DEV_DEFAULT 36
|
||||||
|
@ -135,22 +136,36 @@ typedef DWORD HPLUGIN; // Plugin handle
|
||||||
#define BASS_CONFIG_DEV_NONSTOP 50
|
#define BASS_CONFIG_DEV_NONSTOP 50
|
||||||
#define BASS_CONFIG_IOS_NOCATEGORY 51
|
#define BASS_CONFIG_IOS_NOCATEGORY 51
|
||||||
#define BASS_CONFIG_VERIFY_NET 52
|
#define BASS_CONFIG_VERIFY_NET 52
|
||||||
|
#define BASS_CONFIG_DEV_PERIOD 53
|
||||||
|
#define BASS_CONFIG_FLOAT 54
|
||||||
|
#define BASS_CONFIG_NET_SEEK 56
|
||||||
|
#define BASS_CONFIG_AM_DISABLE 58
|
||||||
|
#define BASS_CONFIG_NET_PLAYLIST_DEPTH 59
|
||||||
|
#define BASS_CONFIG_NET_PREBUF_WAIT 60
|
||||||
|
#define BASS_CONFIG_WASAPI_PERSIST 65
|
||||||
|
#define BASS_CONFIG_REC_WASAPI 66
|
||||||
|
|
||||||
// BASS_SetConfigPtr options
|
// BASS_SetConfigPtr options
|
||||||
#define BASS_CONFIG_NET_AGENT 16
|
#define BASS_CONFIG_NET_AGENT 16
|
||||||
#define BASS_CONFIG_NET_PROXY 17
|
#define BASS_CONFIG_NET_PROXY 17
|
||||||
#define BASS_CONFIG_IOS_NOTIFY 46
|
#define BASS_CONFIG_IOS_NOTIFY 46
|
||||||
|
#define BASS_CONFIG_LIBSSL 64
|
||||||
|
|
||||||
// BASS_Init flags
|
// BASS_Init flags
|
||||||
#define BASS_DEVICE_8BITS 1 // 8 bit resolution, else 16 bit
|
#define BASS_DEVICE_8BITS 1 // 8 bit
|
||||||
#define BASS_DEVICE_MONO 2 // mono, else stereo
|
#define BASS_DEVICE_MONO 2 // mono
|
||||||
#define BASS_DEVICE_3D 4 // enable 3D functionality
|
#define BASS_DEVICE_3D 4 // enable 3D functionality
|
||||||
|
#define BASS_DEVICE_16BITS 8 // limit output to 16 bit
|
||||||
#define BASS_DEVICE_LATENCY 0x100 // calculate device latency (BASS_INFO struct)
|
#define BASS_DEVICE_LATENCY 0x100 // calculate device latency (BASS_INFO struct)
|
||||||
#define BASS_DEVICE_CPSPEAKERS 0x400 // detect speakers via Windows control panel
|
#define BASS_DEVICE_CPSPEAKERS 0x400 // detect speakers via Windows control panel
|
||||||
#define BASS_DEVICE_SPEAKERS 0x800 // force enabling of speaker assignment
|
#define BASS_DEVICE_SPEAKERS 0x800 // force enabling of speaker assignment
|
||||||
#define BASS_DEVICE_NOSPEAKER 0x1000 // ignore speaker arrangement
|
#define BASS_DEVICE_NOSPEAKER 0x1000 // ignore speaker arrangement
|
||||||
#define BASS_DEVICE_DMIX 0x2000 // use ALSA "dmix" plugin
|
#define BASS_DEVICE_DMIX 0x2000 // use ALSA "dmix" plugin
|
||||||
#define BASS_DEVICE_FREQ 0x4000 // set device sample rate
|
#define BASS_DEVICE_FREQ 0x4000 // set device sample rate
|
||||||
|
#define BASS_DEVICE_STEREO 0x8000 // limit output to stereo
|
||||||
|
#define BASS_DEVICE_HOG 0x10000 // hog/exclusive mode
|
||||||
|
#define BASS_DEVICE_AUDIOTRACK 0x20000 // use AudioTrack output
|
||||||
|
#define BASS_DEVICE_DSOUND 0x40000 // use DirectSound output
|
||||||
|
|
||||||
// DirectSound interfaces (for use with BASS_GetDSoundObject)
|
// DirectSound interfaces (for use with BASS_GetDSoundObject)
|
||||||
#define BASS_OBJECT_DS 1 // IDirectSound
|
#define BASS_OBJECT_DS 1 // IDirectSound
|
||||||
|
@ -172,6 +187,7 @@ typedef struct {
|
||||||
#define BASS_DEVICE_ENABLED 1
|
#define BASS_DEVICE_ENABLED 1
|
||||||
#define BASS_DEVICE_DEFAULT 2
|
#define BASS_DEVICE_DEFAULT 2
|
||||||
#define BASS_DEVICE_INIT 4
|
#define BASS_DEVICE_INIT 4
|
||||||
|
#define BASS_DEVICE_LOOPBACK 8
|
||||||
|
|
||||||
#define BASS_DEVICE_TYPE_MASK 0xff000000
|
#define BASS_DEVICE_TYPE_MASK 0xff000000
|
||||||
#define BASS_DEVICE_TYPE_NETWORK 0x01000000
|
#define BASS_DEVICE_TYPE_NETWORK 0x01000000
|
||||||
|
@ -252,7 +268,7 @@ typedef struct {
|
||||||
DWORD flags; // BASS_SAMPLE_xxx flags
|
DWORD flags; // BASS_SAMPLE_xxx flags
|
||||||
DWORD length; // length (in bytes)
|
DWORD length; // length (in bytes)
|
||||||
DWORD max; // maximum simultaneous playbacks
|
DWORD max; // maximum simultaneous playbacks
|
||||||
DWORD origres; // original resolution bits
|
DWORD origres; // original resolution
|
||||||
DWORD chans; // number of channels
|
DWORD chans; // number of channels
|
||||||
DWORD mingap; // minimum gap (ms) between creating channels
|
DWORD mingap; // minimum gap (ms) between creating channels
|
||||||
DWORD mode3d; // BASS_3DMODE_xxx mode
|
DWORD mode3d; // BASS_3DMODE_xxx mode
|
||||||
|
@ -266,7 +282,7 @@ typedef struct {
|
||||||
} BASS_SAMPLE;
|
} BASS_SAMPLE;
|
||||||
|
|
||||||
#define BASS_SAMPLE_8BITS 1 // 8 bit
|
#define BASS_SAMPLE_8BITS 1 // 8 bit
|
||||||
#define BASS_SAMPLE_FLOAT 256 // 32-bit floating-point
|
#define BASS_SAMPLE_FLOAT 256 // 32 bit floating-point
|
||||||
#define BASS_SAMPLE_MONO 2 // mono
|
#define BASS_SAMPLE_MONO 2 // mono
|
||||||
#define BASS_SAMPLE_LOOP 4 // looped
|
#define BASS_SAMPLE_LOOP 4 // looped
|
||||||
#define BASS_SAMPLE_3D 8 // 3D functionality
|
#define BASS_SAMPLE_3D 8 // 3D functionality
|
||||||
|
@ -279,13 +295,15 @@ typedef struct {
|
||||||
#define BASS_SAMPLE_OVER_DIST 0x30000 // override furthest from listener (3D only)
|
#define BASS_SAMPLE_OVER_DIST 0x30000 // override furthest from listener (3D only)
|
||||||
|
|
||||||
#define BASS_STREAM_PRESCAN 0x20000 // enable pin-point seeking/length (MP3/MP2/MP1)
|
#define BASS_STREAM_PRESCAN 0x20000 // enable pin-point seeking/length (MP3/MP2/MP1)
|
||||||
#define BASS_MP3_SETPOS BASS_STREAM_PRESCAN
|
|
||||||
#define BASS_STREAM_AUTOFREE 0x40000 // automatically free the stream when it stop/ends
|
#define BASS_STREAM_AUTOFREE 0x40000 // automatically free the stream when it stop/ends
|
||||||
#define BASS_STREAM_RESTRATE 0x80000 // restrict the download rate of internet file streams
|
#define BASS_STREAM_RESTRATE 0x80000 // restrict the download rate of internet file streams
|
||||||
#define BASS_STREAM_BLOCK 0x100000 // download/play internet file stream in small blocks
|
#define BASS_STREAM_BLOCK 0x100000 // download/play internet file stream in small blocks
|
||||||
#define BASS_STREAM_DECODE 0x200000 // don't play the stream, only decode (BASS_ChannelGetData)
|
#define BASS_STREAM_DECODE 0x200000 // don't play the stream, only decode (BASS_ChannelGetData)
|
||||||
#define BASS_STREAM_STATUS 0x800000 // give server status info (HTTP/ICY tags) in DOWNLOADPROC
|
#define BASS_STREAM_STATUS 0x800000 // give server status info (HTTP/ICY tags) in DOWNLOADPROC
|
||||||
|
|
||||||
|
#define BASS_MP3_IGNOREDELAY 0x200 // ignore LAME/Xing/VBRI/iTunes delay & padding info
|
||||||
|
#define BASS_MP3_SETPOS BASS_STREAM_PRESCAN
|
||||||
|
|
||||||
#define BASS_MUSIC_FLOAT BASS_SAMPLE_FLOAT
|
#define BASS_MUSIC_FLOAT BASS_SAMPLE_FLOAT
|
||||||
#define BASS_MUSIC_MONO BASS_SAMPLE_MONO
|
#define BASS_MUSIC_MONO BASS_SAMPLE_MONO
|
||||||
#define BASS_MUSIC_LOOP BASS_SAMPLE_LOOP
|
#define BASS_MUSIC_LOOP BASS_SAMPLE_LOOP
|
||||||
|
@ -299,6 +317,7 @@ typedef struct {
|
||||||
#define BASS_MUSIC_RAMPS 0x400 // sensitive ramping
|
#define BASS_MUSIC_RAMPS 0x400 // sensitive ramping
|
||||||
#define BASS_MUSIC_SURROUND 0x800 // surround sound
|
#define BASS_MUSIC_SURROUND 0x800 // surround sound
|
||||||
#define BASS_MUSIC_SURROUND2 0x1000 // surround sound (mode 2)
|
#define BASS_MUSIC_SURROUND2 0x1000 // surround sound (mode 2)
|
||||||
|
#define BASS_MUSIC_FT2PAN 0x2000 // apply FastTracker 2 panning to XM files
|
||||||
#define BASS_MUSIC_FT2MOD 0x2000 // play .MOD as FastTracker 2 does
|
#define BASS_MUSIC_FT2MOD 0x2000 // play .MOD as FastTracker 2 does
|
||||||
#define BASS_MUSIC_PT1MOD 0x4000 // play .MOD as ProTracker 1 does
|
#define BASS_MUSIC_PT1MOD 0x4000 // play .MOD as ProTracker 1 does
|
||||||
#define BASS_MUSIC_NONINTER 0x10000 // non-interpolated sample mixing
|
#define BASS_MUSIC_NONINTER 0x10000 // non-interpolated sample mixing
|
||||||
|
@ -351,6 +370,8 @@ typedef struct {
|
||||||
const char *filename; // filename
|
const char *filename; // filename
|
||||||
} BASS_CHANNELINFO;
|
} BASS_CHANNELINFO;
|
||||||
|
|
||||||
|
#define BASS_ORIGRES_FLOAT 0x10000
|
||||||
|
|
||||||
// BASS_CHANNELINFO types
|
// BASS_CHANNELINFO types
|
||||||
#define BASS_CTYPE_SAMPLE 1
|
#define BASS_CTYPE_SAMPLE 1
|
||||||
#define BASS_CTYPE_RECORD 2
|
#define BASS_CTYPE_RECORD 2
|
||||||
|
@ -362,6 +383,9 @@ typedef struct {
|
||||||
#define BASS_CTYPE_STREAM_AIFF 0x10006
|
#define BASS_CTYPE_STREAM_AIFF 0x10006
|
||||||
#define BASS_CTYPE_STREAM_CA 0x10007
|
#define BASS_CTYPE_STREAM_CA 0x10007
|
||||||
#define BASS_CTYPE_STREAM_MF 0x10008
|
#define BASS_CTYPE_STREAM_MF 0x10008
|
||||||
|
#define BASS_CTYPE_STREAM_AM 0x10009
|
||||||
|
#define BASS_CTYPE_STREAM_DUMMY 0x18000
|
||||||
|
#define BASS_CTYPE_STREAM_DEVICE 0x18001
|
||||||
#define BASS_CTYPE_STREAM_WAV 0x40000 // WAVE flag, LOWORD=codec
|
#define BASS_CTYPE_STREAM_WAV 0x40000 // WAVE flag, LOWORD=codec
|
||||||
#define BASS_CTYPE_STREAM_WAV_PCM 0x50001
|
#define BASS_CTYPE_STREAM_WAV_PCM 0x50001
|
||||||
#define BASS_CTYPE_STREAM_WAV_FLOAT 0x50003
|
#define BASS_CTYPE_STREAM_WAV_FLOAT 0x50003
|
||||||
|
@ -479,14 +503,15 @@ handle : The stream that needs writing
|
||||||
buffer : Buffer to write the samples in
|
buffer : Buffer to write the samples in
|
||||||
length : Number of bytes to write
|
length : Number of bytes to write
|
||||||
user : The 'user' parameter value given when calling BASS_StreamCreate
|
user : The 'user' parameter value given when calling BASS_StreamCreate
|
||||||
RETURN : Number of bytes written. Set the BASS_STREAMPROC_END flag to end
|
RETURN : Number of bytes written. Set the BASS_STREAMPROC_END flag to end the stream. */
|
||||||
the stream. */
|
|
||||||
|
|
||||||
#define BASS_STREAMPROC_END 0x80000000 // end of user stream flag
|
#define BASS_STREAMPROC_END 0x80000000 // end of user stream flag
|
||||||
|
|
||||||
// special STREAMPROCs
|
// special STREAMPROCs
|
||||||
#define STREAMPROC_DUMMY (STREAMPROC*)0 // "dummy" stream
|
#define STREAMPROC_DUMMY (STREAMPROC*)0 // "dummy" stream
|
||||||
#define STREAMPROC_PUSH (STREAMPROC*)-1 // push stream
|
#define STREAMPROC_PUSH (STREAMPROC*)-1 // push stream
|
||||||
|
#define STREAMPROC_DEVICE (STREAMPROC*)-2 // device mix stream
|
||||||
|
#define STREAMPROC_DEVICE_3D (STREAMPROC*)-3 // device 3D mix stream
|
||||||
|
|
||||||
// BASS_StreamCreateFileUser file systems
|
// BASS_StreamCreateFileUser file systems
|
||||||
#define STREAMFILE_NOBUFFER 0
|
#define STREAMFILE_NOBUFFER 0
|
||||||
|
@ -520,6 +545,7 @@ typedef struct {
|
||||||
#define BASS_FILEPOS_SOCKET 6
|
#define BASS_FILEPOS_SOCKET 6
|
||||||
#define BASS_FILEPOS_ASYNCBUF 7
|
#define BASS_FILEPOS_ASYNCBUF 7
|
||||||
#define BASS_FILEPOS_SIZE 8
|
#define BASS_FILEPOS_SIZE 8
|
||||||
|
#define BASS_FILEPOS_BUFFERING 9
|
||||||
|
|
||||||
typedef void (CALLBACK DOWNLOADPROC)(const void *buffer, DWORD length, void *user);
|
typedef void (CALLBACK DOWNLOADPROC)(const void *buffer, DWORD length, void *user);
|
||||||
/* Internet stream download callback function.
|
/* Internet stream download callback function.
|
||||||
|
@ -540,8 +566,10 @@ user : The 'user' parameter value given when calling BASS_StreamCreateURL */
|
||||||
#define BASS_SYNC_MUSICINST 1
|
#define BASS_SYNC_MUSICINST 1
|
||||||
#define BASS_SYNC_MUSICFX 3
|
#define BASS_SYNC_MUSICFX 3
|
||||||
#define BASS_SYNC_OGG_CHANGE 12
|
#define BASS_SYNC_OGG_CHANGE 12
|
||||||
#define BASS_SYNC_MIXTIME 0x40000000 // FLAG: sync at mixtime, else at playtime
|
#define BASS_SYNC_DEV_FAIL 14
|
||||||
#define BASS_SYNC_ONETIME 0x80000000 // FLAG: sync only once, else continuously
|
#define BASS_SYNC_DEV_FORMAT 15
|
||||||
|
#define BASS_SYNC_MIXTIME 0x40000000 // flag: sync at mixtime, else at playtime
|
||||||
|
#define BASS_SYNC_ONETIME 0x80000000 // flag: sync only once, else continuously
|
||||||
|
|
||||||
typedef void (CALLBACK SYNCPROC)(HSYNC handle, DWORD channel, DWORD data, void *user);
|
typedef void (CALLBACK SYNCPROC)(HSYNC handle, DWORD channel, DWORD data, void *user);
|
||||||
/* Sync callback function. NOTE: a sync callback function should be very
|
/* Sync callback function. NOTE: a sync callback function should be very
|
||||||
|
@ -572,10 +600,11 @@ user : The 'user' parameter value given when calling BASS_RecordStart
|
||||||
RETURN : TRUE = continue recording, FALSE = stop */
|
RETURN : TRUE = continue recording, FALSE = stop */
|
||||||
|
|
||||||
// BASS_ChannelIsActive return values
|
// BASS_ChannelIsActive return values
|
||||||
#define BASS_ACTIVE_STOPPED 0
|
#define BASS_ACTIVE_STOPPED 0
|
||||||
#define BASS_ACTIVE_PLAYING 1
|
#define BASS_ACTIVE_PLAYING 1
|
||||||
#define BASS_ACTIVE_STALLED 2
|
#define BASS_ACTIVE_STALLED 2
|
||||||
#define BASS_ACTIVE_PAUSED 3
|
#define BASS_ACTIVE_PAUSED 3
|
||||||
|
#define BASS_ACTIVE_PAUSED_DEVICE 4
|
||||||
|
|
||||||
// Channel attributes
|
// Channel attributes
|
||||||
#define BASS_ATTRIB_FREQ 1
|
#define BASS_ATTRIB_FREQ 1
|
||||||
|
@ -588,6 +617,9 @@ RETURN : TRUE = continue recording, FALSE = stop */
|
||||||
#define BASS_ATTRIB_SRC 8
|
#define BASS_ATTRIB_SRC 8
|
||||||
#define BASS_ATTRIB_NET_RESUME 9
|
#define BASS_ATTRIB_NET_RESUME 9
|
||||||
#define BASS_ATTRIB_SCANINFO 10
|
#define BASS_ATTRIB_SCANINFO 10
|
||||||
|
#define BASS_ATTRIB_NORAMP 11
|
||||||
|
#define BASS_ATTRIB_BITRATE 12
|
||||||
|
#define BASS_ATTRIB_BUFFER 13
|
||||||
#define BASS_ATTRIB_MUSIC_AMPLIFY 0x100
|
#define BASS_ATTRIB_MUSIC_AMPLIFY 0x100
|
||||||
#define BASS_ATTRIB_MUSIC_PANSEP 0x101
|
#define BASS_ATTRIB_MUSIC_PANSEP 0x101
|
||||||
#define BASS_ATTRIB_MUSIC_PSCALER 0x102
|
#define BASS_ATTRIB_MUSIC_PSCALER 0x102
|
||||||
|
@ -598,6 +630,9 @@ RETURN : TRUE = continue recording, FALSE = stop */
|
||||||
#define BASS_ATTRIB_MUSIC_VOL_CHAN 0x200 // + channel #
|
#define BASS_ATTRIB_MUSIC_VOL_CHAN 0x200 // + channel #
|
||||||
#define BASS_ATTRIB_MUSIC_VOL_INST 0x300 // + instrument #
|
#define BASS_ATTRIB_MUSIC_VOL_INST 0x300 // + instrument #
|
||||||
|
|
||||||
|
// BASS_ChannelSlideAttribute flags
|
||||||
|
#define BASS_SLIDE_LOG 0x1000000
|
||||||
|
|
||||||
// BASS_ChannelGetData flags
|
// BASS_ChannelGetData flags
|
||||||
#define BASS_DATA_AVAILABLE 0 // query how much data is buffered
|
#define BASS_DATA_AVAILABLE 0 // query how much data is buffered
|
||||||
#define BASS_DATA_FIXED 0x20000000 // flag: return 8.24 fixed-point data
|
#define BASS_DATA_FIXED 0x20000000 // flag: return 8.24 fixed-point data
|
||||||
|
@ -609,15 +644,18 @@ RETURN : TRUE = continue recording, FALSE = stop */
|
||||||
#define BASS_DATA_FFT4096 0x80000004 // 4096 FFT
|
#define BASS_DATA_FFT4096 0x80000004 // 4096 FFT
|
||||||
#define BASS_DATA_FFT8192 0x80000005 // 8192 FFT
|
#define BASS_DATA_FFT8192 0x80000005 // 8192 FFT
|
||||||
#define BASS_DATA_FFT16384 0x80000006 // 16384 FFT
|
#define BASS_DATA_FFT16384 0x80000006 // 16384 FFT
|
||||||
|
#define BASS_DATA_FFT32768 0x80000007 // 32768 FFT
|
||||||
#define BASS_DATA_FFT_INDIVIDUAL 0x10 // FFT flag: FFT for each channel, else all combined
|
#define BASS_DATA_FFT_INDIVIDUAL 0x10 // FFT flag: FFT for each channel, else all combined
|
||||||
#define BASS_DATA_FFT_NOWINDOW 0x20 // FFT flag: no Hanning window
|
#define BASS_DATA_FFT_NOWINDOW 0x20 // FFT flag: no Hanning window
|
||||||
#define BASS_DATA_FFT_REMOVEDC 0x40 // FFT flag: pre-remove DC bias
|
#define BASS_DATA_FFT_REMOVEDC 0x40 // FFT flag: pre-remove DC bias
|
||||||
#define BASS_DATA_FFT_COMPLEX 0x80 // FFT flag: return complex data
|
#define BASS_DATA_FFT_COMPLEX 0x80 // FFT flag: return complex data
|
||||||
|
#define BASS_DATA_FFT_NYQUIST 0x100 // FFT flag: return extra Nyquist value
|
||||||
|
|
||||||
// BASS_ChannelGetLevelEx flags
|
// BASS_ChannelGetLevelEx flags
|
||||||
#define BASS_LEVEL_MONO 1
|
#define BASS_LEVEL_MONO 1
|
||||||
#define BASS_LEVEL_STEREO 2
|
#define BASS_LEVEL_STEREO 2
|
||||||
#define BASS_LEVEL_RMS 4
|
#define BASS_LEVEL_RMS 4
|
||||||
|
#define BASS_LEVEL_VOLPAN 8
|
||||||
|
|
||||||
// BASS_ChannelGetTags types : what's returned
|
// BASS_ChannelGetTags types : what's returned
|
||||||
#define BASS_TAG_ID3 0 // ID3v1 tags : TAG_ID3 structure
|
#define BASS_TAG_ID3 0 // ID3v1 tags : TAG_ID3 structure
|
||||||
|
@ -628,19 +666,25 @@ RETURN : TRUE = continue recording, FALSE = stop */
|
||||||
#define BASS_TAG_META 5 // ICY metadata : ANSI string
|
#define BASS_TAG_META 5 // ICY metadata : ANSI string
|
||||||
#define BASS_TAG_APE 6 // APE tags : series of null-terminated UTF-8 strings
|
#define BASS_TAG_APE 6 // APE tags : series of null-terminated UTF-8 strings
|
||||||
#define BASS_TAG_MP4 7 // MP4/iTunes metadata : series of null-terminated UTF-8 strings
|
#define BASS_TAG_MP4 7 // MP4/iTunes metadata : series of null-terminated UTF-8 strings
|
||||||
|
#define BASS_TAG_WMA 8 // WMA tags : series of null-terminated UTF-8 strings
|
||||||
#define BASS_TAG_VENDOR 9 // OGG encoder : UTF-8 string
|
#define BASS_TAG_VENDOR 9 // OGG encoder : UTF-8 string
|
||||||
#define BASS_TAG_LYRICS3 10 // Lyric3v2 tag : ASCII string
|
#define BASS_TAG_LYRICS3 10 // Lyric3v2 tag : ASCII string
|
||||||
#define BASS_TAG_CA_CODEC 11 // CoreAudio codec info : TAG_CA_CODEC structure
|
#define BASS_TAG_CA_CODEC 11 // CoreAudio codec info : TAG_CA_CODEC structure
|
||||||
#define BASS_TAG_MF 13 // Media Foundation tags : series of null-terminated UTF-8 strings
|
#define BASS_TAG_MF 13 // Media Foundation tags : series of null-terminated UTF-8 strings
|
||||||
#define BASS_TAG_WAVEFORMAT 14 // WAVE format : WAVEFORMATEEX structure
|
#define BASS_TAG_WAVEFORMAT 14 // WAVE format : WAVEFORMATEEX structure
|
||||||
|
#define BASS_TAG_AM_MIME 15 // Android Media MIME type : ASCII string
|
||||||
|
#define BASS_TAG_AM_NAME 16 // Android Media codec name : ASCII string
|
||||||
#define BASS_TAG_RIFF_INFO 0x100 // RIFF "INFO" tags : series of null-terminated ANSI strings
|
#define BASS_TAG_RIFF_INFO 0x100 // RIFF "INFO" tags : series of null-terminated ANSI strings
|
||||||
#define BASS_TAG_RIFF_BEXT 0x101 // RIFF/BWF "bext" tags : TAG_BEXT structure
|
#define BASS_TAG_RIFF_BEXT 0x101 // RIFF/BWF "bext" tags : TAG_BEXT structure
|
||||||
#define BASS_TAG_RIFF_CART 0x102 // RIFF/BWF "cart" tags : TAG_CART structure
|
#define BASS_TAG_RIFF_CART 0x102 // RIFF/BWF "cart" tags : TAG_CART structure
|
||||||
#define BASS_TAG_RIFF_DISP 0x103 // RIFF "DISP" text tag : ANSI string
|
#define BASS_TAG_RIFF_DISP 0x103 // RIFF "DISP" text tag : ANSI string
|
||||||
|
#define BASS_TAG_RIFF_CUE 0x104 // RIFF "cue " chunk : TAG_CUE structure
|
||||||
|
#define BASS_TAG_RIFF_SMPL 0x105 // RIFF "smpl" chunk : TAG_SMPL structure
|
||||||
#define BASS_TAG_APE_BINARY 0x1000 // + index #, binary APE tag : TAG_APE_BINARY structure
|
#define BASS_TAG_APE_BINARY 0x1000 // + index #, binary APE tag : TAG_APE_BINARY structure
|
||||||
#define BASS_TAG_MUSIC_NAME 0x10000 // MOD music name : ANSI string
|
#define BASS_TAG_MUSIC_NAME 0x10000 // MOD music name : ANSI string
|
||||||
#define BASS_TAG_MUSIC_MESSAGE 0x10001 // MOD message : ANSI string
|
#define BASS_TAG_MUSIC_MESSAGE 0x10001 // MOD message : ANSI string
|
||||||
#define BASS_TAG_MUSIC_ORDERS 0x10002 // MOD order list : BYTE array of pattern numbers
|
#define BASS_TAG_MUSIC_ORDERS 0x10002 // MOD order list : BYTE array of pattern numbers
|
||||||
|
#define BASS_TAG_MUSIC_AUTH 0x10003 // MOD author : UTF-8 string
|
||||||
#define BASS_TAG_MUSIC_INST 0x10100 // + instrument #, MOD instrument name : ANSI string
|
#define BASS_TAG_MUSIC_INST 0x10100 // + instrument #, MOD instrument name : ANSI string
|
||||||
#define BASS_TAG_MUSIC_SAMPLE 0x10300 // + sample #, MOD sample name : ANSI string
|
#define BASS_TAG_MUSIC_SAMPLE 0x10300 // + sample #, MOD sample name : ANSI string
|
||||||
|
|
||||||
|
@ -724,6 +768,60 @@ typedef struct
|
||||||
char TagText[1]; // free form text for scripts or tags
|
char TagText[1]; // free form text for scripts or tags
|
||||||
#endif
|
#endif
|
||||||
} TAG_CART;
|
} TAG_CART;
|
||||||
|
|
||||||
|
// RIFF "cue " tag structures
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
DWORD dwName;
|
||||||
|
DWORD dwPosition;
|
||||||
|
DWORD fccChunk;
|
||||||
|
DWORD dwChunkStart;
|
||||||
|
DWORD dwBlockStart;
|
||||||
|
DWORD dwSampleOffset;
|
||||||
|
} TAG_CUE_POINT;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
DWORD dwCuePoints;
|
||||||
|
#if defined(__GNUC__) && __GNUC__<3
|
||||||
|
TAG_CUE_POINT CuePoints[0];
|
||||||
|
#elif 1 // change to 0 if compiler fails the following line
|
||||||
|
TAG_CUE_POINT CuePoints[];
|
||||||
|
#else
|
||||||
|
TAG_CUE_POINT CuePoints[1];
|
||||||
|
#endif
|
||||||
|
} TAG_CUE;
|
||||||
|
|
||||||
|
// RIFF "smpl" tag structures
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
DWORD dwIdentifier;
|
||||||
|
DWORD dwType;
|
||||||
|
DWORD dwStart;
|
||||||
|
DWORD dwEnd;
|
||||||
|
DWORD dwFraction;
|
||||||
|
DWORD dwPlayCount;
|
||||||
|
} TAG_SMPL_LOOP;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
DWORD dwManufacturer;
|
||||||
|
DWORD dwProduct;
|
||||||
|
DWORD dwSamplePeriod;
|
||||||
|
DWORD dwMIDIUnityNote;
|
||||||
|
DWORD dwMIDIPitchFraction;
|
||||||
|
DWORD dwSMPTEFormat;
|
||||||
|
DWORD dwSMPTEOffset;
|
||||||
|
DWORD cSampleLoops;
|
||||||
|
DWORD cbSamplerData;
|
||||||
|
#if defined(__GNUC__) && __GNUC__<3
|
||||||
|
TAG_SMPL_LOOP SampleLoops[0];
|
||||||
|
#elif 1 // change to 0 if compiler fails the following line
|
||||||
|
TAG_SMPL_LOOP SampleLoops[];
|
||||||
|
#else
|
||||||
|
TAG_SMPL_LOOP SampleLoops[1];
|
||||||
|
#endif
|
||||||
|
} TAG_SMPL;
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
#pragma warning(pop)
|
#pragma warning(pop)
|
||||||
#endif
|
#endif
|
||||||
|
@ -756,11 +854,16 @@ typedef const WAVEFORMATEX *LPCWAVEFORMATEX;
|
||||||
#define BASS_POS_BYTE 0 // byte position
|
#define BASS_POS_BYTE 0 // byte position
|
||||||
#define BASS_POS_MUSIC_ORDER 1 // order.row position, MAKELONG(order,row)
|
#define BASS_POS_MUSIC_ORDER 1 // order.row position, MAKELONG(order,row)
|
||||||
#define BASS_POS_OGG 3 // OGG bitstream number
|
#define BASS_POS_OGG 3 // OGG bitstream number
|
||||||
|
#define BASS_POS_RESET 0x2000000 // flag: reset user file buffers
|
||||||
|
#define BASS_POS_RELATIVE 0x4000000 // flag: seek relative to the current position
|
||||||
#define BASS_POS_INEXACT 0x8000000 // flag: allow seeking to inexact position
|
#define BASS_POS_INEXACT 0x8000000 // flag: allow seeking to inexact position
|
||||||
#define BASS_POS_DECODE 0x10000000 // flag: get the decoding (not playing) position
|
#define BASS_POS_DECODE 0x10000000 // flag: get the decoding (not playing) position
|
||||||
#define BASS_POS_DECODETO 0x20000000 // flag: decode to the position instead of seeking
|
#define BASS_POS_DECODETO 0x20000000 // flag: decode to the position instead of seeking
|
||||||
#define BASS_POS_SCAN 0x40000000 // flag: scan to the position
|
#define BASS_POS_SCAN 0x40000000 // flag: scan to the position
|
||||||
|
|
||||||
|
// BASS_ChannelSetDevice/GetDevice option
|
||||||
|
#define BASS_NODEVICE 0x20000
|
||||||
|
|
||||||
// BASS_RecordSetInput flags
|
// BASS_RecordSetInput flags
|
||||||
#define BASS_INPUT_OFF 0x10000
|
#define BASS_INPUT_OFF 0x10000
|
||||||
#define BASS_INPUT_ON 0x20000
|
#define BASS_INPUT_ON 0x20000
|
||||||
|
@ -778,19 +881,17 @@ typedef const WAVEFORMATEX *LPCWAVEFORMATEX;
|
||||||
#define BASS_INPUT_TYPE_AUX 0x09000000
|
#define BASS_INPUT_TYPE_AUX 0x09000000
|
||||||
#define BASS_INPUT_TYPE_ANALOG 0x0a000000
|
#define BASS_INPUT_TYPE_ANALOG 0x0a000000
|
||||||
|
|
||||||
// DX8 effect types, use with BASS_ChannelSetFX
|
// BASS_ChannelSetFX effect types
|
||||||
enum
|
#define BASS_FX_DX8_CHORUS 0
|
||||||
{
|
#define BASS_FX_DX8_COMPRESSOR 1
|
||||||
BASS_FX_DX8_CHORUS,
|
#define BASS_FX_DX8_DISTORTION 2
|
||||||
BASS_FX_DX8_COMPRESSOR,
|
#define BASS_FX_DX8_ECHO 3
|
||||||
BASS_FX_DX8_DISTORTION,
|
#define BASS_FX_DX8_FLANGER 4
|
||||||
BASS_FX_DX8_ECHO,
|
#define BASS_FX_DX8_GARGLE 5
|
||||||
BASS_FX_DX8_FLANGER,
|
#define BASS_FX_DX8_I3DL2REVERB 6
|
||||||
BASS_FX_DX8_GARGLE,
|
#define BASS_FX_DX8_PARAMEQ 7
|
||||||
BASS_FX_DX8_I3DL2REVERB,
|
#define BASS_FX_DX8_REVERB 8
|
||||||
BASS_FX_DX8_PARAMEQ,
|
#define BASS_FX_VOLUME 9
|
||||||
BASS_FX_DX8_REVERB
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
float fWetDryMix;
|
float fWetDryMix;
|
||||||
|
@ -876,6 +977,13 @@ typedef struct {
|
||||||
#define BASS_DX8_PHASE_90 3
|
#define BASS_DX8_PHASE_90 3
|
||||||
#define BASS_DX8_PHASE_180 4
|
#define BASS_DX8_PHASE_180 4
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
float fTarget;
|
||||||
|
float fCurrent;
|
||||||
|
float fTime;
|
||||||
|
DWORD lCurve;
|
||||||
|
} BASS_FX_VOLUME_PARAM;
|
||||||
|
|
||||||
typedef void (CALLBACK IOSNOTIFYPROC)(DWORD status);
|
typedef void (CALLBACK IOSNOTIFYPROC)(DWORD status);
|
||||||
/* iOS notification callback function.
|
/* iOS notification callback function.
|
||||||
status : The notification (BASS_IOSNOTIFY_xxx) */
|
status : The notification (BASS_IOSNOTIFY_xxx) */
|
||||||
|
@ -907,6 +1015,7 @@ float BASSDEF(BASS_GetCPU)();
|
||||||
BOOL BASSDEF(BASS_Start)();
|
BOOL BASSDEF(BASS_Start)();
|
||||||
BOOL BASSDEF(BASS_Stop)();
|
BOOL BASSDEF(BASS_Stop)();
|
||||||
BOOL BASSDEF(BASS_Pause)();
|
BOOL BASSDEF(BASS_Pause)();
|
||||||
|
BOOL BASSDEF(BASS_IsStarted)();
|
||||||
BOOL BASSDEF(BASS_SetVolume)(float volume);
|
BOOL BASSDEF(BASS_SetVolume)(float volume);
|
||||||
float BASSDEF(BASS_GetVolume)();
|
float BASSDEF(BASS_GetVolume)();
|
||||||
|
|
||||||
|
@ -999,6 +1108,7 @@ BOOL BASSDEF(BASS_ChannelRemoveFX)(DWORD handle, HFX fx);
|
||||||
BOOL BASSDEF(BASS_FXSetParameters)(HFX handle, const void *params);
|
BOOL BASSDEF(BASS_FXSetParameters)(HFX handle, const void *params);
|
||||||
BOOL BASSDEF(BASS_FXGetParameters)(HFX handle, void *params);
|
BOOL BASSDEF(BASS_FXGetParameters)(HFX handle, void *params);
|
||||||
BOOL BASSDEF(BASS_FXReset)(HFX handle);
|
BOOL BASSDEF(BASS_FXReset)(HFX handle);
|
||||||
|
BOOL BASSDEF(BASS_FXSetPriority)(HFX handle, int priority);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
@ -1028,6 +1138,11 @@ static inline HSTREAM BASS_StreamCreateURL(const WCHAR *url, DWORD offset, DWORD
|
||||||
{
|
{
|
||||||
return BASS_StreamCreateURL((const char*)url, offset, flags|BASS_UNICODE, proc, user);
|
return BASS_StreamCreateURL((const char*)url, offset, flags|BASS_UNICODE, proc, user);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline BOOL BASS_SetConfigPtr(DWORD option, const WCHAR *value)
|
||||||
|
{
|
||||||
|
return BASS_SetConfigPtr(option|BASS_UNICODE, (const void*)value);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
BASSMIDI 2.4 C/C++ header file
|
BASSMIDI 2.4 C/C++ header file
|
||||||
Copyright (c) 2006-2014 Un4seen Developments Ltd.
|
Copyright (c) 2006-2018 Un4seen Developments Ltd.
|
||||||
|
|
||||||
See the BASSMIDI.CHM file for more detailed documentation
|
See the BASSMIDI.CHM file for more detailed documentation
|
||||||
*/
|
*/
|
||||||
|
@ -24,6 +24,9 @@ extern "C" {
|
||||||
|
|
||||||
typedef DWORD HSOUNDFONT; // soundfont handle
|
typedef DWORD HSOUNDFONT; // soundfont handle
|
||||||
|
|
||||||
|
// Additional error codes returned by BASS_ErrorGetCode
|
||||||
|
#define BASS_ERROR_MIDI_INCLUDE 7000 // SFZ include file could not be opened
|
||||||
|
|
||||||
// Additional BASS_SetConfig options
|
// Additional BASS_SetConfig options
|
||||||
#define BASS_CONFIG_MIDI_COMPACT 0x10400
|
#define BASS_CONFIG_MIDI_COMPACT 0x10400
|
||||||
#define BASS_CONFIG_MIDI_VOICES 0x10401
|
#define BASS_CONFIG_MIDI_VOICES 0x10401
|
||||||
|
@ -57,6 +60,8 @@ typedef DWORD HSOUNDFONT; // soundfont handle
|
||||||
#define BASS_MIDI_FONT_MEM 0x10000
|
#define BASS_MIDI_FONT_MEM 0x10000
|
||||||
#define BASS_MIDI_FONT_MMAP 0x20000
|
#define BASS_MIDI_FONT_MMAP 0x20000
|
||||||
#define BASS_MIDI_FONT_XGDRUMS 0x40000
|
#define BASS_MIDI_FONT_XGDRUMS 0x40000
|
||||||
|
#define BASS_MIDI_FONT_NOFX 0x80000
|
||||||
|
#define BASS_MIDI_FONT_LINATTMOD 0x100000
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
HSOUNDFONT font; // soundfont
|
HSOUNDFONT font; // soundfont
|
||||||
|
@ -102,7 +107,8 @@ typedef struct {
|
||||||
#define BASS_MIDI_MARK_COPY 6 // copyright notice
|
#define BASS_MIDI_MARK_COPY 6 // copyright notice
|
||||||
#define BASS_MIDI_MARK_TRACK 7 // track name
|
#define BASS_MIDI_MARK_TRACK 7 // track name
|
||||||
#define BASS_MIDI_MARK_INST 8 // instrument name
|
#define BASS_MIDI_MARK_INST 8 // instrument name
|
||||||
#define BASS_MIDI_MARK_TICK 0x10000 // FLAG: get position in ticks (otherwise bytes)
|
#define BASS_MIDI_MARK_TRACKSTART 9 // track start (SMF2)
|
||||||
|
#define BASS_MIDI_MARK_TICK 0x10000 // flag: get position in ticks (otherwise bytes)
|
||||||
|
|
||||||
// MIDI events
|
// MIDI events
|
||||||
#define MIDI_EVENT_NOTE 1
|
#define MIDI_EVENT_NOTE 1
|
||||||
|
@ -169,6 +175,7 @@ typedef struct {
|
||||||
#define MIDI_EVENT_CHANPRES_PITCH 66
|
#define MIDI_EVENT_CHANPRES_PITCH 66
|
||||||
#define MIDI_EVENT_CHANPRES_FILTER 67
|
#define MIDI_EVENT_CHANPRES_FILTER 67
|
||||||
#define MIDI_EVENT_CHANPRES_VOLUME 68
|
#define MIDI_EVENT_CHANPRES_VOLUME 68
|
||||||
|
#define MIDI_EVENT_MOD_VIBRATO 69
|
||||||
#define MIDI_EVENT_MODRANGE 69
|
#define MIDI_EVENT_MODRANGE 69
|
||||||
#define MIDI_EVENT_BANK_LSB 70
|
#define MIDI_EVENT_BANK_LSB 70
|
||||||
#define MIDI_EVENT_KEYPRES 71
|
#define MIDI_EVENT_KEYPRES 71
|
||||||
|
@ -176,13 +183,21 @@ typedef struct {
|
||||||
#define MIDI_EVENT_KEYPRES_PITCH 73
|
#define MIDI_EVENT_KEYPRES_PITCH 73
|
||||||
#define MIDI_EVENT_KEYPRES_FILTER 74
|
#define MIDI_EVENT_KEYPRES_FILTER 74
|
||||||
#define MIDI_EVENT_KEYPRES_VOLUME 75
|
#define MIDI_EVENT_KEYPRES_VOLUME 75
|
||||||
|
#define MIDI_EVENT_SOSTENUTO 76
|
||||||
|
#define MIDI_EVENT_MOD_PITCH 77
|
||||||
|
#define MIDI_EVENT_MOD_FILTER 78
|
||||||
|
#define MIDI_EVENT_MOD_VOLUME 79
|
||||||
#define MIDI_EVENT_MIXLEVEL 0x10000
|
#define MIDI_EVENT_MIXLEVEL 0x10000
|
||||||
#define MIDI_EVENT_TRANSPOSE 0x10001
|
#define MIDI_EVENT_TRANSPOSE 0x10001
|
||||||
#define MIDI_EVENT_SYSTEMEX 0x10002
|
#define MIDI_EVENT_SYSTEMEX 0x10002
|
||||||
|
#define MIDI_EVENT_SPEED 0x10004
|
||||||
|
|
||||||
#define MIDI_EVENT_END 0
|
#define MIDI_EVENT_END 0
|
||||||
#define MIDI_EVENT_END_TRACK 0x10003
|
#define MIDI_EVENT_END_TRACK 0x10003
|
||||||
|
|
||||||
|
#define MIDI_EVENT_NOTES 0x20000
|
||||||
|
#define MIDI_EVENT_VOICES 0x20001
|
||||||
|
|
||||||
#define MIDI_SYSTEM_DEFAULT 0
|
#define MIDI_SYSTEM_DEFAULT 0
|
||||||
#define MIDI_SYSTEM_GM1 1
|
#define MIDI_SYSTEM_GM1 1
|
||||||
#define MIDI_SYSTEM_GM2 2
|
#define MIDI_SYSTEM_GM2 2
|
||||||
|
@ -200,8 +215,11 @@ typedef struct {
|
||||||
// BASS_MIDI_StreamEvents modes
|
// BASS_MIDI_StreamEvents modes
|
||||||
#define BASS_MIDI_EVENTS_STRUCT 0 // BASS_MIDI_EVENT structures
|
#define BASS_MIDI_EVENTS_STRUCT 0 // BASS_MIDI_EVENT structures
|
||||||
#define BASS_MIDI_EVENTS_RAW 0x10000 // raw MIDI event data
|
#define BASS_MIDI_EVENTS_RAW 0x10000 // raw MIDI event data
|
||||||
#define BASS_MIDI_EVENTS_SYNC 0x1000000 // FLAG: trigger event syncs
|
#define BASS_MIDI_EVENTS_SYNC 0x1000000 // flag: trigger event syncs
|
||||||
#define BASS_MIDI_EVENTS_NORSTATUS 0x2000000 // FLAG: no running status
|
#define BASS_MIDI_EVENTS_NORSTATUS 0x2000000 // flag: no running status
|
||||||
|
#define BASS_MIDI_EVENTS_CANCEL 0x4000000 // flag: cancel pending events
|
||||||
|
#define BASS_MIDI_EVENTS_TIME 0x8000000 // flag: delta-time info is present
|
||||||
|
#define BASS_MIDI_EVENTS_ABSTIME 0x10000000 // flag: absolute time info is present
|
||||||
|
|
||||||
// BASS_MIDI_StreamGetChannel special channels
|
// BASS_MIDI_StreamGetChannel special channels
|
||||||
#define BASS_MIDI_CHAN_CHORUS (DWORD)-1
|
#define BASS_MIDI_CHAN_CHORUS (DWORD)-1
|
||||||
|
@ -217,6 +235,9 @@ typedef struct {
|
||||||
#define BASS_ATTRIB_MIDI_CHANS 0x12002
|
#define BASS_ATTRIB_MIDI_CHANS 0x12002
|
||||||
#define BASS_ATTRIB_MIDI_VOICES 0x12003
|
#define BASS_ATTRIB_MIDI_VOICES 0x12003
|
||||||
#define BASS_ATTRIB_MIDI_VOICES_ACTIVE 0x12004
|
#define BASS_ATTRIB_MIDI_VOICES_ACTIVE 0x12004
|
||||||
|
#define BASS_ATTRIB_MIDI_STATE 0x12005
|
||||||
|
#define BASS_ATTRIB_MIDI_SRC 0x12006
|
||||||
|
#define BASS_ATTRIB_MIDI_KILL 0x12007
|
||||||
#define BASS_ATTRIB_MIDI_TRACK_VOL 0x12100 // + track #
|
#define BASS_ATTRIB_MIDI_TRACK_VOL 0x12100 // + track #
|
||||||
|
|
||||||
// Additional tag type
|
// Additional tag type
|
||||||
|
@ -225,6 +246,15 @@ typedef struct {
|
||||||
// BASS_ChannelGetLength/GetPosition/SetPosition mode
|
// BASS_ChannelGetLength/GetPosition/SetPosition mode
|
||||||
#define BASS_POS_MIDI_TICK 2 // tick position
|
#define BASS_POS_MIDI_TICK 2 // tick position
|
||||||
|
|
||||||
|
typedef BOOL (CALLBACK MIDIFILTERPROC)(HSTREAM handle, DWORD track, BASS_MIDI_EVENT *event, BOOL seeking, void *user);
|
||||||
|
/* Event filtering callback function.
|
||||||
|
handle : MIDI stream handle
|
||||||
|
track : Track containing the event
|
||||||
|
event : The event
|
||||||
|
seeking: TRUE = the event is being processed while seeking, FALSE = it is being played
|
||||||
|
user : The 'user' parameter value given when calling BASS_MIDI_StreamSetFilter
|
||||||
|
RETURN : TRUE = process the event, FALSE = drop the event */
|
||||||
|
|
||||||
// BASS_MIDI_FontPack flags
|
// BASS_MIDI_FontPack flags
|
||||||
#define BASS_MIDI_PACK_NOHEAD 1 // don't send a WAV header to the encoder
|
#define BASS_MIDI_PACK_NOHEAD 1 // don't send a WAV header to the encoder
|
||||||
#define BASS_MIDI_PACK_16BIT 2 // discard low 8 bits of 24-bit sample data
|
#define BASS_MIDI_PACK_16BIT 2 // discard low 8 bits of 24-bit sample data
|
||||||
|
@ -236,7 +266,7 @@ typedef struct {
|
||||||
} BASS_MIDI_DEVICEINFO;
|
} BASS_MIDI_DEVICEINFO;
|
||||||
|
|
||||||
typedef void (CALLBACK MIDIINPROC)(DWORD device, double time, const BYTE *buffer, DWORD length, void *user);
|
typedef void (CALLBACK MIDIINPROC)(DWORD device, double time, const BYTE *buffer, DWORD length, void *user);
|
||||||
/* User MIDI input callback function.
|
/* MIDI input callback function.
|
||||||
device : MIDI input device
|
device : MIDI input device
|
||||||
time : Timestamp
|
time : Timestamp
|
||||||
buffer : Buffer containing MIDI data
|
buffer : Buffer containing MIDI data
|
||||||
|
@ -257,7 +287,10 @@ BOOL BASSMIDIDEF(BASS_MIDI_StreamEvent)(HSTREAM handle, DWORD chan, DWORD event,
|
||||||
DWORD BASSMIDIDEF(BASS_MIDI_StreamEvents)(HSTREAM handle, DWORD mode, const void *events, DWORD length);
|
DWORD BASSMIDIDEF(BASS_MIDI_StreamEvents)(HSTREAM handle, DWORD mode, const void *events, DWORD length);
|
||||||
DWORD BASSMIDIDEF(BASS_MIDI_StreamGetEvent)(HSTREAM handle, DWORD chan, DWORD event);
|
DWORD BASSMIDIDEF(BASS_MIDI_StreamGetEvent)(HSTREAM handle, DWORD chan, DWORD event);
|
||||||
DWORD BASSMIDIDEF(BASS_MIDI_StreamGetEvents)(HSTREAM handle, int track, DWORD filter, BASS_MIDI_EVENT *events);
|
DWORD BASSMIDIDEF(BASS_MIDI_StreamGetEvents)(HSTREAM handle, int track, DWORD filter, BASS_MIDI_EVENT *events);
|
||||||
|
DWORD BASSMIDIDEF(BASS_MIDI_StreamGetEventsEx)(HSTREAM handle, int track, DWORD filter, BASS_MIDI_EVENT *events, DWORD start, DWORD count);
|
||||||
|
BOOL BASSMIDIDEF(BASS_MIDI_StreamGetPreset)(HSTREAM handle, DWORD chan, BASS_MIDI_FONT *font);
|
||||||
HSTREAM BASSMIDIDEF(BASS_MIDI_StreamGetChannel)(HSTREAM handle, DWORD chan);
|
HSTREAM BASSMIDIDEF(BASS_MIDI_StreamGetChannel)(HSTREAM handle, DWORD chan);
|
||||||
|
BOOL BASSMIDIDEF(BASS_MIDI_StreamSetFilter)(HSTREAM handle, BOOL seeking, MIDIFILTERPROC *proc, void *user);
|
||||||
|
|
||||||
HSOUNDFONT BASSMIDIDEF(BASS_MIDI_FontInit)(const void *file, DWORD flags);
|
HSOUNDFONT BASSMIDIDEF(BASS_MIDI_FontInit)(const void *file, DWORD flags);
|
||||||
HSOUNDFONT BASSMIDIDEF(BASS_MIDI_FontInitUser)(const BASS_FILEPROCS *procs, void *user, DWORD flags);
|
HSOUNDFONT BASSMIDIDEF(BASS_MIDI_FontInitUser)(const BASS_FILEPROCS *procs, void *user, DWORD flags);
|
||||||
|
@ -273,6 +306,8 @@ BOOL BASSMIDIDEF(BASS_MIDI_FontUnpack)(HSOUNDFONT handle, const void *outfile, D
|
||||||
BOOL BASSMIDIDEF(BASS_MIDI_FontSetVolume)(HSOUNDFONT handle, float volume);
|
BOOL BASSMIDIDEF(BASS_MIDI_FontSetVolume)(HSOUNDFONT handle, float volume);
|
||||||
float BASSMIDIDEF(BASS_MIDI_FontGetVolume)(HSOUNDFONT handle);
|
float BASSMIDIDEF(BASS_MIDI_FontGetVolume)(HSOUNDFONT handle);
|
||||||
|
|
||||||
|
DWORD BASSMIDIDEF(BASS_MIDI_ConvertEvents)(const BYTE *data, DWORD length, BASS_MIDI_EVENT *events, DWORD count, DWORD flags);
|
||||||
|
|
||||||
BOOL BASSMIDIDEF(BASS_MIDI_InGetDeviceInfo)(DWORD device, BASS_MIDI_DEVICEINFO *info);
|
BOOL BASSMIDIDEF(BASS_MIDI_InGetDeviceInfo)(DWORD device, BASS_MIDI_DEVICEINFO *info);
|
||||||
BOOL BASSMIDIDEF(BASS_MIDI_InInit)(DWORD device, MIDIINPROC *proc, void *user);
|
BOOL BASSMIDIDEF(BASS_MIDI_InInit)(DWORD device, MIDIINPROC *proc, void *user);
|
||||||
BOOL BASSMIDIDEF(BASS_MIDI_InFree)(DWORD device);
|
BOOL BASSMIDIDEF(BASS_MIDI_InFree)(DWORD device);
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,33 +0,0 @@
|
||||||
/*
|
|
||||||
UNMO3 library C/C++ header file
|
|
||||||
Copyright (c) 2010-2013 Un4seen Developments Ltd.
|
|
||||||
|
|
||||||
Free for non-commercial use
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _WIN32
|
|
||||||
#define WINAPI
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Get the UNMO3 library version
|
|
||||||
unsigned WINAPI UNMO3_GetVersion();
|
|
||||||
|
|
||||||
// Decode a MO3 file
|
|
||||||
// in: data/len = MO3 data/len
|
|
||||||
// out: data/len = decoded data/len (if successful)
|
|
||||||
// return: 0 = Success, 2 = It isn't a MO3 file, 3 = There was a problem decoding the MO3 file
|
|
||||||
int WINAPI UNMO3_Decode(void **data, unsigned *len, unsigned flags);
|
|
||||||
|
|
||||||
// UNMO3_Decode flags
|
|
||||||
#define UNMO3_DECODE_NOSAMPLES 1 // don't process sample data
|
|
||||||
|
|
||||||
// Free the data returned by UNMO3_Decode
|
|
||||||
void WINAPI UNMO3_Free(void *data);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
Loading…
Reference in New Issue