Class: Webmidi::Middleware::Transpose
- Defined in:
- lib/webmidi/middleware/transpose.rb
Instance Method Summary collapse
- #call(message) ⇒ Object
-
#initialize(app, semitones: 0, **options) ⇒ Transpose
constructor
A new instance of Transpose.
Constructor Details
#initialize(app, semitones: 0, **options) ⇒ Transpose
Returns a new instance of Transpose.
6 7 8 9 |
# File 'lib/webmidi/middleware/transpose.rb', line 6 def initialize(app, semitones: 0, **) super(app, **) @semitones = semitones end |
Instance Method Details
#call(message) ⇒ Object
11 12 13 14 15 16 17 18 19 |
# File 'lib/webmidi/middleware/transpose.rb', line 11 def call() if () new_note = (.note + @semitones).clamp(0, 127) transposed = .with(note: new_note) @app.call(transposed) else @app.call() end end |