[gsharp-cvs] CVS gsharp

rstrandh rstrandh at common-lisp.net
Mon Feb 20 20:19:37 UTC 2006


Update of /project/gsharp/cvsroot/gsharp
In directory common-lisp:/tmp/cvs-serv4071

Modified Files:
	modes.lisp 
Log Message:
Introduced a new command table `rhythmic-table' that contains commands
that are common for all rhythmic elements.  `cluster-table' and
`lyrics-table' now inherit from `rhythmic-table'.

Moved some key bindings around to more appropriate command tables. 


--- /project/gsharp/cvsroot/gsharp/modes.lisp	2006/02/15 03:18:03	1.10
+++ /project/gsharp/cvsroot/gsharp/modes.lisp	2006/02/20 20:19:37	1.11
@@ -7,12 +7,12 @@
 (set-key `(com-backward-element ,*numeric-argument-marker*) 'global-gsharp-table '((#\b :control)))
 (set-key `(com-delete-element ,*numeric-argument-marker*) 'global-gsharp-table '((#\d :control)))
 (set-key 'com-insert-measure-bar 'global-gsharp-table '(#\|))
-(set-key 'com-more-dots 'global-gsharp-table '((#\.)))
-(set-key 'com-more-lbeams 'global-gsharp-table '((#\[)))
-(set-key 'com-more-rbeams 'global-gsharp-table '((#\])))
+(set-key 'com-erase-element 'global-gsharp-table '((#\h :control)))
+
+;;; FIXME where are the corresponding commands?
 (set-key 'com-left 'global-gsharp-table '((#\l :meta)))
 (set-key 'com-right 'global-gsharp-table '((#\r :meta)))
-(set-key 'com-rotate-notehead 'global-gsharp-table '((#\r :control)))
+
 (set-key 'com-istate-more-dots 'global-gsharp-table '((#\i) (#\.)))
 (set-key 'com-istate-more-lbeams 'global-gsharp-table '((#\i) (#\[)))
 (set-key 'com-istate-more-rbeams 'global-gsharp-table '((#\i) (#\])))
@@ -38,22 +38,28 @@
 (set-key 'com-insert-note-g 'melody-table '(#\g))
 (set-key 'com-insert-rest 'melody-table '((#\,)))
 (set-key 'com-insert-empty-cluster 'melody-table '((#\Space)))
-(set-key 'com-current-increment 'melody-table '((#\p)))
-(set-key 'com-current-decrement 'melody-table '((#\n)))
-(set-key 'com-fewer-dots 'melody-table '((#\x) (#\.)))
-(set-key 'com-fewer-lbeams 'melody-table '((#\x) (#\[)))
-(set-key 'com-fewer-rbeams 'melody-table '((#\x) (#\])))
-(set-key 'com-erase-element 'melody-table '((#\h :control)))
-(set-key 'com-rotate-notehead 'melody-table '((#\h :meta)))
-(set-key 'com-rotate-stem-direction 'melody-table '((#\s :meta)))
 (set-key 'com-more-sharps 'melody-table '((#\# :meta)))
 (set-key 'com-more-sharps 'melody-table '((#\# :meta :shift)))
 (set-key 'com-more-flats 'melody-table '((#\@ :meta :shift)))
 
+;;; the rhythmic table contains command that are specific 
+;;; to rhythmic elements
+(define-command-table rhythmic-table)
+
+(set-key 'com-more-dots 'rhythmic-table '((#\.)))
+(set-key 'com-more-lbeams 'rhythmic-table '((#\[)))
+(set-key 'com-more-rbeams 'rhythmic-table '((#\])))
+(set-key 'com-fewer-dots 'rhythmic-table '((#\x) (#\.)))
+(set-key 'com-fewer-lbeams 'rhythmic-table '((#\x) (#\[)))
+(set-key 'com-fewer-rbeams 'rhythmic-table '((#\x) (#\])))
+(set-key 'com-rotate-notehead 'rhythmic-table '((#\h :meta)))
+(set-key 'com-rotate-notehead 'rhythmic-table '((#\r :control))) ; why this one too?
+
 ;;; the cluster table contains commands that are specific to 
 ;;; clusters
 
-(define-command-table cluster-table)
+(define-command-table cluster-table
+    :inherit-from (rhythmic-table))
 
 (set-key 'com-sharper 'cluster-table '((#\#)))
 (set-key 'com-flatter 'cluster-table '(#\@))
@@ -70,10 +76,14 @@
 (set-key 'com-tie-note-right 'cluster-table '((#\})))
 (set-key 'com-untie-note-left 'cluster-table '((#\x) (#\{)))
 (set-key 'com-untie-note-right 'cluster-table '((#\x) (#\})))
+(set-key 'com-rotate-stem-direction 'cluster-table '((#\s :meta)))
+(set-key 'com-current-increment 'cluster-table '((#\p)))
+(set-key 'com-current-decrement 'cluster-table '((#\n)))
 
 ;;; lyrics mode table
 
-(define-command-table lyrics-table)
+(define-command-table lyrics-table
+    :inherit-from (rhythmic-table))
 
 (set-key (lambda () (erase-char (cur-element))) 'lyrics-table '((#\h :control)))
 (set-key 'com-erase-element 'lyrics-table '((#\h :meta)))




More information about the Gsharp-cvs mailing list