Mercurial > foo_out_sdl
diff foosdk/sdk/foobar2000/foo_sample/Mac/fooSampleDSPView.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/fooSampleDSPView.mm Mon Jan 05 02:15:46 2026 -0500 @@ -0,0 +1,41 @@ +#import "stdafx.h" +#import "fooSampleDSPView.h" +#import "dsp_sample.h" + +@interface fooSampleDSPView () +@property (nonatomic) dsp_preset_edit_callback_v2::ptr callback; +@property (nonatomic) NSNumber * gain; +@end + +@implementation fooSampleDSPView + +- (instancetype)init { + // IMPORTANT: feed OUR NSBundle, bundleForClass works well for this + return [self initWithNibName: @"fooSampleDSPView" bundle:[NSBundle bundleForClass: [self class]]]; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do view setup here. + + dsp_preset_impl preset; + _callback->get_preset(preset); + self.gain = [NSNumber numberWithFloat: parse_preset(preset)]; +} + +- (IBAction)onEdit:(id)sender { + [self apply]; +} + +- (void) apply { + dsp_preset_impl preset; + make_preset( self.gain.floatValue , preset); + _callback->set_preset( preset ); +} +@end + +service_ptr ConfigureSampleDSP( fb2k::hwnd_t parent, dsp_preset_edit_callback_v2::ptr callback ) { + fooSampleDSPView * dialog = [fooSampleDSPView new]; + dialog.callback = callback; + return fb2k::wrapNSObject( dialog ); +}
