sscharter 0.7.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/tutorial/tutorial.md CHANGED
@@ -107,7 +107,7 @@ big-d
107
107
  ├── README.md
108
108
  ├── src
109
109
  │   └── master.rb
110
- └── .sscharter.yml
110
+ └── sscharter.yml
111
111
  ```
112
112
 
113
113
  Here are some explanation for each of them.
@@ -121,13 +121,13 @@ see [the official documentation](https://bundler.io/man/gemfile.5.html).
121
121
  If you do not use Git as the version manager for your project, it does nothing.
122
122
  - `Rakefile` contains some tasks that can be run by [Rake](https://ruby.github.io/rake/).
123
123
  - `README.md` is the README file of your project.
124
- - `.sscharter.yml` is the sscharter configuration for your project.
124
+ - `sscharter.yml` is the sscharter configuration for your project.
125
125
  - `files` is the directory whose files will be included in the final level file.
126
- You can change the directory in `.sscharter.yml`.
126
+ You can change the directory in `sscharter.yml`.
127
127
  - `src` is the directory that contains the source codes of your project.
128
- You can change the directory in `.sscharter.yml`.
128
+ You can change the directory in `sscharter.yml`.
129
129
 
130
- Open `.sscharter.yml` using your text editor.
130
+ Open `sscharter.yml` using your text editor.
131
131
  Here are the contents that you should see:
132
132
 
133
133
  ```yaml
@@ -332,7 +332,7 @@ Then, edit `Rakefile` to disable browser launching and enable live restart:
332
332
 
333
333
  ```ruby
334
334
  task :serve do
335
- exec 'bundle exec sscharter serve --no-open-browser --live-restart'
335
+ exec 'bundle exec sscharter serve --no-open-browser'
336
336
  end
337
337
  ```
338
338
 
@@ -952,6 +952,56 @@ end
952
952
  # write something here...
953
953
  ```
954
954
 
955
+ Sometimes even `preserve_beat: false` is not convenient enough to write complicated note patterns.
956
+ The `mark` and `at` methods can help you with more complicated charts.
957
+
958
+ Use `mark` to mark a place and label it with a symbol of your choice
959
+ (e.g. `:left_hand`), and use `at` to write notes at that point.
960
+
961
+ ```ruby
962
+ group, preserve_beat: false do
963
+ # write something here...
964
+ mark :left_hand # mark the current place with the label `:left_hand`
965
+ end
966
+
967
+ group do
968
+ # write something here...
969
+ mark :right_hand # mark the current place with the label `:right_hand`
970
+ end
971
+
972
+ at :left_hand do
973
+ # write notes here as if continuing where `mark :left_hand` is
974
+ end
975
+
976
+ at :right_hand do
977
+ # write notes here as if continuing where `mark :right_hand` is
978
+ end
979
+ ```
980
+
981
+ You can also use `at` with `update_mark: true` to update the mark
982
+ to the place where the block in `at` is ended.
983
+
984
+ ```ruby
985
+ group do
986
+ # ...
987
+ mark :x
988
+ # ...
989
+ end
990
+
991
+ at :x, update_mark: true do
992
+ # ...
993
+ end
994
+
995
+ at :x do
996
+ # as if continuing the last `at :x, update_mark: true` block
997
+ end
998
+ ```
999
+
1000
+ Usually, when `at` finishes, the current beat is set
1001
+ to whatever it was before `at` was called.
1002
+ You can keep the current beat by using `preserve_beat: true`
1003
+ in the call of `at`.
1004
+
955
1005
  ### BPM changes
956
1006
 
957
1007
  > [!NOTE]
@@ -1191,6 +1241,21 @@ transform duplicate notes, new_tip_points: false do
1191
1241
  end
1192
1242
  ```
1193
1243
 
1244
+ When you use `mark` inside a tip point block,
1245
+ the tip point state is also preserved when you use `at` later.
1246
+ For example:
1247
+
1248
+ ```ruby
1249
+ tp_chain 0, 100, 1 do
1250
+ t 0, 0; b 1
1251
+ mark :my_mark
1252
+ end
1253
+
1254
+ at :my_mark do
1255
+ t 100, 0 # this note will be connected by the same tip point
1256
+ end
1257
+ ```
1258
+
1194
1259
  ## Advanced charting techniques
1195
1260
 
1196
1261
  TODO.
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sscharter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ulysses Zhan
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2024-09-09 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: rubyzip
@@ -16,14 +15,14 @@ dependencies:
16
15
  requirements:
17
16
  - - "~>"
18
17
  - !ruby/object:Gem::Version
19
- version: '2.3'
18
+ version: '3.1'
20
19
  type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
23
  - - "~>"
25
24
  - !ruby/object:Gem::Version
26
- version: '2.3'
25
+ version: '3.1'
27
26
  - !ruby/object:Gem::Dependency
28
27
  name: launchy
29
28
  requirement: !ruby/object:Gem::Requirement
@@ -94,6 +93,20 @@ dependencies:
94
93
  - - "~>"
95
94
  - !ruby/object:Gem::Version
96
95
  version: '1.3'
96
+ - !ruby/object:Gem::Dependency
97
+ name: base64
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ type: :runtime
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
97
110
  - !ruby/object:Gem::Dependency
98
111
  name: minitest
99
112
  requirement: !ruby/object:Gem::Requirement
@@ -122,7 +135,20 @@ dependencies:
122
135
  - - "~>"
123
136
  - !ruby/object:Gem::Version
124
137
  version: '13.0'
125
- description:
138
+ - !ruby/object:Gem::Dependency
139
+ name: yard
140
+ requirement: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: '0.9'
145
+ type: :development
146
+ prerelease: false
147
+ version_requirements: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: '0.9'
126
152
  email:
127
153
  - ulysseszhan@gmail.com
128
154
  executables:
@@ -148,7 +174,7 @@ licenses: []
148
174
  metadata:
149
175
  homepage_uri: https://github.com/sunniesnow/sscharter
150
176
  source_code_uri: https://github.com/sunniesnow/sscharter
151
- post_install_message:
177
+ changelog_uri: https://github.com/sunniesnow/sscharter/releases
152
178
  rdoc_options: []
153
179
  require_paths:
154
180
  - lib
@@ -163,8 +189,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
163
189
  - !ruby/object:Gem::Version
164
190
  version: '0'
165
191
  requirements: []
166
- rubygems_version: 3.5.3
167
- signing_key:
192
+ rubygems_version: 3.6.9
168
193
  specification_version: 4
169
194
  summary: A Ruby DSL for writing Sunniesnow charts
170
195
  test_files: []