how to start? plugin to change volume of individual staff and export mp3

• Sep 23, 2015 - 09:34

Hello,

first thank you all for this wonderful piece of software and your support!

I am quite frequently faced with the following task:
- go to the mixer interface
- set volume of one staff to full volume and all others to medium volume (maybe also change ballance)
- export as mp3

I have programming experience (python, php) and started to search for plugin tutorials for musescore. But at the moment I am a bit confused because I mainly find 1.0 instructions and forum posts that tell me, that everything has changed fundametally in 2.0.

Could someone give me an estimate, how difficult it is, to automize my "change-setting-and-export"-task? Are there existing plugins that perform similar things (change volume, export) from which I can learn?

Thank's in advance!


Comments

Export is easy. You can check https://musescore.org/en/project/batchexport
Not sure if changing the volume of a particular part is possible via the plugin framework. Try to create a plugin and check the documentation in the plugin creator. The Part object has a volume property and you can get 'parts' from the score object, so it could be possible.

Also, if your choir/band is digital enough, you could check the MuseScore apps for android and iOS. They can read mscz files and change the volume of each part independently.

In reply to by [DELETED] 5

> Also, if your choir/band is digital enough

correct guess ;-) No, it is not even digital enough to play mp3s. I have to burn it to CD afterwards :-D

> Export is easy. You can check https://musescore.org/en/project/batchexport

I was a bit shocked by the 1000 lines of code, but I have looked at it and it seems not that complicated.

> Try to create a plugin and check the documentation in the plugin creator. The Part object has a volume property and you can get 'parts' from the score object, so it could be possible.

Do you mean the plugin editor? It does not offer much support to me. I have found "Part" and its properties "midiChannel", "volume" etc. But I do not understand how to work with this. I am not familiar with qml. Do you know of any plugin where I could take a look how to read and set properties of the Part object?

In reply to by juru

Ok, I found curScore.parts[0].longName and curScore.parts[0].volume :-)

At the moment I an struggling with this:
- How can I have a loop in a input dialog? uncommenting the for loop results in an error.
- What is the syntax for an input field where I can write a number? Up to now, I only know "CheckBox"


import QtQuick 2.2
import QtQuick.Controls 1.1
import QtQuick.Layouts 1.1
import QtQuick.Dialogs 1.2 // FileDialog
import QtQuick.Window 2.2
import Qt.labs.folderlistmodel 2.1
import Qt.labs.settings 1.0
import QtQml 2.2
import MuseScore 1.0
import FileIO 1.0
MuseScore {
menuPath: "Plugins.myfirstplugin"
version: "0.1"
description: "Attempt to my first plugin."
Window {
id: window
visible: true
title: "Chose parts for export and set volume"
modality: Qt.ApplicationModal // behave like a dialog
color: "lightgrey"
// center on screen
width: 100//mainRow.childrenRect.width
height: 200//mainRow.childrenRect.height
x: Screen.width / 2 - width / 2
y: Screen.height / 2 - height / 2
Column {
spacing: 1
//for (var i = 0; i < curScore.parts.length; i++) {
CheckBox {
id: "part0"
text: curScore.parts[0].longName
}
CheckBox {
id: "part1"
text: curScore.parts[1].longName
}
//}
Button {
id: ok
text: "Ok"
}
}
}
}

Do you still have an unanswered question? Please log in first to post your question.