Source code: com/virtuosotechnologies/asaph/model/ChordSetKey.java
1 /*
2 ================================================================================
3
4 FILE: ChordSetKey.java
5
6 PROJECT:
7
8 Asaph
9
10 CONTENTS:
11
12 ChordSetKey interface
13
14 PROGRAMMERS:
15
16 Daniel Azuma (DA) <dazuma@kagi.com>
17
18 COPYRIGHT:
19
20 Copyright (C) 2003 Daniel Azuma (dazuma@kagi.com)
21
22 This program is free software; you can redistribute it and/or
23 modify it under the terms of the GNU General Public License as
24 published by the Free Software Foundation; either version 2
25 of the License, or (at your option) any later version.
26
27 This program is distributed in the hope that it will be useful,
28 but WITHOUT ANY WARRANTY; without even the implied warranty of
29 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30 GNU General Public License for more details.
31
32 You should have received a copy of the GNU General Public
33 License along with this program; if not, write to
34 Free Software Foundation, Inc.
35 59 Temple Place, Suite 330
36 Boston, MA 02111-1307 USA
37
38 ================================================================================
39 */
40
41
42 package com.virtuosotechnologies.asaph.model;
43
44 import javax.swing.event.UndoableEditListener;
45
46 import com.virtuosotechnologies.asaph.model.notation.Note;
47
48
49 /**
50 * Specification of a key that a ChordSet could be in.
51 */
52 public interface ChordSetKey
53 extends SongMember
54 {
55 //-------------------------------------------------------------------------
56 // Accessor methods
57 //-------------------------------------------------------------------------
58
59 /**
60 * Get a SimpleString containing description info for the ChordSetKey.
61 * Every ChordSetKey has a description, even if it is the empty string.
62 *
63 * @return description info SimpleString
64 */
65 public SimpleString getInfoString();
66
67
68 /**
69 * Get the note for key signature. The note should normally never be null,
70 * but this method may return null if the data is corrupted.
71 *
72 * @return key signature note
73 */
74 public Note getKeyNote();
75
76
77 //-------------------------------------------------------------------------
78 // Mutation methods
79 //-------------------------------------------------------------------------
80
81 /**
82 * Set the note for key signature
83 *
84 * @param note new note
85 * @param undoListener listener to notify if an undoable edit is generated,
86 * or null to suppress generation of undoable edits
87 * @exception NullPointerException note was null
88 */
89 public void setKeyNote(
90 Note note,
91 UndoableEditListener undoListener);
92 }