summaryrefslogtreecommitdiff
path: root/src/Instance.cxx
AgeCommit message (Collapse)Author
2019-02-20Instance: use std::unique_ptr<> to manage the Database pointerMax Kellermann
2019-02-15Instance: eliminate FinishShutdownUpdate(), move code to destructorMax Kellermann
2019-02-15Instance: eliminate ShutdownDatabase(), move code to destructorMax Kellermann
Destruct automatically, even if leaving the scope due to exception being thrown.
2018-10-31*: copyright year 2018Max Kellermann
2018-08-02lib/systemd/Watchdog: implement the systemd watchdog protocolMax Kellermann
2018-02-16output/alsa: use a new I/O thread with real-time schedulingMax 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-30RemoteTagCache: new glue class for integrating RemoteTagScannerMax Kellermann
This commit also puts an instance of RemoteTagScanner into the Instance class, and hooks it into the "add" and "addid" commands.
2018-01-29Instance: un-inline the destructorMax Kellermann
Allows more forward declarations.
2018-01-02neighbor/{Explorer,Listener}: add "noexcept"Max Kellermann
2017-12-19Main, ...: catch any exception, not just std::runtime_errorMax Kellermann
2017-05-15*: add "noexcept" to many, many function prototypesMax Kellermann
See commit 71f0ed8b7499011b53f90998ebfbd3250fd80948
2017-02-25Instance: add method FindPartition()Max Kellermann
2017-02-17Instance: make "partition" a std::listMax 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-17Instance: un-inline the constructorMax Kellermann
2017-01-03update copyright yearMax Kellermann
2016-10-27lib/sqlite, sticker: migrate from class Error to C++ exceptionsMax Kellermann
2016-10-26Instance: remove Error parameter from GetDatabase()Max Kellermann
2016-10-26Instance: add GetDatabaseOrThrow()Max Kellermann
2016-03-18queue/Playlist: rename DeleteSong() to StaleSong()Max Kellermann
2016-03-18db/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-10Partition: use CallbackMaskMonitor, replacing class GlobalEvents::MonitorMax Kellermann
2016-03-05Instance: embed EventLoop, no pointerMax Kellermann
2016-03-05Partition: 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-05Instance: add method Shutdown()Max Kellermann
2016-02-26update copyright year to 2016Max Kellermann
2016-02-07db/DatabaseError: rename enum db_error and make strictly-typedMax Kellermann
2015-01-01Copyright year 2015Max Kellermann
2014-12-12sticker/Database: use the Error libraryMax Kellermann
2014-02-04db/DatabaseListener: add method OnDatabaseSongRemoved()Max Kellermann
Decouples db/update/Remove.cpp from global variables.
2014-02-04Instance: merge DatabaseModified() into OnDatabaseModified()Max Kellermann
2014-02-04Instance: add Database attributeMax Kellermann
Move from db/DatabaseGlue.cxx, eliminating global variable.
2014-02-01Playlist: pass Database to DatabaseModified()Max Kellermann
Don't use global variable.
2014-01-30db: add compile-time option to disable databaseMax Kellermann
2014-01-26neighbor: new subsystem to detect file servers on the local networkMax 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-13copyright year 2014Max Kellermann
2014-01-11DatabasePlugin: add interface DatabaseListenerMax Kellermann
Allow database plugins to announce that they have been modified.
2014-01-11UpdateGlue: move stats_invalidate() call to Instance::DatabaseModified()Max Kellermann
2014-01-09DetachedSong: fork of struct SongMax 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-22Partition: add method DatabaseModified()Max Kellermann
2013-10-21Partition: add methods TagModified(), SyncWithPlayer()Max Kellermann
Move code from class Instance.
2013-07-28song: convert header to C++Max Kellermann
2013-04-17Main: move global variables to struct InstanceMax Kellermann
More preparations for multi-player support.