CocoaPods trunk is moving to be read-only. Read more on the blog, there are 18 months to go.

GLNPianoView 1.0.20

GLNPianoView 1.0.20

TestsTested
LangLanguage SwiftSwift
License MIT
ReleasedLast Release May 2020
SPMSupports SPM

Maintained by Gary Newby.



  • By
  • Gary Newby

GLNPianoView

An iOS piano keyboard view for iPhone or iPad, written in Swift 5. Has an IBDesignable preview in interface builder with IBInspectable properties for:

  • Number of keys
  • Hide/show note names on white keys
  • Black key height and width
  • Hightlight keys, with individual colour (optional play note)
  • Custom key labels

Other features

  • Latch/Hold key

All images are drawn using Core Graphics.

alt tag

Installation

GLNPianoView is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'GLNPianoView'

Demo

The Example demo project demonstrates how to use and integrate the GLNPianoView into your project, using AVAudioEngine and an AVAudioUnitSampler as the sound source.

Delegate Methods

func pianoKeyDown(_ keyNumber: UInt8) {
  // Called when the key corresponding to midi number keyNumber is pressed
}

func pianoKeyUp(_ keyNumber: UInt8) {
  // Called when the key corresponding to midi number keyNumber is released
}

Key Labels

A key's label must be assigned a value for it to show:

keyboard.setLabel(for: 60, text: "Do")
keyboard.setLabel(for: 62, text: "Re")
keyboard.setLabel(for: 64, text: "Mi")

for noteNumber in 65...72 {
    keyboard.setLabel(for: noteNumber, text: GLNNote.name(for: noteNumber))
}

Requirements

  • Swift 5

Author

Gary Newby

License

Licensed under the MIT License.