Skip to content

Commit 1eb1156

Browse files
committed
Fix dive palette position
1 parent 51780b3 commit 1eb1156

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

src/palette/internal/palettecompat.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,9 @@ static const std::unordered_set<ActionIconType> BENDS_ACTION_TYPES = {
6060
ActionIconType::PRE_BEND,
6161
ActionIconType::GRACE_NOTE_BEND,
6262
ActionIconType::SLIGHT_BEND,
63+
};
64+
65+
static const std::unordered_set<ActionIconType> DIVES_ACTION_TYPES = {
6366
ActionIconType::DIVE,
6467
ActionIconType::PRE_DIVE,
6568
ActionIconType::DIP,
@@ -239,6 +242,7 @@ void PaletteCompat::addNewGuitarItems(Palette& guitarPalette, Score* paletteScor
239242
bool containsFFrame = false;
240243
bool containsTapping = false;
241244
bool containsHammerOnPullOff = false;
245+
bool containsGuitarDives = false;
242246

243247
for (const PaletteCellPtr& cell : guitarPalette.cells()) {
244248
const ElementPtr element = cell->element;
@@ -255,6 +259,9 @@ void PaletteCompat::addNewGuitarItems(Palette& guitarPalette, Score* paletteScor
255259
if (muse::contains(BENDS_ACTION_TYPES, icon->actionType())) {
256260
containsGuitarBends = true;
257261
}
262+
if (muse::contains(DIVES_ACTION_TYPES, icon->actionType())) {
263+
containsGuitarDives = true;
264+
}
258265
if (icon->actionType() == ActionIconType::FFRAME) {
259266
containsFFrame = true;
260267
}
@@ -287,6 +294,10 @@ void PaletteCompat::addNewGuitarItems(Palette& guitarPalette, Score* paletteScor
287294
guitarPalette.insertActionIcon(defaultPosition, ActionIconType::PRE_BEND, "pre-bend", 1.25);
288295
guitarPalette.insertActionIcon(defaultPosition, ActionIconType::GRACE_NOTE_BEND, "grace-note-bend", 1.25);
289296
guitarPalette.insertActionIcon(defaultPosition, ActionIconType::SLIGHT_BEND, "slight-bend", 1.25);
297+
}
298+
299+
if (!containsGuitarDives) {
300+
int defaultPosition = std::min(12, guitarPalette.cellsCount());
290301
guitarPalette.insertActionIcon(defaultPosition, ActionIconType::DIVE, "dive", 1.25);
291302
guitarPalette.insertActionIcon(defaultPosition, ActionIconType::PRE_DIVE, "pre-dive", 1.25);
292303
guitarPalette.insertActionIcon(defaultPosition, ActionIconType::DIP, "dip", 1.25);

0 commit comments

Comments
 (0)