Skip to content

Commit b08a6d9

Browse files
authored
Merge pull request #294 from jwink75/master
Updated smartshape library file
2 parents 2de1a28 + 5651fc2 commit b08a6d9

File tree

1 file changed

+51
-22
lines changed

1 file changed

+51
-22
lines changed

src/library/smartshape.lua

+51-22
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,39 @@ $module SmartShape
33
]]
44
local smartshape = {}
55

6-
6+
local smartshape_type = {
7+
"slurauto" = finale.SMARTSHAPE_SLURAUTO,
8+
"slur_auto" = finale.SMARTSHAPE_SLURAUTO,
9+
"autoslur" = finale.SMARTSHAPE_SLURAUTO,
10+
"auto_slur" = finale.SMARTSHAPE_SLURAUTO,
11+
"slur" = finale.SMARTSHAPE_SLURAUTO,
12+
"slurdown" = finale.SMARTSHAPE_SLURDOWN,
13+
"slur_down" = finale.SMARTSHAPE_SLURDOWN,
14+
"slurup" = finale.SMARTSHAPE_SLURUP,
15+
"slur_up" = finale.SMARTSHAPE_SLURUP,
16+
"dashed" = finale.SMARTSHAPE_DASHEDSLURAUTO,
17+
"dashedslur" = finale.SMARTSHAPE_DASHEDSLURAUTO,
18+
"dashed_slur" = finale.SMARTSHAPE_DASHEDSLURAUTO,
19+
"dashedslurdown" = finale.SMARTSHAPE_DASHEDSLURDOWN,
20+
"dashedslurup" = finale.SMARTSHAPE_DASHEDSLURDOWN,
21+
"dashedcurve" = finale.SMARTSHAPE_DASHCURVEAUTO,
22+
"dashed_curve" = finale.SMARTSHAPE_DASHCURVEAUTO,
23+
"curve" = finale.SMARTSHAPE_DASHCURVEAUTO,
24+
"dashedcurvedown", finale.SMARTSHAPE_DASHCURVEDOWN,
25+
"dashedcurveup"finale.SMARTSHAPE_DASHCURVEUP,
26+
"tabslide" = finale.SMARTSHAPE_TABSLIDE,
27+
"tab" = finale.SMARTSHAPE_TABSLIDE,
28+
"slide" = finale.SMARTSHAPE_TABSLIDE,
29+
"glissando" = finale.SMARTSHAPE_GLISSANDO,
30+
"gliss" = finale.SMARTSHAPE_GLISSANDO,
31+
"bendhat" = finale.SMARTSHAPE_BEND_HAT,
32+
"bend_hat" = finale.SMARTSHAPE_BEND_HAT,
33+
"hat" = finale.SMARTSHAPE_BEND_HAT,
34+
"bend" = finale.SMARTSHAPE_BEND_HAT,
35+
"bendcurve" = finale.SMARTSHAPE_BEND_CURVE,
36+
"bend_curve" = finale.SMARTSHAPE_BEND_CURVE
37+
}
38+
739
--[[
840
% smartshape_entrybased
941
@@ -16,33 +48,29 @@ Creates an entry based SmartShape based on two input notes. If a type is not spe
1648
function smartshape.add_entry_based_smartshape(start_note, end_note, shape_type)
1749
local smartshape = finale.FCSmartShape()
1850
smartshape:SetEntryAttachedFlags(true)
19-
-- Folks: Let me know if this is just too much... or not enough...
20-
local types = {"slurauto" = finale.SMARTSHAPE_SLURAUTO, "slur_auto" = finale.SMARTSHAPE_SLURAUTO, "autoslur" = finale.SMARTSHAPE_SLURAUTO, "auto_slur" = finale.SMARTSHAPE_SLURAUTO,
21-
"slur" = finale.SMARTSHAPE_SLURAUTO, "slurdown" = finale.SMARTSHAPE_SLURDOWN, "slur_down" = finale.SMARTSHAPE_SLURDOWN, "slurup" = finale.SMARTSHAPE_SLURUP, "slur_up" = finale.SMARTSHAPE_SLURUP,"dashed" = finale.SMARTSHAPE_DASHEDSLURAUTO, "dashedslur" = finale.SMARTSHAPE_DASHEDSLURAUTO, "dashed_slur" = finale.SMARTSHAPE_DASHEDSLURAUTO,"dashedslurdown" = finale.SMARTSHAPE_DASHEDSLURDOWN, "dashedslurup" = finale.SMARTSHAPE_DASHEDSLURDOWN, "dashedcurve" = finale.SMARTSHAPE_DASHCURVEAUTO, "dashed_curve" = finale.SMARTSHAPE_DASHCURVEAUTO,"curve" = finale.SMARTSHAPE_DASHCURVEAUTO,"dashedcurvedown", finale.SMARTSHAPE_DASHCURVEDOWN, "dashedcurveup"finale.SMARTSHAPE_DASHCURVEUP, "tabslide" = finale.SMARTSHAPE_TABSLIDE, "tab" = finale.SMARTSHAPE_TABSLIDE, "slide" = finale.SMARTSHAPE_TABSLIDE, "glissando" = finale.SMARTSHAPE_GLISSANDO, "gliss" = finale.SMARTSHAPE_GLISSANDO, "bendhat" = finale.SMARTSHAPE_BEND_HAT, "bend_hat" = finale.SMARTSHAPE_BEND_HAT,"hat" = finale.SMARTSHAPE_BEND_HAT, "bend" = finale.SMARTSHAPE_BEND_HAT, "bendcurve" = finale.SMARTSHAPE_BEND_CURVE, "bend_curve" = finale.SMARTSHAPE_BEND_CURVE}
22-
--
23-
if not shape_type then
24-
shape_type = "slur"
25-
end
51+
52+
shape_type = shape_type or "slur"
2653
--
2754
shape_type = string.lower(shape_type)
28-
local shape = types[shape_type]
55+
local shape = smartshape_type[shape_type]
2956
smartshape:SetShapeType(shape)
3057
smartshape.PresetShape = true
3158
if smartshape:IsAutoSlur() then
3259
smartshape:SetSlurFlags(true)
3360
smartshape:SetEngraverSlur(finale.SS_AUTOSTATE)
3461
end
3562
--
36-
local leftseg = smartshape:GetTerminateSegmentLeft()
37-
local rightseg = smartshape:GetTerminateSegmentRight()
63+
local left_segment = smartshape:GetTerminateSegmentLeft()
64+
local right_segment = smartshape:GetTerminateSegmentRight()
3865
--
39-
leftseg:SetEntry(start_note)
40-
leftseg:SetStaff(start_note.Staff)
41-
leftseg:SetMeasure(start_note.Measure)
66+
left_segment:SetEntry(start_note)
67+
left_segment:SetStaff(start_note.Staff)
68+
left_segment:SetMeasure(start_note.Measure)
4269
--
43-
rightseg:SetEntry(end_note)
44-
rightseg:SetStaff(end_note.Staff)
45-
rightseg:SetMeasure(end_note.Measure)
70+
right_segment:SetEntry(end_note)
71+
right_segment:SetStaff(end_note.Staff)
72+
right_segment:SetMeasure(end_note.Measure)
73+
4674

4775
if (shape == finale.SMARTSHAPE_TABSLIDE) or (shape == finale.SMARTSHAPE_GLISSANDO) then
4876
if shape == finale.SMARTSHAPE_GLISSANDO then
@@ -51,9 +79,10 @@ function smartshape.add_entry_based_smartshape(start_note, end_note, shape_type)
5179
smartshape.LineID = 2
5280
end
5381
-- smartshape:SetAvoidAccidentals(finale.SS_ONSTATE) -- Actually appears to do nothing :/
54-
leftseg.NoteID = 1 -- If there is more than 1 note in the entry, shape will be attached to the first one entered
55-
rightseg.NoteID = 1
56-
rightseg:SetCustomOffset(true)
82+
left_segment.NoteID = 1 -- If there is more than 1 note in the entry, shape will be attached to the first one entered
83+
right_segment.NoteID = 1
84+
right_segment:SetCustomOffset(true)
85+
5786
local accidentals = 0
5887
local start_note_staff_pos = 0
5988
local end_note_staff_pos = 0
@@ -77,8 +106,8 @@ function smartshape.add_entry_based_smartshape(start_note, end_note, shape_type)
77106
if accidentals > 0 then
78107
offset_x_add = offset_x_add + 28
79108
end
80-
rightseg:SetEndpointOffsetX(rightseg.EndpointOffsetX - offset_x_add)
81-
rightseg:SetEndpointOffsetY(rightseg.EndpointOffsetY + offset_y_add + (staff_pos_difference/2))
109+
right_segment:SetEndpointOffsetX(right_segment.EndpointOffsetX - offset_x_add)
110+
right_segment:SetEndpointOffsetY(right_segment.EndpointOffsetY + offset_y_add + (staff_pos_difference/2))
82111
end
83112
smartshape:SaveNewEverything(start_note, end_note)
84113
end

0 commit comments

Comments
 (0)