Update of /project/gsharp/cvsroot/gsharp In directory clnet:/tmp/cvs-serv21208
Modified Files: gui.lisp modes.lisp Log Message: select-layer-by-layout commands and keybindings (C-down and C-up for now)
--- /project/gsharp/cvsroot/gsharp/gui.lisp 2007/06/07 09:26:04 1.75 +++ /project/gsharp/cvsroot/gsharp/gui.lisp 2007/06/10 08:15:28 1.76 @@ -1108,6 +1108,38 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; +;;; selecting layers based on layout (next/previous staff) + +;;; FIXME: numeric argument handling again +(define-gsharp-command (com-previous-staff :name t) + () + (let ((staff (car (staves (layer (current-cursor)))))) + (loop for (prev curr) on (staves (current-buffer)) + if (eq curr staff) + do (let ((layers (layers (segment (current-cursor))))) + (dolist (layer layers) + (when (member prev (staves layer)) + (select-layer (current-cursor) layer) + (do () + ((eq prev (car (staves layer)))) + (com-rotate-staves)) + (return-from com-previous-staff))))))) +(define-gsharp-command (com-next-staff :name t) + () + (let ((staff (car (staves (layer (current-cursor)))))) + (loop for (curr next) on (staves (current-buffer)) + if (eq curr staff) + do (let ((layers (layers (segment (current-cursor))))) + (dolist (layer layers) + (when (member next (staves layer)) + (select-layer (current-cursor) layer) + (do () + ((eq next (car (staves layer)))) + (com-rotate-staves)) + (return-from com-next-staff))))))) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; ;;; delete commands
(defun go-to-beginning-of-bar (cursor) --- /project/gsharp/cvsroot/gsharp/modes.lisp 2007/06/07 09:26:05 1.22 +++ /project/gsharp/cvsroot/gsharp/modes.lisp 2007/06/10 08:15:29 1.23 @@ -17,6 +17,10 @@ (set-key 'com-end-of-line 'global-gsharp-table '((#\e :control))) (set-key 'com-beginning-of-line 'global-gsharp-table '((#\a :control)))
+;;; FIXME: implement numeric arg handling +(set-key 'com-previous-staff 'global-gsharp-table '((:up :control))) +(set-key 'com-next-staff 'global-gsharp-table '((:down :control))) + (set-key 'com-insert-barline 'global-gsharp-table '(#|))
(set-key 'com-end-of-score 'global-gsharp-table '((#> :shift :meta)))