Commit Graph

1132 Commits

Author SHA1 Message Date
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
casey langen
9ab7769675 Added a new PlayQueueOverlays popup that allows the user to enqueue tracks
into the play queue. Up next will be enqueing categories (albums, artists,
etc) in the same way.
2017-01-21 20:33:38 -08:00
casey langen
462ac04448 Added ITrackList interface to sdk. We'll use this for plugins in the near
future.
2017-01-21 17:24:32 -08:00
casey langen
06438830fc Added playback index tracking to PlaybackService::Editor. 2017-01-21 17:16:05 -08:00
casey langen
1802323279 Incremental work to support tracklist editing. Starting with the play
queue:

1. Added ITrackListEditor interface

2. Added PlaybackService::Edit() that returns a little data structure that
exposes an ITrackListEditor. Used by NowPlayingLayout. Implementation is
still incomplete.
2017-01-21 15:03:28 -08:00
casey langen
f084da0963 Updated cursespp::Window to use treat X and Y as coordinates relative to
the parent window. Added GetAbsoluteX and GetAbsoluteY methods to
cursespp::IWindow interface.
2017-01-20 23:16:19 -08:00
Casey Langen
fd37afb33f More work on custom colors. Apple Terminal is now "properly" supported. 2017-01-16 17:20:57 -08:00
casey langen
33fea97dfe Fallback to better colors if the terminal has 256 colors, but does not support setting custom values. 2017-01-17 00:42:44 +00:00
casey langen
7c011acadf Small tweaks to make things work on the Raspberry Pi. 2017-01-16 07:07:27 +00:00
Casey Langen
4a722e0f0c You know what? We don't need to keep a list of buffers at all -- just a count is good enough. 2017-01-15 14:05:30 -08:00
Casey Langen
dafbf480e8 Reduce CPU usage in CoreAudioOut:
* We don't need to count buffers by provider, counting all buffers is good enough
* Use an std::deque instead of std::list to maintain pending buffers
* Removed boost, use std instead.
2017-01-15 11:56:09 -08:00
casey langen
e518d3a575 Version bump. 2017-01-15 11:19:46 -08:00
Casey Langen
e4bb690a56 Make sure we include libnullout in the installation. 2017-01-14 14:43:32 -08:00
casey langen
f0a15e584b Updated CHANGELOG.txt 2017-01-14 12:06:01 -08:00
casey langen
452d0a43f5 Some *nix and macOS compiler fixes. 2017-01-14 11:56:27 -08:00
casey langen
3e1165dd87 Fixed NullOut's CMakeLists.txt. 2017-01-14 11:54:15 -08:00
casey langen
9616bc39e9 Added a null output plugin. 2017-01-14 11:52:53 -08:00
casey langen
f77a5ef23a Updated CHANGELOG.txt 2017-01-12 21:17:56 -08:00
Casey Langen
fb8ad79a59 Fixed a bug in Player where buffers may not get properly released during seeking. 2017-01-11 21:03:55 -08:00
casey langen
afd24ca9aa (Hopefully) fixed crash in WASAPI audio stream routing. Unclear exactly
what was going on, but reordering cleanup seems to have fixed it.
2017-01-10 18:03:00 -08:00
casey langen
d85d8a3f3f Third time's a charm. 2017-01-10 07:30:40 -08:00
casey langen
904293f080 More macOS fixes. 2017-01-10 07:07:26 -08:00
casey langen
b94f29305e This should fix ConsoleLayout's compile on macOS. 2017-01-10 07:01:19 -08:00
casey langen
f6403bd5f7 - Deleted MetadataKeyValue and MetadataValue from core. No idea what these
are/were, but they're not used anymore
- Deleted OutputWindow.h -- not necessary to subclass
- Moved ListView::SetAdapter functionality into the ScrollableWindow base
  class
- Cleaned up adapter ownership by using shared, instead of raw, pointers.
2017-01-09 23:15:26 -08:00
casey langen
05afff01ad Fixed Linux compile... surprising it worked on macOS. 2017-01-09 21:40:30 -08:00
casey langen
f7d660720c A few more prototype updates -- working transport buttons, fixed listview
styling, etc.
2017-01-08 21:17:00 -08:00
casey langen
c71f5a5f10 Updated musikbox to take advantage of LocalLibrary's ability to dispatch
results on a specified MessageQueue to reduce gymnastics required to
update category and track list views.
2017-01-08 21:16:14 -08:00
casey langen
5af9b778f5 Added PlaybackEvent, VolumeChanged, and TimeChanged to PlaybackService.
Mirrors the underlying Transport events, but will raise them on the
MessageQueue thread.
2017-01-08 13:14:38 -08:00
casey langen
4474b96f28 Updated prototype to run queries in the background and update on the main
thread. Also, track filtering works properly.
2017-01-07 23:19:35 -08:00
casey langen
442697e9ce Modified ILibrary interface to also accept an IMessageQueue reference. The
implementation will dispatch results on this queue if it's non-null.
2017-01-07 22:53:06 -08:00
casey langen
c9619c88d6 More proof of concept work, showing core and glue can be re-used for other
apps easily.
2017-01-07 15:44:37 -08:00
casey langen
49abe0526d Proof of concept MessageQueue implementation for raw Win32 with
PlaybackService integration. Visualizers work too.
2017-01-07 13:07:22 -08:00