/[gsharp]/gsharp/modes.lisp
ViewVC logotype

Log of /gsharp/modes.lisp

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (annotate)
Sticky Tag:

Revision 1.30 - (view) (annotate) - [select for diffs]
Sun May 17 16:11:57 2009 UTC (4 years, 11 months ago) by crhodes
Branch: MAIN
CVS Tags: HEAD
Changes since 1.29: +3 -0 lines
Diff to previous 1.29
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.

Revision 1.29 - (view) (annotate) - [select for diffs]
Tue Apr 29 07:54:24 2008 UTC (5 years, 11 months ago) by rstrandh
Branch: MAIN
Changes since 1.28: +52 -52 lines
Diff to previous 1.28
Removed all the :shift modifiers because they are no longer necessary
thanks to Troels Henriksen fixing McCLIM.

Revision 1.28 - (view) (annotate) - [select for diffs]
Sat Feb 9 16:58:35 2008 UTC (6 years, 2 months ago) by crhodes
Branch: MAIN
Changes since 1.27: +2 -0 lines
Diff to previous 1.27
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".

Revision 1.27 - (view) (annotate) - [select for diffs]
Fri Jul 6 14:16:20 2007 UTC (6 years, 9 months ago) by crhodes
Branch: MAIN
Changes since 1.26: +3 -0 lines
Diff to previous 1.26
Reducing my deviation from upstream, part $n$: M-: support.

Revision 1.26 - (view) (annotate) - [select for diffs]
Thu Jun 28 14:36:14 2007 UTC (6 years, 9 months ago) by mjonsson
Branch: MAIN
Changes since 1.25: +4 -2 lines
Diff to previous 1.25
mcclim bug workaround in key bindings for microsharper/microflatter

Revision 1.25 - (view) (annotate) - [select for diffs]
Thu Jun 28 13:56:53 2007 UTC (6 years, 9 months ago) by mjonsson
Branch: MAIN
Changes since 1.24: +1 -1 lines
Diff to previous 1.24
Completed implementation of quartertone playback for regular temperaments. Fixed keybinding bug for microsharper.

Revision 1.24 - (view) (annotate) - [select for diffs]
Thu Jun 21 11:14:27 2007 UTC (6 years, 9 months ago) by crhodes
Branch: MAIN
Changes since 1.23: +2 -0 lines
Diff to previous 1.23
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.

Revision 1.23 - (view) (annotate) - [select for diffs]
Sun Jun 10 08:15:29 2007 UTC (6 years, 10 months ago) by crhodes
Branch: MAIN
Changes since 1.22: +4 -0 lines
Diff to previous 1.22
select-layer-by-layout commands and keybindings (C-down and C-up for
now)

Revision 1.22 - (view) (annotate) - [select for diffs]
Thu Jun 7 09:26:05 2007 UTC (6 years, 10 months ago) by crhodes
Branch: MAIN
Changes since 1.21: +8 -1 lines
Diff to previous 1.21
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.

Revision 1.21 - (view) (annotate) - [select for diffs]
Tue Jan 16 05:11:09 2007 UTC (7 years, 3 months ago) by rstrandh
Branch: MAIN
CVS Tags: works-with-0_9_4
Changes since 1.20: +2 -5 lines
Diff to previous 1.20
Make sure the file ends with a newline.

Also, untabify to make it easier to edit with Climacs.

Revision 1.20 - (view) (annotate) - [select for diffs]
Wed Aug 2 02:14:44 2006 UTC (7 years, 8 months ago) by rstrandh
Branch: MAIN
CVS Tags: works-with-0_9_3
Changes since 1.19: +1 -1 lines
Diff to previous 1.19
Implemented a name change suggested by Magnus Johansson:

   Insert Measure Bar -> Insert Barline

Revision 1.19 - (view) (annotate) - [select for diffs]
Mon Jun 19 17:40:34 2006 UTC (7 years, 10 months ago) by crhodes
Branch: MAIN
Changes since 1.18: +2 -0 lines
Diff to previous 1.18
Merge keysigN patch, with all its attendant horribleness.

Revision 1.18 - (view) (annotate) - [select for diffs]
Wed Jun 14 19:20:41 2006 UTC (7 years, 10 months ago) by rstrandh
Branch: MAIN
Changes since 1.17: +2 -0 lines
Diff to previous 1.17
New commands: com-octave-up and com-octave-down that work for
clusters, bound to Meta-U and Meta-D.

They move the current note up/down by an entire octave.  These
commands are useful when the automatic pitch follower gets it wrong.

Revision 1.17 - (view) (annotate) - [select for diffs]
Wed Jun 14 19:06:55 2006 UTC (7 years, 10 months ago) by rstrandh
Branch: MAIN
Changes since 1.16: +2 -2 lines
Diff to previous 1.16
Make com-up and com-down work for rests as well.

Revision 1.16 - (view) (annotate) - [select for diffs]
Tue Jun 13 19:39:56 2006 UTC (7 years, 10 months ago) by rstrandh
Branch: MAIN
Changes since 1.15: +3 -0 lines
Diff to previous 1.15
Implemented commands to go to the beginning and to the end of the
score, bound to M-< and M-> respectively.

Revision 1.15 - (view) (annotate) - [select for diffs]
Mon Jun 5 10:06:58 2006 UTC (7 years, 10 months ago) by crhodes
Branch: MAIN
Changes since 1.14: +1 -1 lines
Diff to previous 1.14
Fix M-h in lyrics mode

Revision 1.14 - (view) (annotate) - [select for diffs]
Tue May 23 10:55:26 2006 UTC (7 years, 10 months ago) by crhodes
Branch: MAIN
Changes since 1.13: +1 -1 lines
Diff to previous 1.13
Make the Measure menu work again; have only one definition of
com-forward/backward-measure.

Document one or two commands; make com-erase-element take a numeric
prefix parameter.

Revision 1.13 - (view) (annotate) - [select for diffs]
Mon May 22 13:39:30 2006 UTC (7 years, 10 months ago) by crhodes
Branch: MAIN
Changes since 1.12: +3 -0 lines
Diff to previous 1.12
Movement by measure, bound to M-C-f and M-C-b.

Revision 1.12 - (view) (annotate) - [select for diffs]
Sun May 14 07:49:55 2006 UTC (7 years, 11 months ago) by crhodes
Branch: MAIN
Changes since 1.11: +1 -1 lines
Diff to previous 1.11
Use the ESA help table.

(Note that since we define a command for C-h, the default esa bindings
are shadowed.  The extended commands work, though.)

Revision 1.11 - (view) (annotate) - [select for diffs]
Mon Feb 20 20:19:37 2006 UTC (8 years, 1 month ago) by rstrandh
Branch: MAIN
Changes since 1.10: +24 -14 lines
Diff to previous 1.10
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.

Revision 1.10 - (view) (annotate) - [select for diffs]
Wed Feb 15 03:18:03 2006 UTC (8 years, 2 months ago) by rstrandh
Branch: MAIN
Changes since 1.9: +0 -1 lines
Diff to previous 1.9
Cleaned up some dead code.

Revision 1.9 - (view) (annotate) - [select for diffs]
Wed Feb 15 02:54:26 2006 UTC (8 years, 2 months ago) by rstrandh
Branch: MAIN
Changes since 1.8: +2 -2 lines
Diff to previous 1.8
Added a new package and a new file ESA-BUFFER allowing buffers to be
named, to be associated with a file name, and to have a `needs-saving'
and a `read-only' flag.

Added a new package and a new file ESA-IO containing
application-independent functionality to create buffers from files,
and to save buffers to files.  This package also supplies filename
completion.  Most of the code was adapted from Climacs.

Abstracted out all Gsharp-specific I/O to ESA-IO.  In particular, this
means that we now have commands such as C-x C-s, and C-x C-w, which we
didn't before.

The old I/O code is still there.  Cleanup is next.

Revision 1.8 - (view) (annotate) - [select for diffs]
Mon Feb 13 23:51:34 2006 UTC (8 years, 2 months ago) by rstrandh
Branch: MAIN
Changes since 1.7: +31 -20 lines
Diff to previous 1.7
Reorganized the command tables so that there are command tables
that are specific to element types.

Implemented find-applicable-gsharp-command-table that determines
a command table based on the layer the cursor is in and (if any) the
current element.

Added `tie-left' and `tie-right' accessors to notes and lyrics
elements and commands for modifying the ties.  Ties are not rendered
yet.

Revision 1.7 - (view) (annotate) - [select for diffs]
Fri Oct 28 17:20:30 2005 UTC (8 years, 5 months ago) by crhodes
Branch: MAIN
Changes since 1.6: +1 -1 lines
Diff to previous 1.6
Allow capital letters in lyrics.

Revision 1.6 - (view) (annotate) - [select for diffs]
Tue Aug 2 00:34:41 2005 UTC (8 years, 8 months ago) by rstrandh
Branch: MAIN
Changes since 1.5: +3 -3 lines
Diff to previous 1.5
Fixed a bug in esa.lisp that made numeric arguments not work.

Error messages are now displayed in the minibuffer.

Some commands like forward-element, backward-element, and
delete-element now accept numeric arguments.

Prepared for incremental redisplay by changing inheritance of pixmap
records.  This is nontrivial, though, and will require some more
thinking about.  The best thing would be to fix McCLIM, but that looks
nontrivial as well.

Revision 1.5 - (view) (annotate) - [select for diffs]
Mon Jul 25 11:14:37 2005 UTC (8 years, 8 months ago) by rstrandh
Branch: MAIN
Changes since 1.4: +3 -2 lines
Diff to previous 1.4
fixed some minor problems

Revision 1.4 - (view) (annotate) - [select for diffs]
Mon Jul 25 09:52:14 2005 UTC (8 years, 8 months ago) by rstrandh
Branch: MAIN
Changes since 1.3: +127 -141 lines
Diff to previous 1.3
Climacs is now an ESA (Emacs-style application) using the new package that
was abstracted out of Climacs.

Revision 1.3 - (view) (annotate) - [select for diffs]
Sun Aug 1 15:14:33 2004 UTC (9 years, 8 months ago) by rstrandh
Branch: MAIN
Changes since 1.2: +63 -63 lines
Diff to previous 1.2
Lyrics input now allows for accents, provided that your keyboard
is capable of generating dead keys for these accents.  It only works for
X11 at the moment, I would think.

The way I do it is not great, since now I get messages about missing
commands for the control keys.  I have to think of a better way of
doing it.

Loading a file now calls select-layer so that the appropriate mode is
selected.  Loading the bach score with lyrics now immediately lets
you edit the lyrics.

Revision 1.2 - (view) (annotate) - [select for diffs]
Sat Jul 24 20:09:55 2004 UTC (9 years, 8 months ago) by rstrandh
Branch: MAIN
Changes since 1.1: +132 -46 lines
Diff to previous 1.1
Gsharp definitely has lyrics.

When a lyrics layer is selected, the ordinary alphabetic keys append
characters to the preceding lyrics element.  use C-Space to insert a
new lyrics element.  Use C-h to erase the last character of a lyrics
element.  It's a bit clunky, but it works.  I seriously doubt the full
power of Goatee is needed to edit lyrics.

I noticed that (probably unintentionally) McCLIM can handle Unicode
texts in the form of vectors of integers to draw-text.  It probably
just passes them on to the port-specific functions, and it happens to
work with clx.  It probably won't work on all backends, but it would
be nice if it did.  The default font on my machine can probably only
do character codes up to 255, but with a good font, it should be able
to do up to 65535.  But right now, I can get the German national
characters, which are needed for Bach.

Check out the new file Scores/bach181-lyrics.gsh.

In it, you will also notice that there is one place in which words
overlap.  To fix that (which is not just a lyrics problem, but also
happens with clusters with many accidentals) Gsharp must learn to
compute how much extra room an element might need, and adjust spacing
accordingly,

Unfortunately McCLIM does not handle input from a US-international
keyboard, so I actually had to put in the 's manually, but it should
work for others.

With lyrics, MIDI file generation is most likely broken, but I haven't
checked that yet. It should just skip lyrics layers.

Revision 1.1 - (view) (annotate) - [select for diffs]
Fri Jul 23 16:51:16 2004 UTC (9 years, 8 months ago) by rstrandh
Branch: MAIN
These current modifications are not in a good state yet.  Some of them
are terribly kludgy, but I do not think anything is broken.

New files:

  modes.lisp containing key bindings
  sequence-dico.lisp: a dictionary that searches for objects
                      associated with sequences (lists really).

Utilities:

  Added some horribly kludgy Unicode support.

Buffer:

  New types: lyrics-staff, melody-element, lyrics-element, melody-bar,
             lyrics-bar, melody-layer, lyrics-layer

  Layers are no longer ordered.

Cursor:

  Removed functionality that used layer ordering.

Gui:

  Removed commands that used layer ordering.
  Added new commands to navigate, insert, and delete layers.
  Factored out and improved command processing.
  Some menus in menu bar work better.
  Added new presentation methods and types.
  Still no support for typing lyrics, but you can see them if they
  are already in a .gsh file.

Input state:

  It no longer contains the staff.  Instead the current staff is the first
  in the list of staves in the current layer.

Drawing:

  We can now draw lyrics.

Score pane:

  Now has a lyrics-staff presentation type.

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

  ViewVC Help
Powered by ViewVC 1.1.5