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.
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
casey langen
d9b9045698
Fixed a couple buggy cases around the edges -- deleting or removing the
...
already preloaded next track was funky.
Also, there were some more auto-reslection weirdness in NowPlayingLayout.
2017-01-22 01:59:39 -08:00
casey langen
a21f60ba97
Cleaned up an edge case where adding stuff to the play queue while not
...
playing, then switching to the play queue, would result in nothing being
selected.
Also fixed a bug where trying to play an empty play queue (or playing
something when nothing is selected) would crash.
2017-01-21 22:54:12 -08:00
casey langen
6f51debdde
Fixed bug where deleting the currently playing item from the play queue
...
would cause the second, instead of first, track in the queue to start
playing.
2017-01-21 22:28:43 -08:00
Casey Langen
ce24a7064b
Fixed macOS compile.
2017-01-21 22:11:13 -08:00
casey langen
743d36dc31
Added proper hotkey support for play queue mutation.
2017-01-21 22:07:36 -08:00
casey langen
d01b36c7b4
Added support for modifying the play queue with categories.
2017-01-21 20:59:47 -08:00