├── .gitignore ├── AUTHORS ├── COPYING ├── INSTALL ├── Makefile.am ├── NEWS ├── README ├── android ├── .gitignore ├── AndroidManifest.xml ├── build.py ├── custom_rules.xml ├── res │ └── values │ │ └── strings.xml └── src │ ├── Bridge.java │ ├── Loader.java │ └── Main.java ├── autogen.sh ├── configure.ac ├── doc ├── developer.xml ├── doxygen.conf.in ├── mpd.1 ├── mpd.conf.5 ├── mpdconf.example ├── protocol.xml └── user.xml ├── m4 ├── ax_append_compile_flags.m4 ├── ax_append_flag.m4 ├── ax_append_link_flags.m4 ├── ax_boost_base.m4 ├── ax_check_compile_flag.m4 ├── ax_check_link_flag.m4 ├── ax_cxx_compile_stdcxx_0x.m4 ├── ax_pthread.m4 ├── ax_require_defined.m4 ├── libwrap.m4 ├── mpd_auto.m4 ├── mpd_define_conditional.m4 ├── mpd_depends.m4 ├── mpd_func.m4 ├── mpd_with_flags.m4 ├── pkg.m4 ├── pretty_print.m4 └── ucred.m4 ├── mpd.svg ├── scripts └── check_config_h.rb ├── src ├── AudioCompress │ ├── compress.c │ ├── compress.h │ └── config.h ├── AudioConfig.cxx ├── AudioConfig.hxx ├── AudioFormat.cxx ├── AudioFormat.hxx ├── AudioParser.cxx ├── AudioParser.hxx ├── BulkEdit.hxx ├── CheckAudioFormat.cxx ├── CheckAudioFormat.hxx ├── Chrono.hxx ├── CommandLine.cxx ├── CommandLine.hxx ├── Compiler.h ├── CrossFade.cxx ├── CrossFade.hxx ├── DetachedSong.cxx ├── DetachedSong.hxx ├── GlobalEvents.cxx ├── GlobalEvents.hxx ├── IOThread.cxx ├── IOThread.hxx ├── IcyMetaDataParser.cxx ├── IcyMetaDataParser.hxx ├── Idle.cxx ├── Idle.hxx ├── Instance.cxx ├── Instance.hxx ├── Listen.cxx ├── Listen.hxx ├── Log.cxx ├── Log.hxx ├── LogBackend.cxx ├── LogBackend.hxx ├── LogInit.cxx ├── LogInit.hxx ├── LogLevel.hxx ├── LogV.hxx ├── Main.cxx ├── Main.hxx ├── Mapper.cxx ├── Mapper.hxx ├── MixRampInfo.hxx ├── MusicBuffer.cxx ├── MusicBuffer.hxx ├── MusicChunk.cxx ├── MusicChunk.hxx ├── MusicPipe.cxx ├── MusicPipe.hxx ├── Partition.cxx ├── Partition.hxx ├── Permission.cxx ├── Permission.hxx ├── PlayerControl.cxx ├── PlayerControl.hxx ├── PlayerListener.hxx ├── PlayerThread.cxx ├── PlayerThread.hxx ├── PlaylistDatabase.cxx ├── PlaylistDatabase.hxx ├── PlaylistError.cxx ├── PlaylistError.hxx ├── PlaylistFile.cxx ├── PlaylistFile.hxx ├── PlaylistGlobal.cxx ├── PlaylistGlobal.hxx ├── PlaylistPrint.cxx ├── PlaylistPrint.hxx ├── PlaylistSave.cxx ├── PlaylistSave.hxx ├── ReplayGainConfig.cxx ├── ReplayGainConfig.hxx ├── ReplayGainInfo.cxx ├── ReplayGainInfo.hxx ├── SongFilter.cxx ├── SongFilter.hxx ├── SongLoader.cxx ├── SongLoader.hxx ├── SongPrint.cxx ├── SongPrint.hxx ├── SongSave.cxx ├── SongSave.hxx ├── SongUpdate.cxx ├── StateFile.cxx ├── StateFile.hxx ├── Stats.cxx ├── Stats.hxx ├── TagArchive.cxx ├── TagArchive.hxx ├── TagFile.cxx ├── TagFile.hxx ├── TagPrint.cxx ├── TagPrint.hxx ├── TagSave.cxx ├── TagSave.hxx ├── TagStream.cxx ├── TagStream.hxx ├── TimePrint.cxx ├── TimePrint.hxx ├── android │ ├── Context.cxx │ ├── Context.hxx │ ├── Environment.cxx │ └── Environment.hxx ├── archive │ ├── ArchiveDomain.cxx │ ├── ArchiveDomain.hxx │ ├── ArchiveFile.hxx │ ├── ArchiveList.cxx │ ├── ArchiveList.hxx │ ├── ArchiveLookup.cxx │ ├── ArchiveLookup.hxx │ ├── ArchivePlugin.cxx │ ├── ArchivePlugin.hxx │ ├── ArchiveVisitor.hxx │ └── plugins │ │ ├── Bzip2ArchivePlugin.cxx │ │ ├── Bzip2ArchivePlugin.hxx │ │ ├── Iso9660ArchivePlugin.cxx │ │ ├── Iso9660ArchivePlugin.hxx │ │ ├── ZzipArchivePlugin.cxx │ │ └── ZzipArchivePlugin.hxx ├── check.h ├── client │ ├── Client.cxx │ ├── Client.hxx │ ├── ClientEvent.cxx │ ├── ClientExpire.cxx │ ├── ClientFile.cxx │ ├── ClientGlobal.cxx │ ├── ClientIdle.cxx │ ├── ClientInternal.hxx │ ├── ClientList.cxx │ ├── ClientList.hxx │ ├── ClientMessage.cxx │ ├── ClientMessage.hxx │ ├── ClientNew.cxx │ ├── ClientProcess.cxx │ ├── ClientRead.cxx │ ├── ClientSubscribe.cxx │ └── ClientWrite.cxx ├── command │ ├── AllCommands.cxx │ ├── AllCommands.hxx │ ├── CommandError.cxx │ ├── CommandError.hxx │ ├── CommandListBuilder.cxx │ ├── CommandListBuilder.hxx │ ├── CommandResult.hxx │ ├── DatabaseCommands.cxx │ ├── DatabaseCommands.hxx │ ├── FileCommands.cxx │ ├── FileCommands.hxx │ ├── MessageCommands.cxx │ ├── MessageCommands.hxx │ ├── NeighborCommands.cxx │ ├── NeighborCommands.hxx │ ├── OtherCommands.cxx │ ├── OtherCommands.hxx │ ├── OutputCommands.cxx │ ├── OutputCommands.hxx │ ├── PlayerCommands.cxx │ ├── PlayerCommands.hxx │ ├── PlaylistCommands.cxx │ ├── PlaylistCommands.hxx │ ├── QueueCommands.cxx │ ├── QueueCommands.hxx │ ├── StickerCommands.cxx │ ├── StickerCommands.hxx │ ├── StorageCommands.cxx │ ├── StorageCommands.hxx │ ├── TagCommands.cxx │ └── TagCommands.hxx ├── config │ ├── Block.cxx │ ├── Block.hxx │ ├── ConfigDefaults.hxx │ ├── ConfigError.cxx │ ├── ConfigError.hxx │ ├── ConfigFile.cxx │ ├── ConfigFile.hxx │ ├── ConfigGlobal.cxx │ ├── ConfigGlobal.hxx │ ├── ConfigOption.hxx │ ├── ConfigParser.cxx │ ├── ConfigParser.hxx │ ├── ConfigPath.cxx │ ├── ConfigPath.hxx │ ├── ConfigTemplates.cxx │ ├── ConfigTemplates.hxx │ ├── Data.cxx │ ├── Data.hxx │ ├── Param.cxx │ └── Param.hxx ├── db │ ├── Configured.cxx │ ├── Configured.hxx │ ├── Count.cxx │ ├── Count.hxx │ ├── DatabaseError.cxx │ ├── DatabaseError.hxx │ ├── DatabaseGlue.cxx │ ├── DatabaseGlue.hxx │ ├── DatabaseListener.hxx │ ├── DatabaseLock.cxx │ ├── DatabaseLock.hxx │ ├── DatabasePlaylist.cxx │ ├── DatabasePlaylist.hxx │ ├── DatabasePlugin.hxx │ ├── DatabasePrint.cxx │ ├── DatabasePrint.hxx │ ├── DatabaseQueue.cxx │ ├── DatabaseQueue.hxx │ ├── DatabaseSong.cxx │ ├── DatabaseSong.hxx │ ├── Helpers.cxx │ ├── Helpers.hxx │ ├── Interface.hxx │ ├── LightDirectory.hxx │ ├── LightSong.cxx │ ├── LightSong.hxx │ ├── PlaylistInfo.hxx │ ├── PlaylistVector.cxx │ ├── PlaylistVector.hxx │ ├── Registry.cxx │ ├── Registry.hxx │ ├── Selection.cxx │ ├── Selection.hxx │ ├── Stats.hxx │ ├── UniqueTags.cxx │ ├── UniqueTags.hxx │ ├── Uri.hxx │ ├── Visitor.hxx │ ├── plugins │ │ ├── LazyDatabase.cxx │ │ ├── LazyDatabase.hxx │ │ ├── ProxyDatabasePlugin.cxx │ │ ├── ProxyDatabasePlugin.hxx │ │ ├── simple │ │ │ ├── DatabaseSave.cxx │ │ │ ├── DatabaseSave.hxx │ │ │ ├── Directory.cxx │ │ │ ├── Directory.hxx │ │ │ ├── DirectorySave.cxx │ │ │ ├── DirectorySave.hxx │ │ │ ├── Mount.cxx │ │ │ ├── Mount.hxx │ │ │ ├── PrefixedLightSong.hxx │ │ │ ├── SimpleDatabasePlugin.cxx │ │ │ ├── SimpleDatabasePlugin.hxx │ │ │ ├── Song.cxx │ │ │ ├── Song.hxx │ │ │ ├── SongSort.cxx │ │ │ └── SongSort.hxx │ │ └── upnp │ │ │ ├── ContentDirectoryService.cxx │ │ │ ├── Directory.cxx │ │ │ ├── Directory.hxx │ │ │ ├── Object.cxx │ │ │ ├── Object.hxx │ │ │ ├── Tags.cxx │ │ │ ├── Tags.hxx │ │ │ ├── UpnpDatabasePlugin.cxx │ │ │ └── UpnpDatabasePlugin.hxx │ └── update │ │ ├── Archive.cxx │ │ ├── Container.cxx │ │ ├── Editor.cxx │ │ ├── Editor.hxx │ │ ├── ExcludeList.cxx │ │ ├── ExcludeList.hxx │ │ ├── InotifyDomain.cxx │ │ ├── InotifyDomain.hxx │ │ ├── InotifyQueue.cxx │ │ ├── InotifyQueue.hxx │ │ ├── InotifySource.cxx │ │ ├── InotifySource.hxx │ │ ├── InotifyUpdate.cxx │ │ ├── InotifyUpdate.hxx │ │ ├── Queue.cxx │ │ ├── Queue.hxx │ │ ├── Remove.cxx │ │ ├── Remove.hxx │ │ ├── Service.cxx │ │ ├── Service.hxx │ │ ├── UpdateDomain.cxx │ │ ├── UpdateDomain.hxx │ │ ├── UpdateIO.cxx │ │ ├── UpdateIO.hxx │ │ ├── UpdateSong.cxx │ │ ├── Walk.cxx │ │ └── Walk.hxx ├── decoder │ ├── DecoderAPI.cxx │ ├── DecoderAPI.hxx │ ├── DecoderBuffer.cxx │ ├── DecoderBuffer.hxx │ ├── DecoderCommand.hxx │ ├── DecoderControl.cxx │ ├── DecoderControl.hxx │ ├── DecoderError.cxx │ ├── DecoderError.hxx │ ├── DecoderInternal.cxx │ ├── DecoderInternal.hxx │ ├── DecoderList.cxx │ ├── DecoderList.hxx │ ├── DecoderPlugin.cxx │ ├── DecoderPlugin.hxx │ ├── DecoderPrint.cxx │ ├── DecoderPrint.hxx │ ├── DecoderThread.cxx │ ├── DecoderThread.hxx │ └── plugins │ │ ├── AdPlugDecoderPlugin.cxx │ │ ├── AdPlugDecoderPlugin.h │ │ ├── AudiofileDecoderPlugin.cxx │ │ ├── AudiofileDecoderPlugin.hxx │ │ ├── DsdLib.cxx │ │ ├── DsdLib.hxx │ │ ├── DsdiffDecoderPlugin.cxx │ │ ├── DsdiffDecoderPlugin.hxx │ │ ├── DsfDecoderPlugin.cxx │ │ ├── DsfDecoderPlugin.hxx │ │ ├── FaadDecoderPlugin.cxx │ │ ├── FaadDecoderPlugin.hxx │ │ ├── FfmpegDecoderPlugin.cxx │ │ ├── FfmpegDecoderPlugin.hxx │ │ ├── FfmpegIo.cxx │ │ ├── FfmpegIo.hxx │ │ ├── FfmpegMetaData.cxx │ │ ├── FfmpegMetaData.hxx │ │ ├── FlacCommon.cxx │ │ ├── FlacCommon.hxx │ │ ├── FlacDecoderPlugin.cxx │ │ ├── FlacDecoderPlugin.h │ │ ├── FlacDomain.cxx │ │ ├── FlacDomain.hxx │ │ ├── FlacIOHandle.cxx │ │ ├── FlacIOHandle.hxx │ │ ├── FlacInput.cxx │ │ ├── FlacInput.hxx │ │ ├── FlacMetadata.cxx │ │ ├── FlacMetadata.hxx │ │ ├── FlacPcm.cxx │ │ ├── FlacPcm.hxx │ │ ├── FluidsynthDecoderPlugin.cxx │ │ ├── FluidsynthDecoderPlugin.hxx │ │ ├── GmeDecoderPlugin.cxx │ │ ├── GmeDecoderPlugin.hxx │ │ ├── MadDecoderPlugin.cxx │ │ ├── MadDecoderPlugin.hxx │ │ ├── MikmodDecoderPlugin.cxx │ │ ├── MikmodDecoderPlugin.hxx │ │ ├── ModplugDecoderPlugin.cxx │ │ ├── ModplugDecoderPlugin.hxx │ │ ├── MpcdecDecoderPlugin.cxx │ │ ├── MpcdecDecoderPlugin.hxx │ │ ├── Mpg123DecoderPlugin.cxx │ │ ├── Mpg123DecoderPlugin.hxx │ │ ├── OggCodec.cxx │ │ ├── OggCodec.hxx │ │ ├── OggFind.cxx │ │ ├── OggFind.hxx │ │ ├── OggSyncState.hxx │ │ ├── OggUtil.cxx │ │ ├── OggUtil.hxx │ │ ├── OpusDecoderPlugin.cxx │ │ ├── OpusDecoderPlugin.h │ │ ├── OpusDomain.cxx │ │ ├── OpusDomain.hxx │ │ ├── OpusHead.cxx │ │ ├── OpusHead.hxx │ │ ├── OpusReader.hxx │ │ ├── OpusTags.cxx │ │ ├── OpusTags.hxx │ │ ├── PcmDecoderPlugin.cxx │ │ ├── PcmDecoderPlugin.hxx │ │ ├── SidplayDecoderPlugin.cxx │ │ ├── SidplayDecoderPlugin.hxx │ │ ├── SndfileDecoderPlugin.cxx │ │ ├── SndfileDecoderPlugin.hxx │ │ ├── VorbisComments.cxx │ │ ├── VorbisComments.hxx │ │ ├── VorbisDecoderPlugin.cxx │ │ ├── VorbisDecoderPlugin.h │ │ ├── VorbisDomain.cxx │ │ ├── VorbisDomain.hxx │ │ ├── WavpackDecoderPlugin.cxx │ │ ├── WavpackDecoderPlugin.hxx │ │ ├── WildmidiDecoderPlugin.cxx │ │ ├── WildmidiDecoderPlugin.hxx │ │ ├── XiphTags.cxx │ │ └── XiphTags.hxx ├── encoder │ ├── EncoderAPI.hxx │ ├── EncoderInterface.hxx │ ├── EncoderList.cxx │ ├── EncoderList.hxx │ ├── EncoderPlugin.hxx │ ├── ToOutputStream.cxx │ ├── ToOutputStream.hxx │ └── plugins │ │ ├── FlacEncoderPlugin.cxx │ │ ├── FlacEncoderPlugin.hxx │ │ ├── LameEncoderPlugin.cxx │ │ ├── LameEncoderPlugin.hxx │ │ ├── NullEncoderPlugin.cxx │ │ ├── NullEncoderPlugin.hxx │ │ ├── OggSerial.cxx │ │ ├── OggSerial.hxx │ │ ├── OggStream.hxx │ │ ├── OpusEncoderPlugin.cxx │ │ ├── OpusEncoderPlugin.hxx │ │ ├── ShineEncoderPlugin.cxx │ │ ├── ShineEncoderPlugin.hxx │ │ ├── TwolameEncoderPlugin.cxx │ │ ├── TwolameEncoderPlugin.hxx │ │ ├── VorbisEncoderPlugin.cxx │ │ ├── VorbisEncoderPlugin.hxx │ │ ├── WaveEncoderPlugin.cxx │ │ └── WaveEncoderPlugin.hxx ├── event │ ├── BufferedSocket.cxx │ ├── BufferedSocket.hxx │ ├── Call.cxx │ ├── Call.hxx │ ├── DeferredMonitor.cxx │ ├── DeferredMonitor.hxx │ ├── FullyBufferedSocket.cxx │ ├── FullyBufferedSocket.hxx │ ├── IdleMonitor.cxx │ ├── IdleMonitor.hxx │ ├── Loop.cxx │ ├── Loop.hxx │ ├── MultiSocketMonitor.cxx │ ├── MultiSocketMonitor.hxx │ ├── PollGroup.hxx │ ├── PollGroupEPoll.hxx │ ├── PollGroupPoll.cxx │ ├── PollGroupPoll.hxx │ ├── PollGroupWinSelect.cxx │ ├── PollGroupWinSelect.hxx │ ├── PollResultGeneric.hxx │ ├── ServerSocket.cxx │ ├── ServerSocket.hxx │ ├── SignalMonitor.cxx │ ├── SignalMonitor.hxx │ ├── SocketMonitor.cxx │ ├── SocketMonitor.hxx │ ├── TimeoutMonitor.cxx │ ├── TimeoutMonitor.hxx │ └── WakeFD.hxx ├── filter │ ├── FilterConfig.cxx │ ├── FilterConfig.hxx │ ├── FilterInternal.hxx │ ├── FilterPlugin.cxx │ ├── FilterPlugin.hxx │ ├── FilterRegistry.cxx │ ├── FilterRegistry.hxx │ └── plugins │ │ ├── AutoConvertFilterPlugin.cxx │ │ ├── AutoConvertFilterPlugin.hxx │ │ ├── ChainFilterPlugin.cxx │ │ ├── ChainFilterPlugin.hxx │ │ ├── ConvertFilterPlugin.cxx │ │ ├── ConvertFilterPlugin.hxx │ │ ├── NormalizeFilterPlugin.cxx │ │ ├── NullFilterPlugin.cxx │ │ ├── ReplayGainFilterPlugin.cxx │ │ ├── ReplayGainFilterPlugin.hxx │ │ ├── RouteFilterPlugin.cxx │ │ ├── VolumeFilterPlugin.cxx │ │ └── VolumeFilterPlugin.hxx ├── fs │ ├── AllocatedPath.cxx │ ├── AllocatedPath.hxx │ ├── Charset.cxx │ ├── Charset.hxx │ ├── CheckFile.cxx │ ├── CheckFile.hxx │ ├── Config.cxx │ ├── Config.hxx │ ├── DirectoryReader.hxx │ ├── Domain.cxx │ ├── Domain.hxx │ ├── FileInfo.hxx │ ├── FileSystem.cxx │ ├── FileSystem.hxx │ ├── Limits.hxx │ ├── NarrowPath.hxx │ ├── Path.cxx │ ├── Path.hxx │ ├── Path2.cxx │ ├── StandardDirectory.cxx │ ├── StandardDirectory.hxx │ ├── Traits.cxx │ ├── Traits.hxx │ └── io │ │ ├── AutoGunzipReader.cxx │ │ ├── AutoGunzipReader.hxx │ │ ├── BufferedOutputStream.cxx │ │ ├── BufferedOutputStream.hxx │ │ ├── BufferedReader.cxx │ │ ├── BufferedReader.hxx │ │ ├── FileOutputStream.cxx │ │ ├── FileOutputStream.hxx │ │ ├── FileReader.cxx │ │ ├── FileReader.hxx │ │ ├── GunzipReader.cxx │ │ ├── GunzipReader.hxx │ │ ├── GzipOutputStream.cxx │ │ ├── GzipOutputStream.hxx │ │ ├── OutputStream.hxx │ │ ├── PeekReader.cxx │ │ ├── PeekReader.hxx │ │ ├── Reader.hxx │ │ ├── StdioOutputStream.hxx │ │ ├── TextFile.cxx │ │ └── TextFile.hxx ├── input │ ├── AsyncInputStream.cxx │ ├── AsyncInputStream.hxx │ ├── Domain.cxx │ ├── Domain.hxx │ ├── IcyInputStream.cxx │ ├── IcyInputStream.hxx │ ├── Init.cxx │ ├── Init.hxx │ ├── InputPlugin.hxx │ ├── InputStream.cxx │ ├── InputStream.hxx │ ├── LocalOpen.cxx │ ├── LocalOpen.hxx │ ├── Offset.hxx │ ├── Open.cxx │ ├── ProxyInputStream.cxx │ ├── ProxyInputStream.hxx │ ├── Registry.cxx │ ├── Registry.hxx │ ├── TextInputStream.cxx │ ├── TextInputStream.hxx │ ├── ThreadInputStream.cxx │ ├── ThreadInputStream.hxx │ └── plugins │ │ ├── AlsaInputPlugin.cxx │ │ ├── AlsaInputPlugin.hxx │ │ ├── ArchiveInputPlugin.cxx │ │ ├── ArchiveInputPlugin.hxx │ │ ├── CdioParanoiaInputPlugin.cxx │ │ ├── CdioParanoiaInputPlugin.hxx │ │ ├── CurlInputPlugin.cxx │ │ ├── CurlInputPlugin.hxx │ │ ├── FfmpegInputPlugin.cxx │ │ ├── FfmpegInputPlugin.hxx │ │ ├── FileInputPlugin.cxx │ │ ├── FileInputPlugin.hxx │ │ ├── MmsInputPlugin.cxx │ │ ├── MmsInputPlugin.hxx │ │ ├── NfsInputPlugin.cxx │ │ ├── NfsInputPlugin.hxx │ │ ├── RewindInputPlugin.cxx │ │ ├── RewindInputPlugin.hxx │ │ ├── SmbclientInputPlugin.cxx │ │ └── SmbclientInputPlugin.hxx ├── java │ ├── Class.hxx │ ├── Exception.hxx │ ├── File.cxx │ ├── File.hxx │ ├── Global.cxx │ ├── Global.hxx │ ├── Object.hxx │ ├── Ref.hxx │ ├── String.cxx │ └── String.hxx ├── lib │ ├── expat │ │ ├── ExpatParser.cxx │ │ └── ExpatParser.hxx │ ├── ffmpeg │ │ ├── Buffer.hxx │ │ ├── Domain.cxx │ │ ├── Domain.hxx │ │ ├── Error.cxx │ │ ├── Error.hxx │ │ ├── Init.cxx │ │ ├── Init.hxx │ │ ├── LogCallback.cxx │ │ ├── LogCallback.hxx │ │ ├── LogError.cxx │ │ ├── LogError.hxx │ │ └── Time.hxx │ ├── icu │ │ ├── Collate.cxx │ │ ├── Collate.hxx │ │ ├── Converter.cxx │ │ ├── Converter.hxx │ │ ├── Error.cxx │ │ ├── Error.hxx │ │ ├── Init.cxx │ │ ├── Init.hxx │ │ ├── Util.cxx │ │ └── Util.hxx │ ├── nfs │ │ ├── Base.cxx │ │ ├── Base.hxx │ │ ├── Blocking.cxx │ │ ├── Blocking.hxx │ │ ├── Callback.hxx │ │ ├── Cancellable.hxx │ │ ├── Connection.cxx │ │ ├── Connection.hxx │ │ ├── Domain.cxx │ │ ├── Domain.hxx │ │ ├── FileReader.cxx │ │ ├── FileReader.hxx │ │ ├── Glue.cxx │ │ ├── Glue.hxx │ │ ├── Lease.hxx │ │ ├── Manager.cxx │ │ └── Manager.hxx │ ├── pulse │ │ ├── Domain.cxx │ │ ├── Domain.hxx │ │ ├── Error.cxx │ │ ├── Error.hxx │ │ ├── LogError.cxx │ │ └── LogError.hxx │ ├── smbclient │ │ ├── Domain.cxx │ │ ├── Domain.hxx │ │ ├── Init.cxx │ │ ├── Init.hxx │ │ ├── Mutex.cxx │ │ └── Mutex.hxx │ ├── sqlite │ │ ├── Domain.cxx │ │ ├── Domain.hxx │ │ └── Util.hxx │ ├── upnp │ │ ├── Action.hxx │ │ ├── Callback.hxx │ │ ├── ClientInit.cxx │ │ ├── ClientInit.hxx │ │ ├── ContentDirectoryService.cxx │ │ ├── ContentDirectoryService.hxx │ │ ├── Device.cxx │ │ ├── Device.hxx │ │ ├── Discovery.cxx │ │ ├── Discovery.hxx │ │ ├── Domain.cxx │ │ ├── Domain.hxx │ │ ├── Init.cxx │ │ ├── Init.hxx │ │ ├── Util.cxx │ │ ├── Util.hxx │ │ ├── WorkQueue.hxx │ │ ├── ixmlwrap.cxx │ │ └── ixmlwrap.hxx │ └── zlib │ │ ├── Domain.cxx │ │ └── Domain.hxx ├── ls.cxx ├── ls.hxx ├── mixer │ ├── Listener.hxx │ ├── MixerAll.cxx │ ├── MixerControl.cxx │ ├── MixerControl.hxx │ ├── MixerInternal.hxx │ ├── MixerList.hxx │ ├── MixerPlugin.hxx │ ├── MixerType.cxx │ ├── MixerType.hxx │ ├── Volume.cxx │ ├── Volume.hxx │ └── plugins │ │ ├── AlsaMixerPlugin.cxx │ │ ├── NullMixerPlugin.cxx │ │ ├── OssMixerPlugin.cxx │ │ ├── PulseMixerPlugin.cxx │ │ ├── PulseMixerPlugin.hxx │ │ ├── RoarMixerPlugin.cxx │ │ ├── SoftwareMixerPlugin.cxx │ │ ├── SoftwareMixerPlugin.hxx │ │ └── WinmmMixerPlugin.cxx ├── neighbor │ ├── Explorer.hxx │ ├── Glue.cxx │ ├── Glue.hxx │ ├── Info.hxx │ ├── Listener.hxx │ ├── NeighborPlugin.hxx │ ├── Registry.cxx │ ├── Registry.hxx │ └── plugins │ │ ├── SmbclientNeighborPlugin.cxx │ │ ├── SmbclientNeighborPlugin.hxx │ │ ├── UpnpNeighborPlugin.cxx │ │ └── UpnpNeighborPlugin.hxx ├── net │ ├── Resolver.cxx │ ├── Resolver.hxx │ ├── SocketAddress.cxx │ ├── SocketAddress.hxx │ ├── SocketError.cxx │ ├── SocketError.hxx │ ├── SocketUtil.cxx │ ├── SocketUtil.hxx │ ├── StaticSocketAddress.cxx │ └── StaticSocketAddress.hxx ├── notify.cxx ├── notify.hxx ├── open.h ├── output │ ├── Domain.cxx │ ├── Domain.hxx │ ├── Finish.cxx │ ├── Init.cxx │ ├── Internal.hxx │ ├── MultipleOutputs.cxx │ ├── MultipleOutputs.hxx │ ├── OutputAPI.hxx │ ├── OutputCommand.cxx │ ├── OutputCommand.hxx │ ├── OutputControl.cxx │ ├── OutputControl.hxx │ ├── OutputPlugin.cxx │ ├── OutputPlugin.hxx │ ├── OutputPrint.cxx │ ├── OutputPrint.hxx │ ├── OutputState.cxx │ ├── OutputState.hxx │ ├── OutputThread.cxx │ ├── Registry.cxx │ ├── Registry.hxx │ ├── Timer.cxx │ ├── Timer.hxx │ ├── Wrapper.hxx │ └── plugins │ │ ├── AlsaOutputPlugin.cxx │ │ ├── AlsaOutputPlugin.hxx │ │ ├── AoOutputPlugin.cxx │ │ ├── AoOutputPlugin.hxx │ │ ├── FifoOutputPlugin.cxx │ │ ├── FifoOutputPlugin.hxx │ │ ├── JackOutputPlugin.cxx │ │ ├── JackOutputPlugin.hxx │ │ ├── NullOutputPlugin.cxx │ │ ├── NullOutputPlugin.hxx │ │ ├── OSXOutputPlugin.cxx │ │ ├── OSXOutputPlugin.hxx │ │ ├── OpenALOutputPlugin.cxx │ │ ├── OpenALOutputPlugin.hxx │ │ ├── OssOutputPlugin.cxx │ │ ├── OssOutputPlugin.hxx │ │ ├── PipeOutputPlugin.cxx │ │ ├── PipeOutputPlugin.hxx │ │ ├── PulseOutputPlugin.cxx │ │ ├── PulseOutputPlugin.hxx │ │ ├── RecorderOutputPlugin.cxx │ │ ├── RecorderOutputPlugin.hxx │ │ ├── RoarOutputPlugin.cxx │ │ ├── RoarOutputPlugin.hxx │ │ ├── ShoutOutputPlugin.cxx │ │ ├── ShoutOutputPlugin.hxx │ │ ├── SolarisOutputPlugin.cxx │ │ ├── SolarisOutputPlugin.hxx │ │ ├── WinmmOutputPlugin.cxx │ │ ├── WinmmOutputPlugin.hxx │ │ ├── httpd │ │ ├── HttpdClient.cxx │ │ ├── HttpdClient.hxx │ │ ├── HttpdInternal.hxx │ │ ├── HttpdOutputPlugin.cxx │ │ ├── HttpdOutputPlugin.hxx │ │ ├── IcyMetaDataServer.cxx │ │ ├── IcyMetaDataServer.hxx │ │ ├── Page.cxx │ │ └── Page.hxx │ │ └── sles │ │ ├── AndroidSimpleBufferQueue.hxx │ │ ├── Engine.hxx │ │ ├── Object.hxx │ │ ├── Play.hxx │ │ ├── SlesOutputPlugin.cxx │ │ └── SlesOutputPlugin.hxx ├── pcm │ ├── ChannelsConverter.cxx │ ├── ChannelsConverter.hxx │ ├── ConfiguredResampler.cxx │ ├── ConfiguredResampler.hxx │ ├── Domain.cxx │ ├── Domain.hxx │ ├── FallbackResampler.cxx │ ├── FallbackResampler.hxx │ ├── FloatConvert.hxx │ ├── FormatConverter.cxx │ ├── FormatConverter.hxx │ ├── GlueResampler.cxx │ ├── GlueResampler.hxx │ ├── LibsamplerateResampler.cxx │ ├── LibsamplerateResampler.hxx │ ├── Neon.hxx │ ├── PcmBuffer.cxx │ ├── PcmBuffer.hxx │ ├── PcmChannels.cxx │ ├── PcmChannels.hxx │ ├── PcmConvert.cxx │ ├── PcmConvert.hxx │ ├── PcmDither.cxx │ ├── PcmDither.hxx │ ├── PcmDop.cxx │ ├── PcmDop.hxx │ ├── PcmDsd.cxx │ ├── PcmDsd.hxx │ ├── PcmExport.cxx │ ├── PcmExport.hxx │ ├── PcmFormat.cxx │ ├── PcmFormat.hxx │ ├── PcmMix.cxx │ ├── PcmMix.hxx │ ├── PcmPack.cxx │ ├── PcmPack.hxx │ ├── PcmPrng.hxx │ ├── PcmUtils.hxx │ ├── Resampler.hxx │ ├── ShiftConvert.hxx │ ├── SoxrResampler.cxx │ ├── SoxrResampler.hxx │ ├── Traits.hxx │ ├── Volume.cxx │ ├── Volume.hxx │ └── dsd2pcm │ │ ├── dsd2pcm.c │ │ ├── dsd2pcm.h │ │ ├── dsd2pcm.hpp │ │ ├── info.txt │ │ ├── main.cpp │ │ ├── noiseshape.c │ │ ├── noiseshape.h │ │ └── noiseshape.hpp ├── playlist │ ├── CloseSongEnumerator.cxx │ ├── CloseSongEnumerator.hxx │ ├── MemorySongEnumerator.cxx │ ├── MemorySongEnumerator.hxx │ ├── PlaylistAny.cxx │ ├── PlaylistAny.hxx │ ├── PlaylistMapper.cxx │ ├── PlaylistMapper.hxx │ ├── PlaylistPlugin.hxx │ ├── PlaylistQueue.cxx │ ├── PlaylistQueue.hxx │ ├── PlaylistRegistry.cxx │ ├── PlaylistRegistry.hxx │ ├── PlaylistSong.cxx │ ├── PlaylistSong.hxx │ ├── PlaylistStream.cxx │ ├── PlaylistStream.hxx │ ├── Print.cxx │ ├── Print.hxx │ ├── SongEnumerator.hxx │ ├── cue │ │ ├── CueParser.cxx │ │ └── CueParser.hxx │ └── plugins │ │ ├── AsxPlaylistPlugin.cxx │ │ ├── AsxPlaylistPlugin.hxx │ │ ├── CuePlaylistPlugin.cxx │ │ ├── CuePlaylistPlugin.hxx │ │ ├── EmbeddedCuePlaylistPlugin.cxx │ │ ├── EmbeddedCuePlaylistPlugin.hxx │ │ ├── ExtM3uPlaylistPlugin.cxx │ │ ├── ExtM3uPlaylistPlugin.hxx │ │ ├── M3uPlaylistPlugin.cxx │ │ ├── M3uPlaylistPlugin.hxx │ │ ├── PlsPlaylistPlugin.cxx │ │ ├── PlsPlaylistPlugin.hxx │ │ ├── RssPlaylistPlugin.cxx │ │ ├── RssPlaylistPlugin.hxx │ │ ├── SoundCloudPlaylistPlugin.cxx │ │ ├── SoundCloudPlaylistPlugin.hxx │ │ ├── XspfPlaylistPlugin.cxx │ │ └── XspfPlaylistPlugin.hxx ├── poison.h ├── protocol │ ├── Ack.cxx │ ├── Ack.hxx │ ├── ArgParser.cxx │ ├── ArgParser.hxx │ ├── Result.cxx │ └── Result.hxx ├── queue │ ├── IdTable.hxx │ ├── Playlist.cxx │ ├── Playlist.hxx │ ├── PlaylistControl.cxx │ ├── PlaylistEdit.cxx │ ├── PlaylistState.cxx │ ├── PlaylistState.hxx │ ├── PlaylistTag.cxx │ ├── PlaylistUpdate.cxx │ ├── Queue.cxx │ ├── Queue.hxx │ ├── QueuePrint.cxx │ ├── QueuePrint.hxx │ ├── QueueSave.cxx │ └── QueueSave.hxx ├── sticker │ ├── Match.hxx │ ├── SongSticker.cxx │ ├── SongSticker.hxx │ ├── StickerDatabase.cxx │ ├── StickerDatabase.hxx │ ├── StickerPrint.cxx │ └── StickerPrint.hxx ├── storage │ ├── CompositeStorage.cxx │ ├── CompositeStorage.hxx │ ├── Configured.cxx │ ├── Configured.hxx │ ├── FileInfo.hxx │ ├── MemoryDirectoryReader.cxx │ ├── MemoryDirectoryReader.hxx │ ├── Registry.cxx │ ├── Registry.hxx │ ├── StorageInterface.cxx │ ├── StorageInterface.hxx │ ├── StoragePlugin.hxx │ └── plugins │ │ ├── LocalStorage.cxx │ │ ├── LocalStorage.hxx │ │ ├── NfsStorage.cxx │ │ ├── NfsStorage.hxx │ │ ├── SmbclientStorage.cxx │ │ └── SmbclientStorage.hxx ├── system │ ├── ByteOrder.hxx │ ├── Clock.cxx │ ├── Clock.hxx │ ├── EPollFD.cxx │ ├── EPollFD.hxx │ ├── EventFD.cxx │ ├── EventFD.hxx │ ├── EventPipe.cxx │ ├── EventPipe.hxx │ ├── FatalError.cxx │ ├── FatalError.hxx │ ├── FileDescriptor.cxx │ ├── FileDescriptor.hxx │ ├── PeriodClock.hxx │ ├── SignalFD.cxx │ ├── SignalFD.hxx │ ├── fd_util.c │ └── fd_util.h ├── tag │ ├── Aiff.cxx │ ├── Aiff.hxx │ ├── ApeLoader.cxx │ ├── ApeLoader.hxx │ ├── ApeReplayGain.cxx │ ├── ApeReplayGain.hxx │ ├── ApeTag.cxx │ ├── ApeTag.hxx │ ├── Format.cxx │ ├── Format.hxx │ ├── MixRamp.cxx │ ├── MixRamp.hxx │ ├── ReplayGain.cxx │ ├── ReplayGain.hxx │ ├── Riff.cxx │ ├── Riff.hxx │ ├── Set.cxx │ ├── Set.hxx │ ├── Tag.cxx │ ├── Tag.hxx │ ├── TagBuilder.cxx │ ├── TagBuilder.hxx │ ├── TagConfig.cxx │ ├── TagConfig.hxx │ ├── TagHandler.cxx │ ├── TagHandler.hxx │ ├── TagId3.cxx │ ├── TagId3.hxx │ ├── TagItem.hxx │ ├── TagNames.c │ ├── TagPool.cxx │ ├── TagPool.hxx │ ├── TagRva2.cxx │ ├── TagRva2.hxx │ ├── TagSettings.c │ ├── TagSettings.h │ ├── TagString.cxx │ ├── TagString.hxx │ ├── TagTable.cxx │ ├── TagTable.hxx │ ├── TagType.h │ ├── VorbisComment.cxx │ └── VorbisComment.hxx ├── thread │ ├── Cond.hxx │ ├── CriticalSection.hxx │ ├── Id.hxx │ ├── Mutex.hxx │ ├── Name.hxx │ ├── PosixCond.hxx │ ├── PosixMutex.hxx │ ├── Slack.hxx │ ├── Thread.cxx │ ├── Thread.hxx │ ├── Util.hxx │ └── WindowsCond.hxx ├── unix │ ├── Daemon.cxx │ ├── Daemon.hxx │ ├── PidFile.hxx │ ├── SignalHandlers.cxx │ └── SignalHandlers.hxx ├── util │ ├── ASCII.hxx │ ├── Alloc.cxx │ ├── Alloc.hxx │ ├── ByteReverse.cxx │ ├── ByteReverse.hxx │ ├── Cast.hxx │ ├── CharUtil.hxx │ ├── CircularBuffer.hxx │ ├── Clamp.hxx │ ├── ConstBuffer.hxx │ ├── DivideString.cxx │ ├── DivideString.hxx │ ├── Domain.hxx │ ├── DynamicFifoBuffer.hxx │ ├── Error.cxx │ ├── Error.hxx │ ├── ForeignFifoBuffer.hxx │ ├── FormatString.cxx │ ├── FormatString.hxx │ ├── HugeAllocator.cxx │ ├── HugeAllocator.hxx │ ├── LazyRandomEngine.cxx │ ├── LazyRandomEngine.hxx │ ├── Macros.hxx │ ├── Manual.hxx │ ├── NumberParser.hxx │ ├── OptionDef.hxx │ ├── OptionParser.cxx │ ├── OptionParser.hxx │ ├── PeakBuffer.cxx │ ├── PeakBuffer.hxx │ ├── RefCount.hxx │ ├── ReusableArray.hxx │ ├── SliceBuffer.hxx │ ├── SplitString.cxx │ ├── SplitString.hxx │ ├── StaticFifoBuffer.hxx │ ├── StringAPI.hxx │ ├── StringUtil.cxx │ ├── StringUtil.hxx │ ├── TextFile.hxx │ ├── Tokenizer.cxx │ ├── Tokenizer.hxx │ ├── UTF8.cxx │ ├── UTF8.hxx │ ├── UriUtil.cxx │ ├── UriUtil.hxx │ ├── VarSize.hxx │ ├── WStringAPI.hxx │ ├── WStringUtil.cxx │ ├── WStringUtil.hxx │ ├── WritableBuffer.hxx │ ├── bit_reverse.c │ ├── bit_reverse.h │ ├── format.c │ └── format.h ├── win32 │ └── Win32Main.cxx └── zeroconf │ ├── AvahiPoll.cxx │ ├── AvahiPoll.hxx │ ├── ZeroconfAvahi.cxx │ ├── ZeroconfAvahi.hxx │ ├── ZeroconfBonjour.cxx │ ├── ZeroconfBonjour.hxx │ ├── ZeroconfGlue.cxx │ ├── ZeroconfGlue.hxx │ └── ZeroconfInternal.hxx ├── systemd ├── mpd.service.in └── mpd.socket ├── test ├── .gitignore ├── DivideStringTest.hxx ├── DumpDatabase.cxx ├── FakeDecoderAPI.cxx ├── FakeDecoderAPI.hxx ├── FakeReplayGainConfig.cxx ├── ScopeIOThread.hxx ├── ShutdownHandler.cxx ├── ShutdownHandler.hxx ├── SplitStringTest.hxx ├── TestCircularBuffer.hxx ├── TestIcu.cxx ├── UriUtilTest.hxx ├── WriteFile.cxx ├── dump_playlist.cxx ├── dump_rva2.cxx ├── dump_text_file.cxx ├── read_conf.cxx ├── read_mixer.cxx ├── read_tags.cxx ├── run_avahi.cxx ├── run_convert.cxx ├── run_decoder.cxx ├── run_encoder.cxx ├── run_filter.cxx ├── run_gunzip.cxx ├── run_gzip.cxx ├── run_inotify.cxx ├── run_input.cxx ├── run_neighbor_explorer.cxx ├── run_normalize.cxx ├── run_output.cxx ├── run_resolver.cxx ├── run_storage.cxx ├── software_volume.cxx ├── stdbin.h ├── test_archive.cxx ├── test_archive_bzip2.sh ├── test_archive_iso9660.sh ├── test_archive_zzip.sh ├── test_byte_reverse.cxx ├── test_icy_parser.cxx ├── test_mixramp.cxx ├── test_pcm_all.hxx ├── test_pcm_channels.cxx ├── test_pcm_dither.cxx ├── test_pcm_export.cxx ├── test_pcm_format.cxx ├── test_pcm_main.cxx ├── test_pcm_mix.cxx ├── test_pcm_pack.cxx ├── test_pcm_util.hxx ├── test_pcm_volume.cxx ├── test_protocol.cxx ├── test_queue_priority.cxx ├── test_rewind.cxx ├── test_translate_song.cxx ├── test_util.cxx ├── test_vorbis_encoder.cxx └── visit_archive.cxx ├── valgrind.suppressions └── win32 ├── build.py └── res ├── mpd.ico └── mpd.rc.in /AUTHORS: -------------------------------------------------------------------------------- 1 | Music Player Daemon - http://www.musicpd.org 2 | Copyright (C) 2003-2015 The Music Player Daemon Project 3 | 4 | The following people have contributed code to MPD: 5 | 6 | Warren Dukes 7 | Avuton Olrich 8 | Max Kellermann 9 | Laszlo Ashin 10 | Viliam Mateicka 11 | Eric Wollesen 12 | Thomas Jansen 13 | Romain Bignon 14 | David Guibert 15 | Jochen Keil 16 | Jeffrey Middleton 17 | Sean McNamara 18 | Niklas Hofer 19 | Jim Ramsay 20 | Guus Sliepen 21 | J. Alexander Treuman 22 | Eric Wong 23 | José Anarch 24 | Patrik Weiskircher 25 | Nick Welch 26 | Jonathan Neuschäfer 27 | Anton Khirnov 28 | Simon Kagstrom 29 | Denis Krjuchkov 30 | Jurgen Kramer 31 | Jean-Francois Dockes 32 | -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- 1 | 2 | Music Player Daemon (MPD) 3 | http://www.musicpd.org 4 | 5 | A daemon for playing music of various formats. Music is played through the 6 | server's audio device. The daemon stores info about all available music, 7 | and this info can be easily searched and retrieved. Player control, info 8 | retrieval, and playlist management can all be managed remotely. 9 | 10 | For basic installation information see the INSTALL file. 11 | 12 | MPD is released under the GNU General Public License version 2, which is 13 | distributed in the COPYING file. 14 | 15 | You should have received a copy of the GNU General Public License along with 16 | this program. If not, see . 17 | 18 | -------------------------------------------------------------------------------- /android/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /android/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 11 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /android/custom_rules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 11 | 12 | -------------------------------------------------------------------------------- /android/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | MPD 5 | 6 | -------------------------------------------------------------------------------- /android/src/Bridge.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | package org.musicpd; 21 | 22 | import android.content.Context; 23 | 24 | /** 25 | * Bridge to native code. 26 | */ 27 | public class Bridge { 28 | public static native void run(Context context); 29 | public static native void shutdown(); 30 | } 31 | -------------------------------------------------------------------------------- /autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | set -e 4 | 5 | rm -rf config.cache build 6 | mkdir build 7 | 8 | aclocal -I m4 $ACLOCAL_FLAGS 9 | autoheader 10 | automake --add-missing $AUTOMAKE_FLAGS 11 | autoconf 12 | -------------------------------------------------------------------------------- /m4/libwrap.m4: -------------------------------------------------------------------------------- 1 | dnl 2 | dnl Usage: 3 | dnl AC_CHECK_LIBWRAP([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) 4 | dnl 5 | 6 | AC_DEFUN([AC_CHECK_LIBWRAP],[ 7 | AC_CHECK_HEADERS([tcpd.h], 8 | AC_CHECK_LIB([wrap], [request_init], 9 | [LIBWRAP_CFLAGS="" 10 | LIBWRAP_LDFLAGS="-lwrap" 11 | $1], 12 | $2), 13 | $2) 14 | ]) 15 | -------------------------------------------------------------------------------- /m4/mpd_define_conditional.m4: -------------------------------------------------------------------------------- 1 | dnl Wrapper for AC_DEFINE and AM_CONDITIONAL 2 | dnl 3 | dnl Parameters: varname1, varname2, description 4 | AC_DEFUN([MPD_DEFINE_CONDITIONAL], [dnl 5 | AM_CONDITIONAL($2, test x$[]$1 = xyes) 6 | if test x$[]$1 = xyes; then 7 | AC_DEFINE($2, 1, [Define to enable $3]) 8 | fi]) 9 | -------------------------------------------------------------------------------- /m4/mpd_depends.m4: -------------------------------------------------------------------------------- 1 | AC_DEFUN([MPD_DEPENDS], [ 2 | if test x$$2 = xno; then 3 | if test x$$1 = xauto; then 4 | $1=no 5 | elif test x$$1 = xyes; then 6 | AC_MSG_ERROR([$3]) 7 | fi 8 | fi 9 | ]) 10 | -------------------------------------------------------------------------------- /m4/mpd_func.m4: -------------------------------------------------------------------------------- 1 | dnl MPD_OPTIONAL_FUNC(name, func, macro) 2 | dnl 3 | dnl Allow the user to enable or disable the use of a function. If the 4 | dnl option is not specified, the function is auto-detected. 5 | AC_DEFUN([MPD_OPTIONAL_FUNC], [ 6 | AC_ARG_ENABLE([$1], 7 | AS_HELP_STRING([--enable-$1], 8 | [use the function "$1" (default: auto)]), 9 | [test x$[]enable_$1 = xyes && AC_DEFINE([$3], 1, [Define to use $1])], 10 | [AC_CHECK_FUNC([$2], 11 | [AC_DEFINE([$3], 1, [Define to use $1])],)]) 12 | ]) 13 | 14 | dnl MPD_OPTIONAL_FUNC_NODEF(name, func) 15 | dnl 16 | dnl Allow the user to enable or disable the use of a function. 17 | dnl Works similar to MPD_OPTIONAL_FUNC, however MPD_OPTIONAL_FUNC_NODEF 18 | dnl does not invoke AC_DEFINE when function is enabled. Shell variable 19 | dnl enable_$name is set to "yes" instead. 20 | AC_DEFUN([MPD_OPTIONAL_FUNC_NODEF], [ 21 | AC_ARG_ENABLE([$1], 22 | AS_HELP_STRING([--enable-$1], 23 | [use the function "$1" (default: auto)]),, 24 | [AC_CHECK_FUNC([$2], [enable_$1=yes],)]) 25 | ]) 26 | -------------------------------------------------------------------------------- /m4/mpd_with_flags.m4: -------------------------------------------------------------------------------- 1 | dnl Run code with the specified CFLAGS/CXXFLAGS and LIBS appended. 2 | dnl Restores the old values afterwards. 3 | dnl 4 | dnl Parameters: cflags, libs, code 5 | AC_DEFUN([MPD_WITH_FLAGS], [ 6 | ac_save_CFLAGS="$[]CFLAGS" 7 | ac_save_CXXFLAGS="$[]CXXFLAGS" 8 | ac_save_LIBS="$[]LIBS" 9 | CFLAGS="$[]CFLAGS $1" 10 | CXXFLAGS="$[]CXXFLAGS $1" 11 | LIBS="$[]LIBS $2" 12 | $3 13 | CFLAGS="$[]ac_save_CFLAGS" 14 | CXXFLAGS="$[]ac_save_CXXFLAGS" 15 | LIBS="$[]ac_save_LIBS" 16 | ]) 17 | 18 | dnl Run code with the specified library's CFLAGS/CXXFLAGS and LIBS 19 | dnl appended. Restores the old values afterwards. 20 | dnl 21 | dnl Parameters: libname, code 22 | AC_DEFUN([MPD_WITH_LIBRARY], 23 | [MPD_WITH_FLAGS([$[]$1_CFLAGS], [$[]$1_LIBS], [$2])]) 24 | -------------------------------------------------------------------------------- /m4/pretty_print.m4: -------------------------------------------------------------------------------- 1 | AC_DEFUN([results], [ 2 | printf '(' 3 | if test x$[]enable_$1 = xyes; then 4 | printf '+' 5 | else 6 | printf '-' 7 | fi 8 | printf '%s) ' "$2" 9 | ]) 10 | -------------------------------------------------------------------------------- /m4/ucred.m4: -------------------------------------------------------------------------------- 1 | # Check if "struct ucred" is available. 2 | # 3 | # Author: Max Kellermann 4 | 5 | AC_DEFUN([STRUCT_UCRED],[ 6 | AC_MSG_CHECKING([for struct ucred]) 7 | AC_CACHE_VAL(mpd_cv_have_struct_ucred, [ 8 | AC_TRY_COMPILE([#include ], 9 | [struct ucred cred;], 10 | mpd_cv_have_struct_ucred=yes, 11 | mpd_cv_have_struct_ucred=no) 12 | ]) 13 | 14 | AC_MSG_RESULT($mpd_cv_have_struct_ucred) 15 | if test x$mpd_cv_have_struct_ucred = xyes; then 16 | AC_DEFINE(HAVE_STRUCT_UCRED, 1, [Define if struct ucred is present from sys/socket.h]) 17 | fi 18 | ]) 19 | -------------------------------------------------------------------------------- /scripts/check_config_h.rb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | # 3 | # This script verifies that every source includes config.h first. 4 | # This is very important for consistent Large File Support. 5 | # 6 | 7 | def check_file(file) 8 | first = true 9 | file.each_line do |line| 10 | if line =~ /^\#include\s+(\S+)/ then 11 | if $1 == '"config.h"' 12 | unless first 13 | puts "#{file.path}: config.h included too late" 14 | end 15 | else 16 | if first 17 | puts "#{file.path}: config.h missing" 18 | end 19 | end 20 | first = false 21 | end 22 | end 23 | end 24 | 25 | def check_path(path) 26 | File.open(path) do |file| 27 | check_file(file) 28 | end 29 | end 30 | 31 | if ARGV.empty? 32 | Dir["src/*.c"].each do |path| 33 | check_path(path) 34 | end 35 | 36 | Dir["src/*/*.c"].each do |path| 37 | check_path(path) 38 | end 39 | 40 | Dir["test/*.c"].each do |path| 41 | check_path(path) 42 | end 43 | else 44 | ARGV.each do |path| 45 | check_path(path) 46 | end 47 | end 48 | -------------------------------------------------------------------------------- /src/AudioCompress/config.h: -------------------------------------------------------------------------------- 1 | /* config.h 2 | ** Default values for the configuration, and also a few random debug things 3 | */ 4 | 5 | #ifndef AC_CONFIG_H 6 | #define AC_CONFIG_H 7 | 8 | /*** Version information ***/ 9 | #define ACVERSION "2.0" 10 | 11 | /*** Default configuration stuff ***/ 12 | #define TARGET 16384 /*!< Target level (on a scale of 0-32767) */ 13 | 14 | #define GAINMAX 32 /*!< The maximum amount to amplify by */ 15 | #define GAINSMOOTH 8 /*!< How much inertia ramping has*/ 16 | #define BUCKETS 400 /*!< How long of a history to use by default */ 17 | 18 | #endif 19 | 20 | -------------------------------------------------------------------------------- /src/AudioConfig.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_AUDIO_CONFIG_HXX 21 | #define MPD_AUDIO_CONFIG_HXX 22 | 23 | struct AudioFormat; 24 | 25 | AudioFormat 26 | getOutputAudioFormat(AudioFormat inFormat); 27 | 28 | /* make sure initPlayerData is called before this function!! */ 29 | void 30 | initAudioConfig(); 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /src/Listen.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_LISTEN_HXX 21 | #define MPD_LISTEN_HXX 22 | 23 | class EventLoop; 24 | class Error; 25 | struct Partition; 26 | 27 | extern int listen_port; 28 | 29 | bool 30 | listen_global_init(EventLoop &loop, Partition &partition, Error &error); 31 | 32 | void 33 | listen_global_finish(); 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /src/LogV.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_LOGV_HXX 21 | #define MPD_LOGV_HXX 22 | 23 | #include "Log.hxx" // IWYU pragma: export 24 | 25 | #include 26 | 27 | void 28 | LogFormatV(const Domain &domain, LogLevel level, const char *fmt, va_list ap); 29 | 30 | #endif /* LOG_H */ 31 | -------------------------------------------------------------------------------- /src/PlaylistError.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "config.h" 21 | #include "PlaylistError.hxx" 22 | #include "util/Domain.hxx" 23 | 24 | const Domain playlist_domain("playlist"); 25 | -------------------------------------------------------------------------------- /src/PlaylistGlobal.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_PLAYLIST_GLOBAL_HXX 21 | #define MPD_PLAYLIST_GLOBAL_HXX 22 | 23 | void 24 | playlist_global_init(); 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /src/Stats.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_STATS_HXX 21 | #define MPD_STATS_HXX 22 | 23 | class Client; 24 | 25 | void 26 | stats_global_init(); 27 | 28 | void 29 | stats_invalidate(); 30 | 31 | void 32 | stats_print(Client &client); 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /src/TagSave.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_TAG_SAVE_HXX 21 | #define MPD_TAG_SAVE_HXX 22 | 23 | struct Tag; 24 | class BufferedOutputStream; 25 | 26 | void 27 | tag_save(BufferedOutputStream &os, const Tag &tag); 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /src/TimePrint.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_TIME_PRINT_HXX 21 | #define MPD_TIME_PRINT_HXX 22 | 23 | #include 24 | 25 | class Client; 26 | 27 | /** 28 | * Write a line with a time stamp to the client. 29 | */ 30 | void 31 | time_print(Client &client, const char *name, time_t t); 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /src/archive/ArchiveDomain.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "ArchiveDomain.hxx" 21 | #include "util/Domain.hxx" 22 | 23 | const Domain archive_domain("archive"); 24 | -------------------------------------------------------------------------------- /src/archive/ArchiveDomain.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_ARCHIVE_DOMAIN_HXX 21 | #define MPD_ARCHIVE_DOMAIN_HXX 22 | 23 | extern const class Domain archive_domain; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/archive/ArchiveVisitor.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_ARCHIVE_VISITOR_HXX 21 | #define MPD_ARCHIVE_VISITOR_HXX 22 | 23 | class ArchiveVisitor { 24 | public: 25 | virtual void VisitArchiveEntry(const char *path_utf8) = 0; 26 | }; 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /src/archive/plugins/Bzip2ArchivePlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_ARCHIVE_BZ2_HXX 21 | #define MPD_ARCHIVE_BZ2_HXX 22 | 23 | struct ArchivePlugin; 24 | 25 | extern const ArchivePlugin bz2_archive_plugin; 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /src/archive/plugins/Iso9660ArchivePlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_ARCHIVE_ISO9660_HXX 21 | #define MPD_ARCHIVE_ISO9660_HXX 22 | 23 | struct ArchivePlugin; 24 | 25 | extern const ArchivePlugin iso9660_archive_plugin; 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /src/archive/plugins/ZzipArchivePlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_ARCHIVE_ZZIP_HXX 21 | #define MPD_ARCHIVE_ZZIP_HXX 22 | 23 | struct ArchivePlugin; 24 | 25 | extern const ArchivePlugin zzip_archive_plugin; 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /src/command/AllCommands.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_ALL_COMMANDS_HXX 21 | #define MPD_ALL_COMMANDS_HXX 22 | 23 | #include "CommandResult.hxx" 24 | 25 | class Client; 26 | 27 | void 28 | command_init(); 29 | 30 | void 31 | command_finish(); 32 | 33 | CommandResult 34 | command_process(Client &client, unsigned num, char *line); 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /src/command/StickerCommands.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_STICKER_COMMANDS_HXX 21 | #define MPD_STICKER_COMMANDS_HXX 22 | 23 | #include "CommandResult.hxx" 24 | 25 | class Client; 26 | template struct ConstBuffer; 27 | 28 | CommandResult 29 | handle_sticker(Client &client, ConstBuffer args); 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /src/config/ConfigDefaults.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_CONFIG_DEFAULTS_HXX 21 | #define MPD_CONFIG_DEFAULTS_HXX 22 | 23 | static constexpr unsigned DEFAULT_PLAYLIST_MAX_LENGTH = 16 * 1024; 24 | static constexpr bool DEFAULT_PLAYLIST_SAVE_ABSOLUTE_PATHS = false; 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /src/config/ConfigError.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "ConfigError.hxx" 21 | #include "util/Domain.hxx" 22 | 23 | const Domain config_domain("config"); 24 | -------------------------------------------------------------------------------- /src/config/ConfigError.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_CONFIG_ERROR_HXX 21 | #define MPD_CONFIG_ERROR_HXX 22 | 23 | extern const class Domain config_domain; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/config/ConfigFile.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_CONFIG_FILE_HXX 21 | #define MPD_CONFIG_FILE_HXX 22 | 23 | class Error; 24 | class Path; 25 | struct ConfigData; 26 | 27 | bool 28 | ReadConfigFile(ConfigData &data, Path path, Error &error); 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /src/config/ConfigParser.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_CONFIG_PARSER_HXX 21 | #define MPD_CONFIG_PARSER_HXX 22 | 23 | bool 24 | get_bool(const char *value, bool *value_r); 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /src/config/ConfigPath.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_CONFIG_PATH_HXX 21 | #define MPD_CONFIG_PATH_HXX 22 | 23 | class AllocatedPath; 24 | class Error; 25 | 26 | AllocatedPath 27 | ParsePath(const char *path, Error &error); 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /src/config/Data.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "config.h" 21 | #include "Data.hxx" 22 | #include "Param.hxx" 23 | #include "Block.hxx" 24 | 25 | void 26 | ConfigData::Clear() 27 | { 28 | for (auto &i : params) { 29 | delete i; 30 | i = nullptr; 31 | } 32 | 33 | for (auto &i : blocks) { 34 | delete i; 35 | i = nullptr; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/config/Param.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "config.h" 21 | #include "Param.hxx" 22 | 23 | config_param::config_param(const char *_value, int _line) 24 | :next(nullptr), value(_value), line(_line), used(false) {} 25 | 26 | config_param::~config_param() 27 | { 28 | delete next; 29 | } 30 | -------------------------------------------------------------------------------- /src/db/DatabaseError.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "config.h" 21 | #include "DatabaseError.hxx" 22 | #include "util/Domain.hxx" 23 | 24 | const Domain db_domain("db"); 25 | -------------------------------------------------------------------------------- /src/db/DatabaseLock.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "config.h" 21 | #include "DatabaseLock.hxx" 22 | 23 | Mutex db_mutex; 24 | 25 | #ifndef NDEBUG 26 | ThreadId db_mutex_holder; 27 | #endif 28 | -------------------------------------------------------------------------------- /src/db/DatabaseQueue.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_DATABASE_QUEUE_HXX 21 | #define MPD_DATABASE_QUEUE_HXX 22 | 23 | struct Partition; 24 | struct DatabaseSelection; 25 | class Error; 26 | 27 | bool 28 | AddFromDatabase(Partition &partition, const DatabaseSelection &selection, 29 | Error &error); 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /src/db/Uri.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_DB_URI_HXX 21 | #define MPD_DB_URI_HXX 22 | 23 | static inline bool 24 | isRootDirectory(const char *name) 25 | { 26 | return name[0] == 0 || (name[0] == '/' && name[1] == 0); 27 | } 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /src/db/plugins/ProxyDatabasePlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_PROXY_DATABASE_PLUGIN_HXX 21 | #define MPD_PROXY_DATABASE_PLUGIN_HXX 22 | 23 | struct DatabasePlugin; 24 | 25 | extern const DatabasePlugin proxy_db_plugin; 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /src/db/plugins/simple/SongSort.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_SONG_SORT_HXX 21 | #define MPD_SONG_SORT_HXX 22 | 23 | #include "Song.hxx" 24 | 25 | struct list_head; 26 | 27 | void 28 | song_list_sort(SongList &songs); 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /src/db/plugins/upnp/Object.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "Object.hxx" 21 | 22 | UPnPDirObject::~UPnPDirObject() 23 | { 24 | /* this destructor exists here just so it won't get inlined */ 25 | } 26 | -------------------------------------------------------------------------------- /src/db/plugins/upnp/Tags.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_UPNP_TAGS_HXX 21 | #define MPD_UPNP_TAGS_HXX 22 | 23 | /** 24 | * Map UPnP property names to MPD tags. 25 | */ 26 | extern const struct tag_table upnp_tags[]; 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /src/db/plugins/upnp/UpnpDatabasePlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_UPNP_DATABASE_PLUGIN_HXX 21 | #define MPD_UPNP_DATABASE_PLUGIN_HXX 22 | 23 | struct DatabasePlugin; 24 | 25 | extern const DatabasePlugin upnp_db_plugin; 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /src/db/update/InotifyDomain.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "InotifyDomain.hxx" 21 | #include "util/Domain.hxx" 22 | 23 | const Domain inotify_domain("inotify"); 24 | -------------------------------------------------------------------------------- /src/db/update/InotifyDomain.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_INOTIFY_DOMAIN_HXX 21 | #define MPD_INOTIFY_DOMAIN_HXX 22 | 23 | extern const class Domain inotify_domain; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/db/update/UpdateDomain.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "UpdateDomain.hxx" 21 | #include "util/Domain.hxx" 22 | 23 | const Domain update_domain("update"); 24 | -------------------------------------------------------------------------------- /src/db/update/UpdateDomain.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_UPDATE_DOMAIN_HXX 21 | #define MPD_UPDATE_DOMAIN_HXX 22 | 23 | extern const class Domain update_domain; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/decoder/DecoderCommand.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_DECODER_COMMAND_HXX 21 | #define MPD_DECODER_COMMAND_HXX 22 | 23 | #include 24 | 25 | enum class DecoderCommand : uint8_t { 26 | NONE = 0, 27 | START, 28 | STOP, 29 | SEEK 30 | }; 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /src/decoder/DecoderError.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "DecoderError.hxx" 21 | #include "util/Domain.hxx" 22 | 23 | const Domain decoder_domain("decoder"); 24 | -------------------------------------------------------------------------------- /src/decoder/DecoderError.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_DECODER_ERROR_HXX 21 | #define MPD_DECODER_ERROR_HXX 22 | 23 | extern const class Domain decoder_domain; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/decoder/DecoderPrint.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_DECODER_PRINT_HXX 21 | #define MPD_DECODER_PRINT_HXX 22 | 23 | class Client; 24 | 25 | void 26 | decoder_list_print(Client &client); 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /src/decoder/DecoderThread.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_DECODER_THREAD_HXX 21 | #define MPD_DECODER_THREAD_HXX 22 | 23 | struct DecoderControl; 24 | 25 | void 26 | decoder_thread_start(DecoderControl &dc); 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /src/decoder/plugins/AdPlugDecoderPlugin.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_DECODER_ADPLUG_H 21 | #define MPD_DECODER_ADPLUG_H 22 | 23 | extern const struct DecoderPlugin adplug_decoder_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/decoder/plugins/AudiofileDecoderPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_DECODER_AUDIOFILE_HXX 21 | #define MPD_DECODER_AUDIOFILE_HXX 22 | 23 | extern const struct DecoderPlugin audiofile_decoder_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/decoder/plugins/DsdiffDecoderPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_DECODER_DSDIFF_H 21 | #define MPD_DECODER_DSDIFF_H 22 | 23 | extern const struct DecoderPlugin dsdiff_decoder_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/decoder/plugins/DsfDecoderPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_DECODER_DSF_H 21 | #define MPD_DECODER_DSF_H 22 | 23 | extern const struct DecoderPlugin dsf_decoder_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/decoder/plugins/FaadDecoderPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_FAAD_DECODER_PLUGIN_HXX 21 | #define MPD_FAAD_DECODER_PLUGIN_HXX 22 | 23 | extern const struct DecoderPlugin faad_decoder_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/decoder/plugins/FfmpegDecoderPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_DECODER_FFMPEG_HXX 21 | #define MPD_DECODER_FFMPEG_HXX 22 | 23 | extern const struct DecoderPlugin ffmpeg_decoder_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/decoder/plugins/FfmpegMetaData.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_FFMPEG_METADATA_HXX 21 | #define MPD_FFMPEG_METADATA_HXX 22 | 23 | struct AVDictionary; 24 | struct tag_handler; 25 | 26 | void 27 | FfmpegScanDictionary(AVDictionary *dict, 28 | const tag_handler *handler, void *handler_ctx); 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /src/decoder/plugins/FlacDecoderPlugin.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_DECODER_FLAC_H 21 | #define MPD_DECODER_FLAC_H 22 | 23 | extern const struct DecoderPlugin flac_decoder_plugin; 24 | extern const struct DecoderPlugin oggflac_decoder_plugin; 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /src/decoder/plugins/FlacDomain.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "config.h" 21 | #include "FlacDomain.hxx" 22 | #include "util/Domain.hxx" 23 | 24 | const Domain flac_domain("flac"); 25 | -------------------------------------------------------------------------------- /src/decoder/plugins/FlacDomain.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_FLAC_DOMAIN_HXX 21 | #define MPD_FLAC_DOMAIN_HXX 22 | 23 | #include "check.h" 24 | 25 | extern const class Domain flac_domain; 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /src/decoder/plugins/FluidsynthDecoderPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_DECODER_FLUIDSYNTH_HXX 21 | #define MPD_DECODER_FLUIDSYNTH_HXX 22 | 23 | extern const struct DecoderPlugin fluidsynth_decoder_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/decoder/plugins/GmeDecoderPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_DECODER_GME_HXX 21 | #define MPD_DECODER_GME_HXX 22 | 23 | extern const struct DecoderPlugin gme_decoder_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/decoder/plugins/MadDecoderPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_DECODER_MAD_HXX 21 | #define MPD_DECODER_MAD_HXX 22 | 23 | extern const struct DecoderPlugin mad_decoder_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/decoder/plugins/MikmodDecoderPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_DECODER_MIKMOD_HXX 21 | #define MPD_DECODER_MIKMOD_HXX 22 | 23 | extern const struct DecoderPlugin mikmod_decoder_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/decoder/plugins/ModplugDecoderPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_DECODER_MODPLUG_HXX 21 | #define MPD_DECODER_MODPLUG_HXX 22 | 23 | extern const struct DecoderPlugin modplug_decoder_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/decoder/plugins/MpcdecDecoderPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_DECODER_MPCDEC_HXX 21 | #define MPD_DECODER_MPCDEC_HXX 22 | 23 | extern const struct DecoderPlugin mpcdec_decoder_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/decoder/plugins/Mpg123DecoderPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_DECODER_MPG123_HXX 21 | #define MPD_DECODER_MPG123_HXX 22 | 23 | extern const struct DecoderPlugin mpg123_decoder_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/decoder/plugins/OpusDecoderPlugin.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_DECODER_OPUS_H 21 | #define MPD_DECODER_OPUS_H 22 | 23 | extern const struct DecoderPlugin opus_decoder_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/decoder/plugins/OpusDomain.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "config.h" 21 | #include "OpusDomain.hxx" 22 | #include "util/Domain.hxx" 23 | 24 | const Domain opus_domain("opus"); 25 | -------------------------------------------------------------------------------- /src/decoder/plugins/OpusDomain.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_OPUS_DOMAIN_HXX 21 | #define MPD_OPUS_DOMAIN_HXX 22 | 23 | #include "check.h" 24 | 25 | extern const class Domain opus_domain; 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /src/decoder/plugins/OpusHead.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_OPUS_HEAD_HXX 21 | #define MPD_OPUS_HEAD_HXX 22 | 23 | #include "check.h" 24 | 25 | #include 26 | 27 | bool 28 | ScanOpusHeader(const void *data, size_t size, unsigned &channels_r); 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /src/decoder/plugins/SidplayDecoderPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_DECODER_SIDPLAY_HXX 21 | #define MPD_DECODER_SIDPLAY_HXX 22 | 23 | extern const struct DecoderPlugin sidplay_decoder_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/decoder/plugins/SndfileDecoderPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_DECODER_SNDFILE_HXX 21 | #define MPD_DECODER_SNDFILE_HXX 22 | 23 | extern const struct DecoderPlugin sndfile_decoder_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/decoder/plugins/VorbisDecoderPlugin.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_DECODER_VORBIS_H 21 | #define MPD_DECODER_VORBIS_H 22 | 23 | extern const struct DecoderPlugin vorbis_decoder_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/decoder/plugins/VorbisDomain.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "config.h" 21 | #include "VorbisDomain.hxx" 22 | #include "util/Domain.hxx" 23 | 24 | const Domain vorbis_domain("vorbis"); 25 | -------------------------------------------------------------------------------- /src/decoder/plugins/VorbisDomain.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_VORBIS_DOMAIN_HXX 21 | #define MPD_VORBIS_DOMAIN_HXX 22 | 23 | #include "check.h" 24 | 25 | class Domain; 26 | 27 | extern const Domain vorbis_domain; 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /src/decoder/plugins/WavpackDecoderPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_DECODER_WAVPACK_HXX 21 | #define MPD_DECODER_WAVPACK_HXX 22 | 23 | extern const struct DecoderPlugin wavpack_decoder_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/decoder/plugins/WildmidiDecoderPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_DECODER_WILDMIDI_HXX 21 | #define MPD_DECODER_WILDMIDI_HXX 22 | 23 | extern const struct DecoderPlugin wildmidi_decoder_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/decoder/plugins/XiphTags.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_XIPH_TAGS_HXX 21 | #define MPD_XIPH_TAGS_HXX 22 | 23 | #include "check.h" 24 | #include "tag/TagTable.hxx" 25 | 26 | extern const struct tag_table xiph_tags[]; 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /src/encoder/ToOutputStream.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_ENCODER_TO_OUTPUT_STREAM_HXX 21 | #define MPD_ENCODER_TO_OUTPUT_STREAM_HXX 22 | 23 | #include "check.h" 24 | 25 | struct Encoder; 26 | class OutputStream; 27 | class Error; 28 | 29 | bool 30 | EncoderToOutputStream(OutputStream &os, Encoder &encoder, Error &error); 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /src/encoder/plugins/FlacEncoderPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_ENCODER_FLAC_HXX 21 | #define MPD_ENCODER_FLAC_HXX 22 | 23 | extern const struct EncoderPlugin flac_encoder_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/encoder/plugins/LameEncoderPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_ENCODER_LAME_HXX 21 | #define MPD_ENCODER_LAME_HXX 22 | 23 | extern const struct EncoderPlugin lame_encoder_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/encoder/plugins/NullEncoderPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_ENCODER_NULL_HXX 21 | #define MPD_ENCODER_NULL_HXX 22 | 23 | extern const struct EncoderPlugin null_encoder_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/encoder/plugins/OggSerial.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_OGG_SERIAL_HXX 21 | #define MPD_OGG_SERIAL_HXX 22 | 23 | /** 24 | * Generate the next pseudo-random Ogg serial. 25 | */ 26 | int 27 | GenerateOggSerial(); 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /src/encoder/plugins/OpusEncoderPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_ENCODER_OPUS_H 21 | #define MPD_ENCODER_OPUS_H 22 | 23 | extern const struct EncoderPlugin opus_encoder_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/encoder/plugins/ShineEncoderPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_ENCODER_SHINE_HXX 21 | #define MPD_ENCODER_SHINE_HXX 22 | 23 | extern const struct EncoderPlugin shine_encoder_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/encoder/plugins/TwolameEncoderPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_ENCODER_TWOLAME_HXX 21 | #define MPD_ENCODER_TWOLAME_HXX 22 | 23 | extern const struct EncoderPlugin twolame_encoder_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/encoder/plugins/VorbisEncoderPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_ENCODER_VORBIS_H 21 | #define MPD_ENCODER_VORBIS_H 22 | 23 | extern const struct EncoderPlugin vorbis_encoder_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/encoder/plugins/WaveEncoderPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_ENCODER_WAVE_HXX 21 | #define MPD_ENCODER_WAVE_HXX 22 | 23 | extern const struct EncoderPlugin wave_encoder_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/event/DeferredMonitor.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "config.h" 21 | #include "DeferredMonitor.hxx" 22 | #include "Loop.hxx" 23 | 24 | void 25 | DeferredMonitor::Cancel() 26 | { 27 | loop.RemoveDeferred(*this); 28 | } 29 | 30 | void 31 | DeferredMonitor::Schedule() 32 | { 33 | loop.AddDeferred(*this); 34 | } 35 | -------------------------------------------------------------------------------- /src/filter/plugins/VolumeFilterPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_VOLUME_FILTER_PLUGIN_HXX 21 | #define MPD_VOLUME_FILTER_PLUGIN_HXX 22 | 23 | class Filter; 24 | 25 | unsigned 26 | volume_filter_get(const Filter *filter); 27 | 28 | void 29 | volume_filter_set(Filter *filter, unsigned volume); 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /src/fs/CheckFile.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_FS_CHECK_FILE_HXX 21 | #define MPD_FS_CHECK_FILE_HXX 22 | 23 | #include "check.h" 24 | 25 | class Path; 26 | 27 | /** 28 | * Check whether the directory is readable and usable. Logs a warning 29 | * if there is a problem. 30 | */ 31 | void 32 | CheckDirectoryReadable(Path path_fs); 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /src/fs/Config.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_FS_CONFIG_HXX 21 | #define MPD_FS_CONFIG_HXX 22 | 23 | #include "check.h" 24 | 25 | class Error; 26 | 27 | /** 28 | * Performs global one-time initialization of this class. 29 | */ 30 | bool 31 | ConfigureFS(Error &error); 32 | 33 | void 34 | DeinitFS(); 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /src/fs/Domain.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "config.h" 21 | #include "Domain.hxx" 22 | #include "util/Domain.hxx" 23 | 24 | const Domain path_domain("path"); 25 | -------------------------------------------------------------------------------- /src/fs/Domain.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_FS_DOMAIN_HXX 21 | #define MPD_FS_DOMAIN_HXX 22 | 23 | extern const class Domain path_domain; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/fs/Path2.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "config.h" 21 | #include "Path.hxx" 22 | #include "AllocatedPath.hxx" 23 | 24 | AllocatedPath 25 | Path::GetDirectoryName() const 26 | { 27 | return AllocatedPath::FromFS(PathTraitsFS::GetParent(c_str())); 28 | } 29 | -------------------------------------------------------------------------------- /src/input/Domain.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "config.h" 21 | #include "Domain.hxx" 22 | #include "util/Domain.hxx" 23 | 24 | const Domain input_domain("input"); 25 | -------------------------------------------------------------------------------- /src/input/Domain.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_INPUT_DOMAIN_HXX 21 | #define MPD_INPUT_DOMAIN_HXX 22 | 23 | class Domain; 24 | 25 | extern const Domain input_domain; 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /src/input/Offset.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_OFFSET_HXX 21 | #define MPD_OFFSET_HXX 22 | 23 | #include "check.h" 24 | 25 | #include 26 | 27 | /** 28 | * A type for absolute offsets in a file. 29 | */ 30 | typedef uint64_t offset_type; 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /src/input/plugins/AlsaInputPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_ALSA_INPUT_PLUGIN_HXX 21 | #define MPD_ALSA_INPUT_PLUGIN_HXX 22 | 23 | #include "../InputPlugin.hxx" 24 | 25 | extern const struct InputPlugin input_plugin_alsa; 26 | 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /src/input/plugins/CdioParanoiaInputPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_CDIO_PARANOIA_INPUT_PLUGIN_HXX 21 | #define MPD_CDIO_PARANOIA_INPUT_PLUGIN_HXX 22 | 23 | /** 24 | * An input plugin based on libcdio_paranoia library. 25 | */ 26 | extern const struct InputPlugin input_plugin_cdio_paranoia; 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /src/input/plugins/CurlInputPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_INPUT_CURL_HXX 21 | #define MPD_INPUT_CURL_HXX 22 | 23 | extern const struct InputPlugin input_plugin_curl; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/input/plugins/FfmpegInputPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_FFMPEG_INPUT_PLUGIN_HXX 21 | #define MPD_FFMPEG_INPUT_PLUGIN_HXX 22 | 23 | /** 24 | * An input plugin based on libavformat's "avio" library. 25 | */ 26 | extern const struct InputPlugin input_plugin_ffmpeg; 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /src/input/plugins/MmsInputPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef INPUT_MMS_H 21 | #define INPUT_MMS_H 22 | 23 | extern const struct InputPlugin input_plugin_mms; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/input/plugins/NfsInputPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_INPUT_NFS_H 21 | #define MPD_INPUT_NFS_H 22 | 23 | extern const struct InputPlugin input_plugin_nfs; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/input/plugins/SmbclientInputPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_INPUT_SMBCLIENT_H 21 | #define MPD_INPUT_SMBCLIENT_H 22 | 23 | extern const struct InputPlugin input_plugin_smbclient; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/lib/ffmpeg/Domain.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "config.h" 21 | #include "Domain.hxx" 22 | #include "util/Domain.hxx" 23 | 24 | const Domain ffmpeg_domain("ffmpeg"); 25 | -------------------------------------------------------------------------------- /src/lib/ffmpeg/Domain.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_FFMPEG_DOMAIN_HXX 21 | #define MPD_FFMPEG_DOMAIN_HXX 22 | 23 | class Domain; 24 | 25 | extern const Domain ffmpeg_domain; 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /src/lib/ffmpeg/Error.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_FFMPEG_ERROR_HXX 21 | #define MPD_FFMPEG_ERROR_HXX 22 | 23 | class Error; 24 | 25 | void 26 | SetFfmpegError(Error &error, int errnum); 27 | 28 | void 29 | SetFfmpegError(Error &error, int errnum, const char *prefix); 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /src/lib/ffmpeg/Init.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_FFMPEG_INIT_HXX 21 | #define MPD_FFMPEG_INIT_HXX 22 | 23 | void 24 | FfmpegInit(); 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /src/lib/ffmpeg/LogCallback.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_FFMPEG_LOG_CALLBACK_HXX 21 | #define MPD_FFMPEG_LOG_CALLBACK_HXX 22 | 23 | #include "check.h" 24 | 25 | #include 26 | 27 | void 28 | FfmpegLogCallback(void *ptr, int level, const char *fmt, va_list vl); 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /src/lib/ffmpeg/LogError.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_FFMPEG_LOG_ERROR_HXX 21 | #define MPD_FFMPEG_LOG_ERROR_HXX 22 | 23 | void 24 | LogFfmpegError(int errnum); 25 | 26 | void 27 | LogFfmpegError(int errnum, const char *prefix); 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /src/lib/icu/Error.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "config.h" 21 | #include "Error.hxx" 22 | #include "util/Domain.hxx" 23 | 24 | const Domain icu_domain("icu"); 25 | -------------------------------------------------------------------------------- /src/lib/icu/Error.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_ICU_ERROR_HXX 21 | #define MPD_ICU_ERROR_HXX 22 | 23 | #include "check.h" 24 | 25 | class Domain; 26 | 27 | extern const Domain icu_domain; 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /src/lib/nfs/Callback.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_NFS_CALLBACK_HXX 21 | #define MPD_NFS_CALLBACK_HXX 22 | 23 | #include "check.h" 24 | 25 | class Error; 26 | 27 | class NfsCallback { 28 | public: 29 | virtual void OnNfsCallback(unsigned status, void *data) = 0; 30 | virtual void OnNfsError(Error &&error) = 0; 31 | }; 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /src/lib/nfs/Domain.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "config.h" 21 | #include "Domain.hxx" 22 | #include "util/Domain.hxx" 23 | 24 | const Domain nfs_domain("nfs"); 25 | -------------------------------------------------------------------------------- /src/lib/nfs/Domain.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_NFS_DOMAIN_HXX 21 | #define MPD_NFS_DOMAIN_HXX 22 | 23 | class Domain; 24 | 25 | extern const Domain nfs_domain; 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /src/lib/pulse/Domain.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "config.h" 21 | #include "Domain.hxx" 22 | #include "util/Domain.hxx" 23 | 24 | const Domain pulse_domain("pulse"); 25 | -------------------------------------------------------------------------------- /src/lib/pulse/Domain.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_PULSE_DOMAIN_HXX 21 | #define MPD_PULSE_DOMAIN_HXX 22 | 23 | class Domain; 24 | 25 | extern const Domain pulse_domain; 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /src/lib/pulse/Error.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_PULSE_ERROR_HXX 21 | #define MPD_PULSE_ERROR_HXX 22 | 23 | class Error; 24 | struct pa_context; 25 | 26 | void 27 | SetPulseError(Error &error, pa_context *context, const char *prefix); 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /src/lib/pulse/LogError.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_PULSE_LOG_ERROR_HXX 21 | #define MPD_PULSE_LOG_ERROR_HXX 22 | 23 | struct pa_context; 24 | 25 | void 26 | LogPulseError(pa_context *context, const char *prefix); 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /src/lib/smbclient/Domain.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "config.h" 21 | #include "Domain.hxx" 22 | #include "util/Domain.hxx" 23 | 24 | const Domain smbclient_domain("smbclient"); 25 | -------------------------------------------------------------------------------- /src/lib/smbclient/Domain.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_SMBCLIENT_DOMAIN_HXX 21 | #define MPD_SMBCLIENT_DOMAIN_HXX 22 | 23 | class Domain; 24 | 25 | extern const Domain smbclient_domain; 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /src/lib/smbclient/Init.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_SMBCLIENT_INIT_HXX 21 | #define MPD_SMBCLIENT_INIT_HXX 22 | 23 | #include "check.h" 24 | 25 | class Error; 26 | 27 | /** 28 | * Initialize libsmbclient. 29 | */ 30 | bool 31 | SmbclientInit(Error &error); 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /src/lib/smbclient/Mutex.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "config.h" 21 | #include "Mutex.hxx" 22 | #include "thread/Mutex.hxx" 23 | 24 | Mutex smbclient_mutex; 25 | -------------------------------------------------------------------------------- /src/lib/smbclient/Mutex.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_SMBCLIENT_MUTEX_HXX 21 | #define MPD_SMBCLIENT_MUTEX_HXX 22 | 23 | class Mutex; 24 | 25 | /** 26 | * Since libsmbclient is not thread-safe, this mutex must be locked 27 | * during all libsmbclient function calls. 28 | */ 29 | extern Mutex smbclient_mutex; 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /src/lib/sqlite/Domain.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "config.h" 21 | #include "Domain.hxx" 22 | #include "util/Domain.hxx" 23 | 24 | const Domain sqlite_domain("sqlite"); 25 | -------------------------------------------------------------------------------- /src/lib/sqlite/Domain.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_SQLITE_DOMAIN_HXX 21 | #define MPD_SQLITE_DOMAIN_HXX 22 | 23 | class Domain; 24 | 25 | extern const Domain sqlite_domain; 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /src/lib/upnp/ClientInit.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_UPNP_CLIENT_INIT_HXX 21 | #define MPD_UPNP_CLIENT_INIT_HXX 22 | 23 | #include "check.h" 24 | 25 | #include 26 | 27 | class Error; 28 | 29 | bool 30 | UpnpClientGlobalInit(UpnpClient_Handle &handle, Error &error); 31 | 32 | void 33 | UpnpClientGlobalFinish(); 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /src/lib/upnp/Domain.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "Domain.hxx" 21 | #include "util/Domain.hxx" 22 | 23 | const Domain upnp_domain("upnp"); 24 | -------------------------------------------------------------------------------- /src/lib/upnp/Domain.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_UPNP_DOMAIN_HXX 21 | #define MPD_UPNP_DOMAIN_HXX 22 | 23 | class Domain; 24 | 25 | extern const Domain upnp_domain; 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /src/lib/upnp/Init.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_UPNP_INIT_HXX 21 | #define MPD_UPNP_INIT_HXX 22 | 23 | #include "check.h" 24 | 25 | class Error; 26 | 27 | bool 28 | UpnpGlobalInit(Error &error); 29 | 30 | void 31 | UpnpGlobalFinish(); 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /src/lib/zlib/Domain.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "config.h" 21 | #include "Domain.hxx" 22 | #include "util/Domain.hxx" 23 | 24 | const Domain zlib_domain("zlib"); 25 | -------------------------------------------------------------------------------- /src/lib/zlib/Domain.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_ZLIB_DOMAIN_HXX 21 | #define MPD_ZLIB_DOMAIN_HXX 22 | 23 | class Domain; 24 | 25 | extern const Domain zlib_domain; 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /src/neighbor/plugins/SmbclientNeighborPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_NEIGHBOR_SMBCLIENT_HXX 21 | #define MPD_NEIGHBOR_SMBCLIENT_HXX 22 | 23 | struct NeighborPlugin; 24 | 25 | extern const NeighborPlugin smbclient_neighbor_plugin; 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /src/neighbor/plugins/UpnpNeighborPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_NEIGHBOR_UPNP_HXX 21 | #define MPD_NEIGHBOR_UPNP_HXX 22 | 23 | struct NeighborPlugin; 24 | 25 | extern const NeighborPlugin upnp_neighbor_plugin; 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /src/output/Domain.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "Domain.hxx" 21 | #include "util/Domain.hxx" 22 | 23 | const Domain output_domain("output"); 24 | -------------------------------------------------------------------------------- /src/output/Domain.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_OUTPUT_ERROR_HXX 21 | #define MPD_OUTPUT_ERROR_HXX 22 | 23 | extern const class Domain output_domain; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/output/OutputAPI.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_OUTPUT_API_HXX 21 | #define MPD_OUTPUT_API_HXX 22 | 23 | // IWYU pragma: begin_exports 24 | 25 | #include "OutputPlugin.hxx" 26 | #include "Internal.hxx" 27 | #include "AudioFormat.hxx" 28 | #include "tag/Tag.hxx" 29 | #include "config/Block.hxx" 30 | 31 | // IWYU pragma: end_exports 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /src/output/OutputControl.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_OUTPUT_CONTROL_HXX 21 | #define MPD_OUTPUT_CONTROL_HXX 22 | 23 | struct AudioOutput; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/output/OutputPrint.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | /* 21 | * Protocol specific code for the audio output library. 22 | * 23 | */ 24 | 25 | #ifndef MPD_OUTPUT_PRINT_HXX 26 | #define MPD_OUTPUT_PRINT_HXX 27 | 28 | class Client; 29 | class MultipleOutputs; 30 | 31 | void 32 | printAudioDevices(Client &client, const MultipleOutputs &outputs); 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /src/output/plugins/AlsaOutputPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_ALSA_OUTPUT_PLUGIN_HXX 21 | #define MPD_ALSA_OUTPUT_PLUGIN_HXX 22 | 23 | extern const struct AudioOutputPlugin alsa_output_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/output/plugins/AoOutputPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_AO_OUTPUT_PLUGIN_HXX 21 | #define MPD_AO_OUTPUT_PLUGIN_HXX 22 | 23 | extern const struct AudioOutputPlugin ao_output_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/output/plugins/FifoOutputPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_FIFO_OUTPUT_PLUGIN_HXX 21 | #define MPD_FIFO_OUTPUT_PLUGIN_HXX 22 | 23 | extern const struct AudioOutputPlugin fifo_output_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/output/plugins/JackOutputPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_JACK_OUTPUT_PLUGIN_HXX 21 | #define MPD_JACK_OUTPUT_PLUGIN_HXX 22 | 23 | extern const struct AudioOutputPlugin jack_output_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/output/plugins/NullOutputPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_NULL_OUTPUT_PLUGIN_HXX 21 | #define MPD_NULL_OUTPUT_PLUGIN_HXX 22 | 23 | extern const struct AudioOutputPlugin null_output_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/output/plugins/OSXOutputPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_OSX_OUTPUT_PLUGIN_HXX 21 | #define MPD_OSX_OUTPUT_PLUGIN_HXX 22 | 23 | extern const struct AudioOutputPlugin osx_output_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/output/plugins/OpenALOutputPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_OPENAL_OUTPUT_PLUGIN_HXX 21 | #define MPD_OPENAL_OUTPUT_PLUGIN_HXX 22 | 23 | extern const struct AudioOutputPlugin openal_output_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/output/plugins/OssOutputPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_OSS_OUTPUT_PLUGIN_HXX 21 | #define MPD_OSS_OUTPUT_PLUGIN_HXX 22 | 23 | extern const struct AudioOutputPlugin oss_output_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/output/plugins/PipeOutputPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_PIPE_OUTPUT_PLUGIN_HXX 21 | #define MPD_PIPE_OUTPUT_PLUGIN_HXX 22 | 23 | extern const struct AudioOutputPlugin pipe_output_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/output/plugins/RecorderOutputPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_RECORDER_OUTPUT_PLUGIN_HXX 21 | #define MPD_RECORDER_OUTPUT_PLUGIN_HXX 22 | 23 | extern const struct AudioOutputPlugin recorder_output_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/output/plugins/ShoutOutputPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_SHOUT_OUTPUT_PLUGIN_HXX 21 | #define MPD_SHOUT_OUTPUT_PLUGIN_HXX 22 | 23 | extern const struct AudioOutputPlugin shout_output_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/output/plugins/SolarisOutputPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_SOLARIS_OUTPUT_PLUGIN_HXX 21 | #define MPD_SOLARIS_OUTPUT_PLUGIN_HXX 22 | 23 | extern const struct AudioOutputPlugin solaris_output_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/output/plugins/httpd/HttpdOutputPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_HTTPD_OUTPUT_PLUGIN_HXX 21 | #define MPD_HTTPD_OUTPUT_PLUGIN_HXX 22 | 23 | extern const struct AudioOutputPlugin httpd_output_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/output/plugins/sles/SlesOutputPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_SLES_OUTPUT_PLUGIN_HXX 21 | #define MPD_SLES_OUTPUT_PLUGIN_HXX 22 | 23 | extern const struct AudioOutputPlugin sles_output_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/pcm/Domain.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "Domain.hxx" 21 | #include "util/Domain.hxx" 22 | 23 | const Domain pcm_domain("pcm"); 24 | -------------------------------------------------------------------------------- /src/pcm/Domain.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef PCM_DOMAIN_HXX 21 | #define PCM_DOMAIN_HXX 22 | 23 | class Domain; 24 | 25 | extern const Domain pcm_domain; 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /src/pcm/PcmBuffer.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "config.h" 21 | #include "PcmBuffer.hxx" 22 | 23 | void * 24 | PcmBuffer::Get(size_t new_size) 25 | { 26 | if (new_size == 0) 27 | /* never return nullptr, because nullptr would be 28 | assumed to be an error condition */ 29 | new_size = 1; 30 | 31 | return buffer.Get(new_size); 32 | } 33 | -------------------------------------------------------------------------------- /src/playlist/MemorySongEnumerator.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "config.h" 21 | #include "MemorySongEnumerator.hxx" 22 | 23 | DetachedSong * 24 | MemorySongEnumerator::NextSong() 25 | { 26 | if (songs.empty()) 27 | return nullptr; 28 | 29 | auto result = new DetachedSong(std::move(songs.front())); 30 | songs.pop_front(); 31 | return result; 32 | } 33 | -------------------------------------------------------------------------------- /src/playlist/plugins/AsxPlaylistPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_ASX_PLAYLIST_PLUGIN_HXX 21 | #define MPD_ASX_PLAYLIST_PLUGIN_HXX 22 | 23 | extern const struct playlist_plugin asx_playlist_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/playlist/plugins/CuePlaylistPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_CUE_PLAYLIST_PLUGIN_HXX 21 | #define MPD_CUE_PLAYLIST_PLUGIN_HXX 22 | 23 | extern const struct playlist_plugin cue_playlist_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/playlist/plugins/EmbeddedCuePlaylistPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_EMBCUE_PLAYLIST_PLUGIN_HXX 21 | #define MPD_EMBCUE_PLAYLIST_PLUGIN_HXX 22 | 23 | extern const struct playlist_plugin embcue_playlist_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/playlist/plugins/ExtM3uPlaylistPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_EXTM3U_PLAYLIST_PLUGIN_HXX 21 | #define MPD_EXTM3U_PLAYLIST_PLUGIN_HXX 22 | 23 | extern const struct playlist_plugin extm3u_playlist_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/playlist/plugins/M3uPlaylistPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_M3U_PLAYLIST_PLUGIN_HXX 21 | #define MPD_M3U_PLAYLIST_PLUGIN_HXX 22 | 23 | extern const struct playlist_plugin m3u_playlist_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/playlist/plugins/PlsPlaylistPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_PLS_PLAYLIST_PLUGIN_HXX 21 | #define MPD_PLS_PLAYLIST_PLUGIN_HXX 22 | 23 | extern const struct playlist_plugin pls_playlist_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/playlist/plugins/RssPlaylistPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_RSS_PLAYLIST_PLUGIN_HXX 21 | #define MPD_RSS_PLAYLIST_PLUGIN_HXX 22 | 23 | extern const struct playlist_plugin rss_playlist_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/playlist/plugins/SoundCloudPlaylistPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_SOUNDCLOUD_PLAYLIST_PLUGIN_HXX 21 | #define MPD_SOUNDCLOUD_PLAYLIST_PLUGIN_HXX 22 | 23 | extern const struct playlist_plugin soundcloud_playlist_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/playlist/plugins/XspfPlaylistPlugin.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_XSPF_PLAYLIST_PLUGIN_HXX 21 | #define MPD_XSPF_PLAYLIST_PLUGIN_HXX 22 | 23 | extern const struct playlist_plugin xspf_playlist_plugin; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /src/protocol/Ack.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "config.h" 21 | #include "Ack.hxx" 22 | #include "util/Domain.hxx" 23 | 24 | const Domain ack_domain("ack"); 25 | -------------------------------------------------------------------------------- /src/storage/plugins/NfsStorage.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_STORAGE_NFS_HXX 21 | #define MPD_STORAGE_NFS_HXX 22 | 23 | #include "check.h" 24 | 25 | struct StoragePlugin; 26 | 27 | extern const StoragePlugin nfs_storage_plugin; 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /src/storage/plugins/SmbclientStorage.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_STORAGE_SMBCLIENT_HXX 21 | #define MPD_STORAGE_SMBCLIENT_HXX 22 | 23 | #include "check.h" 24 | 25 | struct StoragePlugin; 26 | 27 | extern const StoragePlugin smbclient_storage_plugin; 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /src/tag/ApeReplayGain.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_APE_REPLAY_GAIN_HXX 21 | #define MPD_APE_REPLAY_GAIN_HXX 22 | 23 | #include "check.h" 24 | 25 | class Path; 26 | struct ReplayGainInfo; 27 | 28 | bool 29 | replay_gain_ape_read(Path path_fs, ReplayGainInfo &info); 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /src/tag/Format.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_TAG_FORMAT_HXX 21 | #define MPD_TAG_FORMAT_HXX 22 | 23 | #include "check.h" 24 | #include "Compiler.h" 25 | 26 | struct Tag; 27 | 28 | gcc_malloc gcc_nonnull_all 29 | char * 30 | FormatTag(const Tag &tag, const char *format); 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /src/tag/MixRamp.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_TAG_MIXRAMP_HXX 21 | #define MPD_TAG_MIXRAMP_HXX 22 | 23 | #include "check.h" 24 | 25 | class MixRampInfo; 26 | 27 | bool 28 | ParseMixRampTag(MixRampInfo &info, const char *name, const char *value); 29 | 30 | bool 31 | ParseMixRampVorbis(MixRampInfo &info, const char *entry); 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /src/tag/TagConfig.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_TAG_CONFIG_HXX 21 | #define MPD_TAG_CONFIG_HXX 22 | 23 | void 24 | TagLoadConfig(); 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /src/tag/TagSettings.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "TagSettings.h" 21 | 22 | bool ignore_tag_items[TAG_NUM_OF_ITEM_TYPES] = { 23 | /* ignore comments by default */ 24 | [TAG_COMMENT] = true, 25 | }; 26 | -------------------------------------------------------------------------------- /src/tag/TagSettings.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_TAG_SETTINGS_H 21 | #define MPD_TAG_SETTINGS_H 22 | 23 | #include "TagType.h" 24 | 25 | #include 26 | 27 | extern bool ignore_tag_items[TAG_NUM_OF_ITEM_TYPES]; 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /src/unix/SignalHandlers.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_SIGNAL_HANDLERS_HXX 21 | #define MPD_SIGNAL_HANDLERS_HXX 22 | 23 | class EventLoop; 24 | 25 | void 26 | SignalHandlersInit(EventLoop &loop); 27 | 28 | void 29 | SignalHandlersFinish(); 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /src/util/LazyRandomEngine.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "config.h" 21 | #include "LazyRandomEngine.hxx" 22 | 23 | void 24 | LazyRandomEngine::AutoCreate() 25 | { 26 | if (engine != nullptr) 27 | return; 28 | 29 | std::random_device rd; 30 | engine = new std::mt19937(rd()); 31 | } 32 | -------------------------------------------------------------------------------- /src/zeroconf/ZeroconfAvahi.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_ZEROCONF_AVAHI_HXX 21 | #define MPD_ZEROCONF_AVAHI_HXX 22 | 23 | class EventLoop; 24 | 25 | void 26 | AvahiInit(EventLoop &loop, const char *service_name); 27 | 28 | void 29 | AvahiDeinit(); 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /src/zeroconf/ZeroconfBonjour.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_ZEROCONF_BONJOUR_HXX 21 | #define MPD_ZEROCONF_BONJOUR_HXX 22 | 23 | class EventLoop; 24 | 25 | void 26 | BonjourInit(EventLoop &loop, const char *service_name); 27 | 28 | void 29 | BonjourDeinit(); 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /src/zeroconf/ZeroconfInternal.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef ZEROCONF_INTERNAL_H 21 | #define ZEROCONF_INTERNAL_H 22 | 23 | /* The dns-sd service type qualifier to publish */ 24 | #define SERVICE_TYPE "_mpd._tcp" 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /systemd/mpd.service.in: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Music Player Daemon 3 | After=network.target sound.target 4 | 5 | [Service] 6 | ExecStart=@prefix@/bin/mpd --no-daemon 7 | 8 | # allow MPD to use real-time priority 50 9 | LimitRTPRIO=50 10 | LimitRTTIME=-1 11 | 12 | # move MPD to a top-level cgroup, as real-time budget assignment fails 13 | # in cgroup /system/mpd.service, because /system has a zero real-time 14 | # budget; see 15 | # http://www.freedesktop.org/wiki/Software/systemd/MyServiceCantGetRealtime/ 16 | ControlGroup=cpu:/mpd 17 | 18 | # assign a real-time budget 19 | ControlGroupAttribute=cpu.rt_runtime_us 500000 20 | 21 | [Install] 22 | WantedBy=multi-user.target 23 | -------------------------------------------------------------------------------- /systemd/mpd.socket: -------------------------------------------------------------------------------- 1 | [Socket] 2 | ListenStream=/run/mpd/socket 3 | ListenStream=6600 4 | Backlog=5 5 | KeepAlive=true 6 | PassCredentials=true 7 | 8 | [Install] 9 | WantedBy=sockets.target 10 | -------------------------------------------------------------------------------- /test/.gitignore: -------------------------------------------------------------------------------- 1 | /run_neighbor_explorer 2 | -------------------------------------------------------------------------------- /test/FakeReplayGainConfig.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #include "config.h" 21 | #include "ReplayGainConfig.hxx" 22 | 23 | float replay_gain_preamp = 1.0; 24 | float replay_gain_missing_preamp = 1.0; 25 | bool replay_gain_limit = true; 26 | -------------------------------------------------------------------------------- /test/ScopeIOThread.hxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_SCOPE_IO_THREAD_HXX 21 | #define MPD_SCOPE_IO_THREAD_HXX 22 | 23 | #include "IOThread.hxx" 24 | 25 | struct ScopeIOThread { 26 | ScopeIOThread() { 27 | io_thread_init(); 28 | io_thread_start(); 29 | } 30 | 31 | ~ScopeIOThread() { 32 | io_thread_deinit(); 33 | } 34 | }; 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /test/stdbin.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2003-2015 The Music Player Daemon Project 3 | * http://www.musicpd.org 4 | * 5 | * This program is free software; you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation; either version 2 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * This program is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License along 16 | * with this program; if not, write to the Free Software Foundation, Inc., 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 | */ 19 | 20 | #ifndef MPD_STDBIN_H 21 | #define MPD_STDBIN_H 22 | 23 | #ifdef WIN32 24 | #include 25 | /** set binary mode on stdin/stdout */ 26 | int _CRT_fmode = _O_BINARY; 27 | #endif 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /test/test_archive_bzip2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | 3 | SRC_BASE=configure 4 | SRC="$(dirname $0)/../${SRC_BASE}" 5 | DST="$(pwd)/test/tmp/${SRC_BASE}.bz2" 6 | 7 | mkdir -p test/tmp 8 | rm -f "$DST" 9 | bzip2 -c "$SRC" >"$DST" 10 | ./test/run_input "$DST/${SRC_BASE}" |diff "$SRC" - 11 | -------------------------------------------------------------------------------- /test/test_archive_iso9660.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | 3 | SRC_BASE=configure 4 | SRC="$(dirname $0)/../${SRC_BASE}" 5 | DST="$(pwd)/test/tmp/${SRC_BASE}.iso" 6 | 7 | mkdir -p test/tmp 8 | rm -f "$DST" 9 | mkisofs -quiet -l -o "$DST" "$SRC" 10 | ./test/run_input "$DST/${SRC_BASE}" |diff "$SRC" - 11 | -------------------------------------------------------------------------------- /test/test_archive_zzip.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | 3 | SRC_BASE=configure 4 | SRC="$(dirname $0)/../${SRC_BASE}" 5 | DST="$(pwd)/test/tmp/${SRC_BASE}.zip" 6 | 7 | mkdir -p test/tmp 8 | rm -f "$DST" 9 | zip --quiet --junk-paths "$DST" "$SRC" 10 | ./test/run_input "$DST/${SRC_BASE}" |diff "$SRC" - 11 | -------------------------------------------------------------------------------- /test/test_util.cxx: -------------------------------------------------------------------------------- 1 | /* 2 | * Unit tests for src/util/ 3 | */ 4 | 5 | #include "config.h" 6 | #include "DivideStringTest.hxx" 7 | #include "SplitStringTest.hxx" 8 | #include "UriUtilTest.hxx" 9 | #include "TestCircularBuffer.hxx" 10 | 11 | #include 12 | #include 13 | #include 14 | #include 15 | 16 | #include 17 | 18 | CPPUNIT_TEST_SUITE_REGISTRATION(DivideStringTest); 19 | CPPUNIT_TEST_SUITE_REGISTRATION(SplitStringTest); 20 | CPPUNIT_TEST_SUITE_REGISTRATION(UriUtilTest); 21 | CPPUNIT_TEST_SUITE_REGISTRATION(TestCircularBuffer); 22 | 23 | int 24 | main(gcc_unused int argc, gcc_unused char **argv) 25 | { 26 | CppUnit::TextUi::TestRunner runner; 27 | auto ®istry = CppUnit::TestFactoryRegistry::getRegistry(); 28 | runner.addTest(registry.makeTest()); 29 | return runner.run() ? EXIT_SUCCESS : EXIT_FAILURE; 30 | } 31 | -------------------------------------------------------------------------------- /win32/res/mpd.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tguillem/mpd/d6eb74262a1bd25e3f1a62292d2cd4da4e2ffb52/win32/res/mpd.ico -------------------------------------------------------------------------------- /win32/res/mpd.rc.in: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define VERSION_NUMBER @VERSION_MAJOR@,@VERSION_MINOR@,@VERSION_REVISION@,@VERSION_EXTRA@ 4 | #define VERSION_NUMBER_STR "@VERSION_MAJOR@,@VERSION_MINOR@,@VERSION_REVISION@,@VERSION_EXTRA@" 5 | 6 | MPD_ICON ICON "@top_srcdir@/win32/res/mpd.ico" 7 | 8 | 1 VERSIONINFO 9 | FILETYPE VFT_APP 10 | FILEOS VOS__WINDOWS32 11 | PRODUCTVERSION VERSION_NUMBER 12 | 13 | FILEVERSION VERSION_NUMBER 14 | BEGIN 15 | BLOCK "StringFileInfo" 16 | BEGIN 17 | BLOCK "040904B0" 18 | BEGIN 19 | VALUE "CompanyName", "Music Player Daemon Project" 20 | VALUE "ProductName", "Music Player Daemon" 21 | VALUE "ProductVersion", VERSION_NUMBER_STR 22 | VALUE "InternalName", "mpd" 23 | VALUE "OriginalFilename", "mpd.exe" 24 | VALUE "FileVersion", "@VERSION@" 25 | VALUE "FileDescription", "Music Player Daemon @VERSION@" 26 | VALUE "LegalCopyright", "Copyright \251 The Music Player Daemon Project" 27 | END 28 | END 29 | 30 | BLOCK "VarFileInfo" 31 | BEGIN 32 | VALUE "Translation", 0x409, 1200 33 | END 34 | END 35 | --------------------------------------------------------------------------------