1 (defpackage :gsharp-utilities
2 (:shadow built-in-class
)
3 (:use
:clim-lisp
:clim-mop
)
4 (:export
#:ninsert-element
#:define-stealth-mixin
5 #:unicode-to-char
#:char-to-unicode
))
9 (:export
#:make-bezier-segment
#:bezier-segment
10 #:make-open-path
#:make-closed-path
11 #:closed-path
#:concatenate-paths
#:path-start
16 #:first-line
#:nb-lines
#:crossings
17 #:translate
#:rotate
#:scale
#:slant
#:reverse-path
18 #:draw-path
#:with-pen
19 #:+razor
+ #:+unit-square
+
20 #:+quarter-circle
+ #:+half-circle
+ #:+full-circle
+
23 #:paths
#:mf
#:paths
#:control
#:controls
#:tension
#:tensions
24 #:& #:--
#:---
#:curl
#:direction
#:cycle
25 #:left
#:right
#:up
#:down
))
28 (:use
:common-lisp
:mf
)
29 (:export
#:glyph
#:staff-line-distance
#:staff-line-offsets
30 #:stem-offsets
#:bar-line-offsets
31 #:ledger-line-x-offsets
#:ledger-line-y-offsets
32 #:notehead-right-offsets
#:notehead-left-offsets
33 #:make-font
#:glyph-offsets
#:suspended-note-offset
34 #:beam-offsets
#:beam-hang-sit-offset
))
36 (defpackage :score-pane
37 (:use
:clim
:clim-extensions
:clim-lisp
:sdl
:esa
)
38 (:import-from
:esa-io
#:buffer
)
40 (:export
#:draw-fiveline-staff
#:draw-lyrics-staff
41 #:draw-stem
#:draw-right-stem
#:draw-left-stem
42 #:draw-ledger-line
#:draw-bar-line
#:draw-beam
#:staff-step
43 #:draw-notehead
#:draw-accidental
#:draw-clef
#:draw-rest
#:draw-dot
44 #:draw-time-signature-component
45 #:draw-flags-up
#:draw-flags-down
46 #:draw-tie-up
#:draw-tie-down
47 #:with-score-pane
#:with-vertical-score-position
48 #:with-staff-size
#:with-notehead-right-offsets
49 #:with-suspended-note-offset
50 #:with-notehead-left-offsets
#:with-light-glyphs
#:score-pane
51 #:clef
#:staff
#:fiveline-staff
#:lyrics-staff
#:notehead
52 #:score-view
#:number-of-pages
#:current-page-number
))
54 (defpackage :gsharp-buffer
55 (:use
:common-lisp
:gsharp-utilities
:esa-buffer
)
57 (:export
#:clef
#:name
#:lineno
#:make-clef
58 #:staff
#:fiveline-staff
#:make-fiveline-staff
59 #:key-signatures
#:time-signatures
60 #:staffwise-elements
#:clefs
61 #:lyrics-staff
#:make-lyrics-staff
63 #:pitch
#:accidentals
#:dots
#:note
#:make-note
64 #:note-less
#:note-equal
#:bar
65 #:notehead
#:rbeams
#:lbeams
#:dots
#:element
#:annotations
66 #:melody-element
#:rhythmic-element
#:notes
67 #:add-note
#:find-note
#:remove-note
68 #:cluster-upper-bound
#:cluster-lower-bound
69 #:cluster
#:make-cluster
71 #:lyrics-element
#:make-lyrics-element
73 #:nb-elements
#:elementno
#:add-element
74 #:remove-element
#:bar
#:make-bar
75 #:melody-bar
#:make-melody-bar
76 #:lyrics-bar
#:make-lyrics-bar
77 #:layer
#:lyrics-layer
#:melody-layer
78 #:bars
#:nb-bars
#:barno
#:add-bar
#:remove-bar
80 #:segment
#:tempo
#:slices
#:sliceno
81 #:make-layer-for-staff
#:make-bar-for-staff
82 #:head
#:body
#:tail
#:make-layer
#:buffer
83 #:layers
#:nb-layers
#:layerno
84 #:add-layer
#:remove-layer
#:segment
85 #:segments
#:nb-segments
#:segmentno
#:staves
86 #:find-staff
#:add-segment
#:remove-segment
87 #:add-staff-before-staff
#:add-staff-after-staff
88 #:remove-staff-from-buffer
91 #:remove-staff-from-layer
92 #:stem-direction
#:undotted-duration
#:duration
93 #:f-position
#:b-position
#:bottom-line
94 #:keysig
#:staff-pos
#:xoffset
#:read-everything
95 #:read-buffer-from-stream
97 #:key-signature
#:make-key-signature
98 #:time-signature
#:time-signature-components
100 #:alterations
#:more-sharps
#:more-flats
101 #:line-width
#:lines-per-page
#:min-width
#:spacing-style
102 #:right-edge
#:left-offset
103 #:left-margin
#:text
#:append-char
#:erase-char
104 #:tie-right
#:tie-left
106 #:tuning
#:master-pitch-note
#:master-pitch-freq
107 #:note-cents
#:12-edo
#:regular-temperament
108 #:x-offset
#:left-pad
#:right-pad
109 #:rastral-size
#:zoom-level
))
111 (defpackage :gsharp-numbering
112 (:use
:gsharp-utilities
:gsharp-buffer
:clim-lisp
)
113 (:shadowing-import-from
:gsharp-buffer
#:rest
)
119 (:export
#:obseq
#:obseq-elem
#:obseq-next
#:obseq-prev
120 #:obseq-first-undamaged-element
121 #:obseq-last-undamaged-element
122 #:cost-method
#:obseq-cost-method
#:seq-cost
123 #:total-cost
#:combine-cost
#:seq-cost-cannot-decrease
124 #:cost-less
#:obseq-solve
#:obseq-interval
))
126 (defpackage :gsharp-measure
127 (:use
:common-lisp
:gsharp-numbering
:gsharp-buffer
:gsharp-utilities
:obseq
)
128 (:shadowing-import-from
:gsharp-numbering
#:number
)
129 (:shadowing-import-from
:gsharp-buffer
#:rest
)
130 (:export
#:mark-modified
#:modified-p
#:measure
131 #:measure-min-dist
#:measure-coeff
132 #:measure-bar-pos
#:measure-seg-pos
#:measure-bars
#:measures
133 #:nb-measures
#:measureno
134 #:recompute-measures
#:measure-cost-method
#:make-measure-cost-method
136 #:reduced-width
#:natural-width
#:compress-factor
138 #:note-position
#:non-empty-cluster-p
139 #:top-note
#:bot-note
#:top-note-pos
#:bot-note-pos
140 #:beam-groups
#:final-stem-direction
141 #:group-notes-by-staff
#:final-relative-note-xoffset
142 #:final-accidental
#:final-relative-accidental-xoffset
143 #:final-relative-dot-xoffset
#:final-absolute-dot-ypos
144 #:timeline
#:timelines
#:elasticity
145 #:smallest-gap
#:elasticity-function
))
147 (defpackage :gsharp-beaming
149 (:export
#:beaming-single
#:beaming-double
))
151 (defpackage :gsharp-cursor
152 (:shadowing-import-from
:gsharp-buffer
#:rest
)
153 (:shadowing-import-from
:gsharp-numbering
#:number
)
154 (:use
:gsharp-utilities
:gsharp-buffer
:gsharp-numbering
:clim-lisp
)
155 (:export
#:gsharp-cursor
#:make-cursor
#:end-of-bar-p
#:beginning-of-bar-p
156 #:insert-element
#:delete-element
157 #:forward-element
#:backward-element
158 #:last-bar-p
#:first-bar-p
#:forward-bar
#:backward-bar
159 #:insert-bar-before
#:insert-bar-after
#:delete-bar
160 #:in-last-bar
#:in-first-bar
#:end-of-bar
161 #:first-slice-p
#:last-slice-p
162 #:forward-slice
#:backward-slice
163 #:head-slice
#:body-slice
#:tail-slice
164 #:in-last-slice
#:in-first-slice
165 #:select-layer
#:delete-layer
166 #:first-segment-p
#:last-segment-p
167 #:forward-segment
#:backward-segment
168 #:insert-segment-before
#:insert-segment-after
170 #:in-last-segment
#:in-first-segment
171 #:cursor-element
#:cursor-bar
#:cursor-slice
#:cursor-layer
172 #:cursor-segment
#:cursor-buffer
173 #:current-cluster
#:not-on-a-cluster
174 #:current-element
#:not-on-an-element
177 (defpackage :gsharp-drawing
178 (:use
:clim
:clim-lisp
:gsharp-buffer
:gsharp-measure
:gsharp-cursor
179 :gsharp-utilities
:sdl
:gsharp-beaming
:obseq
)
180 (:shadowing-import-from
:gsharp-buffer
#:rest
)
181 (:export
#:draw-buffer
#:draw-the-cursor
#:print-buffer
))
183 (defpackage :gsharp-play
184 (:use
:common-lisp
:midi
:gsharp-buffer
)
185 (:shadowing-import-from
:gsharp-buffer
#:rest
)
186 (:export
#:play-layer
190 (defpackage :gsharp-mxml
191 (:use
:cl
:gsharp-buffer
:gsharp-measure
)
192 (:shadowing-import-from
:gsharp-buffer
#:rest
))
195 (:use
:clim
:clim-lisp
:gsharp-utilities
:esa
:esa-buffer
:esa-io
196 :gsharp-buffer
:gsharp-cursor
:gsharp-drawing
:gsharp-numbering
197 :gsharp-measure
:sdl
:midi
199 (:shadowing-import-from
:gsharp-numbering
#:number
)
200 (:shadowing-import-from
:gsharp-buffer
#:rest
#:buffer
)
201 (:export
#:gsharp
#:edit-file
))
203 (in-package :gsharp-numbering
)
204 (deftype number
() 'cl
:number
)
205 (setf (find-class 'number
) (find-class 'cl
:number
))
207 (in-package :gsharp-buffer
)
210 (define-compiler-macro rest
(list)
212 (define-setf-expander rest
(list &environment env
)
213 (get-setf-expansion `(cl:rest
,list
) env
))