Dzmitry Neviadomski
45345b810c
Fix runtime warnings in Window/AboutWindowController.xib
...
Fix typo in File Owner class name and remove absent outlet.
2022-06-23 01:34:17 +03:00
Dzmitry Neviadomski
43467b6978
AboutWindow adjustments
...
Allow opening links in default browser
Close window on Esc
Add rounded corners
2022-06-22 19:01:42 +03:00
Christopher Snowhill
4a0d4bb093
[Volume Control] Only initialize view once
...
Only initialize viewController once, the first time the volume control
is opened. Re-initializing it can cause an error assigning it as first
responder to the volume slider popover view.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-21 22:52:52 -07:00
Kevin López
0679b146a3
[About Dialog] Switched to WebView for credits
...
Signed-off-by: Kevin López Brante <kevin@kddlb.cl>
2022-06-21 22:20:18 -04:00
Christopher Snowhill
2821cb36b5
[Crashlytics] Require asking user consent
...
Require asking user consent for data transmission on first launch, or
otherwise disable sending crash reports by default.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-21 19:03:37 -07:00
Christopher Snowhill
59176ef9ec
Change version numbering system
...
In preparation for submitting to the App Store.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-21 06:27:29 -07:00
Kevin López
2ce719c7fa
[About Dialog] Implemented new About dialog
...
Signed-off-by: Kevin López Brante <kevin@kddlb.cl>
2022-06-20 21:58:22 -04:00
Christopher Snowhill
39f4d09c1a
Use NSNumber Literals as much as possible
...
Replaced a bunch of [NSNumber numberWith...] with NSNumber Literals.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-17 06:39:02 -07:00
Christopher Snowhill
8db2e41049
[Event Handling] Add context to all observers
...
Add context field to all observers that support it, in case it's useful.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-15 16:47:43 -07:00
Christopher Snowhill
e5ff6cd23d
[Position Slider] Fix invalid duration setting
...
Fix NaN condition occurring when an invalid file is played.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-13 02:01:26 -07:00
Christopher Snowhill
7c8a270ed2
[Dialogs] Renamed HDCD toolbar items to be unique
...
The two toolbars seem to require unique identifiers for each of their
items, even when they're separate toolbars in separate windows.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-11 13:37:51 -07:00
Christopher Snowhill
0ba766023e
Playlist/Time: Simplify font initialization
...
Apparently this simpler API already existed on a minimum of 10.11 for
creating a system font with monospaced digits.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-06-03 16:46:37 -07:00
Christopher Snowhill
f9040dd1d3
Fixed Mini Window appearing topmost on startup
...
This stupid setLevel default was something suggested when making a
window a drag target, and I was observing a setLevel for a window
control, not for a window itself. I should not have set that in the
first place.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-21 20:31:35 -08:00
Christopher Snowhill
763f4c8cd5
Shrink the time field on macOS 10.13 and older
...
Since 10.13 doesn't want to observe the auto sizing attribute of the
field properly, gotta use the tiny font size that the field is already
configured to use.
Should fix #243
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-21 16:51:46 -08:00
Christopher Snowhill
7ef583340d
Equalizer: Replace dialog with custom job
...
New custom equalizer dialog, painstakingly hand assembled.
2022-02-13 11:05:32 -08:00
Christopher Snowhill
421eb8ed82
Replace playback buttons with SF Symbols on 11.0+
...
On macOS Big Sur and newer, replace the playback buttons with system
symbols.
Should fix #96
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-10 01:18:34 -08:00
Christopher Snowhill
60a7052868
Fix volume control tooltip appearance on the left
...
Increasing the threshold for the width of the tooltip to the right of
its intended location to a more generous value, makes it appear on the
left side sooner rather than later, but should fix positioning issues.
Fixes #226
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-09 22:51:39 -08:00
Christopher Snowhill
85c7073649
Reformat my own source code with clang-format
...
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-06 21:49:27 -08:00
Christopher Snowhill
61a30c959c
Bundled resources: Use NSBundle interface
...
These methods should use NSBundle, rather than CF* C functions
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-02-01 14:40:02 -08:00
Christopher Snowhill
54ccad7c5d
Volume Slider: Fix appearance of tooltip
...
Tooltip should appear on the left side when the volume bar is close to
the right side of the screen.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-01-30 14:05:12 -08:00
Christopher Snowhill
808710b881
Volume Control: Fix linear 100% range control
...
Range is now linear on 100%, like it should be.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-01-30 00:18:07 -08:00
Christopher Snowhill
77a079bd53
Mini Window: Fix saving and restoring position
...
Fixes #212
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-01-29 18:00:34 -08:00
Christopher Snowhill
abffadef4e
Equalizer: Prevent circular application of presets
...
This prevents the apply presets function from resaving the preset number
and retriggering itself repeatedly, which would cause a crash.
Fixes #223
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-01-29 17:27:10 -08:00
Christopher Snowhill
e695e36599
Equalizer: Store custom presets on change
...
Store custom presets on value changes, on half second intervals, as the
listener observes the user changing the settings.
Fixes #222
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-01-29 17:21:43 -08:00
Dzmitry Neviadomski
050a3d3112
Scale VolumeSlider linearly if volume is limited.
...
Fixes #198
2022-01-29 05:57:19 +03:00
Christopher Snowhill
9caf704630
Equalizer: Better handle interpolating presets
...
The old quadra method was broken, too. Now it uses a simple linear
difference sliding scale for the extra points, which seems to work much
better for the 20 kHz band. And the 16 kHz band doesn't get predicted to
heck any more, either.
Signed-off-by: Christopher Snowhill <kode54@gmail.com>
2022-01-27 14:30:14 -08:00
Christopher Snowhill
4567df54b7
Playback Buttons: Correctly assign tooltips on button changes
2022-01-24 22:11:54 -08:00
Christopher Snowhill
4bc3a2a1f3
Playback Buttons: Made stop button optional, hidden by default
2022-01-24 22:05:00 -08:00
Christopher Snowhill
fa67b79b22
Mini Window: Window now acts as a drop target for files, sending them to the end of the playlist
2022-01-24 21:30:36 -08:00
Christopher Snowhill
e471945a08
Equalizer: Implemented new presets contributed by Oleg-Chashko
2022-01-24 20:01:22 -08:00
Christopher Snowhill
9e42df41bd
Equalizer: Adjust dialog somewhat again, changing the splitter style, and cleaning up the effects of changing the bands manually, and bringing back the Flatten button
2022-01-23 22:34:41 -08:00
Christopher Snowhill
f35c632f00
Equalizer: Fix the app switching presets in the background versus the open equalizer dialog
...
This should fix #198
2022-01-23 20:40:48 -08:00
Christopher Snowhill
26e0e0cead
HDCD Decoding: Add HDCD indicator
2022-01-20 23:53:45 -08:00
Christopher Snowhill
3a2d360d24
Play Time Field: Rename function used to count digits
2022-01-20 22:33:15 -08:00
Christopher Snowhill
6e68494f09
Play Time Field: Now pads with spaces up to the duration size plus hyphen, as necessary
2022-01-20 22:30:31 -08:00
Christopher Snowhill
71347aab83
Play Time Field: Changed how control achieves monospace numbers, and changed font
2022-01-20 22:03:59 -08:00
Christopher Snowhill
f2feb3bcd7
Equalizer: Fix applying equalizer presets on automatic track change
2022-01-19 01:23:59 -08:00
Christopher Snowhill
2c7d083588
Equalizer: JSON parser can now read the equalizer preset items out of order, and supports an 'altGenres' field, which should be an array of strings, alternate genre names to match for a given preset
2022-01-18 20:24:52 -08:00
Christopher Snowhill
684951bdc0
Change a bunch of NSArray declarations to const collection literals
2022-01-18 18:12:57 -08:00
Christopher Snowhill
96166f9e8d
Equalizer: Hide stock control's 'Flatten EQ' button
2022-01-17 23:19:18 -08:00
Christopher Snowhill
7a0c1d230e
Volume control: Make preamp optional, defaulting to a limit of 100% volume
2022-01-17 22:41:26 -08:00
Christopher Snowhill
4aa6ef0b14
Equalizer: Load presets when first used by genre tracking if dialog hasn't been opened yet
2022-01-17 21:16:39 -08:00
Christopher Snowhill
c56852437d
Equalizer: Track band count changes
2022-01-17 21:10:57 -08:00
Christopher Snowhill
83ad969d9b
Equalizer: Add option for presets to track the music genre tags
2022-01-17 20:43:08 -08:00
Christopher Snowhill
147de11d89
Equalizer: Interpolate to reach bands outside of presets
2022-01-17 18:45:59 -08:00
Christopher Snowhill
dbc0698cee
Equalizer: Implemented stock presets
2022-01-17 06:37:38 -08:00
Christopher Snowhill
87c771c67c
Equalizer: Add option to toggle the equalizer on or off
2022-01-17 01:22:15 -08:00
Christopher Snowhill
71b2f7a4f2
Implement graphic equalizer
2022-01-16 07:32:47 -08:00
Christopher Snowhill
669c52e63d
Use numeric minus sign for time remaining
2022-01-16 00:18:29 -08:00
Christopher Snowhill
297b6247cc
Show volume slider tooltip on the left side of the slider if it would otherwise run off the screen
2022-01-16 00:15:56 -08:00