8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
# File 'lib/transcore/command/convert.rb', line 8
def self.run(argv, input_stream = $stdin, output_stream = $stdout)
command = argv.shift
input = input_stream.read
input.gsub!(/ /, ' ')
case command
when 'to-sharp', 'sharp'
input.gsub!(/(^|\s|\/|on)A♭/, '\\1G#')
input.gsub!(/(^|\s|\/|on)B♭/, '\\1A#')
input.gsub!(/(^|\s|\/|on)D♭/, '\\1C#')
input.gsub!(/(^|\s|\/|on)E♭/, '\\1D#')
input.gsub!(/(^|\s|\/|on)G♭/, '\\1F#')
when 'to-flat', 'flat'
input.gsub!(/(^|\s|\/|on)G#/, '\\1A♭')
input.gsub!(/(^|\s|\/|on)A#/, '\\1B♭')
input.gsub!(/(^|\s|\/|on)C#/, '\\1D♭')
input.gsub!(/(^|\s|\/|on)D#/, '\\1E♭')
input.gsub!(/(^|\s|\/|on)F#/, '\\1G♭')
when 'to-japanese', 'doremi'
input.gsub!(/A/, 'ラ')
input.gsub!(/B/, 'シ')
input.gsub!(/C/, 'ド')
input.gsub!(/D/, 'レ')
input.gsub!(/E/, 'ミ')
input.gsub!(/F/, 'ファ')
input.gsub!(/G/, 'ソ')
when 'to-doremi', 'doremi'
input.gsub!(/A#/, 'li')
input.gsub!(/C#/, 'di')
input.gsub!(/D#/, 'ri')
input.gsub!(/F#/, 'fi')
input.gsub!(/G#/, 'si')
input.gsub!(/A♭/, 'le')
input.gsub!(/B♭/, 'te')
input.gsub!(/D♭/, 're')
input.gsub!(/E♭/, 'me')
input.gsub!(/G♭/, 'se')
input.gsub!(/A/, 'la')
input.gsub!(/B/, 'ti')
input.gsub!(/C/, 'do')
input.gsub!(/D/, 're')
input.gsub!(/E/, 'mi')
input.gsub!(/F/, 'fa')
input.gsub!(/G/, 'so')
when 'from-doremi'
input.gsub!(/la/i, 'A')
input.gsub!(/ti/i, 'B')
input.gsub!(/do/i, 'C')
input.gsub!(/re/i, 'D')
input.gsub!(/mi/i, 'E')
input.gsub!(/fa/i, 'F')
input.gsub!(/so/i, 'G')
input.gsub!(/li/i, 'A#')
input.gsub!(/di/i, 'C#')
input.gsub!(/ri/i, 'D#')
input.gsub!(/fi/i, 'F#')
input.gsub!(/si/i, 'G#')
input.gsub!(/le/i, 'A♭')
input.gsub!(/te/i, 'B♭')
input.gsub!(/re/i, 'D♭')
input.gsub!(/me/i, 'E♭')
input.gsub!(/se/i, 'G♭')
when 'from-html', 'text-score'
input.gsub!(/\n/, '')
input.gsub!(/<br\/?>/, "\n")
input.gsub!(/<\/p>/, "\n")
input.gsub!(/<[^>]+>/, ' ')
input.gsub!(/ /, ' ')
input.gsub!(/ /, ' ')
input.gsub!(/^ +/, '')
input.gsub!(/ +$/, '')
input.gsub!(///, '|')
input.gsub!(/#/, '#')
input.gsub!(/ /, ' ')
input.gsub!(/\n\n\n/, "\n\n")
else
return 2
end
result = input
output_stream.puts result
0
end
|