diff foosdk/sdk/foobar2000/foo_sample/Mac/fooSampleMacPreferences.mm @ 1:20d02a178406 default tip

*: check in everything else yay
author Paper <paper@tflc.us>
date Mon, 05 Jan 2026 02:15:46 -0500
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/foosdk/sdk/foobar2000/foo_sample/Mac/fooSampleMacPreferences.mm	Mon Jan 05 02:15:46 2026 -0500
@@ -0,0 +1,58 @@
+#import "stdafx.h"
+#import "fooSampleMacPreferences.h"
+
+namespace foo_sample {
+    extern cfg_uint cfg_bogoSetting1, cfg_bogoSetting2;
+}
+
+@interface fooSampleMacPreferences ()
+@property (nonatomic) NSNumber* bogo1;
+@property (nonatomic) NSNumber* bogo2;
+@end
+
+@implementation fooSampleMacPreferences
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    // Do view setup here.
+}
+- (instancetype)init {
+    // IMPORTANT: feed OUR NSBundle, bundleForClass works well for this
+    self = [self initWithNibName: @"fooSampleMacPreferences" bundle:[NSBundle bundleForClass: [self class]]];
+    [self loadSettings];
+    return self;
+}
+- (void) loadSettings {
+    self.bogo1 = [NSNumber numberWithUnsignedLong: foo_sample::cfg_bogoSetting1];
+    self.bogo2 = [NSNumber numberWithUnsignedLong: foo_sample::cfg_bogoSetting2];
+}
+- (IBAction)onBogo1:(id)sender {
+    foo_sample::cfg_bogoSetting1 = self.bogo1.unsignedLongValue;
+}
+- (IBAction)onBogo2:(id)sender {
+    foo_sample::cfg_bogoSetting2 = self.bogo2.unsignedLongValue;
+}
+
+
+@end
+
+
+
+
+
+namespace {
+class preferences_page_sample : public preferences_page {
+    public:
+        service_ptr instantiate() override {
+            return fb2k::wrapNSObject( [ fooSampleMacPreferences new ] );
+        }
+        const char * get_name() override {return "Sample Component";}
+        GUID get_guid() override {
+            // This is our GUID. Replace with your own when reusing the code.
+            return GUID { 0x7702c93e, 0x24dc, 0x48ed, { 0x8d, 0xb1, 0x3f, 0x27, 0xb3, 0x8c, 0x7c, 0xc9 } };
+        }
+        GUID get_parent_guid() override {return guid_tools;}
+    };
+    
+    FB2K_SERVICE_FACTORY(preferences_page_sample);
+}