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
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 #:clef
#: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
99 #:alterations
#:more-sharps
#:more-flats
100 #:line-width
#:lines-per-page
#:min-width
#:spacing-style
101 #:right-edge
#:left-offset
102 #:left-margin
#:text
#:append-char
#:erase-char
103 #:tie-right
#:tie-left
105 #:tuning
#:master-pitch-note
#:master-pitch-freq
106 #:note-cents
#:12-edo
#:regular-temperament
107 #:x-offset
#:left-pad
#:right-pad
108 #:rastral-size
#:zoom-level
))
110 (defpackage :gsharp-numbering
111 (:use
:gsharp-utilities
:gsharp-buffer
:clim-lisp
)
112 (:shadowing-import-from
:gsharp-buffer
#:rest
)
118 (:export
#:obseq
#:obseq-elem
#:obseq-next
#:obseq-prev
119 #:obseq-first-undamaged-element
120 #:obseq-last-undamaged-element
121 #:cost-method
#:obseq-cost-method
#:seq-cost
122 #:total-cost
#:combine-cost
#:seq-cost-cannot-decrease
123 #:cost-less
#:obseq-solve
#:obseq-interval
))
125 (defpackage :gsharp-measure
126 (:use
:common-lisp
:gsharp-numbering
:gsharp-buffer
:gsharp-utilities
:obseq
)
127 (:shadowing-import-from
:gsharp-numbering
#:number
)
128 (:shadowing-import-from
:gsharp-buffer
#:rest
)
129 (:export
#:mark-modified
#:modified-p
#:measure
130 #:measure-min-dist
#:measure-coeff
131 #:measure-bar-pos
#:measure-seg-pos
#:measure-bars
#:measures
132 #:nb-measures
#:measureno
133 #:recompute-measures
#:measure-cost-method
#:make-measure-cost-method
135 #:reduced-width
#:natural-width
#:compress-factor
137 #:note-position
#:non-empty-cluster-p
138 #:top-note
#:bot-note
#:top-note-pos
#:bot-note-pos
139 #:beam-groups
#:final-stem-direction
140 #:group-notes-by-staff
#:final-relative-note-xoffset
141 #:final-accidental
#:final-relative-accidental-xoffset
142 #:final-relative-dot-xoffset
#:final-absolute-dot-ypos
143 #:timeline
#:timelines
#:elasticity
144 #:smallest-gap
#:elasticity-function
))
146 (defpackage :gsharp-beaming
148 (:export
#:beaming-single
#:beaming-double
))
150 (defpackage :gsharp-cursor
151 (:shadowing-import-from
:gsharp-buffer
#:rest
)
152 (:shadowing-import-from
:gsharp-numbering
#:number
)
153 (:use
:gsharp-utilities
:gsharp-buffer
:gsharp-numbering
:clim-lisp
)
154 (:export
#:gsharp-cursor
#:make-cursor
#:end-of-bar-p
#:beginning-of-bar-p
155 #:insert-element
#:delete-element
156 #:forward-element
#:backward-element
157 #:last-bar-p
#:first-bar-p
#:forward-bar
#:backward-bar
158 #:insert-bar-before
#:insert-bar-after
#:delete-bar
159 #:in-last-bar
#:in-first-bar
#:end-of-bar
160 #:first-slice-p
#:last-slice-p
161 #:forward-slice
#:backward-slice
162 #:head-slice
#:body-slice
#:tail-slice
163 #:in-last-slice
#:in-first-slice
164 #:select-layer
#:delete-layer
165 #:first-segment-p
#:last-segment-p
166 #:forward-segment
#:backward-segment
167 #:insert-segment-before
#:insert-segment-after
169 #:in-last-segment
#:in-first-segment
170 #:cursor-element
#:cursor-bar
#:cursor-slice
#:cursor-layer
171 #:cursor-segment
#:cursor-buffer
172 #:current-cluster
#:not-on-a-cluster
173 #:current-element
#:not-on-an-element
176 (defpackage :gsharp-drawing
177 (:use
:clim
:clim-lisp
:gsharp-buffer
:gsharp-measure
:gsharp-cursor
178 :gsharp-utilities
:sdl
:gsharp-beaming
:obseq
)
179 (:shadowing-import-from
:gsharp-buffer
#:rest
)
180 (:export
#:draw-buffer
#:draw-the-cursor
#:print-buffer
))
182 (defpackage :gsharp-play
183 (:use
:common-lisp
:midi
:gsharp-buffer
)
184 (:shadowing-import-from
:gsharp-buffer
#:rest
)
185 (:export
#:play-layer
189 (defpackage :gsharp-mxml
190 (:use
:cl
:gsharp-buffer
:gsharp-measure
)
191 (:shadowing-import-from
:gsharp-buffer
#:rest
))
194 (:use
:clim
:clim-lisp
:gsharp-utilities
:esa
:esa-buffer
:esa-io
195 :gsharp-buffer
:gsharp-cursor
:gsharp-drawing
:gsharp-numbering
196 :gsharp-measure
:sdl
:midi
198 (:shadowing-import-from
:gsharp-numbering
#:number
)
199 (:shadowing-import-from
:gsharp-buffer
#:rest
#:buffer
)
200 (:export
#:gsharp
#:edit-file
))
202 (in-package :gsharp-numbering
)
203 (deftype number
() 'cl
:number
)
204 (setf (find-class 'number
) (find-class 'cl
:number
))
206 (in-package :gsharp-buffer
)
209 (define-compiler-macro rest
(list)
211 (define-setf-expander rest
(list &environment env
)
212 (get-setf-expansion `(cl:rest
,list
) env
))