StaffGroup class
Represents a group of staves connected by a bracket or brace
A StaffGroup contains one or more Staffs that are visually connected and typically represent a single instrument or section.
Examples:
// Piano (grand staff with brace)
final piano = StaffGroup(
staves: [trebleStaff, bassStaff],
bracket: BracketType.brace,
name: 'Piano',
);
// Choir SATB (with bracket)
final choir = StaffGroup(
staves: [soprano, alto, tenor, bass],
bracket: BracketType.bracket,
name: 'Choir',
);
// Violin I & II (with line)
final violins = StaffGroup(
staves: [violin1, violin2],
bracket: BracketType.line,
name: 'Violins',
);
Constructors
-
StaffGroup({required List<
Staff> staves, BracketType bracket = BracketType.none, String? name, String? abbreviation, bool? connectBarlines, double? customSpacing, bool showNameOnAllSystems = false}) -
const
-
StaffGroup.brass(List<
Staff> staves) -
Factory: Create a brass section group
factory
- StaffGroup.choir(Staff soprano, Staff alto, Staff tenor, Staff bass)
-
Factory: Create a choir SATB group
factory
- StaffGroup.harp(Staff trebleStaff, Staff bassStaff)
-
Factory: Create a harp group (grand staff)
factory
-
StaffGroup.multipleInstruments(List<
Staff> staves, String instrumentName) -
Factory: Create a group for multiple instances of same instrument
factory
- StaffGroup.organ(Staff manual1, Staff manual2, Staff pedal)
-
Factory: Create an organ group (typically 3 staves)
factory
-
StaffGroup.percussion(List<
Staff> staves) -
Factory: Create a percussion section group
factory
- StaffGroup.piano(Staff trebleStaff, Staff bassStaff)
-
Factory: Create a piano (grand staff) group
factory
-
StaffGroup.strings(List<
Staff> staves) -
Factory: Create a string section group
factory
-
StaffGroup.woodwinds(List<
Staff> staves) -
Factory: Create a woodwind section group
factory
Properties
- abbreviation → String?
-
Abbreviated name (displayed on subsequent systems)
final
- bracket → BracketType
-
Type of bracket connecting the staves
final
- connectBarlines → bool
-
Whether barlines should connect all staves in the group
final
- customSpacing → double?
-
Vertical spacing between staves in this group (in staff spaces)
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- isGrandStaff → bool
-
Check if this is a grand staff (2 staves with brace)
no setter
- name → String?
-
Name of the group (displayed to the left of the staves)
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- showNameOnAllSystems → bool
-
Whether to show instrument name on every system
final
- staffCount → int
-
Number of staves in this group
no setter
-
staves
→ List<
Staff> -
List of staves in this group (must contain at least one staff)
final
Methods
-
copyWith(
{List< Staff> ? staves, BracketType? bracket, String? name, String? abbreviation, bool? connectBarlines, double? customSpacing, bool? showNameOnAllSystems}) → StaffGroup - Create a copy with modified fields
-
getStaff(
int index) → Staff? - Get a specific staff by index
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited