--- /dev/null
+import javax.swing.*;
+
+/**
+ * Moosique's graphical user interface.
+ *
+ * @author Andersson, Andreen, Lanneskog, Pehrson
+ * @version 1
+ */
+
+public class MooGUI {
+
+ /**
+ * Creates the GUI.
+ */
+ public MooGUI () {
+
+ }
+
+ /**
+ *
+ */
+ public void () {
+
+ }
+}
--- /dev/null
+import javax.swing.*;
+
+/**
+ *
+ *
+ * @author Andersson, Andreen, Lanneskog, Pehrson
+ * @version 1
+ */
+
+public class MooMenu {
+
+ /**
+ * Creates the menus.
+ */
+ public MooMenu () {
+
+ }
+
+ /**
+ *
+ */
+ public void () {
+
+ }
+}
--- /dev/null
+import javax.sound.midi.*;
+
+/**
+ * Functional representation of a MIDI note, which contains two MIDI events, note on and note off.
+ *
+ * @author Andersson, Andreen, Lanneskog, Pehrson
+ * @version 1
+ */
+
+public class MooNote {
+
+ private MidiEvent noteOn, noteOff;
+
+ /**
+ * Creates a MooNote of the given pitch, velocity and length in the current track.
+ */
+ public MooNote (int pitch, int velocity, int length) {
+
+ }
+
+ /**
+ * Sets the pitch of the current note.
+ + @param pitch the pitch of the note (0-127)
+ */
+ public void setPitch(int pitch) {
+
+ }
+
+ /**
+ * Sets the velocity of the current note.
+ + @param vel the velocity of the note (0-127)
+ */
+ public void setVelocity(int vel) {
+
+ }
+
+ /**
+ * Sets the length of the current note (or rather moves the note off event).
+ + @param n the length of the note in ticks (100 per beat)
+ */
+ public void setLength(int ticks) {
+
+ }
+
+ /**
+ * Returns the note on event of the current note.
+ * @return the note on MidiEvent
+ */
+ public MidiEvent getNoteOnEvent() {
+
+ }
+
+ /**
+ * Returns the note off event of the current note.
+ * @return the note off MidiEvent
+ */
+ public MidiEvent getNoteOffEvent() {
+
+ }
+
+ /**
+ * Returns the pitch of the current note.
+ * @return the pitch of the note
+ */
+ public int getPitch() {
+
+ }
+
+ /**
+ * Returns the velocity of the current note.
+ * @return the velocity of the note
+ */
+ public int getVelocity() {
+
+ }
+
+ /**
+ * Returns the length of the current note.
+ * @return the length of the note
+ */
+ public int getLength() {
+
+ }
+}
--- /dev/null
+import javax.swing.*;
+
+/**
+ * Graphical representation of a MIDI note.
+ *
+ * @author Andersson, Andreen, Lanneskog, Pehrson
+ * @version 1
+ */
+
+public class MooNoteElement {
+
+ /**
+ * Creates a new note element.
+ */
+ public MooNoteElement () {
+
+ }
+
+ /**
+ *
+ */
+ public void () {
+
+ }
+}
--- /dev/null
+import javax.sound.midi.*;
+
+/**
+ * Functional representation of a MIDI sequence.
+ *
+ * @author Andersson, Andreen, Lanneskog, Pehrson
+ * @version 1
+ */
+
+public class MooSequence {
+
+ private Collection tracks;
+
+ /**
+ * Creates a MooSequence with three tracks.
+ */
+ public MooSequence () {
+
+ }
+
+ /**
+ * Returns a pointer to the specified track.
+ * @param track the number of the track (0-31)
+ * @return the specified track
+ */
+ public MooTrack getTrack(int track) {
+
+ }
+
+ /**
+ * Returns the number of tracks in the current sequence.
+ * @return the number of the tracks
+ */
+ public int getNumberOfTracks() {
+
+ }
+
+ /**
+ * Creates a new track after the specified track.
+ * @param track the number of the track (0-31)
+ */
+ public void addTrack(int track) {
+
+ }
+
+ /**
+ * Deletes the specified track.
+ * @param track the number of the track (0-31)
+ */
+ public void deleteTrack(int track) {
+
+ }
+
+ /**
+ * Returns the Java Sequence object of the current sequence.
+ * @return a Sequence
+ */
+ public Sequence getSequence() {
+
+ }
+
+ /**
+ * Resets the solo and mute settings of all tracks.
+ */
+ public void activateTracks() {
+
+ }
+}
--- /dev/null
+import javax.swing.*;
+
+/**
+ *
+ *
+ * @author Andersson, Andreen, Lanneskog, Pehrson
+ * @version 1
+ */
+
+public class MooStatus {
+
+ /**
+ * Creates the status bar.
+ */
+ public MooStatus () {
+
+ }
+
+ /**
+ *
+ */
+ public void () {
+
+ }
+}
--- /dev/null
+import javax.swing.*;
+
+/**
+ *
+ *
+ * @author Andersson, Andreen, Lanneskog, Pehrson
+ * @version 1
+ */
+
+public class Moo {
+
+ /**
+ * Creates the toolbar.
+ */
+ public MooToolbar () {
+
+ }
+
+ /**
+ *
+ */
+ public void () {
+
+ }
+}
--- /dev/null
+import javax.sound.midi.*;
+
+/**
+ * Functional representation of a MIDI track.
+ *
+ * @author Andersson, Andreen, Lanneskog, Pehrson
+ * @version 1
+ */
+
+public class MooTrack {
+
+ private Collection notes;
+ private int channel;
+ private int instrument;
+ private boolean solo;
+ private boolean mute;
+
+
+ /**
+ * Creates an empty MooTrack.
+ */
+ public MooTrack () {
+
+ }
+
+ /**
+ * Sets the MIDI channel of the current track.
+ * @param chan the number of the MIDI channel (1-16)
+ */
+ public void setChannel(int chan) {
+
+ }
+
+ /**
+ * Sets the MIDI instrument of the current track.
+ * @param instr the number of the MIDI instrument (0-127)
+ */
+ public void setInstrument(int instr) {
+
+ }
+
+ /**
+ * Returns the number of notes in the current track.
+ * @return the number of notes
+ */
+ public void getNumberOfNotes() {
+
+ }
+
+ /**
+ * Adds the given note to the current track.
+ * @param note the MooNote to add
+ */
+ public void addNote(MooNote note) {
+
+ }
+
+ /**
+ * Deletes the given note to the current track.
+ * @param note the MooNote to delete
+ */
+ public void deleteNote(MooNote note) {
+
+ }
+
+ /**
+ * Returns the note of the given index.
+ * @param note the index of the note
+ */
+ public MooNote getNote(int note) {
+
+ }
+
+ /**
+ * Makes the current track solo.
+ * @param set if the track should be solo
+ */
+ public void solo(boolean set) {
+
+ }
+
+ /**
+ * Mutes the current track.
+ * @param set if the track should be muted
+ */
+ public void mute(boolean set) {
+
+ }
+
+ /**
+ * Checks if the current track is solo.
+ * @return if the track is solo
+ */
+
+ public boolean isSolo() {
+
+ }
+
+ /**
+ * Checks if the current track is muted.
+ * @return if the track is muted
+ */
+ public boolean isMute() {
+
+ }
+}
--- /dev/null
+import javax.swing.*;
+
+/**
+ * The title bar for each track with track name, channel, instrument etc.
+ *
+ * @author Andersson, Andreen, Lanneskog, Pehrson
+ * @version 1
+ */
+
+public class MooTrackTitle {
+
+ /**
+ * Creates the title bar.
+ */
+ public MooTrackTitle () {
+
+ }
+
+ /**
+ *
+ */
+ public void () {
+
+ }
+}
--- /dev/null
+import javax.swing.*;
+
+/**
+ *
+ *
+ * @author Andersson, Andreen, Lanneskog, Pehrson
+ * @version 1
+ */
+
+public class MooTrackView {
+
+ /**
+ * Creates
+ */
+ public MooTrackView () {
+
+ }
+
+ /**
+ *
+ */
+ public void () {
+
+ }
+}
--- /dev/null
+import javax.swing.*;
+
+/**
+ *
+ *
+ * @author Andersson, Andreen, Lanneskog, Pehrson
+ * @version 1
+ */
+
+public class MooView {
+
+ /**
+ * Creates
+ */
+ public MooView () {
+
+ }
+
+ /**
+ *
+ */
+ public void () {
+
+ }
+}
--- /dev/null
+import javax.swing.*;
+
+/**
+ *
+ *
+ * @author Andersson, Andreen, Lanneskog, Pehrson
+ * @version 1
+ */
+
+public class MooViewCounter {
+
+ /**
+ * Creates
+ */
+ public MooViewCounter () {
+
+ }
+
+ /**
+ *
+ */
+ public void () {
+
+ }
+}
--- /dev/null
+import javax.sound.midi.*;
+import java.io.*;
+
+/**
+ * Moosique - The trackers approach to MIDI
+ *
+ * Main class that handles initiation, IO and sound FX.
+ *
+ * @author Andersson, Andreen, Lanneskog, Pehrson
+ * @version 1
+ */
+
+public class Moosique {
+
+ private static MooGUI gui;
+ private static MooSequence seq;
+ private static String filename;
+
+ /**
+ * Runs the application.
+ */
+ public static void main (String[] args) {
+
+ }
+
+ /**
+ * Returns a pointer to the current sequence.
+ * @return the current sequence
+ */
+ public static MooSequence getSequence() {
+
+ }
+
+ /**
+ * Starts playback of the current sequence.
+ */
+ public static void play() {
+
+ }
+
+ /**
+ * Pauses playback of the current sequence.
+ */
+ public static void pause() {
+
+ }
+
+ /**
+ * Stops playback of the current sequence.
+ */
+ public static void stop() {
+
+ }
+
+ /**
+ * Rewinds the current sequence the given number of measures.
+ * @param measures the number of measures to rewind
+ */
+ public static void rewind(int measures) {
+
+ }
+
+ /**
+ * Fast forwards the current sequence the given number of measures.
+ * @param measures the number of measures to fast forward
+ */
+ public static void forward(int measures) {
+
+ }
+
+ /**
+ * Loads the MooSequence in the given file.
+ * @param filename the filename to use
+ */
+ public static void load(String filename) throws IOException {
+
+ }
+
+ /**
+ * Saves the current sequence to the given filename
+ * @param filename the filename to use
+ */
+ public static void saveAs(String filename) throws IOException {
+
+ }
+
+ /**
+ * Saves the current sequence to the previously given filename.
+ */
+ public static void save() throws IOException {
+
+ }
+
+ /**
+ * Exports the current sequence to a standard MIDI file.
+ * @param filename the filename to use
+ */
+ public static void exportMIDI(String filename) throws IOException {
+
+ }
+}