Commit Graph

898 Commits

Author SHA1 Message Date
casey langen
32618f533b - The audio deinterleaving process works now
- Apply a Hamming Window to FFT input to reduce spectral leakage
- Reduced memory usage by doing FFT with real inputs
2016-11-30 00:44:02 -08:00
casey langen
793bb9102b Removed win32 debugging code. 2016-11-28 23:32:10 -08:00
casey langen
232d2c4b0d Oops, moved kiss_fft.c to the correct directory. 2016-11-28 23:30:56 -08:00
casey langen
803323678e After some testing, decided to replace the existing FFT implementation
with kiss_fft.
2016-11-28 23:28:50 -08:00
casey langen
d14fc89721 Replaced VLC/xmms FFT with the one used by Milkdrop. 2016-11-28 00:20:15 -08:00
casey langen
ed1fd578e5 Fixed an off-by-1 bug in fft.cpp where we could try to write past the end
of an array.
2016-11-27 23:45:46 -08:00
casey langen
e6d86517c9 - Adjusted default Stream buffer sizes to be more CPU friendly
- Fixed FFT buffer handling in Player
2016-11-27 23:09:31 -08:00
Casey Langen
d698ea98ac Fixed clang compile. 2016-11-27 22:46:49 -08:00
casey langen
84d5190e7c Removed bifrucated stream types, only use the new one. Also, ensure in
Windows the decoder cannot change the buffer size.
2016-11-27 22:35:31 -08:00
casey langen
debe9b491f Revert "Upgraded to VS2017 RC."
This reverts commit 5bcb794ad8.
2016-11-27 21:40:30 -08:00
casey langen
72eb1cb74d A few small bug fixes related to bad pointer arithmetic 2016-11-27 21:38:27 -08:00
casey langen
d28cfcfd52 Cleaned up FixedSizeStream to ensure the buffer size is ALWAYS the
requested buffer size, except for maybe the last buffer in the stream.
2016-11-27 15:46:54 -08:00
Casey Langen
d41f44deaf Fixed mac/nix build to exclude fftw and use VLC's fft instead. 2016-11-27 09:29:42 -08:00
casey langen
30aba00e23 Bifrucated stream functionality into DynamicStream (with buffers of
potentially dynamic/changing size), and FixedSizeStream where we try
really hard to ensure the buffers are a consistent size.
2016-11-27 09:23:11 -08:00
casey langen
08a876edb2 Use VLC's lighter weight FFT. 2016-11-27 08:32:29 -08:00
casey langen
410bdbc014 Version bump (plus a bit more dead code removal). 2016-11-26 15:25:43 -08:00
casey langen
0b059c8aee Minor cleanup to the core/db/ sources -- they were largely untouched from
the initial set of cleanups.
2016-11-26 15:21:33 -08:00
casey langen
64a187d1b8 Fixed bounds checking in PlaybackService::GetTrack. 2016-11-25 16:09:23 -08:00
casey langen
5ac6f416db Added IRetainedTrack type that can be queried by plugins via the
IPlaybackService. Callers are required to Release() the reference manually
when they are done with it.

Also added a couple useful callbacks to IPlaybackRemote so plugins can be
notified when the volume, playback state, and playback modes have changed.
2016-11-25 16:05:35 -08:00
casey langen
dc63564157 Updated the way repeat draws to be less obscure to the end-user. 2016-11-25 14:32:53 -08:00
casey langen
5bcb794ad8 Upgraded to VS2017 RC. 2016-11-25 13:11:31 -08:00
casey langen
89b4c06fb0 Fixed a crash in NowPlayingLayout's tracklist formatter when the window
gets very small.
2016-11-22 09:43:27 -08:00
Casey Langen
8ec23765fd Version bump. 2016-11-20 11:55:24 -08:00
casey langen
ea8de4acc0 Tweaked a couple global hotkeys after using them for a bit. 2016-11-19 23:22:13 -08:00
casey langen
db0483809a More global hotkeys to better support keyboards without multimedia keys. 2016-11-19 23:19:48 -08:00
casey langen
26c53669ee Added the ability to get the playback state from the IPlaybackService. 2016-11-19 21:28:12 -08:00
casey langen
e1e609dd56 Added the ability to seek and get the song duration and position from
IPlaybackService.
2016-11-19 18:20:44 -08:00
casey langen
f30686333e Fixed a small error in the win32 global hotkeys implementation... mute was
not properly wired up.
2016-11-19 17:30:14 -08:00
casey langen
a43ea0e2ce Added mute support to ITransport and IPlaybackService. Also improved focus
behavior and interaction with the transport while browsing the library.
2016-11-19 17:20:07 -08:00
casey langen
0c90323b99 Added some more, generally non-invasive global hotkeys to the win32 build. 2016-11-19 14:54:38 -08:00
casey langen
45b7549351 Don't redraw the Checkbox if the screen width is invalid. Some platforms
get crashy.
2016-11-19 14:22:38 -08:00
casey langen
955e60ec14 Separated unicode conversion from config.h 2016-11-19 12:30:43 -08:00
casey langen
0ee77c9c9d cursespp no longer requires boost. 2016-11-19 12:19:42 -08:00
casey langen
5386526f58 Fixed global hotkey handling to actually work. 2016-11-18 23:39:29 -08:00
casey langen
83f4e8a382 Fixed Linux compile. 2016-11-18 22:32:00 -08:00
casey langen
4c4d913368 Added a global hotkey playback remote. 2016-11-18 22:28:23 -08:00
casey langen
60dd792760 Removed some dead files from the waveout plugin. 2016-11-18 22:26:19 -08:00
Casey Langen
99e7a48013 Fixed macOS compile and deleted a couple dead plugins. 2016-11-18 07:54:51 -08:00
casey langen
f97f6ca86b Cleaned up new IPlaybackRemote and IPlaybackService interfaces. These will
be used for creating plugins that can interact with playback.
2016-11-18 00:39:12 -08:00
casey langen
7bfb7657f6 Cleaned up SDK interface namespaces -- they're all in musik::core::sdk
now.
2016-11-17 23:32:37 -08:00
casey langen
2f72c01184 Version bump. 2016-11-17 10:56:44 -08:00
casey langen
b2673a9c35 Ensure visualizers are sorted by name. 2016-11-17 10:19:18 -08:00
Casey Langen
3c56110a54 Updated version. 2016-11-08 15:51:42 -08:00
Casey Langen
8fa936a7b4 Added the correct input launcher file. 2016-11-08 15:50:39 -08:00
Casey Langen
ce07e71169 Tweaked the way we load plugins and launch the app to support symlink'd plugins. 2016-11-08 15:16:15 -08:00
Casey Langen
d04b990530 Updated CMakeLists.txt to install header files. 2016-11-08 12:36:27 -08:00
casey langen
174e0dfbce Fixed a bug in SimpleScrollAdapter "selectable" mode. 2016-11-08 07:26:36 -08:00
Casey Langen
c8d3bd1692 Version bump. 2016-11-08 06:42:09 -08:00
casey langen
2a1431b9c6 Fixed ListOverlay.cpp to respect screen bounds. 2016-11-07 07:06:12 -08:00
casey langen
4e3a23eef9 Oops. Removed some dumb debug code. 2016-11-06 22:20:14 -08:00
casey langen
26c0950d56 Fixed list selection bug in ListOverlay -- should work properly now. 2016-11-06 22:19:33 -08:00
Casey Langen
f79daccb1e Added an error dialog if no visualizers are installed. 2016-11-06 21:54:41 -08:00
Casey Langen
0f7a5a20b5 Cleaned up ListOverlay -- it pretty much works now. 2016-11-06 21:49:08 -08:00
casey langen
a85b4f49e7 Incremental work to support dynamic visualization selection by the user.
Added a new ListOverlay type (not quite done yet).
2016-11-06 20:55:09 -08:00
casey langen
05b404c0f0 Changed default visualizer hotkey to 'v' (was M-v) 2016-11-06 13:48:39 -08:00
casey langen
6e801eee45 Fixed ISpectrumVisualizer::Write return value. 2016-11-05 20:47:36 -07:00
Casey Langen
0dcee1a632 Suppress SIGPIPE errors in *nix -- they may occur with visualizers. 2016-11-05 20:46:31 -07:00
casey langen
53ad470a78 Fixed a crazy character encoding issue with certain UTF-8 control
characters. Also, re-enabled the multi-threaded indexer, it was
not the source of the crash.
2016-11-01 23:17:50 -07:00
casey langen
ae6775fc21 try/catch around tag reading, and also disable the multi-threaded indexing
for now.
2016-11-01 21:42:36 -07:00
Casey Langen
472e3ef2a8 Fixed macOS (and likely Linux) compile. 2016-10-31 23:18:56 -07:00
casey langen
101d002921 Added IVisualizer base interface for PCM and Spectrum visualizers. Added
configurable hotkey to show the current visualizer. A couple other small
cleanups and fixes.
2016-10-31 23:11:31 -07:00
casey langen
c2e519ca8c Added IPcmVisualizer, ISpectrumVisualizer and a very simple facade to
access them called Visualizer.

Tweaked Player.cpp to use Visualizer and pump audio data to the selected
plugin if one is available.
2016-10-30 23:56:34 -07:00
casey langen
1b7ed8ad64 Added fftw3 support so we can calculate a frequency histogram to be used
for audio visualizations.
2016-10-30 18:40:40 -07:00
casey langen
0e11128d0c Fixed a deadlock on shutdown introduced in the previous commit. 2016-10-21 21:19:21 -07:00
casey langen
144e5eeadc Cleaned up some old code -- removed ThreadHelper and integrated the
functionality into Indexer. In the future we should use asio for this sort
of thing.
2016-10-19 23:06:28 -07:00
casey langen
dd0e413e38 Fixed auto-scroll behavior in TrackListView -- had some backwards logic
last night.
2016-10-04 10:12:08 -07:00
casey langen
6dbde108f7 Fixed a silly null pointer dereference in TrackListView related to
auto-scrolling behavior.
2016-10-03 23:50:06 -07:00
casey langen
3476c7b2ed Fixed a bug in ListWindow() where setting the selected index would not
result in a repaint.
2016-10-03 23:38:30 -07:00
casey langen
3123701db2 Automatically scroll to the playing song if the user hasn't touched the
tracklistview for 30 seconds.
2016-10-03 23:19:51 -07:00
casey langen
afca90fb13 Updated version to 0.2.2 2016-10-01 12:31:40 -07:00
Casey Langen
0a9b69a5f5 Fixed an off-by-one error in TransportWindow track calculation. Also fixed a bug where the transport was redrawing every second when stopped. 2016-09-28 20:57:28 -07:00
casey langen
3db2331736 A couple small source cleanups, plus updated the TransportWindow to
display volume percentage.
2016-09-25 00:01:23 -07:00
Casey Langen
d6427976b1 Version bump to 0.2.1 2016-09-20 12:47:37 -07:00
casey langen
aaacb11219 Swapped shuffle and repeat hotkeys. 2016-09-20 12:17:15 -07:00
casey langen
bfd6a80e96 Fixed a resize issue in ConsoleLayout where a rounding error could lead to
an incorrect log window size.
2016-09-20 11:14:26 -07:00
casey langen
935bf6833a Fixed an old off-by-one error in Text::BreakLines, and updated
DialogOverlay appropriately.
2016-09-20 11:14:02 -07:00
casey langen
c9945d5af8 - Modified LayoutBase to emit events on focus terminate or wrap
- Updated LibraryLayout to use FocusTerminated event to simplify logic
  around focusing the transport, instead of using null checks in
  FocusNext() and FocusPrev().
2016-09-19 13:41:08 -07:00
casey langen
935ed10de9 Fixed now playing library view focus by removing some code that never
should have been there in the first place.
2016-09-18 01:19:25 -07:00
casey langen
e7752eb3d0 Changes to support transport focus:
1) Added VolumeUp, VolumeDown, SeekForwad, SeekBack to Playback util
2) Updated GlobalHotkeys for (1)
3) Added support for UP/RIGHT to increase volume or seek forward, and DOWN/LEFT
   to decrease volume or seek back.
2016-09-17 23:04:34 -07:00
Casey Langen
bec8caf280 Preparing TransportWindow for focusing capabilities:
1) Added more to ILayout's interface, including focus mode (circular
   versus terminating), and the ability to focus by index.
2) Added pseudo-focus modes to TransportWindow so it behaves vaguely
   like a layout, but without the overhead.
3) Removed unused WindowLayout and updated build files.
4) Fixed a bug in MainLayout where focused view wasn't being properly
   Blur()'d when changing focus to the command bar
5) Fixed some FocusPrev() and FocusNext() logic in LayoutBase
2016-09-17 22:37:08 -07:00
casey langen
0f3b577838 Fixed taglib plugin build on Windows by undefing HAVE_CONFIG_H. Not sure
how it ever worked to begin with? Some old cached build file?
2016-09-16 14:37:48 -07:00
casey
18edf20cec Ensure "album artist" is properly queried in TrackList so jumping functionality works in library mode. 2016-09-16 13:45:37 -07:00
casey
c4230b169b Added library browsing by "album artist" as well as just "artist" 2016-09-14 22:10:49 -07:00
casey
2379b94473 Fixed a couple memory leaks where adapters were not being properly deleted. 2016-09-11 11:33:00 -07:00
Casey Langen
db4b97711c Version bump. 2016-09-02 19:08:57 -07:00
Casey Langen
da6c3fc393 Cleaned up first run dialog text. 2016-09-02 19:08:35 -07:00
casey
ca9a9e3489 Added bounds checking to Window and DialogOverlay so we don't get crashy if things are positioned incorrectly. 2016-09-02 16:28:34 -07:00
casey
1cea4cde2e Small correction to padding calculation when breaking lines in DialogOverlay. 2016-09-02 12:23:49 -07:00
casey
1b90bb5999 Align DialogOverlay buttons to the right. 2016-09-02 12:17:43 -07:00
casey
38912b9e63 Added text alignment options to ShortcutsWindow. 2016-09-02 11:59:15 -07:00
casey
7e60827aab Ensure the OverlayStack is cleared when the app loop finishes. 2016-09-02 10:19:26 -07:00
Casey Langen
2a819eb0ad Renamed Overlays -> OverlayStack 2016-09-02 10:09:43 -07:00
Casey Langen
77f3293dd7 Removed old, unused LayoutStack stuff. 2016-09-02 10:00:57 -07:00
casey
b320cc837d - Fixed MSVC compile
- Fixed a bug in Overlays where we were performing operations on an invalid iterator, leading to undefined behavior.
2016-09-02 09:53:39 -07:00
Casey Langen
5a0597d472 - Fixed bug in Overlays related to pushing the same layout multiple times
- Added a "welcome to musikbox!" first run dialog in SettingsLayout
- Added App::Overlays() that can be used to manage overlays from UI components
2016-09-02 09:06:08 -07:00
Casey Langen
e0f232fcad Added auto-dismiss behavior to DialogOverlay, and some additional cleanup. 2016-09-02 06:31:06 -07:00
Casey Langen
55b2f262bf - Added Overlays::Push, Overlays::Remove
- Fixed dismissing of overlay and proper redrawing in App
- New overlay frame style in Colors
2016-09-02 00:34:04 -07:00
Casey Langen
b1bbb6485c Moved ShortcutsWindow to cursespp so it can be reused. TODO: reuse in DialogOverlay. 2016-09-01 23:30:16 -07:00
Casey Langen
4240a10963 Fleshed out some of DialogOverlay -- we can set a title and a message, and have the overlay automatically resize itself based on content. Supports line breaking for the message. 2016-09-01 23:02:21 -07:00
Casey Langen
7c972bf011 Moved line breaking logic into Text.h/cpp 2016-09-01 21:57:05 -07:00
Casey Langen
650882ae01 Initial set of work to support overlays (e.g. dialogs):
- A new Overlays class that will manage a stack of overlays.
- Updated App functionality to ensure:
    * overlays are displayed over the active layout
    * overlays are able to receive key events and focus sub-controls
2016-09-01 17:01:33 -07:00
casey
723f59f517 Version bump. 2016-08-30 13:36:12 -07:00
casey
604c589b47 Fixes and optimizes cursor drawing for input windows. 2016-08-30 09:01:42 -07:00
Casey Langen
6baac20b9f Added a flag to ScrollableWindow to disallow KEY_UP and KEY_DOWN propagation when the user hits the top or bottom of a list. This is not useful in most scenarios. 2016-08-30 07:17:19 -07:00
Casey Langen
627cf13b04 Use add_dependencies to (hopefully) fix CMake parallel build (and fix homebrew compile). 2016-08-29 01:06:20 -07:00
Casey Langen
a1f2e2f4c3 Version bump for updated install script (to support Homebrew) 2016-08-28 11:51:16 -07:00
Casey Langen
ad3a28d95b Show settings layout if no paths have been added to the library's indexer. 2016-08-22 21:53:11 -07:00
Casey Langen
8b7062be0b - Updated default hotkeys and related documentation
- Updated default "ESC" behavior to focus command bar
- Added version information to the console window
2016-08-22 21:30:04 -07:00
casey
979b088e7f Reduced NOTIFY_INTERVAL back to something more reasonable in Indexer.cpp. 2016-07-29 21:03:04 -07:00
casey
f3d1cdfd6e Disable DB stress testing -- this shouldn't have been checked in this way. 2016-07-28 19:33:25 -07:00
Casey Langen
5a290aa6d5 A couple database optimizations that should make the indexing process faster. 2016-07-28 19:29:11 -07:00
casey
5d9c58fd16 Allow tab / shift+tab to defocus command window. 2016-07-28 19:26:39 -07:00
casey
7dc629b4db Allow "KEY_ENTER" to exit command mode. Makes it a bit easier in some contexts. 2016-07-28 19:15:28 -07:00
Casey Langen
791562fc93 Removed ResourcesWindow, SystemInfo. Fixed update mechanism in ConsoleLayout/LogWindow. 2016-07-20 00:04:15 -07:00
casey
a8cb57b6a9 Fixed VS2015 compile. 2016-07-19 17:54:32 -07:00
Casey Langen
99f0293903 - Created PreferenceKeys.h/cpp for both box and core.
- Added the ability to easily disable custom colors in settings
2016-07-19 17:08:10 -07:00
casey
1f94e4a8b4 One more min-size adjustment. 2016-07-18 01:54:13 -07:00
casey
d92db51cb7 Tweaked minimum size to be smaller. 2016-07-18 01:46:23 -07:00
casey
c1b10a8d7c Disable window drawing if the terminal is resized too small. 2016-07-18 01:34:06 -07:00
Casey Langen
e7a7df22c3 Fixed "UP" arrow to defocus shortcuts bar if it is focused. 2016-07-18 01:05:30 -07:00
casey
149f168471 Added a new darkRed color and updated the statusbar focus style. 2016-07-18 00:51:06 -07:00
casey
8f539da0c3 Reduced the 'white' color's intensity a bit. 2016-07-18 00:43:53 -07:00
casey
979f4bb358 Fixed a small edge case in TransportWindow title line ellipsizing. 2016-07-17 20:47:03 -07:00
casey
fd637ba199 Added COLOR_CUSTOM_WHITE for more consistent colors across platforms. 2016-07-17 20:29:22 -07:00
casey
c1e21abad5 Added support for focusable shortcuts bar, aka "dedicated command mode"
- Added ITopLevelLayout, implemented by ConsoleLayout, LibraryLayout,
  SettingsLayout
- Removed individual ShortcutsWindows from all layouts, use a single one
  in MainLayout
- Fixed a super old bug where ConsoleLayout was continuing to update even
  when invisible.
- Added a call to set_escdelay() to reduce latency in Linux/OS X when
  pressing ESC.
- Fixed up botched key handling in App.cpp
- Added IsFocused(), IsVisible() to IWindow
- Added a new blue color in Colors.cpp (currently unused)

Fixed a bug where the search field may get refocused even if the shortcuts bar is active.
2016-07-17 17:14:38 -07:00
Casey Langen
7f4fc66fb7 Added some more configurable hotkeys: browse by artist/album/genre, refresh current view, and jump to playing. 2016-07-14 22:16:45 -07:00
casey
d73113f068 A couple small tweaks to the ellipsizing algorithm in TransportWindow. 2016-07-14 09:36:35 -07:00
casey
1a7ba93e0a Just experimenting with transport metadata -- added the artist name. 2016-07-14 01:28:30 -07:00
casey
0346667c43 Added a missing colon in ConsoleLayout. 2016-07-13 21:03:10 -07:00
Casey Langen
26591f61bf Make sure to write hotkeys.json after loading to ensure the file is on the user's filesystem and available for easy editing. 2016-07-13 20:48:10 -07:00
casey
5465b072ee Fixed input parsing issue in ConsoleLayout. This must have been a bug
since forever.
2016-07-13 01:28:22 -07:00
casey
f700b8055f Fixed a TextInput buffer length error that was causing focus issues. 2016-07-13 01:25:01 -07:00
Casey Langen
f4c484b751 generalized left/right/up/down handling. it actually seems to work well! 2016-07-13 00:52:08 -07:00
casey
05e35be074 Don't kill application if JSON Preferences JSON parse fails! 2016-07-12 23:59:54 -07:00
Casey Langen
c42c13b64a Fixed compile on *nix. 2016-07-12 23:55:08 -07:00
casey
64435e9057 Updated musikbox/CMakeLists.txt with Hotkeys.cpp 2016-07-12 23:47:39 -07:00
casey
3fdbd9f07d More Hotkey implementation. Nearly done, most keys can be configured
now.
2016-07-12 23:42:58 -07:00
casey
b9139f8fd0 Initial implementation of Hotkeys.h/cpp for custom hotkeys. Still some
more work to do, but playback and indexer keys are working properly.
2016-07-12 23:11:49 -07:00
Casey Langen
abb305ea92 - Added a "InputRaw" mode to IInput interface
- Updated App to send keys directly to focused IInputs in raw mode
- Addded a new hotkey tester (TextInput in IndexerLayout) for hotkey testing
2016-07-12 22:01:30 -07:00
Casey Langen
6f93f602db One more small fix to CoreAudioOut buffer notification code. 2016-07-12 16:30:45 -07:00
Casey Langen
31e28d2f53 One of those "how did this ever work?" bugs. Fixed CoreAudioOut buffer notification logic. 2016-07-12 10:25:57 -07:00
casey
d25f2a1633 Fixed ESC behavior in Library mode to only show the play queue when in
browse mode -- otherwise show browse.
2016-07-11 21:39:27 -07:00
Casey Langen
3999a85306 A bit more App.h cleanup to improve encapsulation. 2016-07-11 21:24:56 -07:00
casey
bd6936a13e - One more PDCurses update
- Moved a few lines of musikbox-specific code from App.cpp to Main.cpp
- Cleaned up a few comments
2016-07-11 18:33:57 -07:00
casey
a5876ef050 Fixed a top-level Layout selection bug. 2016-07-11 01:38:38 -07:00
Casey Langen
aec0fda140 Fixed *nix compile 2016-07-11 01:34:10 -07:00
casey
2a9bc70037 - One more version of the pdcurses binaries
- Extracted most Main.cpp logic into App.cpp, which can be reused
2016-07-11 01:30:29 -07:00
casey
8c784eb087 Updated PDCurses to allow for a default window size. 2016-07-10 17:24:28 -07:00
casey
c097261301 Combined a couple WIN32 ifndefs in Main.cpp 2016-07-10 14:21:50 -07:00
Casey Langen
007822b1d2 - Hopefully fixed auto-window resizing in OSX and Linux by handling SIGWINCH manually
- Moved some key parsing logic into Cursespp::Text
2016-07-10 14:11:05 -07:00
casey
e88dd2b312 Invalidate the screen after a resize before doing layout. 2016-07-10 02:59:31 -07:00
casey
d9ae481668 Just standardize on using "M-x" and "^X" across all platforms for hotkeys. 2016-07-09 21:58:57 -07:00
Casey Langen
0b2c090f16 Added a couple more color pairs in Colors.h, and allow customization of ShortcutWindow styles. 2016-07-09 21:54:17 -07:00
Casey Langen
7940e15c61 Updated ShortcutsWindow to display hotkeys in different formats depending on OS. 2016-07-09 14:05:35 -07:00
casey
edf9dfd257 Added a simple key normalization layer in Text.cpp, used in Main.cpp in
the main read loop.
2016-07-08 22:08:52 -07:00
casey
65dfb59be6 Tweaked ConsoleLayout's shortcut window ordering. 2016-07-08 21:04:37 -07:00
Casey Langen
a3c7a76b75 Updated ShortcutsWindow to properly ellipsize contents. 2016-07-08 20:39:13 -07:00
casey
65203c8fbc Added a correct implementation of multi-threaded indexing using a thread
pool and a semaphore.

Fixed a couple more hotkey issues.
2016-07-08 16:41:10 -07:00
casey
a4bf6d2ad9 Disabled multi-threaded indexing for the time being, until we have a
better implementation.
2016-07-07 22:25:14 -07:00
casey
fe5c91f24a Fixed KEY_DOWN behavior in search layouts to not focus the input view. 2016-07-07 21:58:17 -07:00
Casey Langen
f134f725fe Fixed bug that may result in the Cursor drawing incorrecty for a frame. 2016-07-07 20:44:23 -07:00
Casey Langen
ec32b70e15 Fixed TextInput left/right insert/delete functionality for UTF8 and multi-width characters. 2016-07-07 00:49:50 -07:00
casey
f44c3c08c0 Properly handle arrow keys, home, end, and delete in TextInput. 2016-07-07 00:01:29 -07:00
clangen
47fa6eb8e7 Fixed ALT+BACKSPACE in TextInput on Linux. 2016-07-06 22:59:11 -07:00
casey
6535eeaa48 More arrow key fixes: allow the UP and DOWN keys to propagate to
controllers if the user is already at the beginning or end of the list.

Changed search views to focus the input area if a list is selected,
scrolled to the top, and the user presses UP.
2016-07-06 22:50:35 -07:00
casey
e20d13d334 - Removed IMessageTarget::IsAcceptingMessages()
- Fixed up some more hotkeys to improve app behavior
2016-07-06 21:57:05 -07:00
casey
e3281d5506 Reduce number of UI updates when running indexer at startup. 2016-07-05 00:11:23 -07:00
casey
7aa27a231c Allow category list width to grow dynamically up to 40 columns. 2016-07-04 22:48:06 -07:00
casey
e31bbb9b56 Added a free, portable version of wcswidth for Windows. 2016-07-04 22:35:34 -07:00
Casey Langen
b7ad7a6028 Fixed a typo in config.h u8cols(). 2016-07-04 21:17:14 -07:00
Casey Langen
074c2d7b78 Fixed display of multi-width characters. 2016-07-04 21:15:14 -07:00
Casey Langen
219c65e6c8 Upped the number of CoreAudioOut buffers. This should help when playing over samba shares. 2016-07-04 16:15:53 -07:00
casey
a5d95de7ac Allow the user to customize the number of tag read threads. 2016-07-04 15:53:35 -07:00
casey
d918c4e028 - Fixed a compiler warning in Indexer
- Cleaned up ScopedTransaction
2016-07-04 15:28:14 -07:00
casey
5916bc11b2 - Removed CachedStatement -- it's a good idea, but implementation is a
bit faulty.
- Added track indexing parallelization to Indexer -- read up to 8 files
  at a time (value to be tweaked). Results in much faster indexing for
  large collections.
2016-07-04 15:23:13 -07:00
casey
c44180db63 Minor refactor to make it a bit easier to parallelize tag reading. 2016-07-04 14:02:39 -07:00
casey
bf1c9a0528 Fixed crash related to removing tracks from the library that are
currently in the play queue.
2016-07-04 12:02:06 -07:00
casey
cb32bb1640 Removed bold row style in CategoryListView, TrackListView. 2016-07-03 20:12:50 -07:00
Casey Langen
6d600dd2e0 A few improvements to the new info line. 2016-07-03 11:49:57 -07:00
Casey Langen
1d1c3a18bd Added a null check to TERM_PROGRAM environment variable check. 2016-07-03 02:36:30 -07:00
casey
9ee2d4442b Changed M-n shortcut to M-p and updated shortcut display 2016-07-03 02:19:41 -07:00
Casey Langen
a6bf8dbbac Fixed compile on OSX and cleaned up IndexerLayout. 2016-07-03 01:58:46 -07:00
casey
cb4e3af1cb Added the shortcuts to a couple more screens. 2016-07-03 01:50:28 -07:00
casey
12bc61a21a Introduction of ShortcutWindow. May not live to see the light of day. 2016-07-02 23:28:04 -07:00
Casey Langen
3238e8f52f Fixed clang++ compile. 2016-07-02 21:01:01 -07:00
casey
b3a189b240 Fixed column alignment in TrackListView with respect to multi-byte
characters.
2016-07-02 20:57:08 -07:00
casey
2b1a924165 - More color cleanup
- Incraesed WaveOut buffer count
- Fixed command parsing with respect to leading/trailing spaces
2016-07-02 12:46:00 -07:00
casey
8e201f1487 universal "M-m" handling across all instances of TrackListView and
CategoryListView. it's a lot easier to find the currently playing thing
in any screen.
2016-07-02 02:24:42 -07:00
Casey Langen
71f0765cd9 Fixed Terminal.app support. 2016-07-01 18:54:26 -07:00
casey
c5656906ae Cleaned up Colors.h and made them more symbol and reusable. 2016-07-01 15:10:47 -07:00
casey
b7e6099483 A couple test color updates (may not work in iTerm?) 2016-07-01 02:33:47 -07:00
casey
ae3c20c9eb Added concept of "RowFormatters" to TrackListView, and updated the
default view to omit album name because there are headers. Then,
implemented a special RowFormatter for NowPlayingLayout that includes
the album name.
2016-06-30 21:50:10 -07:00
casey
35c222fe4a Time smoothing introduces weird edge case things. This should fix the
rest of them.
2016-06-30 16:56:37 -07:00
casey
39cdac34d5 Ugh, one more minor tweak. Start smoothed time at -1.0f to make
calculations a bit more accurate.
2016-06-30 16:47:30 -07:00
casey
a1c5bea302 Reset the last time when the track changes. 2016-06-30 16:46:22 -07:00
casey
713bf0d646 Added a simple smoothing function to TransportWindow's current time
display.
2016-06-30 16:44:47 -07:00
Casey Langen
8c82089c59 Added SIGHUP handling in non-win32 platforms that will shut down musikbox if the controlling terminal is closed. 2016-06-29 21:46:37 -07:00
Casey Langen
9c9666da9d Fixed a deadlock that could occur if an IOutput blocks until buffers are freed in Stop(). 2016-06-29 01:56:01 -07:00
casey
569c3df3d1 - Fixed a bug in GaplessTransport that could result in two streams
playing simultaneously.
- More color tweaks to make things more monokaiesque
2016-06-29 00:35:48 -07:00
casey
86f523089c Added CTRL+` support for Linux. 2016-06-27 21:43:37 -07:00