Commit Graph

286 Commits

Author SHA1 Message Date
Bruno Morais
6808f8a0f5 crude initial implementation, not thread safe, not functional (WIP) 2019-09-05 18:10:13 -04:00
casey langen
25f3b4d5a2 Added Debian Buster support 2019-08-19 04:15:18 +00:00
Casey Langen
ddd8e9f683 Version bump. 2019-06-16 18:55:41 -07:00
casey langen
57b216d6bc Ubuntu Disco support! 2019-04-30 22:07:18 -07:00
casey langen
7929c11543 Version bump for the next release. 2019-04-29 23:14:38 -07:00
casey langen
b082031357 Fixed notification tray icon and updated version to 0.64.1 2019-03-20 15:14:35 -07:00
casey langen
1e655cb97a Tweaked build comments to show how to set CMAKE_INSTALL_DIR 2019-03-15 06:59:16 +00:00
casey langen
1b65b9cdc3 Version bump and CHANGELOG update for next release. 2019-03-14 23:08:47 -07:00
casey langen
e159878713 CHANGELOG and version updates for upcoming release. 2019-02-12 00:08:32 -08:00
casey langen
f0ae641b4e Version bump. 2019-01-25 10:15:10 -08:00
casey langen
8a3b9d97a3 Version bump to 0.62.2 2019-01-25 10:02:03 -08:00
casey langen
a181e3d56a Version bump to 0.62.1 2019-01-25 09:34:01 -08:00
casey langen
804a6d4195 Version bump. 2019-01-23 17:25:41 -08:00
casey langen
816d4e1894 Added macosmediakeys plugin that allows playback control via keyboard media keys. 2019-01-12 18:19:09 -08:00
casey langen
bd22be6387 Version bump for next release. 2019-01-07 08:11:52 -08:00
casey langen
df9bc32621 Use O2 instead of O3 for optimizations; O3 causes random crashes with indecipherable stack traces on the rpi (and likely other devices) 2019-01-06 22:46:24 +00:00
casey langen
357fec1129 * Added some missing DB indexes for HUGE indexer performance increases -- we seem to be able to easily index 300k+ (and probably more) tracks now.
* Ensure we replace invalid unicode characters before inserting values into the DB
* A bunch of GME fixes
* Various other small indexer cleanups and fixes
2019-01-04 22:20:51 -08:00
casey langen
26ae81de1d Initial boilerplate. 2019-01-02 21:47:44 -08:00
casey langen
51f1337d6f Upgradwed json.hpp and added the ability to specify ALSA_ENABLED as a FreeBSD compile option. 2019-01-01 20:58:04 +00:00
casey langen
196975f55f Prep for point release that fixes m4a playback. 2019-01-01 17:43:28 -08:00
casey langen
68762cd231 Merged build into master to fix various build config problems. 2018-12-29 19:39:21 -08:00
casey langen
056ec704f5 Fixes to ensure FFMPEG_DECODER is defined on *nix builds. 2018-12-27 11:37:01 -08:00
casey langen
0ebf17de14 Updated version in CMakeLists.txt 2018-12-27 08:17:39 +00:00
casey langen
1b4b9127c4 Log whether or not ffmpeg is enabled. 2018-12-26 22:17:16 -08:00
Casey Langen
5d46fbdcad Hopefully fixes Fedora 29 ffmpeg build. 2018-12-26 21:24:27 -08:00
Casey Langen
ef8b9e2092 Fedora fixes for ffmpeg. 2018-12-26 21:17:45 -08:00
casey langen
f4f9c828f4 Version bump for upcoming release. 2018-12-26 18:10:36 -08:00
casey langen
e1f5279856 Define FFMPEG_DECODER when specified via cmake 2018-12-25 15:46:11 -08:00
casey langen
bd5c05092c Default to non-bundled taglib. 2018-12-24 18:17:51 -08:00
casey langen
2fc80efcf5 More dependency updates for taglib. 2018-12-24 16:01:58 -08:00
casey langen
a74d9e918d First crack at auto-detecting distros that need to use bundled taglib. 2018-12-24 15:41:16 -08:00
casey langen
f329f3b4b6 Fix bug where generated musikcube shell script was not being used for
out-of-source builds. This should fix the FreeBSD port.
2018-12-24 11:00:15 -08:00
casey langen
9afad26c6a Updated CMakeLists with the new cursespp include path. 2018-12-20 18:51:50 -08:00
casey langen
b190afd805 Added a stubbed Shibatch SuperEQ DSP plugin. Sources were taken/stolen from the DeaDBeeF project, which is more or less a straight port of the original, with added support for floating point samples. 2018-12-17 23:46:13 -08:00
casey langen
1260ff663e Cleaned up macOS-specific build config and make it work with more versions of the OS/Homebrew 2018-12-14 19:15:03 -08:00
casey langen
0bde25edd3 Preparing for 0.51.0 release 2018-08-25 17:02:45 -07:00
casey langen
bb76d82742 Fixed libboost version for bionic. 2018-06-10 09:01:41 -07:00
casey langen
8c928bd127 0.50.0 release prep. 2018-06-09 22:47:49 -07:00
casey langen
551cdb4a46 Updates to support Ubuntu Bionic and Fedora 28. 2018-05-31 22:24:17 -07:00
Casey Langen
016176103c Moved LastFm to core, and wired it directly into PlaybackService so it
works from `musikcubed` as well. In the future we'll probably want
a repository for scrobblers... but for now this works.
2018-05-03 21:27:37 -07:00
casey langen
d2ab0a84f2 Fixed Linux compile... but getting an "Invalid API Key" error. 2018-05-02 22:07:41 -07:00
casey langen
8bf9a96de7 Added Ubuntu Bionic support. 2018-04-26 21:55:05 -07:00
Casey Langen
a2dc03ffaa Version bump for next release. 2018-02-15 09:27:55 -08:00
casey langen
cfdd4db53d Killed some unnecessary boost dependencies. 2018-02-04 13:48:16 -08:00
casey langen
27d4696971 Fix RPATH handling in CMakeLists.txt 2018-02-01 19:12:28 -08:00
Casey Langen
b04aa4e529 Use libev to drive daemon event loop. This prevents the hacky periodic
wakeups to check the (now unnecessary) global quit flag.
2018-01-30 21:44:57 -08:00
casey langen
7fc95e553b Version bump for next release. 2018-01-28 16:18:17 -08:00
casey langen
c1574960db - Check to see if musikcubed is already running before allowing the process to start.
- Fixed rpath linking in musikcubed CMakeLists.
- CMake "install" fixes to properly include shared library and daemon.
- Experimental changes to use a shared libmusikcore library, instead of
  a static one.
2018-01-28 15:47:23 -08:00
casey langen
369f9054ba Added musikcubed daemon. 2018-01-27 23:25:26 -08:00
casey langen
1215917ccb Removed "glue" sub-project. Moved related functionality to core. This
makes things a bit simpler.
2018-01-15 21:59:15 -08:00
casey langen
765ba61ac2 More CMakeLists.txt dependency fixes 2018-01-15 22:52:17 +00:00
casey langen
628366a700 Updated explicit dependencies in CMakeLists, then added a postbuild script to execute cmake . to glob all the plugins together proprly. This removes the awkward, second cmake . step. 2018-01-14 15:46:47 -08:00
casey langen
cadb509089 Backmerged build to master. 2018-01-13 12:09:01 -08:00
casey langen
017f0905bf Make sure PulseAudio plugin is compiled in Linux 2018-01-12 00:50:30 -08:00
casey langen
992568b1c7 Fixed a ubuntu 17.10 typo -- artful, not artsy. 2018-01-11 22:23:44 -08:00
Casey Langen
d0bd1beabd Version bump for 0.35.0. Only thing remaining for release is the FreeBSD scrollbar issue. 2018-01-07 12:54:15 -08:00
casey langen
69ff6058c5 Enable sndio opt-in for Linux users. 2017-12-27 17:13:01 -08:00
casey langen
9d935c248e Enable PulseAudio by default on Linux, disable by default on FreeBSD,
but allow configuration via CMake flag.
2017-12-27 15:46:53 -08:00
casey langen
dc91063a1f Simplified main build script by using globbing instead of explicit filenames for plugins. Wonder why it wasn't done like this before? 2017-12-26 15:17:10 -08:00
casey langen
402008e148 Added a skeleton plugin for sndio. Also updated build script stuff to not include ALSA for FreeBSD. 2017-12-21 09:12:39 +00:00
casey langen
88b7e994a5 FreeBSD compiles and links... but doesn't run very well. 2017-12-20 22:29:29 +00:00
casey langen
fa7667fc81
Merge branch 'master' into master 2017-12-18 20:49:07 -08:00
casey langen
1796fc9a6f Updated CMake packaging logic to take FFMPEG_DECODER into account. 2017-12-16 23:17:34 -08:00
casey langen
b070089f13 Added conditional ffmpegdecoder compile-time option. 2017-12-16 23:17:34 -08:00
David Muckle
03e9aee582 Add libcurl as dependency for Ubuntu builds 2017-12-14 00:40:26 -05:00
David Muckle
a06c7b0e8a Actually upload .debs 2017-12-11 17:18:09 -05:00
Andrew Reynhout
b1441ac222 Add default MacPorts link_directories and include_directories config 2017-12-10 19:42:26 -05:00
casey langen
903ebfdbe4 Version bump and changelog in preparation for release. 2017-11-28 10:53:16 -08:00
casey langen
1a15e084c7 Major surgery to websocket_remote:
- Renamed websocket_remote plugin to "server"
- Added IEncoder, IEncoderFactory interfaces to SDK. Updated
IEnvironment and related plumbing; plugins can now declare encoders and
other plugins can request instances through the SDK.
- Removed LAME encoding from websocket_server plugin, created new
stockencoders plugin that includes both LAME and Ogg Vorbis encoders.
- Moved to dynamic libraries for ogg, vorbis, libvorbis so it can be
shared between encoding and decoding plugins.
- Plumbing for new "format" URL param through HttpServer, Transcoder,
and TranscodingDataStream. Use new IEncoder functionality to deal with
on-the-fly re-encoding
2017-11-25 23:06:29 -08:00
casey langen
c02d824235 Added support for creating Ubuntu 17.10 (Artsy) packages. 2017-11-01 13:44:51 -07:00
casey langen
1479ddac80 Version bump to 0.26.0 2017-09-19 21:52:21 -07:00
casey langen
a27ca8fc09 Version bump for 0.25.2 release 2017-09-08 20:55:12 -07:00
casey langen
e5a7b2924e Fixed a bug in FlacDecoder::Exhausted 2017-08-24 19:33:14 -07:00
casey langen
96b4b2cb69 musikcube version bump to 0.25.0 2017-08-24 17:46:37 -07:00
casey langen
b25f31bb02 Updated boost to 1.62.0 on zesty. 2017-08-24 17:39:34 -07:00
casey langen
fd076c42eb Updated CMakeLists.txt to allow for easier cross-distro deb generation. 2017-08-24 17:32:15 -07:00
casey langen
574afb9bdf Version bump for release. 2017-08-13 21:39:21 -07:00
KTRosenberg
c4161aacee commented out additional memory checks as an option 2017-08-07 18:58:16 -04:00
KTRosenberg
46752e64a5 compilation and debug setup 2017-08-06 19:40:13 -04:00
casey langen
791f923892 CHANGELOG updates and version bumps for upcoming release. 2017-08-04 19:23:25 -07:00
casey langen
4bb1326ad8 Added explicit Manjaro detection for -DNO_CURSESW. 2017-07-29 17:08:59 -07:00
casey langen
1c7ed8ec26 Version bump for upcoming release: 0.22.0 2017-07-29 14:22:09 -07:00
casey langen
93af3d1447 Added new NO_NCURSESW CMake (not C++) definition. Will use this to help
debug build issues on Arch variants.
2017-07-28 16:42:08 -07:00
Christian Geier
5c6dcfdf0f Move quote in CMakeLists to avoid creating ;-separated list. 2017-07-27 16:01:25 +02:00
casey langen
a679e178e8 Updates that should address #114 (crash on startup in ArchLinux) and
platforms. Should compile out of the box now.
2017-07-27 01:06:16 +01:00
casey langen
d1b9b69bfd Version bump to 0.21.1 2017-07-22 11:57:06 -07:00
casey langen
86cd9aaf6e Version bump. 2017-07-19 18:35:09 -07:00
casey langen
20d2ead51f Rename musikbox -> musikcube and update all build scripts, docs, and
other files accordingly.
2017-07-19 17:36:50 -07:00
casey langen
d433ac2f10 clang 7.3 fix (ugh), and version bump. 2017-07-18 21:47:20 -07:00
casey langen
28d43f2111 - Added circular item focus in ShortcutsWindow.
- Version bump for 0.20.1
2017-07-15 19:56:23 -07:00
casey langen
2a2688f1bf Small bug fix for HotSwap behavior, version bump, release notes. 2017-07-14 19:13:18 -07:00
casey langen
bd7b54d79e Run the Indexer immediately after paths are modified. This was disabled
previously due to some annoying bugs that have since been fixed.
2017-07-07 22:11:49 -07:00
casey langen
a0f1b8a39c Version bump for 0.19.1 2017-07-05 22:21:18 -07:00
casey langen
28390f0819 version bump 2017-07-04 22:51:41 -07:00
Casey Langen
8a2acda512 Integrated update check into SettingsLayout. 2017-06-28 02:24:21 -07:00
casey langen
0a81ea131d Bumped version for release and fixed a couple minor bugs. 2017-06-26 19:24:21 -07:00
casey langen
bfbd4db5e5 Bumped to 0.17.2, fixed startup crashes caused non-latin usernames. 2017-06-18 14:11:06 -07:00
casey langen
5128a1f416 Version bump for 0.17.1 (win32 dll crt fix) 2017-06-18 09:33:40 -07:00
casey langen
acb344375c Updated version and CHANGELOG for 0.17.0 -- should be ready for a
release soon.
2017-06-13 11:32:28 -07:00
casey langen
b2906e94c7 Version bump for upcoming release. 2017-06-04 19:12:25 -07:00
Casey Langen
1a0361ed03 Added CMakeToolsHelpers as an OPTIONAL dependency in the main build file. This
allows for easy debugging in vscode environments.
2017-05-29 16:37:19 -07:00
casey langen
2140a9bc3e Version bump and CHANGELOG.txt to prep for release 2017-05-28 23:29:06 -07:00
casey langen
f3829564ca Renamed "contrib" to "plugins". 2017-05-22 17:10:35 -07:00
casey langen
519b1defa6 Version bump for release. 2017-05-19 20:05:49 -07:00
Casey Langen
002d0266e0 Added missing libhttpdatastream plugin. 2017-05-07 22:48:20 -07:00
Casey Langen
83e7ab880f Version bump to 0.13.0. 2017-05-07 22:36:28 -07:00
casey langen
4068f9a0f2 Added on-demand transcoding to websocket_remote using LAME.
- Added ?bitrate=xyz param to /audio/id/ or /audio/external_id/ requests
- By default audio is transcoded incrementally, on-demand using an
  estimated content-length. On a range request, the stream is transcoded
  entirely. Transcoded audio is cached upon completion to make
  subsequent requests faster and ease server load.
- Updated the Android client to support transcoding options. Transcoding
  is disabled by default.
- Added a scary warning to the "disable ssl cert validation" option.
2017-05-05 00:16:11 -07:00
casey langen
6f575683b9 Version bump in preparation for release. 2017-04-30 19:46:38 -07:00
casey langen
0ed9c9b4d6 Added HttpDataStream, a new plugin that can provide an IDataStream from
an HTTP/HTTPS connection.

- Added libcurl and libressl as project dependencies.
- Added HttpDataStream (which uses libcurl and libressl). Includes an
  LruDiskCache so responses can be cached to disk for offline playback.
- Added new IEnvironment SDK interface. Plugins can query the
  environment for path information, data streams, or decoders. More
  functionality will be added over time.
- Fixed FlacDataDecoderFactory to handle the correct mime type
  (audio/flac, not audio/flag)
- Tweaked NomadDecoder.cpp to return the stream length immediately instead
  of waiting for an fseek().
2017-04-18 00:31:50 -07:00
Casey Langen
9ca0a865e2 Version bump to 0.12.0 2017-04-16 13:23:45 -07:00
Casey Langen
cb4c1adc5b Integrated libmicrohttpd into the websocket_remote plugin to serve track audio
data (not metadata). Clients using the websocket interface can use this to play
music locally, instead of just remotely.
2017-04-14 10:04:48 -07:00
casey langen
b3df1787c6 Version bump and CHANGELOG updates. 2017-04-04 07:33:13 -07:00
casey langen
fb12405015 Fixed clang 7.3 compile error. 2017-03-27 10:30:45 -07:00
casey langen
7977e3f603 CHANGELOG update and version bump. 2017-03-22 17:08:21 -07:00
casey langen
9853816be1 Version bump for next release. 2017-03-18 17:01:04 -07:00
Casey Langen
7e8443a53e Version bump and changelog update in prepration for release. 2017-03-15 19:20:39 -07:00
casey langen
f6e48b457b Super basic support for localization in core. Only supports strings for
the time being (but the format should be relatively extensible).

Added sample implementation in BrowseLayout.
2017-03-15 00:04:35 -07:00
Casey Langen
385701a7f4 Ensure sigslot gets compiled with SIGSLOT_USE_POSIX_THREADS defined on *nix
platforms.
2017-03-14 19:30:13 -07:00
Casey Langen
3d7f36a975 - Fixed macOS / Linux compile
- Updated CMakeLists.txt to copy themes to bin directory, and also the install
  dir.
2017-03-12 19:03:08 -07:00
casey langen
cc469842b4 Reverted "-s" flag, it doesn't work with clang. 2017-03-11 01:55:16 +00:00
casey langen
dd065e14b3 Strip output in release mode. 2017-03-10 17:26:29 -08:00
casey langen
9c30e0e7f6 Added an alternate method for setting volume in PulseOut. 2017-03-11 01:25:37 +00:00
casey langen
8b1cac7f9b - Updated project build settings to all favor fast code, instead of small
code. Also ensure all projects are compiled against the unicode charset.
- Updated CHANGELOG and bumped versions.
2017-03-09 08:38:03 -08:00
casey langen
bad7998fae Updated build comment to ensure we use release mode when building a deb. 2017-03-05 18:50:44 -08:00
casey langen
b05cfabd6f Version bump for next release. 2017-02-25 17:55:11 -08:00
Casey Langen
bab43dd667 Initial tests to statically link against most third party libraries to make
redistribution simpler.
2017-02-24 10:57:42 -08:00
casey langen
aa92aaf475 Version bump to 0.9.1 2017-02-22 23:16:32 -08:00
casey langen
83f327d911 Added one last missing dependency to CMakeLists.txt. Also, auto-rescan on startup. 2017-02-19 23:18:18 -08:00
casey langen
2052e2c51e Better package naming. 2017-02-19 21:02:29 -08:00
casey langen
484b16d49a Added missing dependencies to CMakeList.txt deb packaging. 2017-02-19 19:58:10 -08:00
casey langen
1563bf71ba Updates to CMakeLists.txt to allow specification of boost version used
during packaging.
2017-02-19 19:18:38 -08:00
casey langen
ac5367e5b2 Added CPack support for Ubuntu and Debian. 2017-02-19 15:54:35 -08:00
Casey Langen
fe38d9268d Fixed up websocket_remote/CMakeLists.txt to work on macOS (and hopefully Linux) 2017-02-14 22:16:17 -08:00
Casey Langen
27bfa8fd3c Tweaked CMakeLists.txt to hush the deprecation warnings because they're getting
in the way. Will remove this once we get a new version of boost on macOS.
2017-02-03 18:13:25 -08:00
Casey Langen
e4bb690a56 Make sure we include libnullout in the installation. 2017-01-14 14:43:32 -08:00
casey langen
9616bc39e9 Added a null output plugin. 2017-01-14 11:52:53 -08:00
casey langen
05afff01ad Fixed Linux compile... surprising it worked on macOS. 2017-01-09 21:40:30 -08:00
casey langen
0d7dfce805 Moved some sources out of "musikbox" and into a new "glue" directory. This
is for non-UI code that doesn't necessarily belong in core, but can be
reused across clients.
2017-01-06 18:28:00 -08:00
casey langen
f57abafb42 Removed some unnecessary dependencies from CMakeLists and fixed compile on older versions of clang. 2017-01-01 13:59:22 -08:00
casey langen
60f8d5ab50 Fixed broken CMakeLists install script. 2016-12-14 22:06:56 -08:00
Casey Langen
4f0d98b850 Fixed OSX compile. 2016-12-13 20:40:48 -08:00
Casey Langen
3e6f66d986 Added a PulseAudio output plugin for Linux. 2016-12-05 17:00:13 -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
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
472e3ef2a8 Fixed macOS (and likely Linux) compile. 2016-10-31 23:18:56 -07:00
Casey Langen
eccefc0aa8 Small update to CMakeLists.txt to fix non-brew compile in macOS 10.12. 2016-09-20 17:47:48 -07:00
Casey Langen
5df01cb2ae Removed '-fpermissive' from compiler flags -- not necessary (and potentially harmful) 2016-09-13 14:52:40 -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
9d4691efcf Added "install" support to CMakeLists.txt. 2016-08-28 11:46:43 -07:00