On Fri, Mar 6, 2009 at 9:21 AM, David Guibert <david.guib...@gmail.com> wrote: > This patch introduces the mixer for the pulse output. > > Technically speaking, the pulse index is needed to get or set > the volume. You must define callback fonctions to get this index since > the pulse output in mpd is done using the simpe api. The pulse simple api > does not provide the index of the newly defined output. > > So callback fonctions are associated to the pulse context. > The list of all the sink input is then retreived. > Then we select the name of the mpd pulse output and control > its volume by its associated index number.
Starting with /usr/bin/mpd --no-daemon --verbose --stdout /etc/mpd-6601.conf: daemon: writing pid file pulse_mixer: init pulse_mixer: init sink input cb ALSA Playback, index 1 bad name eol error sink_input_cb pulse_mixer: init sink input cb ALSA Playback, index 1 bad name eol error sink_input_cb pulse_mixer: init sink input cb ALSA Playback, index 1 bad name eol error sink_input_cb pulse_mixer: error context not ready Segmentation fault Still not working here: #0 mixer_new (plugin=0x435fc0, param=<value optimized out>) at src/mixer_api.c:50 #1 0x0000000000415ad3 in pulse_init (audio_format=<value optimized out>, param=0x666fe0, error=<value optimized out>) at src/output/pulse_plugin.c:79 #2 0x0000000000414939 in audio_output_init (ao=0xc10560, param=0x666fe0, error=0x7fffeebd6350) at src/output_plugin.h:143 #3 0x0000000000413b5a in audio_output_all_init () at src/output_all.c:97 #4 0x0000000000421aad in main (argc=<value optimized out>, argv=<value optimized out>) at src/main.c:265 # A default Gentoo configuration file for MPD # See the mpd.conf man page for a more detailed description of each parameter. # Required files and directories ############################################## # # This setting controls the top directory which MPD will search to discover the # available audio files and add them to the daemon's online database. # music_directory "/var/lib/mpd/6601/music" # # This setting sets the MPD internal playlist directory. The purpose of this # directory is storage for playlists created by MPD. The server will use # playlist files not created by the server but only if they are in the MPD # format. # playlist_directory "/var/lib/mpd/6601/playlists" # # This setting sets the location of the MPD database. This file is used to # load the database at server start up and store the database while the # server is not up. # db_file "/var/lib/mpd/6601/database" # # These settings are the locations for the daemon log files for the daemon. # These logs are great for troubleshooting, depending on your log_level # settings. # # The special value "syslog" makes MPD use the local syslog daemon. # On most systems, log messages will appear in /var/log/daemon.log # then. # log_file "/var/log/mpd-6601.log" ############################################################################### # Optional files ############################################################## # # This setting sets the location of the file which stores the process ID # for use of mpd --kill and some init scripts. This setting is disabled by # default. # pid_file "/var/run/mpd/mpd-6601.pid" # # This setting sets the location of the file which contains information about # most variables to get MPD back into the same general shape it was in before # it was brought down. This setting is disabled by default. # state_file "/var/lib/mpd/6601/state" # ############################################################################### # General music daemon options ################################################ # # This setting specifies the user that MPD will run as, if set. MPD should # never run as root and you may use this setting to make MPD change its user # id after initialization. Do not use this setting if you start MPD as an # unprivileged user. This setting is disabled by default, and the server will # run as root. # user "mpd" # # This setting sets the address for the daemon to listen on. Careful attention # should be paid if this is assigned to anything other then the default, any. # This setting can deny access to control of the daemon. # # For network #bind_to_address "localhost" # # And for Unix Socket #bind_to_address "~/.mpd/socket" # # This setting is the port that is desired for the daemon to get assigned to. # port "6601" # # This setting controls the type of information which is logged. Available # setting arguments are "default", "secure" or "verbose". The "verbose" setting # argument is recommended for troubleshooting, though can quickly stretch # available resources on limited hardware storage. # #log_level "default" # # If you have a problem with your MP3s ending abruptly it is recommended that # you set this argument to "no" to attempt to fix the problem. If this solves # the problem, it is highly recommended to fix the MP3 files with vbrfix # (available from <http://www.willwap.co.uk/Programs/vbrfix.php>), at which # point gapless MP3 playback can be enabled. # #gapless_mp3_playback "yes" # # This setting enables MPD to create playlists in a format usable by other # music players. # #save_absolute_paths_in_playlists "no" # # This setting defines a list of tag types that will be extracted during the # audio file discovery process. Optionally, 'comment' can be added to this # list. # #metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc" # ############################################################################### # Symbolic link behavior ###################################################### # # If this setting is set to "yes", MPD will discover audio files by following # symbolic links outside of the configured music_directory. # #follow_outside_symlinks "yes" # # If this setting is set to "yes, MPD will discover audio files by following # symbolic links inside of the configured music_directory. # #follow_inside_symlinks "yes" # ############################################################################### # Zeroconf / Avahi Service Discovery ########################################## # # If this setting is set to "yes", service information will be published with # Zeroconf / Avahi. # zeroconf_enabled "yes" # # The argument to this setting will be the Zeroconf / Avahi unique name for # this MPD server on the network. # zeroconf_name "his" # ############################################################################### # Permissions ################################################################# # # If this setting is set, MPD will require password authorization. The password # can setting can be specified multiple times for different password profiles. # #password "passw...@read,add,control,admin" # # This setting specifies the permissions a user has who has not yet logged in. # #default_permissions "read,add,control,admin" # ############################################################################### # Audio Output ################################################################ # # MPD supports various audio output types, as well as playing through multiple # audio outputs at the same time, through multiple audio_output settings # blocks. Setting this block is optional, though the server will only attempt # autodetection for one sound card. # # See <http://mpd.wikia.com/wiki/Configuration#Audio_Outputs> for examples of # other audio outputs. # # An example of an ALSA output: # audio_output { type "alsa" name "Living Room" device "hw:Audigy2,0" # optional # format "44100:16:2" # optional mix_device "default" # optional mix_control "PCM" # optional } audio_output { type "pulse" name "Desktop Speakers" server "rocket" sink "alsa_output.pci_8086_284b_sound_card_0_alsa_playback_0" mixer_type "software" } audio_output { type "pulse" name "Shawn's Headphones" server "rocket" sink "alsa_output.pci_1102_2_sound_card_0_alsa_playback_0" mixer_type "software" } audio_output { type "pulse" name "Shawn's Headset" server "rocket" sink "alsa_output.usb_device_46d_a02_noserial_if0_sound_card_0_alsa_playback_0.monitor" mixer_type "software" } audio_output { type "pulse" name "Trish's Headphones" server "tulip" sink "alsa_output.pci_8086_3a6e_sound_card_0_alsa_playback_0" mixer_type "software" } audio_output { type "pulse" name "Trish's Headset" server "tulip" sink "alsa_output.usb_device_d8c_c_noserial_if0_sound_card_0_alsa_playback_0" mixer_type "software" } audio_output { type "pulse" name "Trish's Speakers" server "tulip" sink "alsa_output.usb_device_d8c_c_noserial_if0_sound_card_0_alsa_playback_0" mixer_type "software" } #audio_output { # type "alsa" # name "Unpowered Speakers" # device "hw:NVidia,0" #} # # An example of an OSS output: # #audio_output { # type "oss" # name "My OSS Device" # device "/dev/dsp" # optional # format "44100:16:2" # optional # mix_device "/dev/mixer" # optional # mix_control "PCM" # optional #} # # An example of a shout output (for streaming to Icecast): # #audio_output { # type "shout" # encoding "ogg" # optional # name "My Shout Stream" # host "localhost" # port "8000" # mount "/mpd.ogg" # password "hackme" # quality "5.0" # bitrate "128" # format "44100:16:1" # protocol "icecast2" # optional # user "source" # optional # description "My Stream Description" # optional # genre "jazz" # optional # public "no" # optional # timeout "2" # optional #} # # An example of a pulseaudio output (streaming to a remote pulseaudio server) # #audio_output { # type "pulse" # name "My Pulse Output" # server "remote_server" # sink "remote_server_sink" #} # ## An example of a null output (for no audio output): # #audio_output { # type "null" # name "My Null Output" #} # # This setting will change all decoded audio to be converted to the specified # format before being passed to the audio outputs. By default, this setting is # disabled. # #audio_output_format "44100:16:2" # # If MPD has been compiled with libsamplerate support, this setting specifies # the sample rate converter to use. Possible values can be found in the # mpd.conf man page or the libsamplerate documentation. By default, this is # setting is disabled. # #samplerate_converter "Fastest Sinc Interpolator" # ############################################################################### # Volume control mixer ######################################################## # # MPD has limited volume controls, to use them pick one below. If one is not # specified it may be autodetected at startup, depending on the dependencies # which were compiled into the server. # # An example for controlling an ALSA or OSS mixer: # mixer_type "hardware" # # This example is a general volume control mixer, it is used to adjust the # volume of the audio sent to the audio output, and will work with all outputs. # #mixer_type "software" # # ############################################################################### # Normalization automatic volume adjustments ################################## # # This setting specifies the type of ReplayGain to use. This setting can have # the argument "album" or "track". See <http://www.replaygain.org> for more # details. By default this setting is disabled. # #replaygain "album" # # This setting sets the pre-amp used for files that have ReplayGain tags. By # default this setting is disabled. # #replaygain_preamp "0" # # This setting enables on-the-fly normalization volume adjustment. This will # result in the volume of all playing audio to be adjusted so the output has # equal "loudness". # #volume_normalization "no" # ############################################################################### # MPD Internal Buffering ###################################################### # # This setting adjusts the size of internal decoded audio buffering. Changing # this may have undesired effects. Don't change this if you don't know what you # are doing. # #audio_buffer_size "2048" # # This setting controls the percentage of the buffer which is filled before # beginning to play. Increasing this reduces the chance of audio file skipping, # at the cost of increased time prior to audio playback. # #buffer_before_play "10%" # ############################################################################### # HTTP Streaming Proxy ######################################################## # # This setting specifies the HTTP proxy to use for playing HTTP streams. By # default, these settings will be disabled. # #http_proxy_host "proxy.isp.com" #http_proxy_port "8080" #http_proxy_user "user" #http_proxy_password "password" # ############################################################################### # Resource Limitations ######################################################## # # These settings are various limitations to prevent MPD from using too many # resources. Generally, these settings should be minimized to prevent security # risks, depending on the operating resources. # #connection_timeout "60" #max_connections "10" max_playlist_length "1638400" max_command_list_size "128000" max_output_buffer_size "8192" # ############################################################################### # Character Encoding ########################################################## # # If file or directory names do not display correctly for your locale then you # may need to modify this setting. After modification of this setting mpd # --create-db must be run to change the database. # filesystem_charset "UTF-8" # # This setting controls the encoding that ID3v1 tags should be converted from. # #id3v1_encoding "ISO-8859-1" # ############################################################################### -- avuton -- | (\_/) This is Bunny. Copy and paste Bunny | (='.'=) into your signature to help him gain | (")_(") world domination. ------------------------------------------------------------------------------ Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H _______________________________________________ Musicpd-dev-team mailing list Musicpd-dev-team@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team