Via_82xx + 5.1 + Skype +mpd

Ok ppl hello.
I am trying for hours and hours to make my build in soundcard (Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 60)) to work in 5.1 mode and be able to control rear center and front speaker seperately. I ve done this with this config
pcm.!default {
type plug
slave.pcm "softvol"
pcm.softvol {
type softvol
slave.pcm "ch51dup"
control {
name "SoftMaster"
card 0
pcm.ch51dup {
type route
slave {
pcm duplex
channels 6
ttable.0.0 1
ttable.1.1 1
ttable.0.2 1
ttable.1.3 1
ttable.0.4 0.5
ttable.1.4 0.5
ttable.0.5 0.5
ttable.1.5 0.5
pcm.duplex {
type asym
playback.pcm "demixer"
capture.pcm "routein"
pcm.demixer {
type dmix
ipc_key 1028
slave {
channels 6
pcm "hw:0,1"
period_time 0
buffer_time 0
period_size 1024
buffer_size 4096 #8192
rate 48000
bindings {
0 0
1 1
2 2
3 3
4 4
5 5
pcm.routein {
type route
slave {
pcm "sdsnoop"
format S16_LE
ttable {
0 {0 0.5}
1 {0 0.5}
pcm.sdsnoop {
type dsnoop
ipc_key 1133
slave {
pcm "hw:0,1"
period_size 256
periods 16
buffer_size 16384
bindings {
0 0
pcm.dsp0 {
type plug
slave.pcm "softvol"
pcm.dsp {
type plug
slave.pcm "softvol"
ctl.demixer {
type hw
card 0
I can also play Quake3 and listen to music in the same time. But i cannot use skype and it seems i cannot have any input from mic.
I need to have mpd working also.
I tried to use jack but no luck.
Any ideas ??????
PLZ HELP

hi man,
i have created a ~/.asoundrc with this line
pcm.!default {
type plug
slave.pcm "surround51"
slave.channels 6
route_policy duplicate
and i thinik it works, except a problem in kde
Sound server informational message:
Error while initializing the sound driver:
Unable to set interleaved!
The sound server will continue, using the null output device.
but i think is that kde don't know to use the file created and make errors at startx.
after this, my real problem is with the 3 plug line-out.
i have an onboard audio card with 3 plug: line-in line-out and mic.
as i have cabled the 3 line-out of my audio5.1 kit i listen sound only with sub and 3 speaker, i don't listen sound by the 2 rear speaker right and left because i think their respective plug that exit by the sub is on the mic or line-in plug on my mobo.
probably i don't have switched the plugs, what do u think?
i don't have changed anything except the creation of the asoundrc file.
finally: it could be nice managing the speaker separately front and rear.
overrighting my asoundrc with yours i will enable to do this?
edit: onboard i have an audio ac97 interface for the frontal panel with an aud-out and a mic.
don't u know how to use this frontal interfaces?
from me, actually the aud-out works and mic seems not work so good. is unuseless now the mic of the frontal panel.
Last edited by dax (2007-07-25 16:42:27)

Similar Messages

  • Trouble with some custom SystemD/User unit files

    Good evening all,
    I'm trying to move programs out of my .xinitrc file and my window manager's startup hooks into systemd user unit files for ease of management, and hopefully more resilient.  I have followed the setup on the wiki page for SystemD/User session (https://wiki.archlinux.org/index.php/Sy … asic_setup) and already have some services already running:
    ╭─vendion@tyre ~
    ╰─➤ systemctl --user status
    ● tyre
    State: degraded
    Jobs: 0 queued
    Failed: 4 units
    Since: Fri 2014-08-08 20:23:47 EDT; 4 days ago
    CGroup: /user.slice/user-1000.slice/[email protected]
    ├─3200 /usr/lib/systemd/systemd --user
    ├─3202 (sd-pam)
    ├─dbus.service
    │ ├─ 3623 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation
    │ ├─ 3711 /usr/lib/at-spi2-core/at-spi-bus-launcher
    │ ├─ 3728 /usr/bin/dbus-daemon --config-file=/etc/at-spi2/accessibility.conf --nofork --print-address 3
    │ ├─ 3996 /usr/lib/at-spi2-core/at-spi2-registryd --use-gnome-session
    │ ├─ 4184 /usr/lib/GConf/gconfd-2
    │ └─29638 /usr/bin/dunst
    ├─udiskie.service
    │ └─3389 /usr/bin/python /usr/bin/udiskie
    ├─spideroak.service
    │ ├─3394 /opt/SpiderOak/lib/SpiderOak
    │ └─3993 /opt/SpiderOak/lib/SpiderOak --spider
    ├─skype.service
    │ └─3396 /usr/lib32/skype/skype
    ├─mpd.service
    │ ├─3386 /usr/bin/mpd --no-daemon
    │ ├─3959 /usr/bin/pulseaudio --start --log-target=syslog
    │ └─4178 /usr/lib/pulse/gconf-helper
    ├─mpdscribble.service
    │ └─3544 /usr/bin/mpdscribble
    └─google-musicmanager.service
    └─3638 /usr/bin/google-musicmanager
    Some of them are using unit files provided by the package, others I wrote the unit file for.  The services that are failing that are causing the state to be degraded are:
    ╭─vendion@tyre ~
    ╰─➤ systemctl --user --failed
    UNIT LOAD ACTIVE SUB DESCRIPTION
    ●clipit.service loaded failed failed Clipboard manager
    ●pasystray.service loaded failed failed Pulseaudio system tray icon
    ●pidgin.service loaded failed failed Pidgin IM client
    ●redshift.service loaded failed failed Redshift display colour temperature adjustment
    LOAD = Reflects whether the unit definition was properly loaded.
    ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
    SUB = The low-level unit activation state, values depend on unit type.
    4 loaded units listed. Pass --all to see loaded but inactive units, too.
    To show all installed unit files use 'systemctl list-unit-files'.
    I had to write the unit files for each of these.
    clipit.service unit file: http://sprunge.us/Qjfd
    When I check the status for this here is what I get:
    ● clipit.service - Clipboard manager
    Loaded: loaded (/home/vendion/.config/systemd/user/clipit.service; enabled)
    Active: failed (Result: start-limit) since Fri 2014-08-08 20:24:04 EDT; 4 days ago
    Main PID: 3619 (code=exited, status=1/FAILURE)
    Aug 08 20:24:04 tyre systemd[3200]: clipit.service: main process exited, code=exited, status=1/FAILURE
    Aug 08 20:24:04 tyre systemd[3200]: Unit clipit.service entered failed state.
    Aug 08 20:24:04 tyre systemd[3200]: clipit.service holdoff time over, scheduling restart.
    Aug 08 20:24:04 tyre systemd[3200]: Stopping Clipboard manager...
    Aug 08 20:24:04 tyre systemd[3200]: Starting Clipboard manager...
    Aug 08 20:24:04 tyre systemd[3200]: clipit.service start request repeated too quickly, refusing to start.
    Aug 08 20:24:04 tyre systemd[3200]: Failed to start Clipboard manager.
    Aug 08 20:24:04 tyre systemd[3200]: Unit clipit.service entered failed state.
    pasystray.service unit file: http://sprunge.us/BWWR
    Status output
    ● pasystray.service - Pulseaudio system tray icon
    Loaded: loaded (/home/vendion/.config/systemd/user/pasystray.service; enabled)
    Active: failed (Result: start-limit) since Fri 2014-08-08 20:24:12 EDT; 4 days ago
    Main PID: 3769 (code=killed, signal=TRAP)
    Aug 08 20:24:12 tyre systemd[3200]: pasystray.service: main process exited, code=killed, status=5/TRAP
    Aug 08 20:24:12 tyre systemd[3200]: Unit pasystray.service entered failed state.
    Aug 08 20:24:12 tyre systemd[3200]: pasystray.service holdoff time over, scheduling restart.
    Aug 08 20:24:12 tyre systemd[3200]: Stopping Pulseaudio system tray icon...
    Aug 08 20:24:12 tyre systemd[3200]: Starting Pulseaudio system tray icon...
    Aug 08 20:24:12 tyre systemd[3200]: pasystray.service start request repeated too quickly, refusing to start.
    Aug 08 20:24:12 tyre systemd[3200]: Failed to start Pulseaudio system tray icon.
    Aug 08 20:24:12 tyre systemd[3200]: Unit pasystray.service entered failed state.
    pidgen.service unit file: http://sprunge.us/KgKV
    Status output
    ● pidgin.service - Pidgin IM client
    Loaded: loaded (/home/vendion/.config/systemd/user/pidgin.service; enabled)
    Active: failed (Result: start-limit) since Fri 2014-08-08 20:24:04 EDT; 4 days ago
    Main PID: 3620 (code=exited, status=1/FAILURE)
    Redshift.service unit file: http://sprunge.us/IDCC
    Status output:
    ● redshift.service - Redshift display colour temperature adjustment
    Loaded: loaded (/home/vendion/.config/systemd/user/redshift.service; enabled)
    Active: failed (Result: start-limit) since Fri 2014-08-08 20:23:58 EDT; 4 days ago
    Docs: http://jonls.dk/redshift/
    Main PID: 3517 (code=exited, status=1/FAILURE)
    Aug 08 20:23:57 tyre systemd[3200]: redshift.service: main process exited, code=exited, status=1/FAILURE
    Aug 08 20:23:57 tyre systemd[3200]: Unit redshift.service entered failed state.
    Aug 08 20:23:58 tyre systemd[3200]: redshift.service holdoff time over, scheduling restart.
    Aug 08 20:23:58 tyre systemd[3200]: Stopping Redshift display colour temperature adjustment...
    Aug 08 20:23:58 tyre systemd[3200]: Starting Redshift display colour temperature adjustment...
    Aug 08 20:23:58 tyre systemd[3200]: redshift.service start request repeated too quickly, refusing to start.
    Aug 08 20:23:58 tyre systemd[3200]: Failed to start Redshift display colour temperature adjustment.
    Aug 08 20:23:58 tyre systemd[3200]: Unit redshift.service entered failed state.
    I know that my unit files for these services work because if I manually start them with "systemctl --user start <service>" then they work just fine, but when systemD is trying to start them when I login they fail.  I have dbus setup like the wiki says to, and "DBUS_SESSION_BUS_ADDRESS" is defined.  I also have the DISPLAY environment variable set in /etc/systemd/system/[email protected]/display.conf like the wiki suggests as well.  I know that SystemD user sessions still may not be ready for prime time but I could use a better way to manage these startup programs than the .xinitrc file.
    Thanks in advance for any help

    i suppose there is a code whitch resets the default bounds when
    the component is beeing added to the JTable.Technically, the Component returned by the getCellRendererComponent() is not added to the JTable, it's just used as a rubber stamp.Mmm, I was wrong: at least with the basic L&F, the Component is (temporarily) added to a CellRendererPane, which is a children of the JTable.
    Moreover, I witnessed that both setBounds() and doLayout() are called before the component is actually painted...
    I've never used a compound component as a renderer, but I assume the issue is common (did not have time to search nor try it myself). You may investigate whether the JPanel is appropriately laid out, by inserting some breakpoints/logs at appropriate places (setBounds, doLayout,...)Did this on an extra-short example, and it did render correctly...
    somehow the textfield's bounds where not set anymore.Note that the Javadoc for Cellrendererpane states that +"After the component is painted it's bounds are reset to -w, -h, 0, 0 so that, if it's the last renderer component painted, it will not start consuming input"+.
    That does not explain why the w and h are 0, but at least it's clear that depending on where you put your logging statement makes a big difference about the accuracy of the bounds logged

  • Vicious MPD widget not displaying the artist and song title

    EDIT: This thread can be closed now. It turns out Clementine doesn't support mpd and I'm now running ncmpcpp and the widget shows the artist and song title.
    I have trouble getting the mpd widget running in awesome wm, it will only display "N/A - N/A". I've read the wiki and done a lot of googling but I can't figure out what I'm missing.
    Here's my rc.lua
    -- Standard awesome library
    local gears = require("gears")
    local awful = require("awful")
    awful.rules = require("awful.rules")
    require("awful.autofocus")
    -- Widget and layout library
    local wibox = require("wibox")
    local vicious = require("vicious")
    -- Theme handling library
    local beautiful = require("beautiful")
    -- Notification library
    local naughty = require("naughty")
    local menubar = require("menubar")
    -- {{{ Error handling
    -- Check if awesome encountered an error during startup and fell back to
    -- another config (This code will only ever execute for the fallback config)
    if awesome.startup_errors then
    naughty.notify({ preset = naughty.config.presets.critical,
    title = "Oops, there were errors during startup!",
    text = awesome.startup_errors })
    end
    -- Handle runtime errors after startup
    do
    local in_error = false
    awesome.connect_signal("debug::error", function (err)
    -- Make sure we don't go into an endless error loop
    if in_error then return end
    in_error = true
    naughty.notify({ preset = naughty.config.presets.critical,
    title = "Oops, an error happened!",
    text = err })
    in_error = false
    end)
    end
    -- {{{ Variable definitions
    -- Themes define colours, icons, and wallpapers
    beautiful.init("/usr/share/awesome/themes/zenburn/theme.lua")
    -- This is used later as the default terminal and editor to run.
    terminal = "tilda"
    editor = "gedit"
    -- os.getenv("EDITOR") or
    editor_cmd = terminal .. " -e " .. editor
    -- Default modkey.
    -- Usually, Mod4 is the key with a logo between Control and Alt.
    -- If you do not like this or do not have such a key,
    -- I suggest you to remap Mod4 to another key using xmodmap or other tools.
    -- However, you can use another modifier like Mod1, but it may interact with others.
    modkey = "Mod4"
    -- Table of layouts to cover with awful.layout.inc, order matters.
    local layouts =
    awful.layout.suit.floating,
    awful.layout.suit.tile,
    awful.layout.suit.tile.left,
    awful.layout.suit.tile.bottom,
    awful.layout.suit.tile.top,
    awful.layout.suit.fair,
    awful.layout.suit.fair.horizontal,
    awful.layout.suit.spiral,
    awful.layout.suit.spiral.dwindle,
    awful.layout.suit.max,
    awful.layout.suit.max.fullscreen,
    awful.layout.suit.magnifier
    -- {{{ Wallpaper
    if beautiful.wallpaper then
    for s = 1, screen.count() do
    gears.wallpaper.maximized(beautiful.wallpaper, s, true)
    end
    end
    -- {{{ Tags
    -- Define a tag table which will hold all screen tags.
    tags = {}
    for s = 1, screen.count() do
    -- Each screen has its own tag table.
    tags[s] = awful.tag({"term", "www", "mp3", "skype", "office", "dev", "misc" }, s)
    end
    -- {{{ Menu
    -- Create a laucher widget and a main menu
    myawesomemenu = {
    { "manual", terminal .. " -e man awesome" },
    { "edit config", editor_cmd .. " " .. awesome.conffile },
    { "reboot", "gksudo reboot" },
    { "restart", awesome.restart },
    { "quit", awesome.quit }
    mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },
    { "open terminal", terminal }
    mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon,
    menu = mymainmenu })
    -- Menubar configuration
    menubar.utils.terminal = terminal -- Set the terminal for applications that require it
    -- Initialize widget
    mpdwidget = wibox.widget.textbox()
    -- Register widget
    vicious.register(mpdwidget, vicious.widgets.mpd,
    function (mpdwidget, args)
    if args["{state}"] == "Stop" then
    return " - "
    else
    return args["{Artist}"]..' - '.. args["{Title}"]
    end
    end, 10)
    -- {{{ Wibox
    -- Create a textclock widget
    mytextclock = awful.widget.textclock()
    -- Create a wibox for each screen and add it
    mywibox = {}
    mypromptbox = {}
    mylayoutbox = {}
    mytaglist = {}
    mytaglist.buttons = awful.util.table.join(
    awful.button({ }, 1, awful.tag.viewonly),
    awful.button({ modkey }, 1, awful.client.movetotag),
    awful.button({ }, 3, awful.tag.viewtoggle),
    awful.button({ modkey }, 3, awful.client.toggletag),
    awful.button({ }, 4, function(t) awful.tag.viewnext(awful.tag.getscreen(t)) end),
    awful.button({ }, 5, function(t) awful.tag.viewprev(awful.tag.getscreen(t)) end)
    mytasklist = {}
    mytasklist.buttons = awful.util.table.join(
    awful.button({ }, 1, function (c)
    if c == client.focus then
    c.minimized = true
    else
    -- Without this, the following
    -- :isvisible() makes no sense
    c.minimized = false
    if not c:isvisible() then
    awful.tag.viewonly(c:tags()[1])
    end
    -- This will also un-minimize
    -- the client, if needed
    client.focus = c
    c:raise()
    end
    end),
    awful.button({ }, 3, function ()
    if instance then
    instance:hide()
    instance = nil
    else
    instance = awful.menu.clients({ width=250 })
    end
    end),
    awful.button({ }, 4, function ()
    awful.client.focus.byidx(1)
    if client.focus then client.focus:raise() end
    end),
    awful.button({ }, 5, function ()
    awful.client.focus.byidx(-1)
    if client.focus then client.focus:raise() end
    end))
    for s = 1, screen.count() do
    -- Create a promptbox for each screen
    mypromptbox[s] = awful.widget.prompt()
    -- Create an imagebox widget which will contains an icon indicating which layout we're using.
    -- We need one layoutbox per screen.
    mylayoutbox[s] = awful.widget.layoutbox(s)
    mylayoutbox[s]:buttons(awful.util.table.join(
    awful.button({ }, 1, function () awful.layout.inc(layouts, 1) end),
    awful.button({ }, 3, function () awful.layout.inc(layouts, -1) end),
    awful.button({ }, 4, function () awful.layout.inc(layouts, 1) end),
    awful.button({ }, 5, function () awful.layout.inc(layouts, -1) end)))
    -- Create a taglist widget
    mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.filter.all, mytaglist.buttons)
    -- Create a tasklist widget
    mytasklist[s] = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, mytasklist.buttons)
    -- Create the wibox
    mywibox[s] = awful.wibox({ position = "top", screen = s })
    -- Widgets that are aligned to the left
    local left_layout = wibox.layout.fixed.horizontal()
    left_layout:add(mylauncher)
    left_layout:add(mytaglist[s])
    left_layout:add(mypromptbox[s])
    -- Widgets that are aligned to the right
    local right_layout = wibox.layout.fixed.horizontal()
    right_layout:add(mpdwidget)
    if s == 1 then right_layout:add(wibox.widget.systray()) end
    right_layout:add(mytextclock)
    right_layout:add(mylayoutbox[s])
    -- Now bring it all together (with the tasklist in the middle)
    local layout = wibox.layout.align.horizontal()
    layout:set_left(left_layout)
    layout:set_middle(mytasklist[s])
    layout:set_right(right_layout)
    mywibox[s]:set_widget(layout)
    end
    -- {{{ Mouse bindings
    root.buttons(awful.util.table.join(
    awful.button({ }, 3, function () mymainmenu:toggle() end),
    awful.button({ }, 4, awful.tag.viewnext),
    awful.button({ }, 5, awful.tag.viewprev)
    -- {{{ Key bindings
    globalkeys = awful.util.table.join(
    awful.key({ modkey, }, "Left", awful.tag.viewprev ),
    awful.key({ modkey, }, "Right", awful.tag.viewnext ),
    awful.key({ modkey, }, "Escape", awful.tag.history.restore),
    awful.key({ modkey, }, "j",
    function ()
    awful.client.focus.byidx( 1)
    if client.focus then client.focus:raise() end
    end),
    awful.key({ modkey, }, "k",
    function ()
    awful.client.focus.byidx(-1)
    if client.focus then client.focus:raise() end
    end),
    awful.key({ modkey, }, "w", function () mymainmenu:show() end),
    -- Layout manipulation
    awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end),
    awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end),
    awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end),
    awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end),
    awful.key({ modkey, }, "u", awful.client.urgent.jumpto),
    awful.key({ modkey, }, "Tab",
    function ()
    awful.client.focus.history.previous()
    if client.focus then
    client.focus:raise()
    end
    end),
    -- Standard program
    awful.key({ modkey, }, "Return", function () awful.util.spawn(terminal) end),
    awful.key({ modkey, "Control" }, "r", awesome.restart),
    awful.key({ modkey, "Shift" }, "q", awesome.quit),
    awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end),
    awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end),
    awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1) end),
    awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1) end),
    awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1) end),
    awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1) end),
    awful.key({ modkey, }, "space", function () awful.layout.inc(layouts, 1) end),
    awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(layouts, -1) end),
    awful.key({ modkey, "Control" }, "n", awful.client.restore),
    -- Prompt
    awful.key({ modkey }, "r", function () mypromptbox[mouse.screen]:run() end),
    awful.key({ modkey }, "x",
    function ()
    awful.prompt.run({ prompt = "Run Lua code: " },
    mypromptbox[mouse.screen].widget,
    awful.util.eval, nil,
    awful.util.getdir("cache") .. "/history_eval")
    end),
    -- Menubar
    awful.key({ modkey }, "p", function() menubar.show() end)
    clientkeys = awful.util.table.join(
    awful.key({ modkey, }, "f", function (c) c.fullscreen = not c.fullscreen end),
    awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end),
    awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ),
    awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end),
    awful.key({ modkey, }, "o", awful.client.movetoscreen ),
    awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end),
    awful.key({ modkey, }, "n",
    function (c)
    -- The client currently has the input focus, so it cannot be
    -- minimized, since minimized clients can't have the focus.
    c.minimized = true
    end),
    awful.key({ modkey, }, "m",
    function (c)
    c.maximized_horizontal = not c.maximized_horizontal
    c.maximized_vertical = not c.maximized_vertical
    end)
    -- Bind all key numbers to tags.
    -- Be careful: we use keycodes to make it works on any keyboard layout.
    -- This should map on the top row of your keyboard, usually 1 to 9.
    for i = 1, 9 do
    globalkeys = awful.util.table.join(globalkeys,
    awful.key({ modkey }, "#" .. i + 9,
    function ()
    local screen = mouse.screen
    local tag = awful.tag.gettags(screen)[i]
    if tag then
    awful.tag.viewonly(tag)
    end
    end),
    awful.key({ modkey, "Control" }, "#" .. i + 9,
    function ()
    local screen = mouse.screen
    local tag = awful.tag.gettags(screen)[i]
    if tag then
    awful.tag.viewtoggle(tag)
    end
    end),
    awful.key({ modkey, "Shift" }, "#" .. i + 9,
    function ()
    if client.focus then
    local tag = awful.tag.gettags(client.focus.screen)[i]
    if tag then
    awful.client.movetotag(tag)
    end
    end
    end),
    awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9,
    function ()
    if client.focus then
    local tag = awful.tag.gettags(client.focus.screen)[i]
    if tag then
    awful.client.toggletag(tag)
    end
    end
    end))
    end
    clientbuttons = awful.util.table.join(
    awful.button({ }, 1, function (c) client.focus = c; c:raise() end),
    awful.button({ modkey }, 1, awful.mouse.client.move),
    awful.button({ modkey }, 3, awful.mouse.client.resize))
    -- Set keys
    root.keys(globalkeys)
    -- {{{ Rules
    awful.rules.rules = {
    -- All clients will match this rule.
    { rule = { },
    properties = { border_width = beautiful.border_width,
    border_color = beautiful.border_normal,
    focus = awful.client.focus.filter,
    keys = clientkeys,
    buttons = clientbuttons } },
    { rule = { class = "MPlayer" },
    properties = { floating = true } },
    { rule = { class = "pinentry" },
    properties = { floating = true } },
    { rule = { class = "gimp" },
    properties = { floating = true } },
    -- Set Firefox to always map on tags number 2 of screen 1.
    { rule = { class = "Firefox" },
    properties = { tag = tags[2] } },
    -- {{{ Signals
    -- Signal function to execute when a new client appears.
    client.connect_signal("manage", function (c, startup)
    -- Enable sloppy focus
    c:connect_signal("mouse::enter", function(c)
    if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier
    and awful.client.focus.filter(c) then
    client.focus = c
    end
    end)
    if not startup then
    -- Set the windows at the slave,
    -- i.e. put it at the end of others instead of setting it master.
    -- awful.client.setslave(c)
    -- Put windows in a smart way, only if they does not set an initial position.
    if not c.size_hints.user_position and not c.size_hints.program_position then
    awful.placement.no_overlap(c)
    awful.placement.no_offscreen(c)
    end
    end
    local titlebars_enabled = false
    if titlebars_enabled and (c.type == "normal" or c.type == "dialog") then
    -- buttons for the titlebar
    local buttons = awful.util.table.join(
    awful.button({ }, 1, function()
    client.focus = c
    c:raise()
    awful.mouse.client.move(c)
    end),
    awful.button({ }, 3, function()
    client.focus = c
    c:raise()
    awful.mouse.client.resize(c)
    end)
    -- Widgets that are aligned to the left
    local left_layout = wibox.layout.fixed.horizontal()
    left_layout:add(awful.titlebar.widget.iconwidget(c))
    left_layout:buttons(buttons)
    -- Widgets that are aligned to the right
    local right_layout = wibox.layout.fixed.horizontal()
    right_layout:add(awful.titlebar.widget.floatingbutton(c))
    right_layout:add(awful.titlebar.widget.maximizedbutton(c))
    right_layout:add(awful.titlebar.widget.stickybutton(c))
    right_layout:add(awful.titlebar.widget.ontopbutton(c))
    right_layout:add(awful.titlebar.widget.closebutton(c))
    -- The title goes in the middle
    local middle_layout = wibox.layout.flex.horizontal()
    local title = awful.titlebar.widget.titlewidget(c)
    title:set_align("center")
    middle_layout:add(title)
    middle_layout:buttons(buttons)
    -- Now bring it all together
    local layout = wibox.layout.align.horizontal()
    layout:set_left(left_layout)
    layout:set_right(right_layout)
    layout:set_middle(middle_layout)
    awful.titlebar(c):set_widget(layout)
    end
    end)
    client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end)
    client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
    function run_once(prg,arg_string,pname,screen)
    if not prg then
    do return nil end
    end
    if not pname then
    pname = prg
    end
    if not arg_string then
    awful.util.spawn_with_shell("pgrep -f -u $USER -x '" .. pname .. "' || (" .. prg .. ")",screen)
    else
    awful.util.spawn_with_shell("pgrep -f -u $USER -x '" .. pname .. " ".. arg_string .."' || (" .. prg .. " " .. arg_string .. ")",screen)
    end
    end
    awful.util.spawn_with_shell("setxkbmap -layout se")
    run_once("tilda",nil,nil,"term")
    run_once("firefox &",nil,nil,"www")
    run_once("clementine ",nil,nil,"mp3")
    run_once("skype ",nil,nil,"skype")
    run_once("dropboxd &",nil,nil,nil)
    run_once("keepassx ",nil,nil,"www")
    run_once("volumeicon &",nil,nil,nil)
    awesome.font = "DejaVuSansCondensed 12"
    Here's my mpd.lua:
    -- Licensed under the GNU General Public License v2
    -- * (c) 2010, Adrian C. <[email protected]>
    -- {{{ Grab environment
    local tonumber = tonumber
    local io = { popen = io.popen }
    local setmetatable = setmetatable
    local string = { gmatch = string.gmatch }
    local helpers = require("vicious.helpers")
    -- Mpd: provides Music Player Daemon information
    -- vicious.widgets.mpd
    local mpd = {}
    -- {{{ MPD widget type
    local function worker(format, warg)
    local mpd_state = {
    ["{volume}"] = 0,
    ["{state}"] = "N/A",
    ["{Artist}"] = "N/A",
    ["{Title}"] = "N/A",
    ["{Album}"] = "N/A",
    ["{Genre}"] = "N/A",
    --["{Name}"] = "N/A",
    --["{file}"] = "N/A",
    -- Fallback to MPD defaults
    local pass = warg and (warg.password or warg[1]) or "\"\""
    local host = warg and (warg.host or warg[2]) or "127.0.0.1"
    local port = warg and (warg.port or warg[3]) or "6600"
    -- Construct MPD client options
    local mpdh = "telnet://"..host..":"..port
    local echo = "echo 'password "..pass.."\nstatus\ncurrentsong\nclose'"
    -- Get data from MPD server
    local f = io.popen(echo.." | curl --connect-timeout 1 -fsm 3 "..mpdh)
    for line in f:lines() do
    for k, v in string.gmatch(line, "([%w]+):[%s](.*)$") do
    if k == "volume" then mpd_state["{"..k.."}"] = v and tonumber(v)
    elseif k == "state" then mpd_state["{"..k.."}"] = helpers.capitalize(v)
    elseif k == "Artist" then mpd_state["{"..k.."}"] = helpers.escape(v)
    elseif k == "Title" then mpd_state["{"..k.."}"] = helpers.escape(v)
    elseif k == "Album" then mpd_state["{"..k.."}"] = helpers.escape(v)
    elseif k == "Genre" then mpd_state["{"..k.."}"] = helpers.escape(v)
    --elseif k == "Name" then mpd_state["{"..k.."}"] = helpers.escape(v)
    --elseif k == "file" then mpd_state["{"..k.."}"] = helpers.escape(v)
    end
    end
    end
    f:close()
    return mpd_state
    end
    return setmetatable(mpd, { __call = function(_, ...) return worker(...) end })
    I'm using Clementine to play the music if that makes a difference.
    Last edited by DisposableHero (2013-11-25 01:12:01)

    Hi,
    If the songs were purchased from itunes, I suggest that you delete the tracks from your itunes library and move to trash (providing you live in a country that permits redownloading). See http://support.apple.com/kb/PH12283.
    Jim

  • Skype 4.2.0.11 has abnormally high CPU usage while...

    Skype 4.2.0.11 has abnormally high CPU usage while idle.
    I can't get my laptop under 70 degrees celsius unless I cpulimit or quit skype, and cpulimiting it actually makes it completely unresponsive, as if some other thread is constantly generating a lot of work and taking priority over the UI thread.
    What the heck is skype doing? (And why do any of its threads need nice -10?) It takes up more CPU time than pulseaudio, truecrypt, and deluged combined.
    Its CPU usage is constantly between 5 and 50 percent*, it's absolutely horrible.
    *While idle. I'm unable to make calls.
    I know this is expected from a linux user, but for all I know, Skype is malware. It's not open-source, so I can't find out for myself, and there are no open-source alternatives so the frankly shameful amount of bugs I encounter in Skype will never be fixed.
    There are several bugs I'd love to be fixed in Skype, but first, PLEASE, optimize your code. It's absolutely horriffic at the moment.

    Attached are statistics from my desktop over approximately a 24 hour period for the processes shown (other than firefox and adb).
    Pulseaudio tops skype this time but that's because I've had music playing through mpd for a few hours. Skype uses more than 16 times the CPU that pidgin does, and almost double the RAM! RAM isn't shown in the screenshot but take my word for it. Bear in mind that I haven't taken (or made) any calls in this period of time, and pidgin has been signed into three different services and using encrypted chat.
    I really wish that at least the protocol would be documented so someone could work around this, at the moment I don't think the guys writing skype realize just how unstable the linux port is. At least it's better than the Android port.
    [Edit for those unfamiliar with linux processes: "TIME" is the cumulative time that the program has been scheduled for on any core, effectively making it a measure of total CPU usage for a given time period]
    Attachments:
    2014-06-22-233238_530x119_scrot.png ‏9 KB

  • [SOLVED]MPD, PulseAudio & Systemd/User

    Since the advent of skype 4.3 I've had to switch to using pulseaudio. Things seems to be working fine except for the interaction between pulseaudio and mpd. My goal is to attain the same functionality as I had before when I was just using alsa. The main problem seems to be that the mpd daemon starts before pulseaudio. This means that when I reboot, for example, my music doesn't automatically keep playing. However if I toggle mpc (or open ncmpcpp and unpause) then it works fine.
    What I have done
    1) I installed mpd using the script found on the wiki
    1a) copied ~/.config/mpd/mpd.conf to /etc/mpd.conf and uncomment #user line so it runs as my user
    1b) enabled the mpd service with systemctl so it starts on boot, as directed to from 1)
    2) Applied the workaround detailed here to make pulseaudio play nice with mpd
    From what I can understand this results in the mpd daemon using the /etc/mpd.conf file which mirrors my local one (but I think the process is still started as root?)
    If I don't do 2) then I get a problem where if I try to open pavucontrol I get an error saying I'm unable to connect and the system feels very unresponsive. Two second delays navigating around in thunar for example.
    fuser /dev/snd/* outputs
    » sudo fuser /dev/snd/*
    /dev/snd/controlC0: 440
    /dev/snd/controlC1: 440
    /dev/snd/pcmC0D0p: 440m
    » ps aux | grep 440
    quiv 440 1.2 0.1 495964 13248 ? Sl 15:16 0:05 /usr/bin/pulseaudio --start --log-target=syslog
    quiv 2259 0.0 0.0 11668 2296 pts/0 S+ 15:23 0:00 grep --color=auto 440
    For now I have added in
    if grep -q "state: pause" /home/quiv/.config/mpd/state; then
    mpc toggle
    fi
    to my ~/.xinitrc as a work around to get pulse and mpd to work together properly. However it doesn't seem to work all the time. If I leave my music playing then when I reboot the system with reboot it seems that somtimes the state is being saved as paused, and other times as play. I suppose I could just mpc toggle without checking, but I don't want a situation where if I happen to not be playing music that every time I reboot my music starts playing.
    Other things I have tried are;
    A) not using pulseaudio with mpd.
    B) not using systemd to manage mpd. Instead I manually started it in .xinitrc and pointed it to my ~/.config/mpd/mpd.conf file. I believe this means it runs as my own user instead of as root. When I did this I commented the username line and also undid 2) from above in ~/.config/mpd/mpd.conf
    The problem with A) is that if I use alsa with mpd, mpd hogs my soundcard. My card becomes unselectable in pavucontrol and I cannot use it with pulseaudio., meanng no skype. The benefit of doing this (this is how I used to do it before I needed pulseaudio) is I have no problems with mpd's state being saved incorrectly.
    The problem with B) is the mpdstate is saved incorrectly when for example I issue reboot. I can reproduce this by changing my currently played song then rebooting. When I boot back up mpd resumes playback from the previous session instead of recognizing the last thing I was playing. I had a search around on the forums and I found this issue which seems to describe what is happening. There doesn't seem to be a solution there instead a suggestion to user systemd (which I would like to do!) instead to manage mpd. Rasi's post details a unit file but I'm unsure what to do with this.
    Looking at the wiki it seems like maybe I am supposed to provide this file so that it overwrites the default mpd.service unit. So I followed the steps listed there. First I created the directory /etc/systemd/system/mpd.d/ then made the user.conf file inside. I tried just putting the additional arguments in
    [Service]
    User=YOUR_USER
    PAMName=system-local-login
    I also remember trying to overwrite the entire [Service] section of the original by using
    [Service]
    User=YOUR_USER
    PAMName=system-local-login
    ExecStart=
    ExecStart=/usr/bin/mpd --no-daemon
    because I think just adding the addtional parameters might not have worked. But I'm not sure on this point, maybe both ways worked. This seemed to work but I had the same problem as above. The state was still being saved incorrectly sometimes when I rebooted. I would get a previous session instead of the most recent change. So I tried the other method for overwriting systemd unit files and made the file /etc/systemd/system/mpd.service in which I pasted Rasi's entire unit file. This also seemed to work, but still the incorrect state problem happened.
    At this point I didn't know what to try. It seemed like the only option left was to set up mpd using a local configuration and setting up a systemd/User session and managing it that way. The wiki indiciated that if I did it this way I would not have to use the method 2) above. However I was/still am hesistant about doing this. I'm new to arch and the systemd/User wiki page seems very intimidating. I worry that I will create problems that I won't understand how to solve using this method just for the chance that mpd will function correclty with pulse. However I seemed to have exhausted all my possible options so I thought whatever I'll try it anyway! I'm certain I probably haven't done it right however.
    So once again I turned to the wiki to help me with setting this up. However I can't make sense of the article. I don't know if I should follow ONLY the Setup since systemd 206 or if I should follow both setup sections? I decided to follow only the first section. I use no DE so I commented out the
    [[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx
    line in my ~/.zprofile. When I set up my system I followed the Automatic login to virtual console. I left this file alone, but upon second thoughts maybe I should have disabled this too? I don't understand if using xlogin-git to austoart Xorg, as described in the systemd/User page, requires me to get rid of this too. I think xlogin-git just starts Xorg so automatic login via getty should be fine?
    Immediately when I boot in using systemd to manage my session I notice that there are problems. I don't think my environment variables are being sourced from .zshenv because my panel fails to load. If I kill the panel and load it again it works. This makes me think there is something wrong with the order of units started with systemd.
    » sudo journalctl --this-boot --no-pager | grep -i panel ~
    Jul 05 16:25:39 lorelai bash[494]: /home/quiv/.config/bspwm/panel/panel: line 16: : No such file or directory
    Jul 05 16:25:39 lorelai bash[494]: /home/quiv/.config/bspwm/panel/panel: line 17: : No such file or directory
    Jul 05 16:25:39 lorelai bash[494]: /home/quiv/.config/bspwm/panel/panel: line 18: : No such file or directory
    In each instance panel is trying to do things based on $PANEL_FIFO which is exported from ~/.zshenv but it doesn't appear to be set at the time systemd starts things up. Apart from these problems, which are probably undoubtedly due to the fact I failed to set up systemd/User properly, I still have problems with mpd. The state seems to be remembered correctly now, however when I reboot I still have to toggle mpc for it to start playback. It seems to be the same problem as when I use setup detailed intially. I suspect perhaps once again there is something wrong with the order here. MPD starts before pulse so it doesn't find anything to play through, then once I issue the mpc toggle command pulse is started and all is happy.
    A final note is that I was getting this error yesterday when using systemd/User
    ● mpd.service - Music Player Daemon
    Loaded: loaded (/usr/lib/systemd/system/mpd.service; enabled)
    Active: inactive (dead)
    Jul 05 03:11:41 lorelai pulseaudio[450]: [pulseaudio] module-jackdbus-detect.c: Unable to contact D-Bus session bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
    Jul 05 03:11:41 lorelai pulseaudio[450]: [pulseaudio] module.c: Failed to load module "module-jackdbus-detect" (argument: "channels=2"): initialization failed.
    Jul 05 03:11:41 lorelai pulseaudio[450]: [pulseaudio] main.c: Module load failed.
    Jul 05 03:13:35 lorelai systemd[1]: Stopping Music Player Daemon...
    Jul 05 03:13:35 lorelai systemd[1]: Stopped Music Player Daemon.
    but it doesn't seem to happen anymore.
    Also I have no idea if I'm even supposed to use it like this but
    » sudo systemctl --user enable mpd ~
    Failed to get D-Bus connection: Connection refused
    I tried this because I was wondering if mpd was even using the correct service when using systemd/User. I thought perhaps it just was using the one in /etc/systemd/system/ instead of /usr/lib/systemd/user/. I'm still not sure about this.
    In the end I've exhausted whatever I can think of. I'm sure I've done a lot of things wrong but I tried my best. Hopefully somebody knows what I've done wrong and can help me.
    ~/.config/mpd/mpd.conf
    # An example configuration file for MPD.
    # Read the user manual for documentation: http://www.musicpd.org/doc/user/
    # 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. This
    # setting defaults to the XDG directory, otherwise the music directory will be
    # be disabled and audio files will only be accepted over ipc socket (using
    # file:// protocol) or streaming files over an accepted protocol.
    music_directory "~/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. This setting defaults to playlist saving being disabled.
    playlist_directory "~/.config/mpd/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. This setting defaults to disabled which will allow
    # MPD to accept files over ipc socket (using file:// protocol) or streaming
    # files over an accepted protocol.
    db_file "~/.config/mpd/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. This
    # setting defaults to logging to syslog, otherwise logging is disabled.
    log_file "~/.config/mpd/log"
    # 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 and the pid file will not be stored.
    pid_file "~/.config/mpd/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 and the server
    # state will be reset on server start up.
    state_file "~/.config/mpd/state"
    # The location of the sticker database. This is a database which
    # manages dynamic information attached to songs.
    sticker_file "~/.config/mpd/sticker.sql"
    # General music daemon options ################################################
    # This setting specifies the user that MPD will run as. MPD should never run as
    # root and you may use this setting to make MPD change its user ID after
    # initialization. This setting is disabled by default and MPD is run as the
    # current user.
    #user "quiv"
    # This setting specifies the group that MPD will run as. If not specified
    # primary group of user specified with "user" setting will be used (if set).
    # This is useful if MPD needs to be a member of group such as "audio" to
    # have permission to use sound card.
    #group "nogroup"
    # 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 "127.0.0.1"
    # And for Unix Socket
    bind_to_address "~/.config/mpd/socket"
    # This setting is the TCP port that is desired for the daemon to get assigned
    # to.
    port "6600"
    # 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"
    # Setting "restore_paused" to "yes" puts MPD into pause mode instead
    # of starting playback after startup.
    #restore_paused "no"
    # 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. The complete list of possible values can be
    # found in the mpd.conf man page.
    #metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc"
    # This setting enables automatic update of MPD's database when files in
    # music_directory are changed.
    auto_update "yes"
    # Limit the depth of the directories being watched, 0 means only watch
    # the music directory itself. There is no limit by default.
    auto_update_depth "3"
    # 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 "Music Player"
    # 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 "password@read,add,control,admin"
    # This setting specifies the permissions a user has who has not yet logged in.
    #default_permissions "read,add,control,admin"
    # Database #######################################################################
    #database {
    # plugin "proxy"
    # host "other.mpd.host"
    # port "6600"
    # Input #######################################################################
    input {
    plugin "curl"
    proxy "proxy.isp.com:8080"
    proxy_user "user"
    proxy_password "password"
    # 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.
    # An example of an ALSA output:
    #audio_output {
    # type "alsa"
    # name "My ALSA Device"
    ## device "hw:0,0" # optional
    ## mixer_type "hardware" # optional
    ## mixer_device "default" # optional
    ## mixer_control "PCM" # optional
    ## mixer_index "0" # optional
    audio_output {
    type "pulse"
    name "pulse audio"
    format "48000:16:2"
    ## server "127.0.0.1"
    ## sink "remote_server_sink" # optional
    # An example of an OSS output:
    #audio_output {
    # type "oss"
    # name "My OSS Device"
    ## device "/dev/dsp" # optional
    ## mixer_type "hardware" # optional
    ## mixer_device "/dev/mixer" # optional
    ## mixer_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
    ## url "http://example.com" # optional
    ## genre "jazz" # optional
    ## public "no" # optional
    ## timeout "2" # optional
    ## mixer_type "software" # optional
    # An example of a recorder output:
    #audio_output {
    # type "recorder"
    # name "My recorder"
    # encoder "vorbis" # optional, vorbis or lame
    # path "/var/lib/mpd/recorder/mpd.ogg"
    ## quality "5.0" # do not define if bitrate is defined
    # bitrate "128" # do not define if quality is defined
    # format "44100:16:1"
    # An example of a httpd output (built-in HTTP streaming server):
    #audio_output {
    # type "httpd"
    # name "My HTTP Stream"
    # encoder "vorbis" # optional, vorbis or lame
    # port "8000"
    # bind_to_address "0.0.0.0" # optional, IPv4 or IPv6
    ## quality "5.0" # do not define if bitrate is defined
    # bitrate "128" # do not define if quality is defined
    # format "44100:16:1"
    # max_clients "0" # optional 0=no limit
    # An example of a pulseaudio output (streaming to a remote pulseaudio server)
    #audio_output {
    # type "pulse"
    # name "My Pulse Output"
    ## server "remote_server" # optional
    ## sink "remote_server_sink" # optional
    # An example of a winmm output (Windows multimedia API).
    #audio_output {
    # type "winmm"
    # name "My WinMM output"
    ## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
    # or
    ## device "0" # optional
    ## mixer_type "hardware" # optional
    # An example of an openal output.
    #audio_output {
    # type "openal"
    # name "My OpenAL output"
    ## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
    ## Example "pipe" output:
    #audio_output {
    # type "pipe"
    # name "my pipe"
    # command "aplay -f cd 2>/dev/null"
    ## Or if you're want to use AudioCompress
    # command "AudioCompress -m | aplay -f cd 2>/dev/null"
    ## Or to send raw PCM stream through PCM:
    # command "nc example.org 8765"
    # format "44100:16:2"
    ## An example of a null output (for no audio output):
    #audio_output {
    # type "null"
    # name "My Null Output"
    # mixer_type "none" # optional
    # 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"
    # Normalization automatic volume adjustments ##################################
    # This setting specifies the type of ReplayGain to use. This setting can have
    # the argument "off", "album", "track" or "auto". "auto" is a special mode that
    # chooses between "track" and "album" depending on the current state of
    # random playback. If random playback is enabled then "track" mode is used.
    # See <http://www.replaygain.org> for more details about ReplayGain.
    # This setting is off by default.
    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 sets the pre-amp used for files that do NOT have ReplayGain tags.
    # By default this setting is disabled.
    #replaygain_missing_preamp "0"
    # This setting enables or disables ReplayGain limiting.
    # MPD calculates actual amplification based on the ReplayGain tags
    # and replaygain_preamp / replaygain_missing_preamp setting.
    # If replaygain_limit is enabled MPD will never amplify audio signal
    # above its original level. If replaygain_limit is disabled such amplification
    # might occur. By default this setting is enabled.
    #replaygain_limit "yes"
    # 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". This setting is disabled by default.
    #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 "4096"
    # 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%"
    # 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 "16384"
    #max_command_list_size "2048"
    #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.
    #filesystem_charset "UTF-8"
    # This setting controls the encoding that ID3v1 tags should be converted from.
    #id3v1_encoding "ISO-8859-1"
    # SIDPlay decoder #############################################################
    # songlength_database:
    # Location of your songlengths file, as distributed with the HVSC.
    # The sidplay plugin checks this for matching MD5 fingerprints.
    # See http://www.c64.org/HVSC/DOCUMENTS/Songlengths.faq
    # default_songlength:
    # This is the default playing time in seconds for songs not in the
    # songlength database, or in case you're not using a database.
    # A value of 0 means play indefinitely.
    # filter:
    # Turns the SID filter emulation on or off.
    #decoder {
    # plugin "sidplay"
    # songlength_database "/media/C64Music/DOCUMENTS/Songlengths.txt"
    # default_songlength "120"
    # filter "true"
    /etc/mpd.config
    # An example configuration file for MPD.
    # Read the user manual for documentation: http://www.musicpd.org/doc/user/
    # 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. This
    # setting defaults to the XDG directory, otherwise the music directory will be
    # be disabled and audio files will only be accepted over ipc socket (using
    # file:// protocol) or streaming files over an accepted protocol.
    music_directory "~/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. This setting defaults to playlist saving being disabled.
    playlist_directory "~/.config/mpd/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. This setting defaults to disabled which will allow
    # MPD to accept files over ipc socket (using file:// protocol) or streaming
    # files over an accepted protocol.
    db_file "~/.config/mpd/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. This
    # setting defaults to logging to syslog, otherwise logging is disabled.
    log_file "~/.config/mpd/log"
    # 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 and the pid file will not be stored.
    pid_file "~/.config/mpd/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 and the server
    # state will be reset on server start up.
    state_file "~/.config/mpd/state"
    # The location of the sticker database. This is a database which
    # manages dynamic information attached to songs.
    sticker_file "~/.config/mpd/sticker.sql"
    # General music daemon options ################################################
    # This setting specifies the user that MPD will run as. MPD should never run as
    # root and you may use this setting to make MPD change its user ID after
    # initialization. This setting is disabled by default and MPD is run as the
    # current user.
    user "quiv"
    # This setting specifies the group that MPD will run as. If not specified
    # primary group of user specified with "user" setting will be used (if set).
    # This is useful if MPD needs to be a member of group such as "audio" to
    # have permission to use sound card.
    #group "nogroup"
    # 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 "127.0.0.1"
    # And for Unix Socket
    bind_to_address "~/.config/mpd/socket"
    # This setting is the TCP port that is desired for the daemon to get assigned
    # to.
    port "6600"
    # 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"
    # Setting "restore_paused" to "yes" puts MPD into pause mode instead
    # of starting playback after startup.
    #restore_paused "no"
    # 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. The complete list of possible values can be
    # found in the mpd.conf man page.
    #metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc"
    # This setting enables automatic update of MPD's database when files in
    # music_directory are changed.
    auto_update "yes"
    # Limit the depth of the directories being watched, 0 means only watch
    # the music directory itself. There is no limit by default.
    auto_update_depth "3"
    # 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 "Music Player"
    # 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 "password@read,add,control,admin"
    # This setting specifies the permissions a user has who has not yet logged in.
    #default_permissions "read,add,control,admin"
    # Database #######################################################################
    #database {
    # plugin "proxy"
    # host "other.mpd.host"
    # port "6600"
    # Input #######################################################################
    input {
    plugin "curl"
    proxy "proxy.isp.com:8080"
    proxy_user "user"
    proxy_password "password"
    # 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.
    # An example of an ALSA output:
    #audio_output {
    # type "alsa"
    # name "My ALSA Device"
    ## device "hw:0,0" # optional
    ## mixer_type "hardware" # optional
    ## mixer_device "default" # optional
    ## mixer_control "PCM" # optional
    ## mixer_index "0" # optional
    audio_output {
    type "pulse"
    name "pulse audio"
    format "48000:16:2"
    server "127.0.0.1"
    ## sink "remote_server_sink" # optional
    # An example of an OSS output:
    #audio_output {
    # type "oss"
    # name "My OSS Device"
    ## device "/dev/dsp" # optional
    ## mixer_type "hardware" # optional
    ## mixer_device "/dev/mixer" # optional
    ## mixer_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
    ## url "http://example.com" # optional
    ## genre "jazz" # optional
    ## public "no" # optional
    ## timeout "2" # optional
    ## mixer_type "software" # optional
    # An example of a recorder output:
    #audio_output {
    # type "recorder"
    # name "My recorder"
    # encoder "vorbis" # optional, vorbis or lame
    # path "/var/lib/mpd/recorder/mpd.ogg"
    ## quality "5.0" # do not define if bitrate is defined
    # bitrate "128" # do not define if quality is defined
    # format "44100:16:1"
    # An example of a httpd output (built-in HTTP streaming server):
    #audio_output {
    # type "httpd"
    # name "My HTTP Stream"
    # encoder "vorbis" # optional, vorbis or lame
    # port "8000"
    # bind_to_address "0.0.0.0" # optional, IPv4 or IPv6
    ## quality "5.0" # do not define if bitrate is defined
    # bitrate "128" # do not define if quality is defined
    # format "44100:16:1"
    # max_clients "0" # optional 0=no limit
    # An example of a pulseaudio output (streaming to a remote pulseaudio server)
    #audio_output {
    # type "pulse"
    # name "My Pulse Output"
    ## server "remote_server" # optional
    ## sink "remote_server_sink" # optional
    # An example of a winmm output (Windows multimedia API).
    #audio_output {
    # type "winmm"
    # name "My WinMM output"
    ## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
    # or
    ## device "0" # optional
    ## mixer_type "hardware" # optional
    # An example of an openal output.
    #audio_output {
    # type "openal"
    # name "My OpenAL output"
    ## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
    ## Example "pipe" output:
    #audio_output {
    # type "pipe"
    # name "my pipe"
    # command "aplay -f cd 2>/dev/null"
    ## Or if you're want to use AudioCompress
    # command "AudioCompress -m | aplay -f cd 2>/dev/null"
    ## Or to send raw PCM stream through PCM:
    # command "nc example.org 8765"
    # format "44100:16:2"
    ## An example of a null output (for no audio output):
    #audio_output {
    # type "null"
    # name "My Null Output"
    # mixer_type "none" # optional
    # 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"
    # Normalization automatic volume adjustments ##################################
    # This setting specifies the type of ReplayGain to use. This setting can have
    # the argument "off", "album", "track" or "auto". "auto" is a special mode that
    # chooses between "track" and "album" depending on the current state of
    # random playback. If random playback is enabled then "track" mode is used.
    # See <http://www.replaygain.org> for more details about ReplayGain.
    # This setting is off by default.
    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 sets the pre-amp used for files that do NOT have ReplayGain tags.
    # By default this setting is disabled.
    #replaygain_missing_preamp "0"
    # This setting enables or disables ReplayGain limiting.
    # MPD calculates actual amplification based on the ReplayGain tags
    # and replaygain_preamp / replaygain_missing_preamp setting.
    # If replaygain_limit is enabled MPD will never amplify audio signal
    # above its original level. If replaygain_limit is disabled such amplification
    # might occur. By default this setting is enabled.
    #replaygain_limit "yes"
    # 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". This setting is disabled by default.
    #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 "4096"
    # 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%"
    # 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 "16384"
    #max_command_list_size "2048"
    #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.
    #filesystem_charset "UTF-8"
    # This setting controls the encoding that ID3v1 tags should be converted from.
    #id3v1_encoding "ISO-8859-1"
    # SIDPlay decoder #############################################################
    # songlength_database:
    # Location of your songlengths file, as distributed with the HVSC.
    # The sidplay plugin checks this for matching MD5 fingerprints.
    # See http://www.c64.org/HVSC/DOCUMENTS/Songlengths.faq
    # default_songlength:
    # This is the default playing time in seconds for songs not in the
    # songlength database, or in case you're not using a database.
    # A value of 0 means play indefinitely.
    # filter:
    # Turns the SID filter emulation on or off.
    #decoder {
    # plugin "sidplay"
    # songlength_database "/media/C64Music/DOCUMENTS/Songlengths.txt"
    # default_songlength "120"
    # filter "true"
    /etc/X11/xinit/xinitrc.d/pulseaudio [not sure if I even need this?]
    #!/bin/bash
    case "$DESKTOP_SESSION" in
    gnome|kde*|xfce*) # PulseAudio is started via XDG Autostart
    # Extra checks in case DESKTOP_SESSION is not set correctly
    if [[ -z $KDE_FULL_SESSION && -z $GNOME_DESKTOP_SESSION_ID ]]; then
    /usr/bin/start-pulseaudio-x11
    fi
    esac
    /etc/pulse/daemon.conf
    # This file is part of PulseAudio.
    # PulseAudio is free software; you can redistribute it and/or modify
    # it under the terms of the GNU Lesser General Public License as published by
    # the Free Software Foundation; either version 2 of the License, or
    # (at your option) any later version.
    # PulseAudio is distributed in the hope that it will be useful, but
    # WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    # General Public License for more details.
    # You should have received a copy of the GNU Lesser General Public License
    # along with PulseAudio; if not, write to the Free Software
    # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
    # USA.
    ## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for
    ## more information. Default values are commented out. Use either ; or # for
    ## commenting.
    ; daemonize = no
    ; fail = yes
    ; allow-module-loading = yes
    ; allow-exit = yes
    ; use-pid-file = yes
    ; system-instance = no
    ; local-server-type = user
    ; enable-shm = yes
    ; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB
    ; lock-memory = no
    ; cpu-limit = no
    ; high-priority = yes
    ; nice-level = -11
    ; realtime-scheduling = yes
    ; realtime-priority = 5
    exit-idle-time=0
    ; exit-idle-time = 20
    ; scache-idle-time = 20
    ; dl-search-path = (depends on architecture)
    ; load-default-script-file = yes
    ; default-script-file = /etc/pulse/default.pa
    ; log-target = auto
    log-level = error
    ; log-meta = no
    ; log-time = no
    ; log-backtrace = 0
    resample-method = speex-float-7
    ; enable-remixing = yes
    ; enable-lfe-remixing = no
    flat-volumes = no
    ; rlimit-fsize = -1
    ; rlimit-data = -1
    ; rlimit-stack = -1
    ; rlimit-core = -1
    ; rlimit-as = -1
    ; rlimit-rss = -1
    ; rlimit-nproc = -1
    ; rlimit-nofile = 256
    ; rlimit-memlock = -1
    ; rlimit-locks = -1
    ; rlimit-sigpending = -1
    ; rlimit-msgqueue = -1
    ; rlimit-nice = 31
    ; rlimit-rtprio = 9
    ; rlimit-rttime = 1000000
    default-sample-format = s24le
    default-sample-rate = 48000
    ; alternate-sample-rate = 48000
    ; default-sample-channels = 2
    ; default-channel-map = front-left,front-right
    default-fragments = 2
    default-fragment-size-msec = 76
    ; enable-deferred-volume = yes
    ; deferred-volume-safety-margin-usec = 8000
    ; deferred-volume-extra-delay-usec = 0
    /etc/pulse/default.pa
    #!/usr/bin/pulseaudio -nF
    # This file is part of PulseAudio.
    # PulseAudio is free software; you can redistribute it and/or modify it
    # under the terms of the GNU Lesser General Public License as published by
    # the Free Software Foundation; either version 2 of the License, or
    # (at your option) any later version.
    # PulseAudio is distributed in the hope that it will be useful, but
    # WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    # General Public License for more details.
    # You should have received a copy of the GNU Lesser General Public License
    # along with PulseAudio; if not, write to the Free Software Foundation,
    # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
    # This startup script is used only if PulseAudio is started per-user
    # (i.e. not in system mode)
    .nofail
    ### Load something into the sample cache
    #load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav
    #load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav
    #load-sample-lazy pulse-coldplug /usr/share/sounds/startup3.wav
    #load-sample-lazy pulse-access /usr/share/sounds/generic.wav
    .fail
    ### Automatically restore the volume of streams and devices
    load-module module-device-restore
    load-module module-stream-restore
    load-module module-card-restore
    ### Automatically augment property information from .desktop files
    ### stored in /usr/share/application
    load-module module-augment-properties
    ### Should be after module-*-restore but before module-*-detect
    load-module module-switch-on-port-available
    ### Load audio drivers statically
    ### (it's probably better to not load these drivers manually, but instead
    ### use module-udev-detect -- see below -- for doing this automatically)
    #load-module module-alsa-sink
    #load-module module-alsa-source device=hw:1,0
    #load-module module-oss device="/dev/dsp" sink_name=output source_name=input
    #load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
    #load-module module-null-sink
    #load-module module-pipe-sink
    ### Automatically load driver modules depending on the hardware available
    .ifexists module-udev-detect.so
    load-module module-udev-detect
    .else
    ### Use the static hardware detection module (for systems that lack udev support)
    load-module module-detect
    .endif
    ### Automatically connect sink and source if JACK server is present
    .ifexists module-jackdbus-detect.so
    .nofail
    load-module module-jackdbus-detect channels=2
    .fail
    .endif
    ### Automatically load driver modules for Bluetooth hardware
    #.ifexists module-bluetooth-policy.so
    #load-module module-bluetooth-policy
    #.endif
    #.ifexists module-bluetooth-discover.so
    #load-module module-bluetooth-discover
    #.endif
    ### Load several protocols
    .ifexists module-esound-protocol-unix.so
    load-module module-esound-protocol-unix
    .endif
    load-module module-native-protocol-unix
    ### Network access (may be configured with paprefs, so leave this commented
    ### here if you plan to use paprefs)
    #load-module module-esound-protocol-tcp
    load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1
    #load-module module-zeroconf-publish
    ### Load the RTP receiver module (also configured via paprefs, see above)
    #load-module module-rtp-recv
    ### Load the RTP sender module (also configured via paprefs, see above)
    #load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'"
    #load-module module-rtp-send source=rtp.monitor
    ### Load additional modules from GConf settings. This can be configured with the paprefs tool.
    ### Please keep in mind that the modules configured by paprefs might conflict with manually
    ### loaded modules.
    .ifexists module-gconf.so
    .nofail
    load-module module-gconf
    .fail
    .endif
    ### Automatically restore the default sink/source when changed by the user
    ### during runtime
    ### NOTE: This should be loaded as early as possible so that subsequent modules
    ### that look up the default sink/source get the right value
    load-module module-default-device-restore
    ### Automatically move streams to the default sink if the sink they are
    ### connected to dies, similar for sources
    load-module module-rescue-streams
    ### Make sure we always have a sink around, even if it is a null sink.
    load-module module-always-sink
    ### Honour intended role device property
    load-module module-intended-roles
    ### Automatically suspend sinks/sources that become idle for too long
    load-module module-suspend-on-idle
    ### If autoexit on idle is enabled we want to make sure we only quit
    ### when no local session needs us anymore.
    .ifexists module-console-kit.so
    load-module module-console-kit
    .endif
    .ifexists module-systemd-login.so
    load-module module-systemd-login
    .endif
    ### Enable positioned event sounds
    load-module module-position-event-sounds
    ### Cork music/video streams when a phone stream is active
    load-module module-role-cork
    ### Modules to allow autoloading of filters (such as echo cancellation)
    ### on demand. module-filter-heuristics tries to determine what filters
    ### make sense, and module-filter-apply does the heavy-lifting of
    ### loading modules and rerouting streams.
    load-module module-filter-heuristics
    load-module module-filter-apply
    # X11 modules should not be started from default.pa so that one daemon
    # can be shared by multiple sessions.
    ### Load X11 bell module
    #load-module module-x11-bell sample=bell-windowing-system
    ### Register ourselves in the X11 session manager
    #load-module module-x11-xsmp
    ### Publish connection data in the X11 root window
    #.ifexists module-x11-publish.so
    #.nofail
    #load-module module-x11-publish
    #.fail
    #.endif
    ### Make some devices default
    #set-default-sink output
    #set-default-source input
    ~/.xinitrc [currently using daemon mpd]
    #!/bin/sh
    # ~/.xinitrc
    # Executed by startx (run your window manager from here)
    if [ -d /etc/X11/xinit/xinitrc.d ]; then
    for f in /etc/X11/xinit/xinitrc.d/*; do
    [ -x "$f" ] && . "$f"
    done
    unset f
    fi
    #if grep -q "state: pause" /home/quiv/.config/mpd/state; then
    # mpc toggle
    #fi
    #mpd ~/.config/mpd/mpd.conf
    ~/.config/bspwm/panel/notify_mpd
    xrdb ~/.Xresources
    xset +fp ~/.fonts
    xset +fp /usr/share/fonts/misc
    xset fp rehash
    xsetroot -cursor_name left_ptr &
    # imlibsetroot -x e -s f /home/quiv/Pictures/bloom_one_desktop.jpg
    sh ~/.fehbg &
    compton -CGb --backend glx --paint-on-overlay --vsync opengl-swc &
    # exec gnome-session
    # exec startkde
    # exec startxfce4
    # ...or the Window Manager of your choice
    sxhkd &
    exec bspwm
    ~/.zprofile [currently trying to use systemd/User]
    #[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx
    EDIT:A small update; it seems I don't need to have /etc/systemd/system/[email protected]/autologin.conf when using systemd to manag my user session as I removed it and I'm both automatically logged on and in X-session.
    Last edited by quiv (2014-07-05 13:40:30)

    o_caino wrote:
    Setting mpd as a systemd user service is very simple. This is what I did.
    In ~/.config/systemd/user/mpd.service
    [Unit]
    Description=Music Player Daemon
    After=network.target sound.target
    [Service]
    ExecStart=/usr/bin/mpd --no-daemon
    ExecStop=/usr/bin/mpd --kill
    [Install]
    WantedBy=default.target
    To enable
    systemctl --user enable mpd
    Done.
    Well shit. I guess I didn't need to do all that other stuff. I only wish I'd known about this before wasting most of my day. Thank you very much, everything appears to be working flawlessly now.

  • @Skype users: What's your (working) config?

    Sorry for this extra-thread, but I'm not able to skype with friends because they never hear me.
    Here is my config: ALSA with /etc/asound.conf + /etc/libao.conf
    Listening to mpd, watching a movie in mplayer + a flash-clip in opera works wonderfully (thanks to "aoss opera").
    There are 3 methods to start skype (from cmdline):
    1. plain old "skype"
    2. "aoss skype"
    3. skype_dsp_hijacker
    Neither of them changes the result that i hear the ringing if I call a friend, but they can't hear me.
    The permissions on my /dev/dsp
    lrwxrwxrwx 1 root root 9 11. Mai 13:55 /dev/dsp -> sound/dsp
    crw-rw---- 1 root audio 14, 3 11. Mai 13:55 /dev/sound/dsp
    Of course, my user IS in the audio-group.
    what do I do wrong?

    I have them in my custom kernel
    CONFIG_SND=y
    CONFIG_SND_TIMER=y
    CONFIG_SND_PCM=y
    CONFIG_SND_RAWMIDI=y
    CONFIG_SND_SEQUENCER=y
    CONFIG_SND_OSSEMUL=y
    CONFIG_SND_MIXER_OSS=y
    CONFIG_SND_PCM_OSS=y
    CONFIG_SND_SEQUENCER_OSS=y
    CONFIG_SND_SUPPORT_OLD_API=y
    # Generic devices
    CONFIG_SND_MPU401_UART=m
    CONFIG_SND_AC97_CODEC=m
    CONFIG_SND_AC97_BUS=m
    # PCI devices
    CONFIG_SND_ENS1370=y
    CONFIG_SND_VIA82XX=m
    OSS-Emulation (with alsa) seems to work since (as already said  ) i CAN listen to mpd and watch flash-movies in opera (when i started opera with "aoss opera").
    I've played with oss2jack before I got dmix working, but had no success with it. I may try it again...

  • Mpd + client or a simple music app

    I was trying to weigh the advantages of using mpd + a client (ncmpc) as against cplay
    I use the mpd + ncmpc on my Arch partition but cplay on my debian + fluxbox partition.
    What would be the advantages of using mpd? I do plan to connect to this machine (connected to my music system) using another machine, but I can also do that via ssh and controlling cplay which i always start with screen.
    What I am trying to get at is...what does mpd give me additionally?

    Stythys wrote:mpd gives you a lighter weight client that uses less resources.
    On the contrary ..mpg123 - used by cplay uses a lot less memory than mpd + ncmpc combined. Here's my ps_mem.py output
    bash-3.2# python ps_mem.py
    Private + Shared = RAM used Program
    88.0 KiB + 19.0 KiB = 107.0 KiB crond
    92.0 KiB + 19.0 KiB = 111.0 KiB init
    92.0 KiB + 29.5 KiB = 121.5 KiB portmap
    104.0 KiB + 55.0 KiB = 159.0 KiB hald-addon-acpi
    140.0 KiB + 39.0 KiB = 179.0 KiB xinit
    140.0 KiB + 89.0 KiB = 229.0 KiB hald-addon-input
    144.0 KiB + 93.0 KiB = 237.0 KiB hald-addon-storage
    204.0 KiB + 38.0 KiB = 242.0 KiB dbus-launch
    228.0 KiB + 15.0 KiB = 243.0 KiB udevd
    160.0 KiB + 85.0 KiB = 245.0 KiB su
    160.0 KiB + 86.0 KiB = 246.0 KiB hald-runner
    256.0 KiB + 55.0 KiB = 311.0 KiB famd
    300.0 KiB + 100.0 KiB = 400.0 KiB agetty (5)
    288.0 KiB + 126.5 KiB = 414.5 KiB startx
    352.0 KiB + 93.5 KiB = 445.5 KiB sshd
    412.0 KiB + 37.0 KiB = 449.0 KiB syslog-ng
    360.0 KiB + 99.0 KiB = 459.0 KiB login
    228.0 KiB + 284.0 KiB = 512.0 KiB dbus-daemon (2)
    408.0 KiB + 145.0 KiB = 553.0 KiB htop
    264.0 KiB + 292.5 KiB = 556.5 KiB openbox-session (3)
    592.0 KiB + 68.0 KiB = 660.0 KiB ncmpc
    780.0 KiB + 33.0 KiB = 813.0 KiB mpg123
    636.0 KiB + 244.0 KiB = 880.0 KiB hald-addon-dell-backlight
    956.0 KiB + 276.0 KiB = 1.2 MiB conky
    1.8 MiB + 159.5 KiB = 2.0 MiB hald
    1.6 MiB + 601.5 KiB = 2.2 MiB bash (4)
    2.7 MiB + 614.5 KiB = 3.3 MiB python2.5
    3.1 MiB + 2.1 MiB = 5.3 MiB fbpanel
    8.7 MiB + 790.5 KiB = 9.5 MiB openbox
    6.6 MiB + 3.2 MiB = 9.8 MiB mpd (3)
    8.2 MiB + 1.9 MiB = 10.1 MiB urxvt (4)
    9.0 MiB + 2.2 MiB = 11.2 MiB pidgin
    21.6 MiB + 879.5 KiB = 22.4 MiB skype
    38.7 MiB + 1.1 MiB = 39.8 MiB Xorg
    53.0 MiB + 965.0 KiB = 53.9 MiB opera
    178.3 MiB
    =================================
    Private + Shared = RAM used Program
    If you check mpg123 takes about 813KB whereas mpd takes 9.8MB + 660KB for ncmpc. Of course I am not counting the urxvt which is running cplay and that's because there is another urxvt for ncmpc as well ..so I am negating those against each other - although they may or may not take the same amount of memory.
    htop tells me cplay takes 1.8 % mem and mpg123 takes 0.6%
    ncmpc takes 2% mem and mpd takes 2%, 2.2% and 1.5%
    For some reason - mpd shows 3 instances...but i just started it once
    Even when I kill all the pids of mpd and then issue mpd in the terminal - it immediately gives 3 pids to mpd. I checked using pidof mpd.
    All in all cplay seems to take a lot less memory on my system.
    Last edited by Inxsible (2008-07-12 00:50:47)

  • Yoga tablet 2 pro microphone does not work with Skype or Google+ hangout

    I have a new yoga tablet 2 pro, with most recent build and most recent version of skype for android.
    When using skype or hangout, the other party cannot hear me (unless I speak directly into built-in microphone hole from a few inches away).  The mike works fine with OK google, etc.  Skype and hangout also work well with earphone and external mike combo. 
    I think there is a problem with apps accessing microphone gain.......  is there a fix?
    thanks! 

    In order to assist my investigation into these reports, if you are still experiencing this issue could you please provide:
    the model number
    If the model is wifi/3G/LTE
    the OTA your device is running
    Thank you,
    Amy Tupper
    Technical Resolution Lead, Pervasive Issues
    Lenovo US
    ThinkPad T431s, S3 Yoga 14, Helix, Edge 11 & 14, E431, IdeaTab A1107, IdeaPad A1-07, IdeaCentre Horizon, Yoga Tablet 2 10 1051
    First computer was a 1980 Commodore 64 from Radio Shack/ GEnie SFRT member from 1993-1996

  • Skype hangs when I login with my ID

    Hi
    I have two skype accounts. One for office and one personal. Till yesterday I was able to use both. Today am able to login to skype using my office ID but when I login using my personal skype ID ([Removed for privacy]) skype stops responding. I am able to login using this ID on my phone. I uninstalled and installed skype again, changed my password, but nothing seems to work. Please look into this issue.
    I can also login to skype.com using this ID and post this topic.
    Thanks
    Ajeesh

    Try to reset all Skype settings.
    Quit Skype or use Windows Task Manager to kill any Skype.exe process. Go to Windows Start and in the Search/Run box type %appdata% and then press Enter or click the OK button. The Windows File Explorer will pop up. There locate a folder named “Skype”. Rename this folder to something different, e.g. Skype_old.
    If you are on the latest Skype 6.5/6.6/6.7/6.9/6.10/6.11/6.13/6.14 version, then do also this:
    Go to Windows Start and in the Search/Run box type %temp%\skype and then press Enter or click the OK button. Delete the DbTemp folder.
    Restart Skype.
    N.B. If needed, you will still be able to re-establish your call and chat history. All data is still saved in the Skype_old folder.

  • When i login to my mac, it opens iTunes, Skype and AIM. I've tried deleting these from the login items, but they are not on the list.  Can anyone help?

    When i login to my mac, it opens iTunes, Skype and AIM. I've tried deleting these from the login items, but they are not on the list.  Can anyone help?

    babowa wrote:
    If you do not lock that folder immediately after deleting all the contents, it will simply populate again (Resume - a "feature" in Lion). You do that by doing a Get Info (highlight folder and press Command + I keys), unlock the lock at the bottom, enter your admin password, then check the box to lock the folder. lock the lock and you're done.
    Yes, that is correct. The alternative is to quit all applications prior to logging out. Lion will then have a chance to remove the saved states.
    babowa also wrote:
    And, for the OP:
    It has also been a regular feature of Mac OS to automatically open any window that was open at shutdown. To avoit that behavior, simply close any Finder windows and  properly quit applications by closing their window and using Command + Q (or File >Quit).
    This was true only for the Finder. Prior to Lion, no other apps would launch unless they were included in the Login Items for the account. And the OS would not restore windows for other apps.
    A very small number of apps (TextWrangler is an example) implemented this capability prior to Lion. They could restore previously opened windows. But that is an application feature, and can be controlled by the application's preferences. Lion implements it at the system level, and users have virtually no control on a per application basis.

  • Facebook and skype notifications

    I have a lumia 920 and can't get fb and skype notifications work.
    The worked just after the installation of the apps, but then they stopped working.
    The apps are fine, I just don't see toast nor tile notifications.
    Any ideas? This isn't a borderline issue for a smartphone..
    Fabio

    I'm not talking about FB chat. That is ok on my phone.
    I'm referring to facebook notifications instead (comments, likes and so on):
    Me tile has too much limited functionalities (for instance no groups notifications..), thus I installed FB Microsoft app.
    In the app notifications are sometimes working. But most of the time I couldn't get them, even after a long time after their publishing.
    It seems to be a facebook app issue in this case, but is it possible on a smartphone to lack social functionalities like this? I'm not talking about minor socials web sites, but Facebook.
    The forum is plenty of topics describing exactly this issue, but no solutions yet.
    Does someone have any news?
    Fabio

  • How do I use face time to work with Skype users?

    How do I use facetime to teleconferfence with skype users ? or do I need a skype account ?

    FaceTime can not communicate with Skype users. You will need to download Skype.

  • How to use Skype on apple tv without iPad and iPhone

    im about to buy apple tv and i want to know if i can use skype on apple tv without using ipad or iphone.

    No.

  • Remote users of one Skype account

    Hi.
    I have a Skype account and have just added 2 new members to my team who will be working from home. Can I give them access to use my buisness Skype account to make calls form their own PCs in their own home or do I need to setup a new account with calls subscription for each of them on thier own machine?
    Any advice will be gratefully received.

    Hi, Language Angels, and welcome to the Community,
    I would strongly urge a review the Terms of Use and Fair Usage policies prior to proceeding:  http://www.skype.com/en/legal/
    Allowing multiple people to use one account is not only mentioned in the Terms of Use as not allowed, but could also find the account suspended as an anti-fraud measure.  Best to create new accounts and add the needed subscriptions and/or credit.   You might also research if Skype Manager would be useful:  http://www.skype.com/en/features/skype-manager/
    Best regards,
    Elaine
    Was your question answered? Please click on the Accept as a Solution link so everyone can quickly find what works! Like a post or want to say, "Thank You" - ?? Click on the Kudos button!
    Trustworthy information: Brian Krebs: 3 Basic Rules for Online Safety and Consumer Reports: Guide to Internet Security Online Safety Tip: Change your passwords often!

  • Windows 7 Crash (Blue Screen) with Skype 6.18 on H...

    Hi,
    I think a lot of people are having the same problem with Skype 6.18 on HP Pavilion notebooks.
    Windows 7 crashes during the auto-update or installation of 6.18 
    After about 3-4 hours of troubleshooting the Blue Screen / service exception error (in ks.sys) I discovered that it's caused by the HP HD Webcam [Fixed] driver (version is 6.0.1113.1 released 2012-11-20 (or 20-11-2012)).
    The driver is written by Sonix and is unlikely to be updated. So you have the choice of going back to an older version of Skype or disabling the webcam / driver through Device Manager. As soon as you disable the driver / device Skype will install / start - but of course you won't be able to use video during Skype calls.
    Hopefully Microsoft / Skype will fix the driver incompatibility in a future release.
    Skype Support - the issue is with the HP / Sonix driver - file is snp2uvc.sys
    There are similar issues reported with a previous version of the HP HD Webcam driver as well (SPUVCBv_x64.sys).
    Please fix it. I'd like to use video in calls again!

    The best working solution at this time is to download and install Skype 6.14 and disable updates.  If you still get prompts to upgrade you can ignore them and the program should continue to function as it has not been retired as of yet.  Hopefully there will be a resolution in a future Skype update or an updated driver from HP that might resolve the issue.
    http://community.skype.com/t5/Windows-desktop-client/BSOD-on-startup-and-installation/m-p/3511645/hi...

Maybe you are looking for

  • Windows 8.1 update, no calendar!

    I have a Nokia Lumia 520, Windows 8 phone. I upgraded to Windows 8.1, but now my calendar won't start /open. I tried to download the calendar update .247, it takes me to the app store, and shows me the details of the app, but there isn't an install b

  • Forms 6i error FRM-41351 Cannot navigate out of current form

    Does anybody know why this error occurs? I have an ordinary Forms 6i module, running in 2-tier (client-server) mode. When I try to do an EXIT_FORM, I get an error: "FRM-41351: Cannot navigate out of current form" My form is called from a top-level fo

  • A non-numeric character was found ...  iAS 8 & ora 8.1.6

    I have a problem in iAS 8 and Oracle 8.1.6 under windows 2000. The problem is calling nested packages using plql gateway, I mean I call one package and it call's another package, this operation throws " a non-numeric character was found where a numer

  • I keep being asked for my pop.mail password for my user address. Can you help please.

    I keep being asked for my pop.mail password and I do not know what is meant. Can you help. I cannot receive or send messages on thunderbird. You say you have sent a reset message to me but it has not come through. I am searching messages on my ipad.

  • Customize look

    Can you customize the sun secure desktop looks, where the application are in different area instead off the side like it is.