casey
e8b9c873db
Added new NO_SELECTION constant to ListWindow, and use it to help set and reset default state.
2016-05-17 22:57:18 -07:00
casey
2d65ab480a
- Cleaned up and generalized Transport event handling
...
- Added some virtual destructors to interfaces
2016-05-17 22:45:32 -07:00
casey
483760effd
Fixed bugs related to updating the transport. Removed weird sort_order1 column. No longer poll TransportWindow for updates -- react to events.
2016-05-17 19:32:45 -07:00
casey
072aa94bc5
Moved up/down/pageup/pagedown/home/end key handling into
...
ScrollableWindow and out of the main loop.
2016-05-16 23:02:19 -07:00
casey
04a4c33ae0
Re-pathed app portion of musikbox source files to be better organized.
2016-05-16 22:32:05 -07:00
casey
f073e6cb74
Moved all generic curses-related abstractions to a "cursespp"
...
subdirectory.
2016-05-16 22:23:25 -07:00
casey
fc86bacaaf
- Killed a bunch of really unnecessary, complicated path management
...
logic in the Indexer.
- Created a new IKeyHandler for windows that want to receive keyboard
events but aren't necessarily input fields.
- Added some hacked up code to get playback working in the
TrackListView. This functionality will be extracted to LibraryLayout
in the near future.
2016-05-16 22:00:45 -07:00
casey
1c13ac278d
Added LocalLibraryConstants.h
2016-05-16 18:38:03 -07:00
casey
60cdbdded8
Functional TrackListViewQuery! We can actually see selected tracks for albums now.
2016-05-16 16:27:12 -07:00
casey
c259e911db
Added a "SelectionChanged" event to ListWindow
2016-05-16 09:51:57 -07:00
casey
d1f2d867f5
A couple small bug fixes related to the new message queue interaction.
2016-05-15 21:28:06 -07:00
casey
2353f827eb
Removed remaining "OnIdle" callback junk and replaced with the new
...
immediate, message-driven functionality.
2016-05-15 20:54:55 -07:00
casey
06ff327ff2
- Working WindowMessageQueue implementation
...
- TransportWindow is now self-updating via messages posted at a regular
interval; no longer relies on the idle loop.
2016-05-15 17:13:00 -07:00
casey
6bc828775d
More implementation of MessageQueue. Interfaces and names are going to need to change.
2016-05-15 16:43:44 -07:00
casey
132bc25d43
- Fixed Window to no longer use derwin() -- subwindows share data with
...
their parent, in a sometimes buggy and unpredictable ways. always use
newwin() and ensure redraws happen from the bottom up.
- Optimized redraw to not immediately call doupdate(), but rather wait
until the end of the runloop and call it once. This may cause buggy
behavior, but seems fine now...
2016-05-15 12:18:29 -07:00
casey
1a0d297b30
- Renamed MetadataValue -> MetadataKeyValue
...
- Cleaned up some of the requery logic in CategoryListView,
TrackListView
- Started working on the message-queue related functionality that will
be required for clean callback logic
- Reduced the main loop timeout delay
2016-05-15 11:14:43 -07:00
casey
45e8cf956e
Fixed focus problems in top-level layout management, and also fixed a bug in CommandWindow where it wasn't re-shown properly.
2016-05-14 22:10:24 -07:00
casey
4eabea9f20
Fixed UTF8 decoding in TaglibMetadataReader. Oops.
2016-05-14 21:55:44 -07:00
casey
2aef8ee6a4
Updated Layout focus semantics, and fixed sort order re-indexing in
...
LayoutBase
2016-05-14 19:15:58 -07:00
casey
95d8e8ab42
- Initial crack at generalizing focus in LayoutBase
...
- Renamed Create -> Show, Destroy -> Hide
- Added IDisplayable interface for Layouts and Windows
- A couple other small fixes.
2016-05-14 15:07:23 -07:00
casey
f6fcdaaab0
Functional top-level windows. Finally.
2016-05-14 02:35:34 -07:00
casey
47fffa7f73
boost::shared_ptr -> std::shared_ptr, boost::weak_ptr -> std::weak_ptr
2016-05-14 01:16:50 -07:00
casey
dd29f1e500
Added IWindowGroup, which is extended by ILayout and implemented by
...
LayoutBase. Recursive create/destroy working.
2016-05-14 01:11:03 -07:00
casey
17b56ddbab
A couple minor changes to make screen updates more efficient.
2016-05-13 23:00:32 -07:00
casey
7016c2aac2
Added the ability for views to have real parent views. Added LayoutBase,
...
which is a subclass of Window, and now acts as a parent.
2016-05-13 21:52:30 -07:00
casey
d11c4fc425
Introduction of ListWindow, a special type of ScrollableWindow that
...
tracks a user selected row and has slightly different scrolling
behaviors.
2016-05-13 00:25:12 -07:00
casey
66c19c2123
More improvements to layouts and stuff. Need to figure out scroll focus
...
situation soon.
2016-05-12 02:31:44 -07:00
casey
2de2a21291
Much improved ScrollableWindow and Adapter interfaces which allow for
...
virtual lists with extremely large item counts.
2016-05-12 00:16:58 -07:00
casey
c179878e80
Boring, necessary refactors to support more dynamic lists of content.
2016-05-11 01:15:24 -07:00
casey
b718691553
Fixed a bug where ScrollableWindow wasn't properly notifying the adapter
...
of the display dimensions.
2016-05-10 21:25:16 -07:00
casey
c4111850fe
- Consolidated LibraryBase, LocalLibrary. introduced ILibrary interface
...
- Added IIndexer interface for ILibrary
- Fixed and simplified LocalLibrary and Indexer startup behavior
- Added IQuery interface, fixed QueryBase
- Fixed LocalLibrary.enqueue() to work properly with new IQuery
interface
- Introduced ILayout interface and MainLayout implementation
2016-05-10 20:47:30 -07:00
casey
adb0ed14b1
With a heavy heart, I've decided to retire most of the current
...
implementation of Library and QueryBase. There is just too much buggy
and difficult to follow synchronization logic built in.
2016-05-09 22:47:24 -07:00
casey
d96b44f236
- Created IWindow interface
...
- Renamed BorderedWindow -> Window
- Fixed more layout bugs in SimpleScrollAdapter -- I think it's stable
now for reals.
2016-05-09 18:51:36 -07:00
casey
b5a9a22020
Fixed up some more output formatting.
2016-05-09 10:13:45 -07:00
casey
ac0176f057
Fixed an annoying off-by-1 error that was messing with scrollability.
2016-05-09 02:56:24 -07:00
casey
d776317e81
- Disabled file counting to speed up sync
...
- Added better focus and tab control
2016-05-09 02:42:25 -07:00
casey
32e5c2764e
- Fixed the SimpleScrollAdapter to have a max size, and do so
...
efficiently without a speed trade-off.
- Fixed a couple color-related things
- Removed a bunch of additional dead code, headers, libraries, projects
2016-05-09 00:32:36 -07:00
casey
4d279004c7
- Added SystemInfo and ResourcesWindow for real-time resource usage monitoring
...
- Renamed GenericTrack -> InMemoryTrack
- A few other random cleanups
2016-05-08 21:18:08 -07:00
casey
0639b3f0c2
Small bugfix in CommandWindow's filename parser.
2016-05-08 10:04:53 -07:00
casey
2fe495cb2b
Tab selection and some other minor bug fixes.
2016-05-08 02:56:05 -07:00
casey
e3af440479
Small bug fix to SimpleScrollAdapter (sometimes adding additional lines to the output), and a couple cleanups.
2016-05-08 00:47:55 -07:00
casey
55912dc0b4
- Updated utf8.h
...
- Fixed SimpleScrollAdapter to split lines in a UTF8-compatible way.
2016-05-07 23:51:41 -07:00
casey
8f972ad4d8
Fixed SimpleScrollAdapter to run in O(log_n) when refreshing the screen. Previously was O(n)
2016-05-07 19:45:30 -07:00
casey
2407547325
Preliminary work on ScrollableWindow.
2016-05-07 19:01:15 -07:00
casey
9126c6ca6a
Rewrote the console app using some basic curses and crappy home-grown C++ wrappers.
2016-05-07 02:48:04 -07:00
casey
14096724a2
Added pdcurses to help with the command-line app.
2016-05-06 12:30:42 -07:00
casey
59a68e3a50
Deleted some old libraries, and moved debug.h/cpp up a level.
2016-05-06 12:19:44 -07:00
casey
2c7fc4613b
More interface cleanup... IPlayer -> IBufferProvider
2016-05-06 02:48:26 -07:00
casey
1eee0ed459
The beginnings of a logging infrastructure and a few more bug fixes and
...
cleanups.
2016-05-06 02:22:06 -07:00
casey
e7fec08771
Backed out a half-baked change I made last night when it was late.
2016-05-06 00:08:52 -07:00