annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
1 #import "stdafx.h"
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
2 #import "fooSampleDSPView.h"
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
3 #import "dsp_sample.h"
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
4
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
5 @interface fooSampleDSPView ()
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
6 @property (nonatomic) dsp_preset_edit_callback_v2::ptr callback;
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
7 @property (nonatomic) NSNumber * gain;
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
8 @end
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
9
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
10 @implementation fooSampleDSPView
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
11
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
12 - (instancetype)init {
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
13 // IMPORTANT: feed OUR NSBundle, bundleForClass works well for this
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
14 return [self initWithNibName: @"fooSampleDSPView" bundle:[NSBundle bundleForClass: [self class]]];
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
15 }
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
16
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
17 - (void)viewDidLoad {
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
18 [super viewDidLoad];
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
19 // Do view setup here.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
20
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
21 dsp_preset_impl preset;
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
22 _callback->get_preset(preset);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
23 self.gain = [NSNumber numberWithFloat: parse_preset(preset)];
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
24 }
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
25
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
26 - (IBAction)onEdit:(id)sender {
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
27 [self apply];
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
28 }
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
29
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
30 - (void) apply {
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
31 dsp_preset_impl preset;
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
32 make_preset( self.gain.floatValue , preset);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
33 _callback->set_preset( preset );
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
34 }
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
35 @end
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
36
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
37 service_ptr ConfigureSampleDSP( fb2k::hwnd_t parent, dsp_preset_edit_callback_v2::ptr callback ) {
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
38 fooSampleDSPView * dialog = [fooSampleDSPView new];
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
39 dialog.callback = callback;
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
40 return fb2k::wrapNSObject( dialog );
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
41 }