Doesn't do anything when I click

• Sep 23, 2022 - 10:27
Reported version
3.6
Type
Functional
Frequency
Once
Severity
S1 - Blocker
Reproducibility
Always
Status
active
Regression
No
Workaround
No

I tried serializing my song with the plugin after installing "serializer_2.qml" in plugins. Then I have the Notes>serializer but it didn't do anything. Then I tried on a single melody with no chords, nothing either. Tried selecting the score, nothing. Selecting the notes, still not it. What did I do wrong?


Comments

Yes, it does nothing for me too.

When trying to run that plugin from within the Plugin Creator, you'd get:

90:-1: TypeError: Property 'includes' of object 0,1,2,3,4,5,6,7,8,9,10,11 is not a function
Warning: file:///C:/Users/Jojo/Documents/MuseScore3/Plug-Ins/musescore-serializer-plugin-master/serializer.qml:90: TypeError: Property 'includes' of object 0,1,2,3,4,5,6,7,8,9,10,11 is not a function

indicating that the Qt version used for MuseScore, Qt 5.9, is just too old for supporting ECMA 6/7. This may work in some Linux distros that bundle a newer Qt version, and should work with the Windows artifacts of my PR #9000 too as that uses Qt 5.15.2 (and indeed it does, I checked).

I'm affraid that is 'by design', although there might be a fix available that would make this plugin work without the use of that includes, but instead using some ECML 5 methods

The code it stumbles acceoss is

                        var note_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
                        var tone_row = [];
                        var tone_counter = 0;
                        while (cursor.segment && (fullScore || cursor.tick < endTick)) {
                              if (cursor.element && cursor.element.type == Element.CHORD) {
                                    var notes = cursor.element.notes;
                                    for (var i = 0; i < notes.length; i++) {
                                          var note = notes[i];
                                          if  (note_list.length > 0){
                                            if (note_list.includes(note.pitch%12)){
...