casey langen
978ad2ec9d
Removed 'IMMNotificationClient' implementation of audio endpoint routing,
...
go with a polling method instead. There are bugs with
IMMNotificationClient with no apparent solution.
2017-02-07 19:20:00 -08:00
casey langen
2495fd97d4
A couple small playqueue editing related bug fixes.
2017-02-07 19:19:41 -08:00
casey langen
f88896d0ac
Seed the random number generator on startup.
2017-02-05 23:10:25 -08:00
Casey Langen
3a9f69e097
Fixed clang (and hopefully gcc) compile.
2017-02-05 22:34:11 -08:00
casey langen
d8815a1a88
Added playlist editing to IPlaybackService -- it was already in the
...
implementation -- so just expose it to the SDK now.
Also implemented the missing ::Shuffle() and ::Clear() methods in the
playback service's editor.
2017-02-05 22:13:11 -08:00
casey langen
969934fb16
Fixed a deadlock in LocalLibrary
2017-02-05 22:12:43 -08:00
casey langen
aa64784128
Updated IPlaybackService (and impl) to allow the ability to set the play
...
queue from plugins.
2017-02-05 21:19:41 -08:00
casey langen
d91f05627a
* Added ITrack::GetId() and renamed other Track*::Id() methods.
...
* Added the ability to query tracks by category in ISimpleDataProvider
2017-02-05 15:16:10 -08:00
casey langen
19c620fcbd
* Started fleshing out ISimpleDataProvider interface, which is just a facade
...
plugins can use to access existing queries. Started implementing it
against the LocalLibrary in LocalSimpleDataProvider.
* Added musik::core::plugins that can be used as a centralized place for
initializing plugins with components they require, e.g. preferences and
data providers.
* Added some more constants to the SDK interface.
2017-02-05 13:32:09 -08:00
Casey Langen
2590d37e4b
* Fixed clang compile.
...
* Removed the query template stuff from last night. Overly-complicated and not
necessary.
* Renamed QueryBase to LocalQueryBase
2017-02-05 11:06:00 -08:00
casey langen
fb74bb3d1f
Incremental work to support more generic query types.
...
* Parameterized the QueryBase on a ConnectionType.
* Re-namespaced IQuery and QueryBase to musik::core::db
* Removed IQueryPtr
* Added runtime type checking for query type in LocalLibrary. yeah, i
know. don't tell anyone. but it ensures things are safe.
* Moved queries out of glue and back into core so they can be used by
plugins to query metadata.
2017-02-05 01:45:16 -08:00
casey langen
eaa60205cc
Ramped SdkVersion and fixed musikwin example.
2017-02-04 01:50:34 -08:00
casey langen
e4c1acca84
Added a couple new SDK interfaces -- IMetadataValue and
...
IMetadataValueList. Implement these interface in CategoryListQuery.
Also added TrackListQueryBase::WrappedTrackList so we can return track
query results to plugins efficiently.
2017-02-03 23:19:51 -08:00
Casey Langen
27bfa8fd3c
Tweaked CMakeLists.txt to hush the deprecation warnings because they're getting
...
in the way. Will remove this once we get a new version of boost on macOS.
2017-02-03 18:13:25 -08:00
casey langen
e21fffac3d
Added the ability for plugins to save preferences.
2017-02-03 18:04:29 -08:00
casey langen
bc87e4d28c
Fixed a deadlock in PlaybackService when changing tracks from an IPlaybackRemote.
2017-02-03 08:13:28 +00:00
Casey Langen
482433e5da
Fixed compiler warnings on macOS (and Linux)
2017-02-02 20:54:29 -08:00
Casey Langen
85913132e3
Return genre, artist, album, and album_artist ids in track queries.
2017-02-02 20:52:34 -08:00
casey langen
5b9338c61e
* Fixed a bug where queries may be enqueued into the library during
...
shutdown, and run after calling components have been destroyed.
* Fixed a bug in PlaybackService where the "ModeChanged" event wasn't
getting called after shuffling, and sometimes not on the MessageQueue
thread.
2017-02-01 23:22:31 -08:00
casey langen
7721f7d412
Added configurable hotkeys for play queue playlist operations.
0.8.0
2017-01-28 23:14:14 -08:00
casey langen
2ff3f3cc78
Ensure that focus status is taken into account properly when re-creating
...
windows and setting their colors.
2017-01-28 14:02:00 -08:00
Casey Langen
06b10b36f3
Updated changelog.
2017-01-28 11:47:17 -08:00
casey langen
3c75ab2a3d
An attempt to work around an impossible-to-reproduce bug in PulseOut. It seems that sometimes setting the stream volume doesn't work immediately, maybe because the stream isn't ready. Or maybe due a floating point rounding error.
2017-01-28 08:38:39 +00:00
Casey Langen
bf18797b26
Updated changelog and bumped version. Will release after more testing (and any
...
required bug fixes).
2017-01-27 09:20:40 -08:00
Casey Langen
18faa2056d
Added an error dialog when trying to edit an empty list of playlists. Also
...
added the ability for the save playlist dialog to pre-select a playlist by id.
2017-01-27 09:10:29 -08:00
casey langen
fe4869e673
- Ensure that playlist tracks are properly cleaned up when tracks are
...
removed from the library
- Fixed a super old bug in PlaybackService where playing a deleted file
could crash or cause other strange problems.
- Updated win32 build files for the DeletePlaylistQuery
2017-01-26 23:05:41 -08:00
Casey Langen
3d4bf9e4a4
Added playlist deletion queries and basic UI.
2017-01-26 22:50:27 -08:00
casey langen
715a58f2d1
Removed "esc focuses shortcut bar" setting. No use turning it off anymore.
2017-01-26 22:26:13 -08:00
casey langen
1dfd14911c
- Fixed Windows compile
...
- Fixed new playlist creation
- Added a confirmation dialog when replacing a playlist
2017-01-26 19:29:20 -08:00
Casey Langen
879df9321d
- Implemented playlist renaming
...
- Standardized PlayQueueOverlay widths for all overlays
- Fixed TextInput::SetText() to set the cursor at the proper position
2017-01-26 18:45:26 -08:00
Casey Langen
de859a7f7a
Added proper playlist creation and replacing.
2017-01-26 18:24:15 -08:00
Casey Langen
1f0139c5cd
- Updated SDK version, added IPlaybackService::GetPlayingTrack()
...
- Added PlaybackService::GetPlayingTrack and PlaybackService::GetPlaying to get
an IRetainedTrack or TrackPtr to the currently playing track, respectively.
- Fixed PlaybackService::CopyFrom() to correctly discover the playing track and
queue up the next one, if applicable. Else queue up the first track
- Fixed NowPlayingLayout to use PlaybackService::GetPlaying() to resolve the
currently playing track.
2017-01-26 08:46:06 -08:00
Casey Langen
e778c6034d
Added basic code for saving a playlist. Need to support updating and renaming
...
next.
2017-01-26 00:10:18 -08:00
casey langen
85eb56b74e
- Updated code to use a couple constants (ListWindow::NO_SELECTION and
...
CURSESPP_DEFAULT_COLOR) instead of a bunch of inline (size_t)-1 and -1LL
values throughout the code.
- Updated win32 project files.
2017-01-25 21:19:29 -08:00
Casey Langen
9b7a078348
- Fixed some global focus (and focus styling issues) by introducing special
...
color pairs for the focused state for both the frame and content views
- Tweaked App.cpp to ensure newly focused windows have Focus() called, and
previously focus windows have Blur() called.
- More fixes to InputOverlay -- it's pretty much functional now.
- Fixed bug in LayoutBase where child windows weren't properly getting their
windows reset to null when the parent is destroyed.
- Various other small fixes that were fallout from the focus cleanup.
2017-01-25 18:28:50 -08:00
casey langen
545d179873
Fixed win32 compile, and a couple small bugs.
2017-01-25 07:42:15 -08:00
Casey Langen
5c4ef10f5f
* Added InputOverlay.h/cpp. Still doesn't draw completely correctly.
...
* Added support for item deletion in ListOverlay. generally untested
* Fixed lastPlaylistId initialization in NowPlayingLayout
2017-01-24 23:05:05 -08:00
Casey Langen
3331e91d12
More incremental work to support loading playlists into the play queue.
...
A playlist can be selected from a list, and it will replace the current queue.
2017-01-24 21:42:35 -08:00
Casey Langen
5f78e4eb97
Modified CategoryListQuery also support playlist. Added a (probably temporary)
...
PlayQueueOverlay for loading playlists. this functionality will likely be
rolled into a category list view next to now playing.
2017-01-24 11:39:47 -08:00
casey langen
cd6b3a8f72
Renamed StreamPtr -> IStreamPtr, LibraryPtr -> ILibraryPtr
2017-01-23 20:47:08 -08:00
Casey Langen
7c800ff817
Add new RowDecorator
to TrackListView, with a default implementation. Added
...
a custom implementation to NowPlayingLayout to make sure the actively playing
instance is highlighted, instead of all tracks that have the same ID.
2017-01-23 07:52:49 -08:00
Casey Langen
a44c7c76a3
Fixed a crazy old bug in SettingsLayout when trying to add/remove an empty
...
directory in the settings screen.
2017-01-22 21:46:06 -08:00
casey langen
07bc12d283
Cleaned up a couple more play queue editor issues related to prefetching
...
the next track, if the next track is already prefetched and an edit
operation changed the next track's position.
2017-01-22 21:35:40 -08:00
Casey Langen
8d9fd8fd09
Fixed play_queue_move_down constant.
2017-01-22 21:15:34 -08:00
Casey Langen
ee8d863544
Updated CHANGELOG.txt.
2017-01-22 17:29:04 -08:00
casey langen
2ea4e12def
Added some more ALT+UP and ALT+DOWN key mappings for linux.
2017-01-22 23:22:22 +00:00
casey langen
4a47864c31
Fixed behavior when setting volume while muted.
2017-01-22 23:13:24 +00:00
casey langen
0258c5d752
Adjusted DARK_RED color for strict 256 color palette mode.
2017-01-22 23:13:18 +00:00
casey langen
351e93e57b
Fixed Linux compile.
2017-01-22 14:56:16 -08:00
Casey Langen
65fa3e3c87
Fixed a couple more edge case bugs around auto ListWindow item reselection when
...
mutating the backing store.
2017-01-22 14:03:13 -08:00