Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-02-20 | Instance: use std::unique_ptr<> to manage the Database pointer | Max Kellermann | |
2019-02-15 | Instance: eliminate FinishShutdownUpdate(), move code to destructor | Max Kellermann | |
2019-02-15 | Instance: eliminate ShutdownDatabase(), move code to destructor | Max Kellermann | |
Destruct automatically, even if leaving the scope due to exception being thrown. | |||
2018-10-31 | *: copyright year 2018 | Max Kellermann | |
2018-08-02 | lib/systemd/Watchdog: implement the systemd watchdog protocol | Max Kellermann | |
2018-02-16 | output/alsa: use a new I/O thread with real-time scheduling | Max Kellermann | |
The normal I/O event thread can have a large latency, e.g. when libgnutls loads all TLS CA certificates for a https connect. This makes it unreliable for the ALSA I/O notifications, and causes ring buffer xruns. To avoid interfering with high latency events such as CURL's, we move the ALSA I/O events to a separate I/O thread which also obtains real-time scheduling (if possible). Closes #221 | |||
2018-01-30 | RemoteTagCache: new glue class for integrating RemoteTagScanner | Max Kellermann | |
This commit also puts an instance of RemoteTagScanner into the Instance class, and hooks it into the "add" and "addid" commands. | |||
2018-01-29 | Instance: un-inline the destructor | Max Kellermann | |
Allows more forward declarations. | |||
2018-01-02 | neighbor/{Explorer,Listener}: add "noexcept" | Max Kellermann | |
2017-12-19 | Main, ...: catch any exception, not just std::runtime_error | Max Kellermann | |
2017-05-15 | *: add "noexcept" to many, many function prototypes | Max Kellermann | |
See commit 71f0ed8b7499011b53f90998ebfbd3250fd80948 | |||
2017-02-25 | Instance: add method FindPartition() | Max Kellermann | |
2017-02-17 | Instance: make "partition" a std::list | Max Kellermann | |
With this commit, multi-player support becomes possible... it's just not wired to the frontend yet. This is based on massive amounts of refactoring work I did over the past 9 years. | |||
2017-02-17 | Instance: un-inline the constructor | Max Kellermann | |
2017-01-03 | update copyright year | Max Kellermann | |
2016-10-27 | lib/sqlite, sticker: migrate from class Error to C++ exceptions | Max Kellermann | |
2016-10-26 | Instance: remove Error parameter from GetDatabase() | Max Kellermann | |
2016-10-26 | Instance: add GetDatabaseOrThrow() | Max Kellermann | |
2016-03-18 | queue/Playlist: rename DeleteSong() to StaleSong() | Max Kellermann | |
2016-03-18 | db/DatabaseListener: pass URI to OnDatabaseSongRemoved() | Max Kellermann | |
There's no point in passing a LightSong reference here; the callee is interested only in the URI. | |||
2016-03-10 | Partition: use CallbackMaskMonitor, replacing class GlobalEvents::Monitor | Max Kellermann | |
2016-03-05 | Instance: embed EventLoop, no pointer | Max Kellermann | |
2016-03-05 | Partition: add method EmitIdle() | Max Kellermann | |
Prepare for moving idle events to class Partition. Right now, it's just a wrapper for idle_add(). | |||
2016-03-05 | Instance: add method Shutdown() | Max Kellermann | |
2016-02-26 | update copyright year to 2016 | Max Kellermann | |
2016-02-07 | db/DatabaseError: rename enum db_error and make strictly-typed | Max Kellermann | |
2015-01-01 | Copyright year 2015 | Max Kellermann | |
2014-12-12 | sticker/Database: use the Error library | Max Kellermann | |
2014-02-04 | db/DatabaseListener: add method OnDatabaseSongRemoved() | Max Kellermann | |
Decouples db/update/Remove.cpp from global variables. | |||
2014-02-04 | Instance: merge DatabaseModified() into OnDatabaseModified() | Max Kellermann | |
2014-02-04 | Instance: add Database attribute | Max Kellermann | |
Move from db/DatabaseGlue.cxx, eliminating global variable. | |||
2014-02-01 | Playlist: pass Database to DatabaseModified() | Max Kellermann | |
Don't use global variable. | |||
2014-01-30 | db: add compile-time option to disable database | Max Kellermann | |
2014-01-26 | neighbor: new subsystem to detect file servers on the local network | Max Kellermann | |
This commit adds the NeighborPlugin API which can be used to detect nearby file servers that can be used by input plugins. This list of servers is exported using the new "listneighbors" command. The idle even "neighbor" notifies interested clients when a new neighbor is found or an existing one is lost. There's a lot missing currently: protocol&user documentation, and a way to "mount" remote servers into the music database. Obviously, some code from the UPnP database plugin can be moved to a neighbor plugin. | |||
2014-01-13 | copyright year 2014 | Max Kellermann | |
2014-01-11 | DatabasePlugin: add interface DatabaseListener | Max Kellermann | |
Allow database plugins to announce that they have been modified. | |||
2014-01-11 | UpdateGlue: move stats_invalidate() call to Instance::DatabaseModified() | Max Kellermann | |
2014-01-09 | DetachedSong: fork of struct Song | Max Kellermann | |
From now on, struct Song will be used by the database only, and DetachedSong will be used by everybody else. DetachedSong is easier to use, but Song has lower overhead. | |||
2013-10-22 | Partition: add method DatabaseModified() | Max Kellermann | |
2013-10-21 | Partition: add methods TagModified(), SyncWithPlayer() | Max Kellermann | |
Move code from class Instance. | |||
2013-07-28 | song: convert header to C++ | Max Kellermann | |
2013-04-17 | Main: move global variables to struct Instance | Max Kellermann | |
More preparations for multi-player support. |