Preparing report...

Report for github.com/emicklei/melrose

A+    Excellent!    Found 99 issues across 178 files

Tweet

gofmt98%

Gofmt formats Go programs. We run gofmt -s on your code, where -s is for the "simplify" command


go_vet100%

go vet examines Go source code and reports suspicious constructs, such as Printf calls whose arguments do not align with the format string.

No problems detected. Good job!


gocyclo95%

Gocyclo calculates cyclomatic complexities of functions in Go source code. The cyclomatic complexity of a function is calculated according to the following rules: 1 is the base complexity of a function +1 for each 'if', 'for', 'case', '&&' or '||' Go Report Card warns on functions with cyclomatic complexity > 15.

    • melrose/core/chord.go
    • Line 126: warning: cyclomatic complexity 22 of function (Chord).Notes() is high (> 15) (gocyclo)
    • Line 184: warning: cyclomatic complexity 21 of function ParseChord() is high (> 15) (gocyclo)
    • Line 44: warning: cyclomatic complexity 17 of function (Chord).String() is high (> 15) (gocyclo)
    • melrose/core/format_parser.go
    • Line 195: warning: cyclomatic complexity 25 of function (*noteSTM).accept() is high (> 15) (gocyclo)
    • Line 121: warning: cyclomatic complexity 18 of function (*chordprogressionSTM).accept() is high (> 15) (gocyclo)

golint46%

Golint is a linter for Go source code.

    • melrose/midi/midi_message.go
    • Line 21: warning: exported type Message should have comment or be unexported (golint)
    • Line 30: warning: exported function NewMessage should have comment or be unexported (golint)
    • Line 59: warning: exported method Message.Storex should have comment or be unexported (golint)
    • melrose/op/at.go
    • Line 9: warning: exported type AtIndex should have comment or be unexported (golint)
    • Line 14: warning: exported method AtIndex.S should have comment or be unexported (golint)
    • Line 26: warning: exported method AtIndex.Storex should have comment or be unexported (golint)
    • Line 30: warning: exported function NewAtIndex should have comment or be unexported (golint)
    • melrose/op/notemap.go
    • Line 18: warning: exported type NoteMap should have comment or be unexported (golint)
    • Line 100: warning: exported method NoteMap.Storex should have comment or be unexported (golint)
    • Line 131: warning: exported method NoteMap.S should have comment or be unexported (golint)
    • melrose/op/octave.go
    • Line 10: warning: exported type Octave should have comment or be unexported (golint)
    • Line 15: warning: exported method Octave.S should have comment or be unexported (golint)
    • Line 19: warning: exported method Octave.Storex should have comment or be unexported (golint)
    • melrose/op/transposemap.go
    • Line 10: warning: exported type TransposeMap should have comment or be unexported (golint)
    • Line 15: warning: exported function NewTransposeMap should have comment or be unexported (golint)
    • Line 22: warning: exported method TransposeMap.S should have comment or be unexported (golint)
    • Line 26: warning: exported method TransposeMap.Notes should have comment or be unexported (golint)
    • melrose/op/joinmap.go
    • Line 10: warning: exported type JoinMap should have comment or be unexported (golint)
    • Line 15: warning: exported method JoinMap.Storex should have comment or be unexported (golint)
    • Line 24: warning: exported method JoinMap.S should have comment or be unexported (golint)
    • Line 63: warning: exported function NewJoinMap should have comment or be unexported (golint)
    • melrose/op/transpose.go
    • Line 9: warning: exported type Transpose should have comment or be unexported (golint)
    • Line 14: warning: exported method Transpose.S should have comment or be unexported (golint)
    • Line 18: warning: exported method Transpose.Storex should have comment or be unexported (golint)
    • melrose/dsl/eval_funcs.go
    • Line 23: warning: exported function EvalFunctions should have comment or be unexported (golint)
    • Line 43: warning: if block ends with a return statement, so drop this else and outdent its block (move short variable declaration to its own line if necessary) (golint)
    • Line 66: warning: if block ends with a return statement, so drop this else and outdent its block (move short variable declaration to its own line if necessary) (golint)
    • Line 86: warning: if block ends with a return statement, so drop this else and outdent its block (move short variable declaration to its own line if necessary) (golint)
    • Line 348: warning: if block ends with a return statement, so drop this else and outdent its block (move short variable declaration to its own line if necessary) (golint)
    • Line 369: warning: if block ends with a return statement, so drop this else and outdent its block (move short variable declaration to its own line if necessary) (golint)
    • Line 583: warning: if block ends with a return statement, so drop this else and outdent its block (move short variable declaration to its own line if necessary) (golint)
    • Line 603: warning: if block ends with a return statement, so drop this else and outdent its block (move short variable declaration to its own line if necessary) (golint)
    • Line 649: warning: if block ends with a return statement, so drop this else and outdent its block (move short variable declaration to its own line if necessary) (golint)
    • Line 695: warning: if block ends with a return statement, so drop this else and outdent its block (move short variable declaration to its own line if necessary) (golint)
    • Line 714: warning: if block ends with a return statement, so drop this else and outdent its block (move short variable declaration to its own line if necessary) (golint)
    • melrose/dsl/calc/multiply.go
    • Line 9: warning: exported type Multiply should have comment or be unexported (golint)
    • Line 14: warning: exported method Multiply.Storex should have comment or be unexported (golint)
    • Line 18: warning: exported method Multiply.Value should have comment or be unexported (golint)
    • melrose/api/impl.go
    • Line 18: warning: exported type ServiceImpl should have comment or be unexported (golint)
    • Line 23: warning: exported function NewService should have comment or be unexported (golint)
    • Line 27: warning: exported method ServiceImpl.Context should have comment or be unexported (golint)
    • Line 29: warning: exported method ServiceImpl.ChangeDefaultDeviceAndChannel should have comment or be unexported (golint)
    • Line 56: warning: exported method ServiceImpl.CommandInspect should have comment or be unexported (golint)
    • Line 77: warning: exported method ServiceImpl.CommandPlay should have comment or be unexported (golint)
    • Line 102: warning: exported method ServiceImpl.CommandStop should have comment or be unexported (golint)
    • Line 117: warning: exported method ServiceImpl.CommandEvaluate should have comment or be unexported (golint)
    • Line 126: warning: exported method ServiceImpl.CommandKill should have comment or be unexported (golint)
    • Line 133: warning: exported method ServiceImpl.CommandHover should have comment or be unexported (golint)
    • Line 147: warning: exported method ServiceImpl.CommandMIDISample should have comment or be unexported (golint)
    • melrose/core/doc.go
    • Line 1: warning: package comment should be of the form "Package core ..." (golint)
    • Line 4: warning: exported var BuildTag should have comment or be unexported (golint)
    • melrose/core/loop.go
    • Line 15: warning: exported type Loop should have comment or be unexported (golint)
    • Line 25: warning: exported function NewLoop should have comment or be unexported (golint)
    • Line 33: warning: exported method Loop.Target should have comment or be unexported (golint)
    • Line 35: warning: exported method Loop.SetTarget should have comment or be unexported (golint)
    • Line 41: warning: exported method Loop.IsRunning should have comment or be unexported (golint)
    • Line 47: warning: exported method Loop.Storex should have comment or be unexported (golint)
    • Line 55: warning: exported method Loop.Evaluate should have comment or be unexported (golint)
    • Line 100: warning: exported method Loop.NextPlayAt should have comment or be unexported (golint)
    • Line 120: warning: exported method Loop.NoteChangesDo should have comment or be unexported (golint)
    • Line 166: warning: exported method Loop.S should have comment or be unexported (golint)
    • Line 170: warning: exported method Loop.ToSequence should have comment or be unexported (golint)
    • melrose/core/note_ops.go
    • Line 18: warning: exported method Note.Octaved should have comment or be unexported (golint)
    • Line 25: warning: exported method Note.Stretched should have comment or be unexported (golint)
    • melrose/control/key.go
    • Line 9: warning: exported type Key should have comment or be unexported (golint)
    • Line 15: warning: exported function NewKey should have comment or be unexported (golint)
    • Line 26: warning: exported method Key.Channel should have comment or be unexported (golint)
    • Line 27: warning: exported method Key.DeviceID should have comment or be unexported (golint)
    • Line 28: warning: exported method Key.Note should have comment or be unexported (golint)
    • melrose/midi/output_device.go
    • Line 11: warning: exported type OutputDevice should have comment or be unexported (golint)
    • Line 20: warning: exported function NewOutputDevice should have comment or be unexported (golint)
    • Line 30: warning: exported method OutputDevice.Start should have comment or be unexported (golint)
    • Line 34: warning: exported method OutputDevice.Reset should have comment or be unexported (golint)
    • Line 84: warning: exported method OutputDevice.Play should have comment or be unexported (golint)
    • melrose/core/chord_sequence.go
    • Line 9: warning: exported type ChordSequence should have comment or be unexported (golint)
    • Line 13: warning: exported function MustParseChordSequence should have comment or be unexported (golint)
    • Line 21: warning: exported function ParseChordSequence should have comment or be unexported (golint)
    • Line 51: warning: exported method ChordSequence.S should have comment or be unexported (golint)
    • Line 76: warning: exported method ChordSequence.Storex should have comment or be unexported (golint)
    • Line 100: warning: exported method ChordSequence.Inspect should have comment or be unexported (golint)
    • melrose/core/format_parser.go
    • Line 243: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 275: warning: if block ends with a return statement, so drop this else and outdent its block (move short variable declaration to its own line if necessary) (golint)
    • melrose/core/inspect.go
    • Line 11: warning: exported type Inspection should have comment or be unexported (golint)
    • Line 21: warning: exported function NewInspect should have comment or be unexported (golint)
    • melrose/core/scale.go
    • Line 10: warning: exported type Scale should have comment or be unexported (golint)
    • Line 16: warning: exported method Scale.Storex should have comment or be unexported (golint)
    • Line 28: warning: exported function NewScale should have comment or be unexported (golint)
    • Line 37: warning: exported function ParseScale should have comment or be unexported (golint)
    • Line 67: warning: exported method Scale.S should have comment or be unexported (golint)
    • melrose/midi/io/message.go
    • Line 12: warning: don't use underscores in Go names; const command_mask should be commandMask (golint)
    • Line 13: warning: don't use underscores in Go names; const iscommand_mask should be iscommandMask (golint)
    • Line 14: warning: don't use underscores in Go names; const channel_mask should be channelMask (golint)
    • Line 18: warning: exported type Message should have comment or be unexported (golint)
    • Line 27: warning: exported function WriteMessage should have comment or be unexported (golint)
    • Line 33: warning: exported function ReadMessage should have comment or be unexported (golint)
    • melrose/ui/img/notes_view.go
    • Line 8: warning: exported type NotesView should have comment or be unexported (golint)
    • Line 12: warning: exported method NotesView.DrawOn should have comment or be unexported (golint)
    • melrose/core/interval.go
    • Line 29: warning: exported method Interval.Value should have comment or be unexported (golint)
    • Line 73: warning: comment on exported method Interval.Inspect should be of the form "Inspect ..." (golint)
    • melrose/core/selectors.go
    • Line 8: warning: exported type ChannelSelector should have comment or be unexported (golint)
    • Line 13: warning: exported function NewChannelSelector should have comment or be unexported (golint)
    • Line 17: warning: exported method ChannelSelector.S should have comment or be unexported (golint)
    • Line 25: warning: exported method ChannelSelector.Channel should have comment or be unexported (golint)
    • Line 29: warning: exported method ChannelSelector.Storex should have comment or be unexported (golint)
    • Line 36: warning: exported type DeviceSelector should have comment or be unexported (golint)
    • Line 41: warning: exported function NewDeviceSelector should have comment or be unexported (golint)
    • Line 45: warning: exported method DeviceSelector.S should have comment or be unexported (golint)
    • Line 53: warning: exported method DeviceSelector.DeviceID should have comment or be unexported (golint)
    • Line 57: warning: exported method DeviceSelector.Storex should have comment or be unexported (golint)
    • melrose/op/fraction.go
    • Line 10: warning: exported type Fraction should have comment or be unexported (golint)
    • Line 15: warning: exported function NewFraction should have comment or be unexported (golint)
    • Line 22: warning: comment on exported method Fraction.Replaced should be of the form "Replaced ..." (golint)
    • Line 38: warning: exported method Fraction.S should have comment or be unexported (golint)
    • Line 52: warning: exported method Fraction.Storex should have comment or be unexported (golint)
    • Line 60: warning: exported method Fraction.ToNote should have comment or be unexported (golint)
    • melrose/core/context.go
    • Line 5: warning: exported type PlayContext should have comment or be unexported (golint)
    • Line 13: warning: exported method PlayContext.Control should have comment or be unexported (golint)
    • Line 14: warning: exported method PlayContext.Device should have comment or be unexported (golint)
    • Line 15: warning: exported method PlayContext.Variables should have comment or be unexported (golint)
    • Line 16: warning: exported method PlayContext.Environment should have comment or be unexported (golint)
    • Line 17: warning: exported method PlayContext.Capabilities should have comment or be unexported (golint)
    • Line 19: warning: exported type ConditionalPlayContext should have comment or be unexported (golint)
    • Line 24: warning: exported method ConditionalPlayContext.Condition should have comment or be unexported (golint)
    • Line 26: warning: exported method PlayContext.WithCondition should have comment or be unexported (golint)
    • melrose/core/note_event.go
    • Line 8: warning: exported type NoteEvent should have comment or be unexported (golint)
    • Line 14: warning: exported method NoteEvent.WithEnd should have comment or be unexported (golint)
    • Line 18: warning: exported type NoteEventStatistics should have comment or be unexported (golint)
    • Line 23: warning: exported function NoteStatistics should have comment or be unexported (golint)
    • Line 47: warning: exported var NoNoteChange should have comment or be unexported (golint)
    • Line 49: warning: exported type NoteChange should have comment or be unexported (golint)
    • Line 56: warning: exported method NoteChange.Number should have comment or be unexported (golint)
    • Line 60: warning: exported method NoteChange.Velocity should have comment or be unexported (golint)
    • Line 64: warning: exported method NoteChange.IsOn should have comment or be unexported (golint)
    • Line 68: warning: exported method NoteChange.NoteChangesDo should have comment or be unexported (golint)
    • Line 70: warning: exported function NewNoteChange should have comment or be unexported (golint)
    • Line 79: warning: exported method NoteChange.Handle should have comment or be unexported (golint)
    • melrose/core/sequence.go
    • Line 11: warning: exported var EmptySequence should have comment or be unexported (golint)
    • Line 13: warning: exported type Sequence should have comment or be unexported (golint)
    • Line 38: warning: exported method Sequence.NotesDo should have comment or be unexported (golint)
    • Line 66: warning: exported var S should have comment or be unexported (golint)
    • Line 68: warning: exported function MustParseSequence should have comment or be unexported (golint)
    • Line 72: warning: if block ends with a return statement, so drop this else and outdent its block (move short variable declaration to its own line if necessary) (golint)
    • Line 82: warning: exported method Sequence.S should have comment or be unexported (golint)
    • Line 86: warning: exported method Sequence.DurationFactor should have comment or be unexported (golint)
    • Line 97: warning: exported method Sequence.Inspect should have comment or be unexported (golint)
    • Line 110: warning: exported method Sequence.ToRest should have comment or be unexported (golint)
    • Line 129: warning: exported method Sequence.PrintString should have comment or be unexported (golint)
    • Line 164: warning: exported function StringFromNoteGroup should have comment or be unexported (golint)
    • Line 177: warning: exported method Sequence.Duration should have comment or be unexported (golint)
    • Line 188: warning: exported method Sequence.Bars should have comment or be unexported (golint)
    • melrose/op/dynamic.go
    • Line 11: warning: exported type Dynamic should have comment or be unexported (golint)
    • Line 24: warning: exported method Dynamic.S should have comment or be unexported (golint)
    • Line 49: warning: exported function CheckDynamic should have comment or be unexported (golint)
    • Line 56: warning: exported method Dynamic.Storex should have comment or be unexported (golint)
    • Line 64: warning: exported method Dynamic.ToNote should have comment or be unexported (golint)
    • melrose/op/rotate.go
    • Line 8: warning: exported type Rotate should have comment or be unexported (golint)
    • Line 13: warning: exported method Rotate.S should have comment or be unexported (golint)
    • Line 17: warning: exported method Rotate.Storex should have comment or be unexported (golint)
    • melrose/core/beatschedule.go
    • Line 14: warning: exported type BeatAction should have comment or be unexported (golint)
    • Line 16: warning: exported function NewBeatSchedule should have comment or be unexported (golint)
    • Line 23: warning: exported method BeatSchedule.IsEmpty should have comment or be unexported (golint)
    • Line 29: warning: exported method BeatSchedule.Reset should have comment or be unexported (golint)
    • Line 35: warning: exported method BeatSchedule.Schedule should have comment or be unexported (golint)
    • Line 49: warning: exported method BeatSchedule.Unschedule should have comment or be unexported (golint)
    • melrose/core/interfaces.go
    • Line 10: warning: exported type Sequenceable should have comment or be unexported (golint)
    • Line 14: warning: exported type NoteConvertable should have comment or be unexported (golint)
    • Line 18: warning: exported type Storable should have comment or be unexported (golint)
    • Line 22: warning: exported type Indexable should have comment or be unexported (golint)
    • Line 26: warning: exported type Nextable should have comment or be unexported (golint)
    • Line 30: warning: exported type AudioDevice should have comment or be unexported (golint)
    • Line 58: warning: exported type LoopController should have comment or be unexported (golint)
    • Line 75: warning: exported type Replaceable should have comment or be unexported (golint)
    • Line 80: warning: exported type HasValue should have comment or be unexported (golint)
    • Line 84: warning: exported type Inspectable should have comment or be unexported (golint)
    • Line 88: warning: exported type Playable should have comment or be unexported (golint)
    • Line 92: warning: exported type Stoppable should have comment or be unexported (golint)
    • Line 97: warning: exported type VariableStorage should have comment or be unexported (golint)
    • Line 105: warning: exported type Context should have comment or be unexported (golint)
    • Line 116: warning: exported const EditorLineStart should have comment or be unexported (golint)
    • Line 117: warning: exported const EditorLineEnd should have comment or be unexported (golint)
    • Line 119: warning: comment on exported type Evaluatable should be of the form "Evaluatable ..." (with optional leading article) (golint)
    • Line 124: warning: exported type NoteListener should have comment or be unexported (golint)
    • Line 130: warning: exported type Conditional should have comment or be unexported (golint)
    • Line 134: warning: exported type Condition should have comment or be unexported (golint)
    • Line 137: warning: exported var NoCondition should have comment or be unexported (golint)
    • Line 141: warning: exported type NameAware should have comment or be unexported (golint)
    • Line 145: warning: exported type HasIndex should have comment or be unexported (golint)
    • melrose/core/note_midi.go
    • Line 26: warning: exported method Note.MIDI should have comment or be unexported (golint)
    • Line 36: warning: exported function DurationToFraction should have comment or be unexported (golint)
    • Line 67: warning: exported function MIDItoNote should have comment or be unexported (golint)
    • melrose/core/progression.go
    • Line 9: warning: exported type ChordProgression should have comment or be unexported (golint)
    • Line 14: warning: exported function NewChordProgression should have comment or be unexported (golint)
    • Line 43: warning: exported method ChordProgression.C should have comment or be unexported (golint)
    • melrose/dsl/calc/add.go
    • Line 9: warning: exported type Add should have comment or be unexported (golint)
    • Line 14: warning: exported method Add.Storex should have comment or be unexported (golint)
    • Line 18: warning: exported method Add.Value should have comment or be unexported (golint)
    • melrose/dsl/calc/sub.go
    • Line 9: warning: exported type Sub should have comment or be unexported (golint)
    • Line 14: warning: exported method Sub.Storex should have comment or be unexported (golint)
    • Line 18: warning: exported method Sub.Value should have comment or be unexported (golint)
    • melrose/midi/file/write.go
    • Line 22: warning: exported function Export should have comment or be unexported (golint)
    • Line 33: warning: comment on exported function ExportOn should be of the form "ExportOn ..." (golint)
    • melrose/op/parallel.go
    • Line 9: warning: exported type Group should have comment or be unexported (golint)
    • Line 13: warning: exported method Group.S should have comment or be unexported (golint)
    • Line 21: warning: exported method Group.Storex should have comment or be unexported (golint)
    • melrose/op/reverse.go
    • Line 9: warning: exported type Reverse should have comment or be unexported (golint)
    • Line 13: warning: exported method Reverse.S should have comment or be unexported (golint)
    • Line 17: warning: exported method Reverse.Storex should have comment or be unexported (golint)
    • melrose/core/chord.go
    • Line 13: warning: comment on exported type Chord should be of the form "Chord ..." (with optional leading article) (golint)
    • Line 25: warning: exported method Chord.Inspect should have comment or be unexported (golint)
    • Line 29: warning: exported method Chord.WithInterval should have comment or be unexported (golint)
    • Line 34: warning: exported method Chord.WithInversion should have comment or be unexported (golint)
    • Line 39: warning: exported method Chord.WithQuality should have comment or be unexported (golint)
    • Line 183: warning: comment on exported function ParseChord should be of the form "ParseChord ..." (golint)
    • Line 264: warning: exported function MustParseChord should have comment or be unexported (golint)
    • melrose/midi/key_trigger.go
    • Line 11: warning: exported type KeyTrigger should have comment or be unexported (golint)
    • Line 20: warning: exported function NewKeyTrigger should have comment or be unexported (golint)
    • Line 82: warning: exported method KeyTrigger.ControlChange should have comment or be unexported (golint)
    • melrose/midi/registry_device.go
    • Line 14: warning: exported type DeviceRegistry should have comment or be unexported (golint)
    • Line 23: warning: exported function NewDeviceRegistry should have comment or be unexported (golint)
    • Line 45: warning: exported method DeviceRegistry.Reset should have comment or be unexported (golint)
    • Line 54: warning: exported method DeviceRegistry.Output should have comment or be unexported (golint)
    • Line 77: warning: exported method DeviceRegistry.Input should have comment or be unexported (golint)
    • Line 105: warning: exported method DeviceRegistry.Close should have comment or be unexported (golint)
    • Line 112: warning: exported method DeviceRegistry.HasInputCapability should have comment or be unexported (golint)
    • Line 112: warning: receiver name r should be consistent with previous receiver name d for DeviceRegistry (golint)
    • Line 116: warning: exported method DeviceRegistry.OnKey should have comment or be unexported (golint)
    • Line 116: warning: receiver name r should be consistent with previous receiver name d for DeviceRegistry (golint)
    • Line 131: warning: exported method DeviceRegistry.Listen should have comment or be unexported (golint)
    • Line 131: warning: receiver name r should be consistent with previous receiver name d for DeviceRegistry (golint)
    • melrose/op/octave_map.go
    • Line 10: warning: exported type OctaveMap should have comment or be unexported (golint)
    • Line 15: warning: exported function NewOctaveMap should have comment or be unexported (golint)
    • Line 22: warning: exported method OctaveMap.S should have comment or be unexported (golint)
    • Line 26: warning: exported method OctaveMap.Notes should have comment or be unexported (golint)
    • Line 49: warning: exported method OctaveMap.Storex should have comment or be unexported (golint)
    • melrose/op/velocity_map.go
    • Line 10: warning: exported type VelocityMap should have comment or be unexported (golint)
    • Line 15: warning: exported function NewVelocityMap should have comment or be unexported (golint)
    • Line 22: warning: exported method VelocityMap.S should have comment or be unexported (golint)
    • Line 26: warning: exported method VelocityMap.Notes should have comment or be unexported (golint)
    • Line 49: warning: exported method VelocityMap.Storex should have comment or be unexported (golint)
    • melrose/midi/input_device.go
    • Line 7: warning: exported type InputDevice should have comment or be unexported (golint)
    • Line 13: warning: exported function NewInputDevice should have comment or be unexported (golint)
    • Line 21: warning: comment on exported method InputDevice.Listener should be of the form "Listener ..." (golint)
    • melrose/op/resequence.go
    • Line 11: warning: exported type Resequencer should have comment or be unexported (golint)
    • Line 17: warning: exported method Resequencer.S should have comment or be unexported (golint)
    • Line 43: warning: exported function NewResequencer should have comment or be unexported (golint)
    • Line 47: warning: exported method Resequencer.Storex should have comment or be unexported (golint)
    • melrose/op/merge.go
    • Line 11: warning: exported type Merge should have comment or be unexported (golint)
    • Line 15: warning: exported method Merge.Storex should have comment or be unexported (golint)
    • Line 31: warning: exported method Merge.S should have comment or be unexported (golint)
    • melrose/op/serial.go
    • Line 11: warning: exported type Serial should have comment or be unexported (golint)
    • Line 15: warning: exported method Serial.S should have comment or be unexported (golint)
    • melrose/core/capabilities.go
    • Line 3: warning: exported type Capabilities should have comment or be unexported (golint)
    • Line 12: warning: exported function NewCapabilities should have comment or be unexported (golint)
    • melrose/core/note.go
    • Line 30: warning: exported method Note.Storex should have comment or be unexported (golint)
    • Line 34: warning: comment on exported method Note.ToNote should be of the form "ToNote ..." (golint)
    • Line 39: warning: exported method Note.ToRest should have comment or be unexported (golint)
    • Line 60: warning: exported var Rest4 should have comment or be unexported (golint)
    • Line 67: warning: exported function NewNote should have comment or be unexported (golint)
    • Line 100: warning: exported function MakeNote should have comment or be unexported (golint)
    • Line 104: warning: exported method Note.IsRest should have comment or be unexported (golint)
    • Line 105: warning: exported method Note.IsPedalUp should have comment or be unexported (golint)
    • Line 106: warning: exported method Note.IsPedalDown should have comment or be unexported (golint)
    • Line 107: warning: exported method Note.IsPedalUpDown should have comment or be unexported (golint)
    • Line 117: warning: exported method Note.S should have comment or be unexported (golint)
    • Line 121: warning: exported method Note.WithDynamic should have comment or be unexported (golint)
    • Line 126: warning: exported method Note.WithVelocity should have comment or be unexported (golint)
    • Line 131: warning: exported method Note.WithFraction should have comment or be unexported (golint)
    • Line 158: warning: exported method Note.IsHearable should have comment or be unexported (golint)
    • Line 171: warning: exported var N should have comment or be unexported (golint)
    • Line 178: warning: exported function ParseVelocity should have comment or be unexported (golint)
    • Line 215: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 222: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 229: warning: exported method Note.NonFractionBasedDuration should have comment or be unexported (golint)
    • Line 252: warning: exported method Note.Inspect should have comment or be unexported (golint)
    • Line 351: warning: exported function QuantizeFraction should have comment or be unexported (golint)
    • melrose/dsl/calc/number_compare.go
    • Line 9: warning: exported type NumberCompare should have comment or be unexported (golint)
    • Line 15: warning: exported method NumberCompare.Storex should have comment or be unexported (golint)
    • Line 19: warning: exported method NumberCompare.Value should have comment or be unexported (golint)
    • melrose/notify/message.go
    • Line 6: warning: exported const NotifyInfo should have comment (or a comment on this block) or be unexported (golint)
    • Line 11: warning: exported type Message should have comment or be unexported (golint)
    • Line 16: warning: exported type Notification should have comment or be unexported (golint)
    • Line 21: warning: exported method Notification.Message should have comment or be unexported (golint)
    • Line 22: warning: exported method Notification.Type should have comment or be unexported (golint)
    • Line 24: warning: exported function NewInfof should have comment or be unexported (golint)
    • Line 28: warning: exported function NewWarningf should have comment or be unexported (golint)
    • Line 32: warning: exported function NewError should have comment or be unexported (golint)
    • Line 39: warning: exported function NewErrorf should have comment or be unexported (golint)
    • melrose/notify/panic.go
    • Line 3: warning: exported var Panic should have comment or be unexported (golint)
    • Line 5: warning: exported function RuntimePanic should have comment or be unexported (golint)
    • melrose/core/test_looper.go
    • Line 3: warning: exported type TestLooper should have comment or be unexported (golint)
    • Line 9: warning: exported method TestLooper.Tick should have comment or be unexported (golint)
    • Line 16: warning: exported method TestLooper.Start should have comment or be unexported (golint)
    • Line 17: warning: exported method TestLooper.Stop should have comment or be unexported (golint)
    • Line 18: warning: exported method TestLooper.Reset should have comment or be unexported (golint)
    • Line 23: warning: exported method TestLooper.SetBPM should have comment or be unexported (golint)
    • Line 24: warning: exported method TestLooper.BPM should have comment or be unexported (golint)
    • Line 26: warning: exported method TestLooper.SetBIAB should have comment or be unexported (golint)
    • Line 29: warning: exported method TestLooper.BIAB should have comment or be unexported (golint)
    • Line 33: warning: exported method TestLooper.StartLoop should have comment or be unexported (golint)
    • Line 34: warning: exported method TestLooper.EndLoop should have comment or be unexported (golint)
    • Line 36: warning: exported method TestLooper.BeatsAndBars should have comment or be unexported (golint)
    • Line 40: warning: exported method TestLooper.Plan should have comment or be unexported (golint)
    • Line 44: warning: exported method TestLooper.SettingNotifier should have comment or be unexported (golint)
    • melrose/core/utils.go
    • Line 72: warning: exported function IsIdenticalTo should have comment or be unexported (golint)
    • Line 76: warning: exported function PrintValue should have comment or be unexported (golint)
    • Line 80: warning: exported function InspectValue should have comment or be unexported (golint)
    • Line 89: warning: exported function Storex should have comment or be unexported (golint)
    • Line 99: warning: exported function AppendStorexList should have comment or be unexported (golint)
    • Line 118: warning: exported function UnValue should have comment or be unexported (golint)
    • Line 128: warning: exported function InList should have comment or be unexported (golint)
    • Line 135: warning: exported function ContainsInt should have comment or be unexported (golint)
    • melrose/op/if.go
    • Line 10: warning: exported type IfCondition should have comment or be unexported (golint)
    • Line 16: warning: exported method IfCondition.S should have comment or be unexported (golint)
    • Line 27: warning: exported method IfCondition.Storex should have comment or be unexported (golint)
    • melrose/op/probability.go
    • Line 11: warning: comment on exported type Probability should be of the form "Probability ..." (with optional leading article) (golint)
    • Line 22: warning: exported function NewProbability should have comment or be unexported (golint)
    • Line 30: warning: exported method Probability.ToNote should have comment or be unexported (golint)
    • Line 46: warning: exported method Probability.S should have comment or be unexported (golint)
    • melrose/op/random.go
    • Line 11: warning: exported type RandomInteger should have comment or be unexported (golint)
    • Line 18: warning: exported function NewRandomInteger should have comment or be unexported (golint)
    • melrose/core/print.go
    • Line 11: warning: exported function IsDebug should have comment or be unexported (golint)
    • Line 15: warning: exported function ToggleDebug should have comment or be unexported (golint)
    • Line 20: warning: exported type Print should have comment or be unexported (golint)
    • Line 25: warning: exported method Print.Play should have comment or be unexported (golint)
    • Line 30: warning: exported method Print.Evaluate should have comment or be unexported (golint)
    • melrose/op/dynamic_map.go
    • Line 12: warning: exported type DynamicMap should have comment or be unexported (golint)
    • Line 22: warning: exported function NewDynamicMap should have comment or be unexported (golint)
    • Line 31: warning: exported method DynamicMap.S should have comment or be unexported (golint)
    • Line 49: warning: exported method DynamicMap.Storex should have comment or be unexported (golint)
    • melrose/core/track.go
    • Line 11: warning: exported type Track should have comment or be unexported (golint)
    • Line 17: warning: exported function NewTrack should have comment or be unexported (golint)
    • Line 25: warning: exported method Track.Play should have comment or be unexported (golint)
    • Line 41: warning: exported method Track.Inspect should have comment or be unexported (golint)
    • Line 65: warning: exported type SequenceOnTrack should have comment or be unexported (golint)
    • Line 70: warning: exported function NewSequenceOnTrack should have comment or be unexported (golint)
    • Line 74: warning: exported method SequenceOnTrack.S should have comment or be unexported (golint)
    • Line 86: warning: exported type MultiTrack should have comment or be unexported (golint)
    • melrose/core/valueholder.go
    • Line 10: warning: exported function String should have comment or be unexported (golint)
    • Line 28: warning: exported function Float should have comment or be unexported (golint)
    • Line 52: warning: exported function Duration should have comment or be unexported (golint)
    • Line 74: warning: exported function Int should have comment or be unexported (golint)
    • Line 78: warning: exported function ToSequenceable should have comment or be unexported (golint)
    • Line 113: warning: exported function ToHasValue should have comment or be unexported (golint)
    • Line 139: warning: exported function On should have comment or be unexported (golint)
    • Line 148: warning: exported method ValueHolder.Value should have comment or be unexported (golint)
    • Line 152: warning: exported method ValueHolder.Storex should have comment or be unexported (golint)
    • Line 167: warning: exported type ValueFunction should have comment or be unexported (golint)
    • Line 172: warning: exported method ValueFunction.Storex should have comment or be unexported (golint)
    • Line 176: warning: exported method ValueFunction.Value should have comment or be unexported (golint)
    • melrose/control/listen.go
    • Line 13: warning: exported type Listen should have comment or be unexported (golint)
    • Line 24: warning: exported function NewListen should have comment or be unexported (golint)
    • Line 61: warning: exported method Listen.Stop should have comment or be unexported (golint)
    • Line 70: warning: exported method Listen.IsPlaying should have comment or be unexported (golint)
    • Line 117: warning: exported method Listen.ControlChange should have comment or be unexported (golint)
    • melrose/op/undynamic.go
    • Line 8: warning: exported type Undynamic should have comment or be unexported (golint)
    • Line 12: warning: exported method Undynamic.S should have comment or be unexported (golint)
    • Line 21: warning: exported method Undynamic.Storex should have comment or be unexported (golint)
    • melrose/core/midi_note.go
    • Line 11: warning: exported type MIDINote should have comment or be unexported (golint)
    • Line 17: warning: comment on exported method MIDINote.ToNote should be of the form "ToNote ..." (golint)
    • Line 44: warning: exported method MIDINote.S should have comment or be unexported (golint)
    • Line 53: warning: exported function NewMIDI should have comment or be unexported (golint)
    • Line 57: warning: exported method MIDINote.Storex should have comment or be unexported (golint)
    • Line 64: warning: exported method MIDINote.Inspect should have comment or be unexported (golint)
    • Line 80: warning: exported function IsBlackKey should have comment or be unexported (golint)
    • melrose/control/bpm.go
    • Line 10: warning: exported type SetBPM should have comment or be unexported (golint)
    • Line 15: warning: exported function NewBPM should have comment or be unexported (golint)
    • melrose/control/sync.go
    • Line 12: warning: exported type SyncPlay should have comment or be unexported (golint)
    • Line 16: warning: exported function NewSyncPlay should have comment or be unexported (golint)
    • Line 20: warning: exported method SyncPlay.Storex should have comment or be unexported (golint)
    • Line 49: warning: exported method SyncPlay.S should have comment or be unexported (golint)
    • Line 74: warning: exported method SyncPlay.Evaluate should have comment or be unexported (golint)
    • melrose/core/constants.go
    • Line 4: warning: exported const Sharp should have comment (or a comment on this block) or be unexported (golint)
    • Line 25: warning: comment on exported const Triad should be of the form "Triad ..." (golint)
    • melrose/midi/transport/transport.go
    • Line 14: warning: exported var Factory should have comment or be unexported (golint)
    • Line 16: warning: exported var Initializer should have comment or be unexported (golint)
    • Line 18: warning: exported type Transporter should have comment or be unexported (golint)
    • Line 28: warning: exported type MIDIOut should have comment or be unexported (golint)
    • Line 33: warning: exported type MIDIIn should have comment or be unexported (golint)
    • Line 37: warning: exported type MIDIListener should have comment or be unexported (golint)
    • melrose/notify/console.go
    • Line 10: warning: exported var Console should have comment or be unexported (golint)
    • Line 17: warning: exported type ConsoleWriter should have comment or be unexported (golint)
    • Line 24: warning: exported method ConsoleWriter.Errorf should have comment or be unexported (golint)
    • Line 31: warning: exported method ConsoleWriter.Warnf should have comment or be unexported (golint)
    • melrose/notify/print.go
    • Line 11: warning: exported function PrintWelcome should have comment or be unexported (golint)
    • Line 19: warning: exported function PrintBye should have comment or be unexported (golint)
    • Line 27: warning: exported function Prompt should have comment or be unexported (golint)
    • Line 34: warning: exported function PrintHighlighted should have comment or be unexported (golint)
    • Line 42: warning: exported function Print should have comment or be unexported (golint)
    • Line 59: warning: exported function Debugf should have comment or be unexported (golint)
    • Line 67: warning: exported function Warnf should have comment or be unexported (golint)
    • Line 71: warning: exported function Infof should have comment or be unexported (golint)
    • Line 75: warning: exported function Errorf should have comment or be unexported (golint)
    • Line 99: warning: exported function PrintKeyValue should have comment or be unexported (golint)
    • melrose/op/repeat.go
    • Line 10: warning: exported type Repeat should have comment or be unexported (golint)
    • Line 15: warning: exported method Repeat.S should have comment or be unexported (golint)
    • Line 26: warning: exported method Repeat.Storex should have comment or be unexported (golint)
    • melrose/dsl/eval_funcs_utils.go
    • Line 11: warning: exported function IsCompatibleSyntax should have comment or be unexported (golint)
    • Line 21: warning: exported type Function should have comment or be unexported (golint)
    • Line 35: warning: exported method Function.Markdown should have comment or be unexported (golint)
    • Line 39: warning: exported method Function.HumanizedTemplate should have comment or be unexported (golint)
    • melrose/core/beatmaster.go
    • Line 24: warning: exported function NewBeatmaster should have comment or be unexported (golint)
    • Line 36: warning: exported method Beatmaster.Reset should have comment or be unexported (golint)
    • Line 49: warning: exported method Beatmaster.BPM should have comment or be unexported (golint)
    • Line 53: warning: exported method Beatmaster.BIAB should have comment or be unexported (golint)
    • Line 57: warning: exported method Beatmaster.BeatsAndBars should have comment or be unexported (golint)
    • Line 61: warning: exported method Beatmaster.SettingNotifier should have comment or be unexported (golint)
    • Line 102: warning: comment on exported method Beatmaster.SetBIAB should be of the form "SetBIAB ..." (golint)
    • Line 123: warning: exported method Beatmaster.Start should have comment or be unexported (golint)
    • melrose/core/sequence_ops.go
    • Line 3: warning: exported method Sequence.Pitched should have comment or be unexported (golint)
    • Line 21: warning: exported method Sequence.Stretched should have comment or be unexported (golint)
    • Line 36: warning: exported method Sequence.Reversed should have comment or be unexported (golint)
    • Line 47: warning: exported method Sequence.Octaved should have comment or be unexported (golint)
    • Line 62: warning: comment on exported method Sequence.RotatedBy should be of the form "RotatedBy ..." (golint)
    • melrose/control/recording.go
    • Line 11: warning: exported type Recording should have comment or be unexported (golint)
    • Line 17: warning: exported function NewRecording should have comment or be unexported (golint)
    • Line 31: warning: exported method Recording.GetTargetFrom should have comment or be unexported (golint)
    • Line 37: warning: exported method Recording.Play should have comment or be unexported (golint)
    • Line 42: warning: exported method Recording.Stop should have comment or be unexported (golint)
    • Line 58: warning: exported method Recording.IsPlaying should have comment or be unexported (golint)
    • Line 60: warning: exported method Recording.Storex should have comment or be unexported (golint)
    • Line 64: warning: exported method Recording.S should have comment or be unexported (golint)
    • Line 68: warning: exported method Recording.NoteOn should have comment or be unexported (golint)
    • Line 76: warning: exported method Recording.NoteOff should have comment or be unexported (golint)
    • melrose/op/fraction_map.go
    • Line 12: warning: exported type FractionMap should have comment or be unexported (golint)
    • Line 17: warning: exported function NewFractionMap should have comment or be unexported (golint)
    • melrose/op/join.go
    • Line 10: warning: exported type Join should have comment or be unexported (golint)
    • Line 14: warning: exported method Join.Storex should have comment or be unexported (golint)
    • Line 22: warning: exported method Join.S should have comment or be unexported (golint)
    • melrose/op/stretch.go
    • Line 10: warning: exported type Stretch should have comment or be unexported (golint)
    • Line 15: warning: exported function NewStretch should have comment or be unexported (golint)
    • Line 22: warning: exported method Stretch.S should have comment or be unexported (golint)
    • melrose/dsl/evaluator.go
    • Line 16: warning: exported type Evaluator should have comment or be unexported (golint)
    • Line 21: warning: exported function NewEvaluator should have comment or be unexported (golint)
    • Line 30: warning: comment on exported method Evaluator.EvaluateProgram should be of the form "EvaluateProgram ..." (golint)
    • Line 66: warning: exported method Evaluator.EvaluateStatement should have comment or be unexported (golint)
    • Line 272: warning: comment on exported function IsAssignment should be of the form "IsAssignment ..." (golint)
    • Line 285: warning: exported method Evaluator.LookupFunction should have comment or be unexported (golint)
    • melrose/core/iterator.go
    • Line 5: warning: exported type Iterator should have comment or be unexported (golint)
    • Line 14: warning: comment on exported method Iterator.Value should be of the form "Value ..." (golint)
    • Line 34: warning: comment on exported method Iterator.S should be of the form "S ..." (golint)
    • melrose/midi/transport/rt.go
    • Line 22: warning: exported type RtmidiTransporter should have comment or be unexported (golint)
    • Line 24: warning: exported method RtmidiTransporter.HasInputCapability should have comment or be unexported (golint)
    • Line 28: warning: exported method RtmidiTransporter.DefaultOutputDeviceID should have comment or be unexported (golint)
    • Line 31: warning: exported method RtmidiTransporter.DefaultInputDeviceID should have comment or be unexported (golint)
    • Line 35: warning: exported method RtmidiTransporter.NewMIDIOut should have comment or be unexported (golint)
    • Line 46: warning: exported method RtmidiTransporter.NewMIDIIn should have comment or be unexported (golint)
    • Line 58: warning: exported method RtmidiTransporter.NewMIDIListener should have comment or be unexported (golint)
    • Line 62: warning: exported type RtmidiOut should have comment or be unexported (golint)
    • Line 67: warning: exported method RtmidiOut.WriteShort should have comment or be unexported (golint)
    • Line 70: warning: exported method RtmidiOut.Close should have comment or be unexported (golint)
    • Line 78: warning: exported type RtmidiIn should have comment or be unexported (golint)
    • Line 83: warning: exported method RtmidiIn.Close should have comment or be unexported (golint)
    • Line 91: warning: exported type RtListener should have comment or be unexported (golint)
    • Line 103: warning: exported method RtListener.Start should have comment or be unexported (golint)
    • Line 129: warning: exported method RtListener.Stop should have comment or be unexported (golint)
    • melrose/control/knob.go
    • Line 10: warning: exported type Knob should have comment or be unexported (golint)
    • Line 20: warning: exported function NewKnob should have comment or be unexported (golint)
    • Line 37: warning: exported method Knob.NoteOn should have comment or be unexported (golint)
    • Line 42: warning: exported method Knob.NoteOff should have comment or be unexported (golint)
    • Line 47: warning: exported method Knob.ControlChange should have comment or be unexported (golint)
    • Line 59: warning: exported method Knob.Value should have comment or be unexported (golint)

ineffassign100%

IneffAssign detects ineffectual assignments in Go code.

No problems detected. Good job!


license100%

Checks whether your project has a LICENSE file.

No problems detected. Good job!


misspell99%

Misspell Finds commonly misspelled English words