projects/gsharp/gsharp.git
20 months agoBasic undo implemented for simple operations. master
David Lewis [Tue, 19 Apr 2011 13:24:53 +0000] 
Basic undo implemented for simple operations.

20 months agoTime signatures
David Lewis [Thu, 3 Feb 2011 14:16:58 +0000] 
Time signatures

20 months agoAdding more MXML dtds for checking
David Lewis [Tue, 25 Jan 2011 09:09:13 +0000] 
Adding more MXML dtds for checking

20 months agoMid-staff clefs
David Lewis [Fri, 22 Oct 2010 11:17:17 +0000] 
Mid-staff clefs

20 months agoMXML fixes
David Lewis [Wed, 1 Sep 2010 15:18:35 +0000] 
MXML fixes

20 months agoPreparation for the ability to set horizontal spacing. Two types of horizontal positi...
David Lewis [Tue, 31 Aug 2010 11:47:13 +0000] 
Preparation for the ability to set horizontal spacing. Two types of horizontal positioning -- an offset from the default position (which doesn't affect the flow) and a padding (which does).
Also some package exports.

20 months agoSettable inactive colour (to be set, for example, by medium, or based on taste)
David Lewis [Thu, 19 Aug 2010 11:08:08 +0000] 
Settable inactive colour (to be set, for example, by medium, or based on taste)

20 months agoCOM-JUMP-TO-HERE and click to move cursor interface
David Lewis [Thu, 19 Aug 2010 14:44:54 +0000] 
COM-JUMP-TO-HERE and click to move cursor interface

20 months agoBasic button support
David Lewis [Thu, 19 Aug 2010 14:44:54 +0000] 
Basic button support

20 months agoAdd images/icon buttons for CLIM
David Lewis [Fri, 13 Aug 2010 09:28:53 +0000] 
Add images/icon buttons for CLIM

20 months agoDraw current element now actually draws current element and in
David Lewis [Mon, 16 Aug 2010 14:21:41 +0000] 
Draw current element now actually draws current element and in
approximately the right place. It's also now calling a
DRAW-CURRENT-ELEMENT generic function so that it can be expanded for
notations and objects other than clusters.

20 months agoZoom functionality (and change of raster changing function names so that COM-ZOOM...
David Lewis [Thu, 12 Aug 2010 08:00:18 +0000] 
Zoom functionality (and change of raster changing function names so that COM-ZOOM-IN means what it should)

20 months agoColour current note
David Lewis [Wed, 11 Aug 2010 20:18:00 +0000] 
Colour current note

20 months agoReversed version of ISTATE-ROTATE-NOTEHEADS, associated with keystrokes #\i #\g
David Lewis [Wed, 11 Aug 2010 13:49:38 +0000] 
Reversed version of ISTATE-ROTATE-NOTEHEADS, associated with keystrokes #\i #\g

20 months agoSpelling error of slipce for slice in cursor.lisp and excess of com-more-sharps in...
David Lewis [Wed, 11 Aug 2010 10:52:30 +0000] 
Spelling error of slipce for slice in cursor.lisp and excess of com-more-sharps in modes.lisp

20 months agoFile dialog box (new dependency on CLIM-LISTENER)
David Lewis [Tue, 31 Aug 2010 10:25:35 +0000] 
File dialog box (new dependency on CLIM-LISTENER)

20 months agomore flexible pagination
Christophe Rhodes [Wed, 16 Jun 2010 11:18:47 +0000] 
more flexible pagination

New generic function SYSTEMS-PER-PAGE

20 months agoMusicXML fixes
Christophe Rhodes [Wed, 16 Jun 2010 11:13:50 +0000] 
MusicXML fixes

Motivated by use as a webtoy:
* be careful in PCDATA not to take the node-value of something that's not
  a node;
* attributes in the wild aren't always the first element in the bar; search
  harder for them;
* new function PARSE-MXML-CLEF;
* new function GET-DTD-PATH.

20 months agoRastral size change with + and -
David Lewis [Mon, 25 Jan 2010 21:15:24 +0000] 
Rastral size change with + and -

20 months agoAdd .gitignore file
Christophe Rhodes [Wed, 16 Jun 2010 11:11:06 +0000] 
Add .gitignore file

2 years agoAdded install instructions using Quicklisp.
Robert Strandh [Mon, 7 Feb 2011 08:46:51 +0000] 
Added install instructions using Quicklisp.

4 years agoSlightly rudimentary support for view/buffer handling (C-x b and C-x k)
Christophe Rhodes [Sun, 17 May 2009 16:11:57 +0000] 
Slightly rudimentary support for view/buffer handling (C-x b and C-x k)

The major thing that needs fixing is being currently unable to name and
refer to views with a sensible (unique) string name.

4 years agoBasic time signature support. Only some sigs supported and spacing is basic.
David Lewis [Mon, 20 Apr 2009 15:04:47 +0000] 
Basic time signature support. Only some sigs supported and spacing is basic.
Key and time signatures now share a staffwise-elements slot in the stave.

4 years agoExport make-key-signature, key-signatures from gsharp-buffer
Christophe Rhodes [Wed, 19 Nov 2008 16:05:13 +0000] 
Export make-key-signature, key-signatures from gsharp-buffer

4 years agoRemove gsharp-buffer:: prefix from key-signature (since it's exported).
Christophe Rhodes [Wed, 19 Nov 2008 15:45:46 +0000] 
Remove gsharp-buffer:: prefix from key-signature (since it's exported).

4 years agoTime signature digit 8.
Robert Strandh [Mon, 17 Nov 2008 10:45:22 +0000] 
Time signature digit 8.

4 years agoTime signature digit 7.
Robert Strandh [Mon, 17 Nov 2008 07:44:00 +0000] 
Time signature digit 7.

4 years agoTime signature digit 6.
Robert Strandh [Mon, 17 Nov 2008 06:40:26 +0000] 
Time signature digit 6.

4 years agoTime signature digit 5.
Robert Strandh [Mon, 17 Nov 2008 05:49:28 +0000] 
Time signature digit 5.

4 years agoTime signature digit 4.
Robert Strandh [Sun, 16 Nov 2008 06:36:03 +0000] 
Time signature digit 4.

4 years agoTime signature digit 3.
Robert Strandh [Sat, 15 Nov 2008 18:22:23 +0000] 
Time signature digit 3.

4 years agoTime signature digits 1 and 2.
Robert Strandh [Sat, 15 Nov 2008 17:20:07 +0000] 
Time signature digits 1 and 2.

4 years agoMake it possible to use cycle after --.
Robert Strandh [Sat, 15 Nov 2008 17:19:38 +0000] 
Make it possible to use cycle after --.

5 years agoRemoved all the :shift modifiers because they are no longer necessary
Robert Strandh [Tue, 29 Apr 2008 07:54:24 +0000] 
Removed all the :shift modifiers because they are no longer necessary
thanks to Troels Henriksen fixing McCLIM.

5 years agoMusicXML support for staccato and tenuto import and export.
Christophe Rhodes [Sat, 9 Feb 2008 18:43:13 +0000] 
MusicXML support for staccato and tenuto import and export.

5 years agoOne or two more stylistic changes.
Christophe Rhodes [Sat, 9 Feb 2008 18:21:00 +0000] 
One or two more stylistic changes.

5 years agoMinor MusicXML edits.
Christophe Rhodes [Sat, 9 Feb 2008 18:17:20 +0000] 
Minor MusicXML edits.

5 years agoWork-in-progress hooks for drawing routines, used for now for
Christophe Rhodes [Sat, 9 Feb 2008 16:58:35 +0000] 
Work-in-progress hooks for drawing routines, used for now for
tenuto and staccato articulation marks.

The quality of the graphical rendering of the marks is not really up to
scratch; horizontal placement seems to be off by somewhere between half
and one pixel, and of course a note with both marks on at once gets an
ugly graphical clash.  As I say, "work in progress".

5 years agoComment fixes in MusicXML code.
Christophe Rhodes [Sat, 9 Feb 2008 16:54:33 +0000] 
Comment fixes in MusicXML code.

5 years agoPreserve some stem direction decisions in MusicXML
David Lewis [Fri, 8 Feb 2008 16:50:57 +0000] 
Preserve some stem direction decisions in MusicXML

5 years agoSupport for layers/staves in MusicXML parts
David Lewis [Fri, 8 Feb 2008 16:48:54 +0000] 
Support for layers/staves in MusicXML parts

5 years agoAdded octave treble support in musicxml import/export
David Lewis [Fri, 8 Feb 2008 16:47:55 +0000] 
Added octave treble support in musicxml import/export

5 years agoAdded the ESA menus the Gsharp menu.
Troels Henriksen [Wed, 30 Jan 2008 09:59:25 +0000] 
Added the ESA menus the Gsharp menu.

5 years agoRemove name conflict from gsharp package; now gsharp loads.
Christophe Rhodes [Tue, 15 Jan 2008 15:43:52 +0000] 
Remove name conflict from gsharp package; now gsharp loads.

(It can't yet handle entering notes; fix in mcclim forthcoming.)

5 years agoFixed name conflict.
Troels Henriksen [Tue, 15 Jan 2008 07:44:37 +0000] 
Fixed name conflict.

5 years agoProvide default values for commands expected to accept numeric
Troels Henriksen [Wed, 19 Dec 2007 11:06:03 +0000] 
Provide default values for commands expected to accept numeric
arguments.

5 years agoPatch allowing Gsharp to compile and start on OpenMCL again.
Robert Strandh [Sun, 2 Dec 2007 05:52:53 +0000] 
Patch allowing Gsharp to compile and start on OpenMCL again.

Thanks to David Lichteblau.

5 years agoFix gsharp-common :new-process t
Christophe Rhodes [Sun, 25 Nov 2007 14:19:29 +0000] 
Fix gsharp-common :new-process t

We need a lexical variable to use inside RUN, which may be called inside
a new thread.

(Also, we might need to have bound *ESA-INSTANCE*, so let's do that
proactively.)

5 years agoMake the Print Buffer To File command output eps if the pathname type is
Christophe Rhodes [Thu, 22 Nov 2007 09:33:03 +0000] 
Make the Print Buffer To File command output eps if the pathname type is
"eps".

No error-checking for multiple pages or anything sensible like that.

5 years agoDefine a method on esa-current-buffer, not frame-current-buffer, after
Christophe Rhodes [Wed, 21 Nov 2007 19:22:03 +0000] 
Define a method on esa-current-buffer, not frame-current-buffer, after
Troels' reworking.

Also rewrite BUFFERS method so that if the window doesn't yet have a
view nothing bad happens.

This allows writing gsharp:gsharp and gsharp:edit-file in terms of
executing commands on an (adopted) gsharp frame, reducing code
duplication and also fixing a bad bug in gsharp:edit-file, which would
destroy the layer/staff structure if the file's first layer spanned
multiple staves.

5 years agoImplemented play-buffer and made play-layer available in play menu
Magnus Jonsson [Sat, 27 Oct 2007 02:10:55 +0000] 
Implemented play-buffer and made play-layer available in play menu

5 years agoI moved melody-related functionality from buffer.lisp to a new file.
Robert Strandh [Mon, 22 Oct 2007 11:45:36 +0000] 
I moved melody-related functionality from buffer.lisp to a new file.

5 years agoGot rid of the print-character slot which was used in the old I/O
Robert Strandh [Mon, 22 Oct 2007 10:03:40 +0000] 
Got rid of the print-character slot which was used in the old I/O
mechanism.

5 years agoFactored out lyrics from buffer.lisp to a new file.
Robert Strandh [Mon, 22 Oct 2007 09:39:23 +0000] 
Factored out lyrics from buffer.lisp to a new file.

5 years agoImplemented a simplified I/O mechanism with less redundancy.
Robert Strandh [Mon, 22 Oct 2007 07:13:50 +0000] 
Implemented a simplified I/O mechanism with less redundancy.

5 years agoReport an error to the user if the midi-player fails (sbcl only)
Magnus Jonsson [Sat, 20 Oct 2007 18:41:25 +0000] 
Report an error to the user if the midi-player fails (sbcl only)

5 years agoAdd MusicXML support. Initial work from Brian Gruber (funded by
Christophe Rhodes [Thu, 18 Oct 2007 15:02:47 +0000] 
Add MusicXML support.  Initial work from Brian Gruber (funded by
Google's Summer of Code); subsequent development by Christophe Rhodes.

It's far from perfect now, but it needs checking in so that people can
play with it.  It adds dependencies (puri and cxml) to gsharp; if this
is a problem, we could make gsharp-mxml a separate system.

Git logs (from git tree at
<http://www-jcsu.jesus.cam.ac.uk/~csr21/git/gsharp-mxml/.git>) follow:

commit 994cd15ec9f480be41515e699f22e7de1687d0ca
Author: Christophe Rhodes <csr21@omega.localdomain>
Date:   Mon Sep 24 13:19:41 2007 +0100

    Add a restart to the same-duration case.  It's not good enough, but it allows
    interactive fixing key signatures in the middle of the bar.

commit cdc2098fac5399303e9515bc81ea65020ec8f109
Author: Christophe Rhodes <csr21@omega.localdomain>
Date:   Wed Sep 19 11:07:28 2007 +0100

    Only add durations from rhythmic elements.

commit acc6cb410cd55dfe59eb30fe608b101a62651ae9
Author: Christophe Rhodes <csr21@omega.localdomain>
Date:   Wed Sep 19 10:45:12 2007 +0100

    Whoops.  Fix export of notes with no displayed accidentals (from
overzealous    alteration of CASE -> ECASE

commit dd8d72cac434a8c5a1932aa46db6447e08d9b6ad
Author: Christophe Rhodes <csr21@omega.localdomain>
Date:   Wed Sep 19 10:41:09 2007 +0100

    Support for longs in MusicXML (import and export)

commit eab440b56b086e766dbd405a3fea44d9976f1a1f
Author: Christophe Rhodes <csr21@omega.localdomain>
Date:   Wed Sep 19 09:16:07 2007 +0100

    Long ("lunga") patch from HEAD

commit 8cb34a4879ebb4dce06d8b99da761dfa6ad24cf9
Author: Christophe Rhodes <csr21@omega.localdomain>
Date:   Tue Sep 18 15:43:51 2007 +0100

    Support semi- and sesqui- accidentals

commit 6ba8208d1f8475552a95f35a5e896248110b0efd
Author: Christophe Rhodes <csr21@omega.localdomain>
Date:   Tue Sep 18 15:25:16 2007 +0100

    Really support breves (and breve rests) -- on output too.

commit a9c36278de0145c12f34123a29815809030b97c2
Author: Christophe Rhodes <csr21@omega.localdomain>
Date:   Tue Sep 18 15:17:09 2007 +0100

    Slightly batched commit (several changes).

    * support :breve noteheads
    * better stringcase macro (and use it)
    * temporarily hack in "full" = "breve" for Goldsmiths use
    * use ECASE in one or two places to remove compiler warnings.

commit 3a3b980576f0d09ddee4de12f6f7b260932a5552
Author: Christophe Rhodes <csr21@omega.localdomain>
Date:   Tue Sep 18 15:14:54 2007 +0100

    Slightly friendlier (with friends like this...) Import and Export commands.
    Sets the filepath and name of the buffer on import; sensible export default
    pathname.

commit 7d72a2a4a28f9668271189ebaf862518ada34877
Author: Christophe Rhodes <csr21@omega.localdomain>
Date:   Tue Sep 18 15:13:31 2007 +0100

    Whitespace

commit b497d6f5111f20f5e8ac9a059578d3caaab1b832
Author: Christophe Rhodes <csr21@omega.localdomain>
Date:   Mon Sep 17 21:33:29 2007 +0100

    space requirements fix from HEAD

commit 65d173efbcfa78e5edaf1adb9bceb0f7d619002d
Author: Christophe Rhodes <csr21@omega.localdomain>
Date:   Mon Sep 17 12:04:08 2007 +0100

    Update to Brian Gruber's version of 17th September

commit 91d98d9e2a8d69418edd264ab6293a2f1dbc5a9f
Author: Christophe Rhodes <csr21@omega.localdomain>
Date:   Mon Sep 17 11:54:53 2007 +0100

    Brian Gruber's patch of August 20th

5 years agoSupport long ("lunga") notes and rests.
Christophe Rhodes [Tue, 18 Sep 2007 21:19:03 +0000] 
Support long ("lunga") notes and rests.

It's a bit weird, because the lunga has the same notehead as a breve,
but also has a stem; so having a NOTEHEAD of :long is a bit of a
misnomer.  Hey ho.

5 years agoMore likely space requirements handling. (More likely to actually work,
Christophe Rhodes [Mon, 17 Sep 2007 20:30:59 +0000] 
More likely space requirements handling.  (More likely to actually work,
that is.  Thanks to Athas and hefner for the ideas and the debugging
patience.)

5 years agoAllow clefs to be put on lines 0 and 8 of a staff. (Necessary for the
Christophe Rhodes [Fri, 14 Sep 2007 15:57:21 +0000] 
Allow clefs to be put on lines 0 and 8 of a staff. (Necessary for the
Soprano C clef, found in early music).  Note that key signature
display code will probably have to be reworked to cater for such
outlandish clefs.

5 years agoReverse the notehead rotation order for C-r. I apologise if this
Christophe Rhodes [Fri, 14 Sep 2007 15:52:57 +0000] 
Reverse the notehead rotation order for C-r.  I apologise if this
destroys someone's finger macros, but the current order is too illogical
in the default state.

5 years agoSupport for breves and breve rests.
Christophe Rhodes [Fri, 14 Sep 2007 15:48:05 +0000] 
Support for breves and breve rests.

5 years agoFixed the problem with stem direction for a beam group. It was just a
Robert Strandh [Thu, 30 Aug 2007 03:04:56 +0000] 
Fixed the problem with stem direction for a beam group.  It was just a
typo: instead of calling bot-note-pos to get the position of the
bottom note of each cluster, top-note-pos was called.

5 years agoFixed the first problem reported by Taylor Campbell, namely that the
Robert Strandh [Wed, 29 Aug 2007 15:42:57 +0000] 
Fixed the first problem reported by Taylor Campbell, namely that the
locations of certain notes compared to the stem are not computed
correctly.

The main problem was that compute-element-parameters was called only
for elements that have been modified.  However, those parameters might
change as a result of beaming with other elements, so we need to call
compute-element-parameters on all elements.

While searching for the cause of this problem, I also noticed that a
stem direction that was forced to change as a result of beaming with a
subsequent element (such that the stem direction for the entire beam
group was different from the nominal one for the cluster) did not
return to its nominal stem direction when the subsequent element was
deleted.  The reason for this problem was that
compute-final-stem-direction was not called unless any of the elements
of the beam group was marked as modified.  When the subsequent element
was removed, none of the remaining elements was marked that way.  The
fix was to always call compute-final-stem-direction.

I also discovered another problem from Taylor's example, namely that
sometimes, the stem direction of a beam group in which each cluster
has the same nominal stem direction can be different from the nominal
stem direction of the individual clusters.  The reason for this
problem seems to be that the algorithm for computing the stem
direction of a beam group is just wrong.  I am still working on this
problem.

5 years agoMention the need for a separate midi package in INSTALL documentation.
Christophe Rhodes [Mon, 20 Aug 2007 08:16:36 +0000] 
Mention the need for a separate midi package in INSTALL documentation.

5 years agoFixed beam-drawing problem for staff-line distances other than 6.
Robert Strandh [Mon, 20 Aug 2007 07:14:35 +0000] 
Fixed beam-drawing problem for staff-line distances other than 6.

5 years agoAlter the ending of the humoresque slightly.
Christophe Rhodes [Wed, 8 Aug 2007 10:52:55 +0000] 
Alter the ending of the humoresque slightly.

5 years agoBetter final accidentals:
Christophe Rhodes [Tue, 7 Aug 2007 14:00:09 +0000] 
Better final accidentals:

* look back through the current bar / layer, no further than the
  currently active key signature, to find a note on the same staff with
  the same pitch: if there is one, and the accidentals are the same,
  no need to have an accidental displayed.

Remaining to do:

* more or less any editing action should invalidate the
  already-computed final accidentals of the current bar.  At present,
  final accidentals aren't recomputed often enough.

5 years agoPrinting to file.
Christophe Rhodes [Tue, 7 Aug 2007 11:06:09 +0000] 
Printing to file.

It's still somewhat hacky, but the worst of it is gone:

* light glyphs ink is taken from the view, so we can construct a dark
  ink for light glyphs;
* code to draw a single page is shared between the printing and
  screen-drawing routines;
* new-page is called the right number of times;
* the user is prompted for a filename (with a sensible default).

Remaining stuff to do:

* factor out a little bit more shared code between draw-buffer and
  print-buffer;
* when creating the view, copy the current view;
* be cleverer about the medium transformation.

5 years agoMove the dot a little bit rightwards. Looks better, to my eye...
Christophe Rhodes [Mon, 6 Aug 2007 19:57:37 +0000] 
Move the dot a little bit rightwards.  Looks better, to my eye...

5 years agoMake the light glyphs ink a function of the view, allowing for views of
Christophe Rhodes [Fri, 27 Jul 2007 22:34:31 +0000] 
Make the light glyphs ink a function of the view, allowing for views of
the same class but with all-black printing (e.g. for noninteractive
Postscript or HTML Canvas output.)

Make barlines be drawn at integral coordinates.

5 years agoBetter tie drawing:
Christophe Rhodes [Fri, 27 Jul 2007 22:31:04 +0000] 
Better tie drawing:

Tie direction is taken from the final stem direction of the first note.
This is not actually right, but it's incrementally better than ignoring
the stem directions completely.

Draw a stub tie forward if no matching note is found.  (This needs to
happen for unpaired backwards ties too, but the way DRAW-TIES is
currently structured makes that mildly tricky.)

5 years agoFix a minor UI annoyance: when switching layers, prefer the end of a bar
Christophe Rhodes [Fri, 27 Jul 2007 22:28:05 +0000] 
Fix a minor UI annoyance: when switching layers, prefer the end of a bar
rather than the start to put the cursor, so that the common case of
parallel editing puts the cursor at a sensible insertion point.

5 years agowhitespace
Christophe Rhodes [Fri, 27 Jul 2007 16:47:50 +0000] 
whitespace

5 years agorefactor DRAW-BUFFER a little bit, potentially making it easier for
Christophe Rhodes [Fri, 27 Jul 2007 16:34:10 +0000] 
refactor DRAW-BUFFER a little bit, potentially making it easier for
other ways of drawing buffers (e.g. to canvas or postscript)

5 years agoIgnore .fasl files
Christophe Rhodes [Sat, 21 Jul 2007 16:49:34 +0000] 
Ignore .fasl files

5 years agoGave the stealth mixin code the right name.
Robert Strandh [Wed, 18 Jul 2007 07:51:54 +0000] 
Gave the stealth mixin code the right name.

Removed unused variable to remove a compiler warning.

5 years agoChange convolute -> convolve to go with this morning's
Christophe Rhodes [Tue, 17 Jul 2007 06:36:32 +0000] 
Change convolute -> convolve to go with this morning's
mcclim/bezier.lisp commit.

5 years agoQuick bandage for editing scores with non-fiveline (i.e. lyrics) staves:
Christophe Rhodes [Thu, 12 Jul 2007 16:04:49 +0000] 
Quick bandage for editing scores with non-fiveline (i.e. lyrics) staves:
don't try to find a key signature.  (When the number of staff types
expands, we will need a better protocol...)

5 years agoRemove bezier.lisp, as it's part of mcclim now.
Christophe Rhodes [Wed, 11 Jul 2007 15:28:13 +0000] 
Remove bezier.lisp, as it's part of mcclim now.

5 years agoReducing my deviation from upstream, part $n$: M-: support.
Christophe Rhodes [Fri, 6 Jul 2007 14:16:20 +0000] 
Reducing my deviation from upstream, part $n$: M-: support.

5 years agoAlright, let's try this: more correct key signatures, I hope.
Christophe Rhodes [Thu, 5 Jul 2007 21:13:03 +0000] 
Alright, let's try this: more correct key signatures, I hope.

The major change to the protocol is that REMOVE-ELEMENT takes as a
required argument the bar as well as the element; this allows more
symmetric methods to be written for the various stealth mixin bits of
functionality.

Key signatures are elements, as before, within a layer.  However, they
are also kept on a list sorted by sequence in a slot of the staff, and
KEYSIG is responsible for checking the relevant staff for other key
signature elements.  Editing actions or commands are also responsible
for maintaining this list sorted in the right order.  New almost-correct
function for testing the temporal-and-logical ordering of elements.

Drawing code now computes the correct key signature for the each staff;
linebreaking is done with a conservative assumption for how wide the key
signature will be.

Please test.

5 years agoFixed a few typos.
Magnus Jonsson [Sat, 30 Jun 2007 16:50:34 +0000] 
Fixed a few typos.

5 years agoFixed some unfortunate choice of wording.
Robert Strandh [Sat, 30 Jun 2007 14:15:26 +0000] 
Fixed some unfortunate choice of wording.

5 years agomcclim bug workaround in key bindings for microsharper/microflatter
Magnus Jonsson [Thu, 28 Jun 2007 14:36:14 +0000] 
mcclim bug workaround in key bindings for microsharper/microflatter

5 years agoCompleted implementation of quartertone playback for regular temperaments. Fixed...
Magnus Jonsson [Thu, 28 Jun 2007 13:56:53 +0000] 
Completed implementation of quartertone playback for regular temperaments. Fixed keybinding bug for microsharper.

5 years agoFixed redundancies in play.lisp pointed out by Stas Boukarev
Magnus Jonsson [Thu, 28 Jun 2007 12:58:17 +0000] 
Fixed redundancies in play.lisp pointed out by Stas Boukarev

5 years agoSupport for semi/sesqui sharp/flat.
Christophe Rhodes [Thu, 21 Jun 2007 11:14:25 +0000] 
Support for semi/sesqui sharp/flat.

* don't declare the type of the accidentals slot any more; we can put
  that back in a little, after we work out a declarative way of defining
  all properties of accidentals.

* microsharpen and microflatten commands and functions; define sharpen
  and flatten in terms of those (and knowing which accidentals are the
  tonal ones).  Keybindings for the commands.

* a more declarative table-based system for kerning accidentals, along
  with the ability to specify a per-glyph default (and a default
  default).  Choose a sensible default default; also alter the
  :sharp/:sharp table when +4 steps away, as the previous value was
  colliding a little too much.

* support for playing the semi accidentals in equal temperament.  No
  support in linear temperament, as I don't know what they mean.

* glyphs defined with a little too much liberal cut'n'paste.  Some
  FIXMEs note the essential differences between the related glyphs.

5 years agoa above middle c is 69, not 67.
Christophe Rhodes [Tue, 19 Jun 2007 10:01:37 +0000] 
a above middle c is 69, not 67.

5 years agoAdded support for regular temperaments
Magnus Jonsson [Mon, 18 Jun 2007 15:18:17 +0000] 
Added support for regular temperaments

5 years agoChanged test.mid to /tmp/test.mid in play.lisp, removed code duplication calculating...
Magnus Jonsson [Fri, 15 Jun 2007 16:26:14 +0000] 
Changed test.mid to /tmp/test.mid in play.lisp, removed code duplication calculating durations of bars

5 years agoselect-layer-by-layout commands and keybindings (C-down and C-up for
Christophe Rhodes [Sun, 10 Jun 2007 08:15:28 +0000] 
select-layer-by-layout commands and keybindings (C-down and C-up for
now)

5 years agoWhen drawing the gsharp cursor, also scroll the viewport if necessary so
Christophe Rhodes [Sun, 10 Jun 2007 08:10:03 +0000] 
When drawing the gsharp cursor, also scroll the viewport if necessary so
that the cursor remains on the screen.

Currently this is a little ugly in UI, because of slightly nasty
discontinuities in the drawing process, and pretty ugly in the code.
FIXME commentaries are noted

5 years agoPlacement of semibreve rests when they are the only element in the bar
Christophe Rhodes [Thu, 7 Jun 2007 10:21:47 +0000] 
Placement of semibreve rests when they are the only element in the bar
(conventionally meaning whole-bar rest): place them in the middle of the
bar.  The semantic interpretation (e.g. by Play Segment) is unlikely to
respect this conventional meaning currently (noticeable if you use these
whole-bar rests in a piece in 3/4, say)

5 years agoSomewhat hacky motion-by-layout commands (line- and page-based). These
Christophe Rhodes [Thu, 7 Jun 2007 09:26:04 +0000] 
Somewhat hacky motion-by-layout commands (line- and page-based).  These
was by far the most annoying motion commands to be lacking when actually
editing scores, in my opinion; C-a and C-e are absolutely wired into my
fingers.

Future candidates for inclusion: motion by layer (ideally in a way
that's related to the layout, so that in the common case where there is
one layer per staff the Right Thing happens); motion by
note-in-associated-layer (lyrics).

Also remove C-h binding for delete-current-element, and put Backspace in
instead; this lets the ESA help bindings work.

5 years agoMake things a bit less likely to crash: only do the full readable
Christophe Rhodes [Wed, 6 Jun 2007 13:16:02 +0000] 
Make things a bit less likely to crash: only do the full readable
printing if *print-circle* is true; otherwise just do a normal
print-unreadable-object (which will handle the *print-readably* correct
behaviour for us).

5 years agoFix for :name foo being printed before the class name in
Christophe Rhodes [Sat, 2 Jun 2007 15:14:40 +0000] 
Fix for :name foo being printed before the class name in
print-gsharp-object, reported by Brian Gruber.

6 years agoDepend on external version of midi.lisp rather than bundling it.
Christophe Rhodes [Wed, 31 Jan 2007 15:25:04 +0000] 
Depend on external version of midi.lisp rather than bundling it.

6 years agoNew McCLIM release; no longer need ESA from climacs.
Christophe Rhodes [Sat, 20 Jan 2007 17:09:36 +0000] 
New McCLIM release; no longer need ESA from climacs.

6 years agoAdded a few comments
Robert Strandh [Wed, 17 Jan 2007 12:21:01 +0000] 
Added a few comments