casey langen
7c011acadf
Small tweaks to make things work on the Raspberry Pi.
2017-01-16 07:07:27 +00:00
casey langen
e518d3a575
Version bump.
2017-01-15 11:19:46 -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
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
2f57240125
Fixed macOS compile again.
2017-01-07 00:14:37 -08:00
casey langen
9812e2fe3d
- Moved PlaybackService and TrackList from glue to core
...
- Moved all current queries from box to blue
2017-01-06 23:49:46 -08:00
Casey Langen
79cf91851d
Fixed macOS (and likely Linux) compile.
2017-01-06 18:34:33 -08:00
casey langen
0d7dfce805
Moved some sources out of "musikbox" and into a new "glue" directory. This
...
is for non-UI code that doesn't necessarily belong in core, but can be
reused across clients.
2017-01-06 18:28:00 -08:00
casey langen
45bac55dc3
Put MessageQueue behind an interface so implementation can vary on
...
different platforms.
2017-01-06 16:07:47 -08:00
casey langen
3ba692d20a
Added back some old files I deleted a long time ago, just so we can do
...
some platform-specific testing easily.
2017-01-06 12:37:08 -08:00
casey langen
40fe1512de
Ninja fix for non-win32 platforms.
2017-01-05 23:29:01 -08:00
casey langen
158ba27528
Some win32-specific optimizations -- don't worry about redrawing the
...
window nearly as frequently when minimized. Further reduces CPU usage in
the common case (music playing in the background).
2017-01-05 23:28:12 -08:00
casey langen
1475abbbac
- Fixed nomad float sample scaling to use fewer instructions.
...
- Fixed PlaybackService to read duration from transport first.
2017-01-05 01:44:53 -08:00
casey langen
fd39258578
Fixed Outputs.cpp to load correct default plugins.
2017-01-05 00:13:01 -08:00
casey langen
a6e78c0941
Updated optimization flags.
2017-01-04 19:22:05 -08:00
casey langen
165b5aeb32
Some more profiling revealed we were doing more work than we needed to in
...
TransportWindow every tick -- locks, map look ups, utf8 -> utf16
conversions, and column width calculations. We can cache most of these
operations easily and transparently.
2017-01-03 22:23:51 -08:00
casey langen
602f61eab6
- Tweaked Player to no longer keep a list of pending buffers -- a count is
...
good enough.
- Use raw buffers between Player and Stream. A bit less safe, but improves
performance a bit.
- More old Player logic clean up -- removed some things here and there.
- Updated MessageQueue to cache the next dispatch time so it can short
circuit an explicit Dispatch() without messing around with iterators.
- Fixed TransportWindow to sync time immediately wheen a seek is detected.
- Updated logic in Player to be more seek friendly -- the user shouldn't
observe time jumping around while seeking anymore!
2017-01-03 21:03:40 -08:00
casey langen
790fed8943
Fixed dropdown arrow character to something that is implemented by more
...
fonts.
2017-01-02 15:19:38 -08:00
casey langen
93a82f1e21
Added an "sdk" command to the console layout.
2017-01-02 10:47:56 -08:00
casey langen
b917953286
Version bump.
2017-01-02 00:22:44 -08:00
casey langen
cb4156dbac
Added plugin versioning.
2017-01-02 00:06:30 -08:00
casey langen
0d8c86be4f
Found one more usage of boost::recursive_mutex in PlaybackService. Removed
...
it.
2017-01-01 15:06:55 -08:00
casey langen
c5d8a3c608
Fixed most of the remaining boost thread/mutex/recursive_mutex/condition
...
usage to use the std:: variants. Only thing remaining is the Indexer,
which is currently using boost::asio and boost::thread_group.
2017-01-01 14:59:33 -08:00
casey langen
83fc208daf
- Fixed focus issues when pressing enter in track and category filter
...
modes.
- Removed boost::chrono dependency -- just use std::chrono in all cases.
2017-01-01 12:09:28 -08:00
casey langen
7efcf60e1d
General repo/build/project cleanup:
...
- Removed unused md5 and fftw-3 remnants
- Renamed 3rdparty/lib -> 3rdparty/win32_lib to match win32_include
- Removed core/sdk/config.h
- Fixed various compiler warnings
2016-12-30 21:49:50 -08:00
casey langen
6ac1926611
Version bump -- we're getting close to release.
2016-12-29 16:06:18 -08:00
casey langen
ef3fd3c7cc
Don't block the UI when switching from Crossfade -> Gapless transport.
2016-12-27 21:02:54 -08:00
casey langen
1be4e3fd70
Added more error handling to PlaybackOverlays -- also, ensure we set the
...
selected index on the transport and output device overlays.
2016-12-27 19:07:08 -08:00
casey langen
76fbc5e6bd
Added ListOverlay::SetSelectedIndex
2016-12-27 19:06:57 -08:00
Casey Langen
a2d95a6698
Improved the transport selection logic to use a ListOverlay and also display an error for invalid outputs.
2016-12-27 17:37:33 -08:00
casey langen
c3653ffa19
Yikes! Fixed a really, really bad first run bug I never noticed because I
...
never go through the first run process.
2016-12-27 17:33:51 -08:00
casey langen
c803d2b671
A small bugfix to restore volume after switching transports.
2016-12-27 01:15:40 -08:00
casey langen
1dbdf73c5c
Fixed *nix and macOS compile.
2016-12-27 01:12:01 -08:00
casey langen
153f12326c
Added UI to switch between transport types at runtime! Needs to be
...
converted to a ListOverlay, but it works!
2016-12-27 01:07:29 -08:00
casey langen
5f64b205cf
Hide the main window immediately on exit in the Win32 build. This allows
...
us to cross fade the audio out without appearing to be frozen.
2016-12-25 20:44:18 -08:00
casey langen
5b5399322f
Ensure the Player's listener is zero'd out as part of Player::Destroy().
...
Also cleaned up a couple small warnings.
2016-12-23 21:38:16 -08:00
casey langen
a6372b3c92
A bunch of changes, some of which are still untested:
...
1. Added IDecoder::GetDuration() methods. Implemented it for all decoders.
2. Modified NomadDecoder to properly resolve duration for mp3 files that
do not have valid Xing headers (borrowed TagLib code)
3. Added IStream::GetDuration(), IPlayer::GetDuration(), and
ITransport::GetDuration()
4. Stubbed out a CrossfaderTransport (untested, unimplemented)
5. Added the concept of "MixPoints" to Player, so clients can be notified
when playback reaches certain points. (untested)
6. Started fleshing out a Crossfader implementation that uses a background
thread and a MessageQueue (untested)
7. Modified TransportWindow to pull the decoder's duration, then fallback
to the library duration if unavailable.
8. Added IDataStream::Seekable(), implemented in LocalFileStream.
2016-12-23 01:36:49 -08:00
Casey Langen
4b53439d68
Fixed macos compile.
2016-12-21 16:48:27 -08:00
casey langen
25fa580bde
- Moved MessageQueue and friends into the core so it can be reused for
...
other things like timers and processing threads
- Cleaned up Player's listener interface a bit, and removed some more
complexity from GaplessTransport
2016-12-21 16:41:44 -08:00
casey langen
1a00c83c7b
Added MessageQueue::WaitAndDispatch(), which should be usable for
...
timer-like functionality.
2016-12-21 00:02:20 -08:00
casey langen
3aa4871e62
MessageQueue itself is no longer a singleton. However, Window has a static
...
instance.
2016-12-20 22:54:13 -08:00
casey langen
00bcb09a94
Version bump.
2016-12-19 22:52:37 -08:00
casey langen
d27b911ede
- Added DirectSoundOut plugin for Windows
...
- Updated WasapiOut to pre-calculate the stream latency
2016-12-18 17:15:00 -08:00
Casey Langen
487f47a88c
Version bump.
2016-12-14 07:47:09 -08:00
casey langen
2b7ad11c40
Version bump.
2016-12-10 00:07:36 -08:00
casey langen
ddacf4dc69
Make sure when we change main layouts we bring them to the top so all
...
views appear properly.
2016-12-10 00:06:47 -08:00
casey langen
be9284e4ef
Fixed a really old bug in ListWindow where you could scroll past the last
...
item if items in the viewport were of heterogenous size.
2016-12-08 20:25:17 -08:00