lydown 0.10.0 → 0.12.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +452 -206
- data/bin/lydown +5 -1
- data/lib/lydown/cache.rb +1 -2
- data/lib/lydown/cli.rb +2 -0
- data/lib/lydown/cli/commands.rb +25 -7
- data/lib/lydown/cli/compiler.rb +32 -9
- data/lib/lydown/cli/diff.rb +1 -1
- data/lib/lydown/cli/installer.rb +175 -0
- data/lib/lydown/cli/proofing.rb +44 -41
- data/lib/lydown/cli/repl.rb +232 -0
- data/lib/lydown/cli/support.rb +33 -0
- data/lib/lydown/core_ext.rb +8 -0
- data/lib/lydown/lilypond.rb +1 -0
- data/lib/lydown/ly_lib/lib.ly +1 -1
- data/lib/lydown/parsing.rb +1 -1
- data/lib/lydown/rendering.rb +34 -0
- data/lib/lydown/rendering/base.rb +1 -1
- data/lib/lydown/rendering/movement.rb +0 -11
- data/lib/lydown/rendering/music.rb +2 -0
- data/lib/lydown/rendering/notes.rb +2 -0
- data/lib/lydown/rendering/settings.rb +34 -8
- data/lib/lydown/rendering/source_ref.rb +3 -2
- data/lib/lydown/templates/lilypond_doc.erb +5 -0
- data/lib/lydown/templates/movement.erb +1 -1
- data/lib/lydown/templates/variables.erb +5 -0
- data/lib/lydown/version.rb +1 -1
- data/lib/lydown/work.rb +9 -4
- data/lib/lydown/work_context.rb +6 -8
- metadata +7 -33
@@ -3,11 +3,12 @@ module Lydown::Rendering
|
|
3
3
|
# for notes in a macro group
|
4
4
|
class SourceRef < Base
|
5
5
|
def translate
|
6
|
-
return # unless @context['options/proof_mode']
|
7
|
-
|
8
6
|
fn = @event[:filename]
|
9
7
|
if fn && fn != @context['process/last_filename']
|
10
8
|
@context['process/last_filename'] = fn
|
9
|
+
|
10
|
+
return # unless @context['options/proof_mode']
|
11
|
+
|
11
12
|
@context.emit(@event[:stream] || :music, "%{::#{File.expand_path(fn)}%} ")
|
12
13
|
end
|
13
14
|
end
|
@@ -4,6 +4,11 @@
|
|
4
4
|
\include "<%= File.join(LY_LIB_DIR, 'lib.ly') %>"
|
5
5
|
<% end %>
|
6
6
|
|
7
|
+
<% includes = Lydown::Rendering.include_files(self, {}) %>
|
8
|
+
<% includes.each do |i| %>
|
9
|
+
<%= i %>
|
10
|
+
<% end %>
|
11
|
+
|
7
12
|
<% if self.render_mode == :proof %>
|
8
13
|
<%= Lydown::Rendering::PROOFING_LY_SETTINGS %>
|
9
14
|
<% end %>
|
@@ -24,7 +24,7 @@
|
|
24
24
|
|
25
25
|
page_breaks = Lydown::Rendering::Movement.page_breaks(self, movement: name)
|
26
26
|
|
27
|
-
includes = Lydown::Rendering
|
27
|
+
includes = Lydown::Rendering.include_files(self, movement: name)
|
28
28
|
|
29
29
|
hide_bar_numbers = Lydown::Rendering::Movement.hide_bar_numbers?(
|
30
30
|
self, movement: name
|
@@ -2,6 +2,8 @@
|
|
2
2
|
<% self['movements'].each do |mvt_name, mvt|
|
3
3
|
mvt['parts'].each do |part_name, part|
|
4
4
|
var_opts = {movement: mvt_name, part: part_name}
|
5
|
+
notation_size = self.get_setting(:notation_size, var_opts)
|
6
|
+
|
5
7
|
if part_name && !part_name.empty?
|
6
8
|
voice_prefix = "#{part_name}_"
|
7
9
|
else
|
@@ -11,6 +13,9 @@
|
|
11
13
|
<%= var_name[var_opts.merge(stream: :music)] %> = \relative c {
|
12
14
|
<<
|
13
15
|
\new Voice = "<%= voice_prefix %>voice1" {
|
16
|
+
<% if notation_size %>
|
17
|
+
\<%= notation_size %>
|
18
|
+
<% end %>
|
14
19
|
<%= part['music'] %>
|
15
20
|
}
|
16
21
|
>>
|
data/lib/lydown/version.rb
CHANGED
data/lib/lydown/work.rb
CHANGED
@@ -58,7 +58,6 @@ module Lydown
|
|
58
58
|
end
|
59
59
|
|
60
60
|
def process_file(path, prefix = [], opts = {})
|
61
|
-
$stderr.puts path
|
62
61
|
content = IO.read(path)
|
63
62
|
stream = LydownParser.parse(content, {
|
64
63
|
filename: File.expand_path(path),
|
@@ -155,14 +154,16 @@ module Lydown
|
|
155
154
|
proof_mode = @context['options/proof_mode']
|
156
155
|
paths = streams.keys
|
157
156
|
|
158
|
-
|
157
|
+
opts = PARALLEL_PARSE_OPTIONS.clone
|
158
|
+
opts[:progress] = nil if @context['options/no_progress_bar']
|
159
|
+
processed_streams = Parallel.map(paths, opts) do |path|
|
159
160
|
content = IO.read(path)
|
160
161
|
Cache.hit(content) do
|
161
162
|
LydownParser.parse(content, {
|
162
163
|
filename: File.expand_path(path),
|
163
164
|
source: content,
|
164
165
|
proof_mode: proof_mode,
|
165
|
-
|
166
|
+
no_progress_bar: true
|
166
167
|
})
|
167
168
|
end
|
168
169
|
end
|
@@ -180,7 +181,11 @@ module Lydown
|
|
180
181
|
|
181
182
|
def translate_movement_files(state)
|
182
183
|
stream_entries = prepare_work_stream_array(state)
|
183
|
-
|
184
|
+
|
185
|
+
opts = PARALLEL_PROCESS_OPTIONS.clone
|
186
|
+
opts[:progress] = nil if @context['options/no_progress_bar']
|
187
|
+
|
188
|
+
processed_contexts = Parallel.map(stream_entries, opts) do |entry|
|
184
189
|
mvmt_stream, stream = *entry
|
185
190
|
ctx = @context.clone_for_translation
|
186
191
|
Cache.hit(ctx, mvmt_stream, stream) do
|
data/lib/lydown/work_context.rb
CHANGED
@@ -366,10 +366,6 @@ module Lydown
|
|
366
366
|
self['options/mode'] || self['render_opts/mode']
|
367
367
|
end
|
368
368
|
|
369
|
-
def to_msgpack
|
370
|
-
@context.to_msgpack
|
371
|
-
end
|
372
|
-
|
373
369
|
# Returns a list of parts to extract for the specified opts. Only parts
|
374
370
|
# that should be extracted (based on the render_modes setting) are included.
|
375
371
|
def part_list_for_extraction(opts)
|
@@ -377,10 +373,12 @@ module Lydown
|
|
377
373
|
return parts unless @context[:movements]
|
378
374
|
|
379
375
|
@context[:movements].each do |mname, m|
|
380
|
-
m[:parts]
|
381
|
-
|
382
|
-
|
383
|
-
|
376
|
+
if m[:parts]
|
377
|
+
m[:parts].each do |pname, p|
|
378
|
+
# Add only parts that render in part mode
|
379
|
+
if part_render_modes(mname, pname).include?(:part)
|
380
|
+
parts << pname unless (pname == '') || parts.include?(pname)
|
381
|
+
end
|
384
382
|
end
|
385
383
|
end
|
386
384
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lydown
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.12.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sharon Rosner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-11-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: treetop
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - '='
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 1.0.
|
47
|
+
version: 1.0.1
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - '='
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 1.0.
|
54
|
+
version: 1.0.1
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: thor
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,20 +108,6 @@ dependencies:
|
|
108
108
|
- - '='
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: 1.6.1
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: msgpack
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - '='
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: 0.6.2
|
118
|
-
type: :runtime
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - '='
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: 0.6.2
|
125
111
|
- !ruby/object:Gem::Dependency
|
126
112
|
name: combine_pdf
|
127
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -136,20 +122,6 @@ dependencies:
|
|
136
122
|
- - '='
|
137
123
|
- !ruby/object:Gem::Version
|
138
124
|
version: 0.2.5
|
139
|
-
- !ruby/object:Gem::Dependency
|
140
|
-
name: rspec
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
142
|
-
requirements:
|
143
|
-
- - '='
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
version: 3.2.0
|
146
|
-
type: :runtime
|
147
|
-
prerelease: false
|
148
|
-
version_requirements: !ruby/object:Gem::Requirement
|
149
|
-
requirements:
|
150
|
-
- - '='
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: 3.2.0
|
153
125
|
description: Lydown is a language and tool for music notation
|
154
126
|
email: ciconia@gmail.com
|
155
127
|
executables:
|
@@ -166,8 +138,10 @@ files:
|
|
166
138
|
- lib/lydown/cli/commands.rb
|
167
139
|
- lib/lydown/cli/compiler.rb
|
168
140
|
- lib/lydown/cli/diff.rb
|
141
|
+
- lib/lydown/cli/installer.rb
|
169
142
|
- lib/lydown/cli/output.rb
|
170
143
|
- lib/lydown/cli/proofing.rb
|
144
|
+
- lib/lydown/cli/repl.rb
|
171
145
|
- lib/lydown/cli/signals.rb
|
172
146
|
- lib/lydown/cli/support.rb
|
173
147
|
- lib/lydown/cli/translation.rb
|
@@ -227,7 +201,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
227
201
|
version: '0'
|
228
202
|
requirements: []
|
229
203
|
rubyforge_project:
|
230
|
-
rubygems_version: 2.4.
|
204
|
+
rubygems_version: 2.4.8
|
231
205
|
signing_key:
|
232
206
|
specification_version: 4
|
233
207
|
summary: Lydown is a language for music notation
|