All pastes #1092496 Raw Edit

Something

public text v1 · immutable
#1092496 ·published 2008-08-04 13:41 UTC
rendered paste body
" VIMPD
" MPD client for VIM
" by Skippy the Kangoo <Skippythekangoo AT yahoo DOT fr>
" needed python-mpd library (http://pypi.python.org/pypi/python-mpd/)

if exists('loaded_plugin_vimpd')
    finish
endif
let loaded_plugin_vimpd = 1

if version < 700
    echo "vimpd.vim plugin requires Vim 7 or above" finish
endif

if !has('python')
    s:ErrMsg( "Error: Required vim compiled with +python" )
    finish
endif

python << EOF

import mpd

class MPD(object):

    def __init__(self):
	self.host = "localhost"
	self.port = 6600
	self.client = mpd.MPDClient()

    def connect(self):
	self.client.connect(self.host, self.port)

    def disconnect(self):
	self.client.disconnect()

    def play(self):
	self.client.play()

    def pause(self):
	self.client.pause()

    def next(self):
	self.client.next()

    def previous(self):
	self.client.previous()

mpdClient = MPD()

import vim

def connect():
    try:
	print "Connection en cour..."
	mpdClient.connect()
	print "Connect au serveur"
    except:
        pass

def disconnect():
    try:
	mpdClient.disconnect()
    except:
	pass

def toggle():
    try:
	mpdClient.toggle()
    except:
	pass

def next():
    try:
	mpdClient.next()
    except:
	pass

def prev():
    try:
	mpdClient.previous()
    except:
	pass
EOF

fun! MpdConnect()
    python connect()
endfun

fun! MpdDisconnect()
    python disconnect()
endfun

fun! MpdToggle()
    python toggle()
endfun

fun! MpdNext()
    python next()
endfun

fun! MpdPrev()
    python prev()
endfun

map <F7> <Esc>:call MpdConnect()<CR>
map <F8> <Esc>:call MpdPrev()<CR>
map <F9> <Esc>:call MpdToggle()<CR>
map <F10> <Esc>:call MpdNext()<CR>