aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DomeKey/HeadphoneKey.h2
-rw-r--r--DomeKey/HeadphoneKey.m3
-rw-r--r--DomeKey/Sounds.h10
-rw-r--r--DomeKey/Sounds.m26
4 files changed, 39 insertions, 2 deletions
diff --git a/DomeKey/HeadphoneKey.h b/DomeKey/HeadphoneKey.h
index 618bdd2..d04e840 100644
--- a/DomeKey/HeadphoneKey.h
+++ b/DomeKey/HeadphoneKey.h
@@ -9,6 +9,7 @@
#import <Foundation/Foundation.h>
#import <DDHidLib/DDHidAppleMikey.h>
+#import "Sounds.h"
#import "dome_key_map.h"
#import "log.h"
@@ -26,6 +27,7 @@ static const Milliseconds TIMEOUT_DEFAULT = 500;
Trigger *_in_mode;
State *_state;
Milliseconds _timeout;
+ Sounds *_sounds;
}
- (instancetype)initWithTimeout:(Milliseconds)timeout;
diff --git a/DomeKey/HeadphoneKey.m b/DomeKey/HeadphoneKey.m
index 122a2c6..f11e8b7 100644
--- a/DomeKey/HeadphoneKey.m
+++ b/DomeKey/HeadphoneKey.m
@@ -22,6 +22,9 @@
// default should always come from a `Config`, set in the Rust library.
_timeout = TIMEOUT_DEFAULT;
+ _sounds = [[Sounds alloc] init];
+ [_sounds playModeActivated];
+
// TODO: Think about moving this logger higher up
dome_key_logger_init();
dome_key_state_load_map_group(_state);
diff --git a/DomeKey/Sounds.h b/DomeKey/Sounds.h
index 5778bee..3766f26 100644
--- a/DomeKey/Sounds.h
+++ b/DomeKey/Sounds.h
@@ -6,8 +6,14 @@
// Copyright © 2018 tw. All rights reserved.
//
-#import <Foundation/Foundation.h>
+#import <AppKit/Appkit.h>
-@interface Sounds : NSObject
+@interface Sounds : NSObject {
+ NSSound *_mode_activated;
+ NSSound *_mode_deactivated;
+}
+
+- (void)playModeActivated;
+- (void)playModeDeactivated;
@end
diff --git a/DomeKey/Sounds.m b/DomeKey/Sounds.m
index 8bc2790..7378b3c 100644
--- a/DomeKey/Sounds.m
+++ b/DomeKey/Sounds.m
@@ -8,6 +8,32 @@
#import "Sounds.h"
+#import "sound_data.h"
+
@implementation Sounds
+- (instancetype)init
+{
+ self = [super init];
+ if (self) {
+ _mode_activated = [[NSSound alloc] initWithData:[NSData
+ dataWithBytes:sounds_mode_activated_mp3
+ length:sounds_mode_activated_mp3_len]];
+ _mode_deactivated = [[NSSound alloc] initWithData:[NSData
+ dataWithBytes:sounds_mode_deactivated_mp3
+ length:sounds_mode_deactivated_mp3_len]];
+ }
+ return self;
+}
+
+- (void)playModeActivated
+{
+ [_mode_activated play];
+}
+
+- (void)playModeDeactivated
+{
+ [_mode_deactivated play];
+}
+
@end