Skip to content

Commit

Permalink
Update to v1.4 (#251)
Browse files Browse the repository at this point in the history
* Finish PPP entirely and Finish Appendix E for DG

* Update to v1.4
  • Loading branch information
rohan-av authored Nov 11, 2019
1 parent 4fb507c commit 4d87289
Show file tree
Hide file tree
Showing 4 changed files with 66 additions and 264 deletions.
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ javafx {

shadowJar {
archiveBaseName = "Ducats"
archiveVersion = "1.3.1"
archiveVersion = "1.4"
archiveClassifier = null
archiveAppendix = null
}
Expand Down
66 changes: 63 additions & 3 deletions docs/DeveloperGuide.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ This section describes in detail the implementation of the various features, as

=== Command Parsing and Execution

Since Ducats is a CLI app, it works by reading user input and carrying out the command the user wants it to execute. In line with this objective, the different components of Ducats have been designed to interact in the sequence as depicted by Figure X.
Since Ducats is a CLI app, it works by reading user input and carrying out the command the user wants it to execute. In line with this objective, the different components of Ducats have been designed to interact in the sequence as depicted by Figure 2.

.Command Parsing and Execution Sequence Diagram
image::Command_Sequence_Diagram.png[]
Expand Down Expand Up @@ -576,7 +576,7 @@ In order to ensure that the songs the user has created, deleted or modified can
.Reading files (for each file)
image::storage_read.png[]

Before reading from the files, an assertion is made for the file list of the data folder (obtained through the `File.listFiles()` method) to not be null. The reading process as described in Figure X is then repeated for each file in the file list.
Before reading from the files, an assertion is made for the file list of the data folder (obtained through the `File.listFiles()` method) to not be null. The reading process as described in Figure 3 is then repeated for each file in the file list.

.Writing to files (for each song)
image::storage_write.png[]
Expand Down Expand Up @@ -875,9 +875,69 @@ Since music contains a lot of repeating parts, we have implemented a grouping fe

`group START_NUM END_NUM GROUP_NAME`

//todo
Hence, *after you add a few more bars* to twinkle, you can group the first two bars together and name it "verse" using the following command:

group 1 2 verse

Now that you have a group defined inside a song, there are different operations you can do with it. One of them would be to insert the group into the song at a specific bar. This is done using the `copy` command. To add the group to the 4th index of the song, key in this command:

copy verse 4

Do note that this will only work if you have more than 4 bars. Running `ascii song twinkle` will show that the group has been added to the specified location. The command `list_group` will display the list of groups in the opened song, and the format is as follows:

list_group

=== Viewing the song

Previously, we have seen how you can view the whole song with `ascii song`, with the following format:

`ascii song s/SONG_NAME`

Other than songs, individual groups can also be viewed with `ascii group`, and the format is as follows:

`ascii group s/GROUP_NAME`

Hence, when twinkle is opened, to view the group "verse", you can key in the command

ascii group verse

Individual bars can be viewed with `ascii bar`, and the format is as follows:

`ascii bar n/BAR_INDEX`

=== Undo, redo and delete

Execute the following commands

new deleteme c 4/4 120

Ducats has an undo/redo functionality that makes it easy to reverse your mistakes. By keying in the command

undo

, the creation of the new song will be reversed. This action will be reversed upon the command

redo

The `delete` command can be used to delete the whole song.

delete deleteme

will delete the song named "deleteme" from the list of songs.

=== Starting a metronome

A metronome can be started with the following command:

metronome 10 120 4/4

The format for the `metronome` command is as follows:

`metronome n/DURATION_IN_BARS n/TEMPO s/TIME_SIGNATURE`

=== Continued testing

This appendix should have provided a better understanding of how Ducats works. Do note that, in many cases, the features are not described in maximum detail. Additionally, this list of features is far from exhaustive. Please refer to the link:https://github.com/AY1920S1-CS2113T-F09-4/main/blob/master/docs/UserGuide.adoc[User Guide] for a more detailed description of all the features, and their corresponding formatting.



Loading

0 comments on commit 4d87289

Please sign in to comment.