<?xml version="1.0"?>
<glame-accels>

<accel state="0" spec="list_keybindings">
(glame-accel-edit-dialog "" #f)
</accel>

<accel state="0" spec="list_keybindings_waveview">
(glame-accel-edit-dialog "waveview" #f)
</accel>

<accel state="0" spec="list_keybindings_filteredit">
(glame-accel-edit-dialog "filteredit" #f)
</accel>

<scope scope="swapfile">
  <accel state="0" spec="F1" desc="List keybindings">
(glame-accel-edit-dialog "swapfile" #f)
  </accel>
  <accel state="4" spec="l" desc="Set left">
(if (gpsm-swfile? (swapfilegui-active-item)) (gpsm-swfile-set-position! (swapfilegui-active-item) -1.57))
  </accel>
  <accel state="4" spec="r" desc="Set right">
(if (gpsm-swfile? (swapfilegui-active-item)) (gpsm-swfile-set-position! (swapfilegui-active-item) 1.57))
  </accel>
  <accel state="4" spec="m" desc="Set center">
(if (gpsm-swfile? (swapfilegui-active-item)) (gpsm-swfile-set-position! (swapfilegui-active-item) 0.0))
  </accel>
  <accel state="0" spec="w" desc="Open waveedit window">
(waveedit-new (swapfilegui-active-item))
  </accel>
</scope>

<scope scope="waveview">
  <accel state="0" spec="F1" desc="List keybindings">
(glame-accel-edit-dialog "waveview" #f)
  </accel>
  <accel state="0" spec="Prior" desc="Zoom out">
(waveedit-set-zoom! (* (waveedit-get-zoom) 0.75))
  </accel>
  <accel state="0" spec="Next" desc="Zoom in">
(waveedit-set-zoom! (* (waveedit-get-zoom) 1.33))
  </accel>
  <accel state="0" spec="Left" desc="Scroll left">
(let* ((pos (waveedit-get-scroll)) (newpos (- (cadddr pos) (caddr pos)))) (waveedit-set-scroll-position! (if (&lt; newpos 0) 0 newpos)))
  </accel>
  <accel state="0" spec="Right" desc="Scroll right">
(let* ((pos (waveedit-get-scroll)) (newpos (+ (cadddr pos) (caddr pos)))) (waveedit-set-scroll-position! (if (&gt; newpos (- (caddr (cddr pos)) (car pos))) (- (caddr (cddr pos)) (car pos)) newpos)))
  </accel>
  <accel state="0" spec="Home" desc="Goto beginning">
(waveedit-set-scroll-position! 0)
  </accel>
  <accel state="0" spec="End" desc="Goto end">
(let ((pos (waveedit-get-scroll))) (waveedit-set-scroll-position! (caddr (cddr pos))))
  </accel>
  <accel state="0" spec="space" desc="Play from marker">
(let ((grp (waveedit-gpsm-grp))
      (mar (waveedit-get-marker)))
  (waveedit-play mar (gpsm-item-hsize grp) mar #f #f #f #f))
  </accel>
  <accel state="4" spec="space" desc="Play selection">
(let ((grp (waveedit-gpsm-grp))
      (sel (waveedit-get-selection)))
  (if (&lt;= (cdr sel) 0)
      (waveedit-play 0 (gpsm-item-hsize grp) 0 #t #f #f #f)
      (waveedit-play (car sel) (+ (car sel) (cdr sel)) (car sel) #t #f #f #f)))
  </accel>
  <accel state="1" spec="space" desc="Play selection, looping">
(let ((grp (waveedit-gpsm-grp))
      (sel (waveedit-get-selection)))
  (if (&lt;= (cdr sel) 0)
      (waveedit-play 0 (gpsm-item-hsize grp) 0 #t #t #f #f)
      (waveedit-play (car sel) (+ (car sel) (cdr sel)) (car sel) #t #t #f #f)))
  </accel>
  <accel state="5" spec="space" desc="Play from marker through selection">
(let ((grp (waveedit-gpsm-grp))
      (mar (waveedit-get-marker))
      (sel (waveedit-get-selection)))
  (if (&gt; (cdr sel) 0)
      (waveedit-play (if (&lt; mar (+ (car sel) (cdr sel))) mar (car sel)) (+ (car sel) (cdr sel)) (if (&lt; mar (+ (car sel) (cdr sel))) mar (car sel)) #t #f #f #f)))
  </accel>
			  

  <accel state="4" spec="x" desc="Cut"> (waveedit-cut) </accel>
  <accel state="4" spec="c" desc="Copy"> (waveedit-copy) </accel>
  <accel state="4" spec="v" desc="Paste"> (waveedit-paste) </accel>
  <accel state="4" spec="k" desc="Delete"> (waveedit-delete) </accel>
  <accel state="4" spec="z" desc="Undo"> (waveedit-undo) </accel>
  <accel state="4" spec="r" desc="Redo"> (waveedit-redo) </accel>
  <accel state="4" spec="s" desc="Export selection"> (waveedit-export-selection) </accel>
</scope>

<scope scope="filteredit">
  <accel state="0" spec="F1" desc="List keybindings">
(glame-accel-edit-dialog "filteredit" #f)
  </accel>
  <accel state="0" spec="v" desc="View all">
(editfilter-view-all)
  </accel>
  <accel state="0" spec="e" desc="Expand selected item">
(editfilter-expand-selected)
  </accel>
  <accel state="0" spec="c" desc="Collapse selection">
(editfilter-collapse-selection)
  </accel>
  <accel state="1" spec="plus" desc="Zoom in">
(editfilter-zoom-in)
  </accel>
  <accel state="0" spec="bracketright" desc="Zoom in">
(editfilter-zoom-in 4.0)
  </accel>
  <accel state="0" spec="Next" desc="Zoom in">
(editfilter-zoom-in)
  </accel>
  <accel state="0" spec="minus" desc="Zoom out">
(editfilter-zoom-out)
  </accel>
  <accel state="0" spec="bracketleft" desc="Zoom out">
(editfilter-zoom-out 4.0)
  </accel>
  <accel state="0" spec="Prior" desc="Zoom out">
(editfilter-zoom-out)
  </accel>
  <accel state="0" spec="Delete" desc="Delete selection">
(editfilter-delete-selection)
  </accel>
  <accel state="0" spec="d" desc="Delete selection">
(editfilter-delete-selection)
  </accel>
  <accel state="0" spec="g" desc="Group selection">
(editfilter-group-selection)
  </accel>
  <accel state="0" spec="u" desc="Un-Group selection">
(editfilter-ungroup-selection)
  </accel>
  <accel state="0" spec="y" desc="Copy">
(let* ((selection (editfilter-get-selection))
       (subnet (filter-collapse "Clipboard" selection)))
  (editfilter-set-clipboard! (filter-new subnet))
  (filter-expand subnet)
  (filter-delete subnet))
  </accel>
  <accel state="0" spec="p" desc="Paste">
(let ((copy (filter-new (editfilter-clipboard))))
  (filter-add-node (editfilter-network) copy "foo")
  (filter-expand copy)
  (filter-delete copy)
  (editfilter-redraw))
  </accel>
</scope>

<scope scope="timeline">
  <accel state="0" spec="F1" desc="List keybindings">
(glame-accel-edit-dialog "timeline" #f)
  </accel>
  <accel state="0" spec="Up">
(let ((item (timeline-active-item)))
  (if (gpsm-item? item)
      (let ((newpos (- (gpsm-item-vposition item) 1)))
        (if (&gt; newpos 0)
            (gpsm-item-place (gpsm-item-parent item) item (gpsm-item-hposition item) newpos)
            (gpsm-item-place (gpsm-item-parent item) item (gpsm-item-hposition item) 0)))))
  </accel>
  <accel state="1" spec="Up">
(let ((item (timeline-active-group)))
  (if (gpsm-item? item)
      (let ((newpos (- (gpsm-item-vposition item) 1)))
        (if (&gt; newpos 0)
            (gpsm-item-place (gpsm-item-parent item) item (gpsm-item-hposition item) newpos)
            (gpsm-item-place (gpsm-item-parent item) item (gpsm-item-hposition item) 0)))))
  </accel>
  <accel state="0" spec="Down">
(let ((item (timeline-active-item)))
  (if (gpsm-item? item)
      (let ((newpos (+ (gpsm-item-vposition item) 1)))
        (gpsm-item-place (gpsm-item-parent item) item (gpsm-item-hposition item) newpos))))
  </accel>
  <accel state="1" spec="Down">
(let ((item (timeline-active-group)))
  (if (gpsm-item? item)
      (let ((newpos (+ (gpsm-item-vposition item) 1)))
        (gpsm-item-place (gpsm-item-parent item) item (gpsm-item-hposition item) newpos))))
  </accel>
  <accel state="0" spec="Right">
(let ((item (timeline-active-item)))
  (if (gpsm-item? item)
      (let ((newpos (+ (gpsm-item-hposition item) 4410)))
        (gpsm-item-place (gpsm-item-parent item) item newpos (gpsm-item-vposition item)))))
  </accel>
  <accel state="1" spec="Right">
(let ((item (timeline-active-group)))
  (if (gpsm-item? item)
      (let ((newpos (+ (gpsm-item-hposition item) 4410)))
        (gpsm-item-place (gpsm-item-parent item) item newpos (gpsm-item-vposition item)))))
  </accel>
  <accel state="0" spec="Left">
(let ((item (timeline-active-item)))
  (if (gpsm-item? item)
      (let ((newpos (- (gpsm-item-hposition item) 4410)))
        (if (&gt; newpos 0)
            (gpsm-item-place (gpsm-item-parent item) item newpos (gpsm-item-vposition item))
            (gpsm-item-place (gpsm-item-parent item) item 0 (gpsm-item-vposition item))))))
  </accel>
  <accel state="1" spec="Left">
(let ((item (timeline-active-group)))
  (if (gpsm-item? item)
      (let ((newpos (- (gpsm-item-hposition item) 4410)))
        (if (&gt; newpos 0)
            (gpsm-item-place (gpsm-item-parent item) item newpos (gpsm-item-vposition item))
            (gpsm-item-place (gpsm-item-parent item) item 0 (gpsm-item-vposition item))))))
  </accel>
</scope>

</glame-accels>

