clangen
2cfba1ff56
Added volume support; ALSA doesn't seem to support this natively so we do it in software.
2016-06-09 01:01:47 -07:00
clangen
a94f2e26fc
AlsaOut: working stop, week, and gapless playback. If only I could figure out how to change the stream volume.
2016-06-09 00:39:53 -07:00
clangen
25fc10794b
AlsaOut is producing sound! It can be paused and resumed. TODO: volume, stop.
...
Also fixed a small locking issue in Player.
2016-06-08 23:31:41 -07:00
clangen
a856af5630
Fleshed out basic buffering and thread loop for AlsaOut. Still not working.
2016-06-08 22:17:18 -07:00
clangen
3b7fbebcab
Added stubbed AlsaOut plugin. Not even remotely close to working.
2016-06-08 20:36:50 -07:00
casey
f0bca767e2
Added back the original ALSA output plugin. PulseAudio is turning out to be a pain to implement, and has latency issues. Let's see if we can clean up and fix the original ASIO implementation.
2016-06-08 20:17:24 -07:00
clangen
2dc8fef1e2
Replaced PulseOut polling implementation with callback-driven one. Unfortunately sometimes the time doesn't update on a regular interval.
2016-06-07 01:15:14 -07:00
clangen
596d29ca4d
Removed some junk from CMakeLists.txt that was causing issues on other platforms.
2016-06-06 21:21:58 -07:00
casey
85dca8aa10
Fixed a crazy bug in Player.cpp that should have been crashing every time in Linux.
2016-06-06 21:11:06 -07:00
clangen
301985a335
Couple small tweaks to make things a bit smoother going in Linux
2016-06-06 20:59:56 -07:00
clangen
26d34a596c
- A bit of clean up to PulseOut
...
- Added volume support to PulseOut
- Tweaked Player and Transport to more accurately reflect current playback
2016-06-06 20:39:14 -07:00
clangen
1223cc4527
- Removed AlsaOut, EsdOut, no longer used and completely bit-rotted
...
- Cleaned up a couple type definitions
- Ensure the UI renders cleanly in Linux
- A few more fixes to PulseOut, but it's still not great.
2016-06-06 18:00:14 -07:00
clangen
3b05e294a8
PulseAudio output plugin seems to actually play stuff. But it's not pretty.
2016-06-06 02:07:50 -07:00
casey langen
33bd0240b6
Incremental work on the pulse audio output. Completely not working.
2016-06-05 20:31:15 -07:00
casey langen
9fbb2898e6
Compiles and starts in Linux.
2016-06-05 13:06:32 -07:00
Casey Langen
32191040b5
Doesn't seem to work on OS X, but not really expected to because the daemon doesn't seem to be running properly.
2016-06-05 01:50:46 -07:00
casey
d9bab19393
Renamed "aacdecoder" to "m4adecoder", because that's what it actually
...
ised. Updated makefiles accordingly.
2016-06-04 21:27:02 -07:00
clangen
4193eeb308
Update README.md
2016-06-04 20:49:50 -07:00
Casey Langen
5d92761bda
AacDecoder is now compiling under OS X
2016-06-04 18:30:19 -07:00
casey
ae82180470
- Added a proper debug version of pdcurses for Windows.
...
- Tweaked the Indexer to allow files in the DB that do not have
metadata, but have decoders.
- Bug fix to Text::Duration
2016-06-04 18:07:10 -07:00
casey
4effb493e9
Fixed the AAC/M4A decoder and upgraded its dependencies.
2016-06-04 17:34:43 -07:00
casey
6a6f7fe24d
Oops, forgot to fix IDataStream's Open() method param names.
2016-06-04 14:21:27 -07:00
casey
fdd3a030c3
Cleaned up a couple of the SDK interfaces and removed comments until the
...
definitions have stabilized. Also fixed CD playback in windows.
2016-06-04 14:18:33 -07:00
Casey Langen
ed0e23088d
Ensure Tranpsort is properly stopped after all playback has completed.
2016-06-04 13:43:14 -07:00
Casey Langen
8b14719bbc
Fixed build and adjusted idle timeout for OSX
2016-06-04 12:49:20 -07:00
clangen
548c18de36
Update README.md
2016-06-03 22:29:01 -07:00
casey
4d7aa33075
Added proper support for disc number as a first-class field on Track.
2016-06-03 22:22:45 -07:00
casey
52d01ffb7b
- A bit of Transport.h header cleanup
...
- Ensure fields are using the correct keys for queries and data access
(we were using ALBUM_ID, ARTIST_ID, GENRE_ID incorrectly).
2016-06-03 21:05:01 -07:00
casey
15a181a281
Fixed a bug where "PlaybackStopped" was getting triggered when it didn't
...
need to, leading to a slightly laggy UI in some cases.
2016-06-03 20:16:30 -07:00
casey
b286d83c78
- Ensure NowPlayingLayout always scrolls to the playing item when shown
...
- Fixed some resize bugs in LibraryLayout
- Automatically convert ALT_ keys to M- (meta) keys for Win32 builds.
2016-06-03 18:32:25 -07:00
Casey Langen
ffcc110430
More cleanups to CMakeLists and also fixed a top-level layout issue
2016-06-03 08:55:56 -07:00
Casey Langen
efc81d352a
Cleaned up CMakeLists.txt in core and box.
2016-06-03 08:29:05 -07:00
Casey Langen
be34186303
Fixed compile on OSX.
2016-06-03 08:21:33 -07:00
casey
c418305b30
Library and now playing switching seems to work?
2016-06-03 02:04:41 -07:00
casey
40bc4d31ad
Incremental work on the now playing list. It sort of works now, but
...
things are a bit goofy.
2016-06-02 23:01:22 -07:00
casey
535367d705
- Renamed MainLayout -> ConsoleLayout
...
- Refactored TrackListView to not deal with PlaybackService directly.
This is the job of the "Controller" which doesn't exist yet.
- Tweaked LibraryLayout to act more like a Controller, and start
playback when the user presses enter.
- Added a hacked up NowPlaying layout.
2016-06-02 21:45:44 -07:00
casey
8b14ddb5e8
A couple small but important fixes:
...
- Don't adjust scroll position in TrackListView after a requery if the
query contents haven't actually changed
- Ensure resizing doesn't lose the selected item in ListWindow
- Added the concept of query hashes and generalized TrackListQueryBase
so different types of queries can be supplied to a TrackListView.
2016-06-02 18:45:16 -07:00
Casey Langen
32965dd2af
Added CoreAudioOut gapless playback support.
2016-06-01 22:34:22 -07:00
casey
a8f8425f91
Gapless playback seems to be working with waveout! Not perfect for all
...
MP3 files, but that's to be expected. TODO: CoreAudio changes to allow
gapless playback.
2016-06-01 21:51:39 -07:00
casey
6ec0a8042b
Moving to a better asynchronous model and fixing those deadlocks
...
uncovered a handful of bugs. Hopefully this is the last one -- ensure
the next prepared track always gets played.
2016-06-01 01:32:12 -07:00
Casey Langen
c1d902766d
One final bug fix for the evening: ensure buffers are flushed from the output device as part of stop().
2016-06-01 01:22:14 -07:00
Casey Langen
5bf48ff243
Added new file to CMakeLists.txt
2016-06-01 01:02:05 -07:00
casey
c364175f75
Rough night, found and fixed another deadlock.
2016-06-01 00:55:14 -07:00
casey
916823000c
Don't wait indefinitely for WaveOut to close, and also fixed a stop-related bug.
2016-06-01 00:30:46 -07:00
casey
76445b658f
Hush compiler warnings.
2016-06-01 00:15:42 -07:00
casey
4fe8f1fe10
- Don't raise the "Stopped" event in transport unless we're actually stopped (more bug fixes)
...
- Fixed PlaybackService to actually listen to PlaybackEvent
2016-06-01 00:14:14 -07:00
casey
9c7fdbdb87
- Fixed a bug in Transport where a "PlaybackStopped" event could be triggered erroneously
...
- Simplified TransportWindow to use PlaybackService.TrackChanged instead of manually querying the DB
2016-06-01 00:03:41 -07:00
casey
9f2a04bf78
A couple small color tweaks to make the currently playing track more obvious.
2016-05-31 22:36:09 -07:00
casey
adbe9bf859
- Fixed another potential deadlock in Transport.cpp
...
- Fixed TrackListViewQuery to set the correct track id on queried tracks
- Fixed PlaylistService to use MessageQueue to deliver results and avoid race conditions
- Tweaked TrackListView to highlight the currently playing track in yellow
2016-05-31 22:25:32 -07:00
casey
c9630312ef
Added album separators in TrackListView, and cleaned up IScrollAdapter::IEntry interface in the process.
2016-05-31 21:27:49 -07:00