sheet_music 0.3.0

  • Readme
  • Changelog
  • Example
  • Installing
  • 77

sheet_music #

A Flutter Widget for Displaying Sheet Music.

Features #

General Features #

  • [ ] adjustable note size
  • [ ] different time signatures
  • [ ] multiple notes and rests of different divisions (up to 32th)
    • [ ] including triplets
    • [ ] ability of splicing different notes
  • [ ] automatic recognition whether a bar is full or not
    • [ ] ability to add pick-up notes
  • [ ] speed / tempo indication in bpm
    • [ ] speed / tempo change within the score
  • [ ] musical details
    • [ ] dots
    • [ ] accentuation
    • [ ] staccato
    • [ ] ties (sustaining notes)
    • [ ] dynamics (volume indications)
    • [ ] crescendos
    • [ ] trills
  • [ ] multiple parts in one musical score
    • [ ] different sheet music modes in one musical score
  • [ ] insert comments within the score (for solo passages, other peculiarities)
  • [ ] sheet scrollable or with carriage returns

Classic Sheet Music Mode specific #

  • [ ] notes with different pitches
    • [ ] insert sharps and flats
    • [ ] utilize 5-line-grid
  • [ ] treble clef and bass clef
  • [ ] scales / keys
  • [ ] chords (triads, four-note harmony etc.)

Percussion Sheet Music Mode specific #

  • [ ] percussion clef
  • [ ] 1-line-grid (optional)
  • [ ] fivelets, septuplets, ninelets
  • [ ] flams
  • [ ] grace notes (double, triple)
  • [ ] double strokes
  • [ ] drum rolls
    • [ ] doubles (one cross line)
    • [ ] two cross lines
    • [ ] three cross lines
  • [ ] different head styles (cross, square, ...)
  • [ ] hand indication

Midi View (DAW-Mode) specific #

  • [ ] show sheet in DAW style midi view
  • [ ] adjust tile size
  • [ ] adjust tile color
  • [ ] specify rows with different pitches )

0.3.0 - 04.06.2019 #

  • Making Example Desktop Aware

[0.2.0] - 04-04-2019 #

  • Support for Dark Mode

[0.1.1] - Updating #

  • Fixing Scale Midi Bug
  • BREAKING - getScaleMidi => getScaleRoot

[0.1.0] - Updating #

  • Fixing Scale Midi Bug
  • BREAKING - getScale => getScaleMidi

[0.0.5] - Updating #

  • Added Example
  • Added Classes and Models

[0.0.4] - Bundled Assets #

  • Added Assets to /lib
  • Added Width and Height

[0.0.3] - Added Minor Support #

  • Added Minor Scale Parsing Support

[0.0.2] - Added Functions #

  • Added Utility Fuctions for Getting Assets Names

[0.0.1] - TODO: Add release date. #

  • Added Sheet Music View

example/lib/main.dart

import 'package:flutter/material.dart';

import 'package:sheet_music/sheet_music.dart';

import 'dart:io' show Platform;
import 'package:flutter/foundation.dart';

// The existing imports
// !! Keep your existing impots here !!

/// main is entry point of Flutter application
void main() {
  // Desktop platforms aren't a valid platform.
  _setTargetPlatformForDesktop();

  return runApp(MyApp());
}

/// If the current platform is desktop, override the default platform to
/// a supported platform (iOS for macOS, Android for Linux and Windows).
/// Otherwise, do nothing.
void _setTargetPlatformForDesktop() {
  TargetPlatform targetPlatform;
  if (Platform.isMacOS) {
    targetPlatform = TargetPlatform.iOS;
  } else if (Platform.isLinux || Platform.isWindows) {
    targetPlatform = TargetPlatform.android;
  }
  if (targetPlatform != null) {
    debugDefaultTargetPlatformOverride = targetPlatform;
  }
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: SheetMusic(
        scale: "C Major",
        pitch: "C4",
        trebleClef: true,
      ),
    );
  }
}

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  sheet_music: ^0.3.0

2. Install it

You can install packages from the command line:

with Flutter:


$ flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:sheet_music/sheet_music.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
54
Health:
Code health derived from static analysis. [more]
100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
99
Overall:
Weighted score of the above. [more]
77
Learn more about scoring.

We analyzed this package on Apr 8, 2020, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.7.1
  • pana: 0.13.6
  • Flutter: 1.12.13+hotfix.8

Maintenance suggestions

Package is getting outdated. (-0.55 points)

The package was last published 52 weeks ago.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.0.0 <3.0.0
flutter 0.0.0
tonic ^0.2.3 0.2.3
Transitive dependencies
collection 1.14.11 1.14.12
meta 1.1.8
sky_engine 0.0.99
typed_data 1.1.6
vector_math 2.0.8
Dev dependencies
flutter_test