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.
- checksums.yaml +4 -4
- data/Gemfile +0 -13
- data/Gemfile.lock +13 -15
- data/LICENSE +1 -1
- data/README.md +3 -3
- data/Rakefile +12 -6
- data/lib/sscharter/chart.rb +35 -3
- data/lib/sscharter/cli.rb +48 -27
- data/lib/sscharter/version.rb +1 -1
- data/lib/sscharter.rb +520 -178
- data/tutorial/tutorial.md +71 -6
- metadata +34 -9
data/tutorial/tutorial.md
CHANGED
@@ -107,7 +107,7 @@ big-d
|
|
107
107
|
├── README.md
|
108
108
|
├── src
|
109
109
|
│ └── master.rb
|
110
|
-
└──
|
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
|
-
-
|
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
|
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
|
128
|
+
You can change the directory in `sscharter.yml`.
|
129
129
|
|
130
|
-
Open
|
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
|
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.
|
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:
|
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: '
|
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: '
|
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
|
-
|
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
|
-
|
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.
|
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: []
|