From b1462cc01b80bfb18c1b157dfdf7ce9a0f198279 Mon Sep 17 00:00:00 2001 From: Orcan Ogetbil Date: Wed, 12 Oct 2011 02:49:43 +0000 Subject: made rhythm generator aware of namespaces --- muse2/ChangeLog | 2 ++ muse2/muse/mplugins/mitplugin.cpp | 10 +++++----- muse2/muse/mplugins/rhythm.cpp | 4 ++++ muse2/muse/mplugins/rhythm.h | 27 +++++++++++++++++---------- 4 files changed, 28 insertions(+), 15 deletions(-) diff --git a/muse2/ChangeLog b/muse2/ChangeLog index 04e0c297..5d306791 100644 --- a/muse2/ChangeLog +++ b/muse2/ChangeLog @@ -1,3 +1,5 @@ +11.10.2011: + - Fixed the build of experimental rhythm generator. (Orcan) 09.10.2011: - Fixed track list midi port popup menu - too many ports listed. Separated empty ports into submenu. (Tim) 06.10.2011: diff --git a/muse2/muse/mplugins/mitplugin.cpp b/muse2/muse/mplugins/mitplugin.cpp index 48e30bb6..d4d7dd70 100644 --- a/muse2/muse/mplugins/mitplugin.cpp +++ b/muse2/muse/mplugins/mitplugin.cpp @@ -48,7 +48,7 @@ void MusE::startMidiInputPlugin(int id) QAction* act; if (id == 0) { if (!MusEGlobal::mitPluginTranspose) { - MusEGlobal::mitPluginTranspose = new MusEGui::MITPluginTranspose(); + MusEGlobal::mitPluginTranspose = new MITPluginTranspose(); MusECore::mitPlugins.push_back(MusEGlobal::mitPluginTranspose); connect(MusEGlobal::mitPluginTranspose, SIGNAL(hideWindow()), SLOT(hideMitPluginTranspose())); @@ -58,7 +58,7 @@ void MusE::startMidiInputPlugin(int id) } else if (id == 1) { if (!midiInputTransform) { - midiInputTransform = new MusEGui::MidiInputTransformDialog(); + midiInputTransform = new MidiInputTransformDialog(); connect(midiInputTransform, SIGNAL(hideWindow()), SLOT(hideMidiInputTransform())); } @@ -67,7 +67,7 @@ void MusE::startMidiInputPlugin(int id) } else if (id == 2) { if (!midiFilterConfig) { - midiFilterConfig = new MusEGui::MidiFilterConfig(); + midiFilterConfig = new MidiFilterConfig(); connect(midiFilterConfig, SIGNAL(hideWindow()), SLOT(hideMidiFilterConfig())); } @@ -76,7 +76,7 @@ void MusE::startMidiInputPlugin(int id) } else if (id == 3) { if (!midiRemoteConfig) { - midiRemoteConfig = new MusEGui::MRConfig(); + midiRemoteConfig = new MRConfig(); connect(midiRemoteConfig, SIGNAL(hideWindow()), SLOT(hideMidiRemoteConfig())); } @@ -134,7 +134,7 @@ void MusE::hideMidiRhythmGenerator() void MusE::startMidiTransformer() { if (midiTransformerDialog == 0) - midiTransformerDialog = new MusEGui::MidiTransformerDialog; + midiTransformerDialog = new MidiTransformerDialog; midiTransformerDialog->show(); } diff --git a/muse2/muse/mplugins/rhythm.cpp b/muse2/muse/mplugins/rhythm.cpp index 78dfeee5..7c51227c 100644 --- a/muse2/muse/mplugins/rhythm.cpp +++ b/muse2/muse/mplugins/rhythm.cpp @@ -29,6 +29,8 @@ #include "rhythm.h" +namespace MusEGui { + //--------------------------------------------------------- // RhythmGen //--------------------------------------------------------- @@ -525,5 +527,7 @@ RhythmGenerator::~RhythmGenerator() { // no need to delete child widgets, Qt does it all for us } + #endif +} // namespace MusEGui diff --git a/muse2/muse/mplugins/rhythm.h b/muse2/muse/mplugins/rhythm.h index d60e7993..de6c178b 100644 --- a/muse2/muse/mplugins/rhythm.h +++ b/muse2/muse/mplugins/rhythm.h @@ -34,17 +34,22 @@ #include +#define MAX_GROUPS 5 +#define MAX_KEYS 20 + class QCloseEvent; +namespace MusECore { +class Xml; +} + +namespace MusEGui { + class tTrack; class tEventWin; class tSong; class tBarInfo; -#define MAX_GROUPS 5 -#define MAX_KEYS 20 - -class Xml; #if 0 //--------------------------------------------------------- @@ -59,8 +64,8 @@ struct tRhyGroup { listen = 0; contrib = 0; } -// void write(int, Xml&); -// void read(Xml&); +// void write(int, MusECore::Xml&); +// void read(MusECore::Xml&); }; //--------------------------------------------------------- @@ -71,8 +76,8 @@ struct tRhyGroups { tRhyGroup g[MAX_GROUPS]; tRhyGroup& operator [] (int i) { return g[i]; } -// void write(int, Xml&); -// void read(Xml&); +// void write(int, MusECore::Xml&); +// void read(MusECore::Xml&); }; //--------------------------------------------------------- @@ -123,8 +128,8 @@ class tRhythm void GenInit(long start_clock); void GenerateEvent(tTrack *track, long clock, short vel, short len); - void write(int, Xml&); - void read(Xml&); + void write(int, MusECore::Xml&); + void read(MusECore::Xml&); }; #endif @@ -209,5 +214,7 @@ class RhythmGen : public QMainWindow, public Ui::RhythmBase // bool OnClose(); }; +} // namespace MusEGui + #endif -- cgit v1.2.3 From 55b46c943ef1fd5a1bd1a48c43448b0c0663ac71 Mon Sep 17 00:00:00 2001 From: Florian Jung Date: Wed, 12 Oct 2011 16:21:09 +0000 Subject: fixed "initial window size gets smaller and smaller" bug when in MDI mode --- muse2/muse/cobject.cpp | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/muse2/muse/cobject.cpp b/muse2/muse/cobject.cpp index 59a9463e..b4c6537c 100644 --- a/muse2/muse/cobject.cpp +++ b/muse2/muse/cobject.cpp @@ -85,8 +85,11 @@ TopWin::TopWin(ToplevelType t, QWidget* parent, const char* name, Qt::WindowFlag subwinAction->setChecked(isMdiWin()); shareAction->setChecked(_sharesToolsAndMenu); fullscreenAction->setEnabled(!isMdiWin()); - - resize(_widthInit[_type], _heightInit[_type]); + + if (mdisubwin) + mdisubwin->resize(_widthInit[_type], _heightInit[_type]); + else + resize(_widthInit[_type], _heightInit[_type]); } @@ -359,8 +362,17 @@ void TopWin::shareToolsAndMenu(bool val) void TopWin::storeInitialState() const { - _widthInit[_type] = width(); - _heightInit[_type] = height(); + if (mdisubwin) + { + _widthInit[_type] = mdisubwin->width(); + _heightInit[_type] = mdisubwin->height(); + } + else + { + _widthInit[_type] = width(); + _heightInit[_type] = height(); + } + if (sharesToolsAndMenu()) { if (muse->getCurrentMenuSharingTopwin() == this) -- cgit v1.2.3 From a80e5947363ba5f3d77321dd72a4cd93c777998a Mon Sep 17 00:00:00 2001 From: Orcan Ogetbil Date: Thu, 13 Oct 2011 01:58:08 +0000 Subject: namespace fix --- muse2/ChangeLog | 2 ++ muse2/muse/plugin.cpp | 8 ++++---- muse2/share/plugins/1050.ui | 16 ++++++++-------- muse2/share/plugins/2142.ui | 16 ++++++++-------- 4 files changed, 22 insertions(+), 20 deletions(-) diff --git a/muse2/ChangeLog b/muse2/ChangeLog index 5d306791..506f3629 100644 --- a/muse2/ChangeLog +++ b/muse2/ChangeLog @@ -1,3 +1,5 @@ +12.10.2011: + - Made the plugins aware of namespaces. (Orcan) 11.10.2011: - Fixed the build of experimental rhythm generator. (Orcan) 09.10.2011: diff --git a/muse2/muse/plugin.cpp b/muse2/muse/plugin.cpp index 63e65f2e..2bdd0317 100644 --- a/muse2/muse/plugin.cpp +++ b/muse2/muse/plugin.cpp @@ -3546,7 +3546,7 @@ PluginGui::PluginGui(MusECore::PluginIBase* p) gw[nobj].param = parameter; gw[nobj].type = -1; - if (strcmp(obj->metaObject()->className(), "Slider") == 0) { + if (strcmp(obj->metaObject()->className(), "MusEGui::Slider") == 0) { gw[nobj].type = GuiWidgets::SLIDER; ((Slider*)obj)->setId(nobj); ((Slider*)obj)->setCursorHoming(true); @@ -3561,7 +3561,7 @@ PluginGui::PluginGui(MusECore::PluginIBase* p) connect(obj, SIGNAL(sliderReleased(int)), SLOT(guiSliderReleased(int))); connect(obj, SIGNAL(sliderRightClicked(const QPoint &, int)), SLOT(guiSliderRightClicked(const QPoint &, int))); } - else if (strcmp(obj->metaObject()->className(), "DoubleLabel") == 0) { + else if (strcmp(obj->metaObject()->className(), "MusEGui::DoubleLabel") == 0) { gw[nobj].type = GuiWidgets::DOUBLE_LABEL; ((DoubleLabel*)obj)->setId(nobj); //for(int i = 0; i < nobj; i++) @@ -4611,9 +4611,9 @@ void PluginGui::guiSliderRightClicked(const QPoint &p, int idx) //--------------------------------------------------------- QWidget* PluginLoader::createWidget(const QString & className, QWidget * parent, const QString & name) { - if(className == QString("DoubleLabel")) + if(className == QString("MusEGui::DoubleLabel")) return new DoubleLabel(parent, name.toLatin1().constData()); - if(className == QString("Slider")) + if(className == QString("MusEGui::Slider")) return new Slider(parent, name.toLatin1().constData(), Qt::Horizontal); return QUiLoader::createWidget(className, parent, name); diff --git a/muse2/share/plugins/1050.ui b/muse2/share/plugins/1050.ui index bc478810..cd3f8689 100644 --- a/muse2/share/plugins/1050.ui +++ b/muse2/share/plugins/1050.ui @@ -43,7 +43,7 @@ - + 10 @@ -59,7 +59,7 @@ - + 0 @@ -87,7 +87,7 @@ - + 0 @@ -131,7 +131,7 @@ - + 10 @@ -147,7 +147,7 @@ - + 0 @@ -191,7 +191,7 @@ - + 10 @@ -211,12 +211,12 @@ - Slider + MusEGui::Slider QWidget
slider.h
- DoubleLabel + MusEGui::DoubleLabel QWidget
doublelabel.h
diff --git a/muse2/share/plugins/2142.ui b/muse2/share/plugins/2142.ui index 82b9b73d..a1ee7def 100644 --- a/muse2/share/plugins/2142.ui +++ b/muse2/share/plugins/2142.ui @@ -37,7 +37,7 @@
- + 0 @@ -65,7 +65,7 @@ - + 0 @@ -106,7 +106,7 @@ - + 0 @@ -147,7 +147,7 @@ - + 10 @@ -166,7 +166,7 @@ - + 10 @@ -185,7 +185,7 @@ - + 10 @@ -478,12 +478,12 @@ - DoubleLabel + MusEGui::DoubleLabel QWidget
doublelabel.h
- Slider + MusEGui::Slider QWidget
slider.h
-- cgit v1.2.3 From 395eb053ed2cd2ba1a47bf3fe99fe65ace523cad Mon Sep 17 00:00:00 2001 From: Florian Jung Date: Fri, 14 Oct 2011 11:58:47 +0000 Subject: fixed dangling slot --- muse2/muse/songfile.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/muse2/muse/songfile.cpp b/muse2/muse/songfile.cpp index 07b03c5e..033122d7 100644 --- a/muse2/muse/songfile.cpp +++ b/muse2/muse/songfile.cpp @@ -29,6 +29,7 @@ #include "app.h" #include "song.h" #include "arranger.h" +#include "arrangerview.h" //#include "arranger/arranger.h" // p4.0.2 #include "cobject.h" #include "drumedit.h" @@ -1296,7 +1297,7 @@ void MusE::readToplevels(MusECore::Xml& xml) score->show(); toplevels.push_back(score); connect(score, SIGNAL(deleted(MusEGui::TopWin*)), SLOT(toplevelDeleted(MusEGui::TopWin*))); - connect(score, SIGNAL(name_changed()), SLOT(scoreNamingChanged())); + connect(score, SIGNAL(name_changed()), arrangerView, SLOT(scoreNamingChanged())); score->readStatus(xml); } else if (tag == "drumedit") { -- cgit v1.2.3 From 7249c6fb8513867e13dd6a69ebb51648e734204e Mon Sep 17 00:00:00 2001 From: Robert Jonsson Date: Fri, 14 Oct 2011 19:07:15 +0000 Subject: keyboard navigation for tracks --- muse2/ChangeLog | 2 ++ muse2/muse/arranger/tlist.cpp | 13 ++++++++++--- muse2/muse/track.cpp | 28 ++++++++++++++++++++++++++++ muse2/muse/track.h | 1 + 4 files changed, 41 insertions(+), 3 deletions(-) diff --git a/muse2/ChangeLog b/muse2/ChangeLog index 506f3629..d601817e 100644 --- a/muse2/ChangeLog +++ b/muse2/ChangeLog @@ -1,3 +1,5 @@ +14.10.2011: + - Fixed keyboard navigation in tracks to work with hidden tracks (rj) 12.10.2011: - Made the plugins aware of namespaces. (Orcan) 11.10.2011: diff --git a/muse2/muse/arranger/tlist.cpp b/muse2/muse/arranger/tlist.cpp index cca8a086..1e3ad419 100644 --- a/muse2/muse/arranger/tlist.cpp +++ b/muse2/muse/arranger/tlist.cpp @@ -579,7 +579,6 @@ void TList::mouseDoubleClickEvent(QMouseEvent* ev) //--------------------------------------------------------- // portsPopupMenu //--------------------------------------------------------- - void TList::portsPopupMenu(MusECore::Track* t, int x, int y) { switch(t->type()) { @@ -886,16 +885,24 @@ void TList::moveSelection(int n) if (t == tracks->end()) { --t; break; - } } - } + // skip over hidden tracks + if (!(*t)->isVisible()) { + n++; + } + } + } else { while (n++ != 0) { if (t == tracks->begin()) break; --t; + // skip over hidden tracks + if (!(*t)->isVisible()) { + n--; } } + } (*s)->setSelected(false); (*t)->setSelected(true); diff --git a/muse2/muse/track.cpp b/muse2/muse/track.cpp index 6fbe81c5..1ee1dfde 100644 --- a/muse2/muse/track.cpp +++ b/muse2/muse/track.cpp @@ -144,6 +144,34 @@ void removePortCtrlEvents(MidiTrack* t) } } +//--------------------------------------------------------- +// isVisible +//--------------------------------------------------------- +bool Track::isVisible() +{ + switch (type()) + { + case Track::AUDIO_AUX: + return AudioAux::visible(); + break; + case Track::AUDIO_GROUP: + return AudioGroup::visible(); + case Track::AUDIO_INPUT: + return AudioInput::visible(); + case Track::AUDIO_OUTPUT: + return AudioOutput::visible(); + case Track::WAVE: + return WaveTrack::visible(); + case Track::MIDI: + return MidiTrack::visible(); + case Track::AUDIO_SOFTSYNTH: + return AudioAux::visible(); + default: + break; + } + + return false; +} //--------------------------------------------------------- diff --git a/muse2/muse/track.h b/muse2/muse/track.h index 46dfc59f..25a846ac 100644 --- a/muse2/muse/track.h +++ b/muse2/muse/track.h @@ -205,6 +205,7 @@ class Track { virtual AutomationType automationType() const = 0; virtual void setAutomationType(AutomationType t) = 0; static void setVisible(bool ) { } + bool isVisible(); }; -- cgit v1.2.3 From e4124c33aca9180e545cca0b353308625fc0082a Mon Sep 17 00:00:00 2001 From: Florian Jung Date: Sat, 15 Oct 2011 21:23:20 +0000 Subject: sigedit boxes now select their content when you click at them --- muse2/awl/sigspinbox.cpp | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/muse2/awl/sigspinbox.cpp b/muse2/awl/sigspinbox.cpp index 6e38b164..a4e4b21f 100644 --- a/muse2/awl/sigspinbox.cpp +++ b/muse2/awl/sigspinbox.cpp @@ -1,14 +1,34 @@ #include "sigspinbox.h" #include "al/sig.h" #include +#include #include +#include + +class MyLineEdit : public QLineEdit +{ + public: + MyLineEdit() : QLineEdit() {}; + MyLineEdit(QWidget* parent) : QLineEdit(parent) {}; + + protected: + virtual void mousePressEvent (QMouseEvent* e) + { + QLineEdit::mousePressEvent(e); + printf("!!!\n"); + selectAll(); + } +}; + SigSpinBox::SigSpinBox(QWidget *parent) : QSpinBox(parent) { _denominator=false; + setLineEdit(new MyLineEdit(this)); } -void SigSpinBox::keyPressEvent(QKeyEvent*ev) + +void SigSpinBox::keyPressEvent(QKeyEvent* ev) { switch (ev->key()) { case Qt::Key_Return: -- cgit v1.2.3 From b071fa342f72770346e36b3564c9c225d9af791f Mon Sep 17 00:00:00 2001 From: Florian Jung Date: Sat, 15 Oct 2011 21:24:15 +0000 Subject: forgot to remove a debugging statement --- muse2/awl/sigspinbox.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/muse2/awl/sigspinbox.cpp b/muse2/awl/sigspinbox.cpp index a4e4b21f..f1399538 100644 --- a/muse2/awl/sigspinbox.cpp +++ b/muse2/awl/sigspinbox.cpp @@ -15,7 +15,6 @@ class MyLineEdit : public QLineEdit virtual void mousePressEvent (QMouseEvent* e) { QLineEdit::mousePressEvent(e); - printf("!!!\n"); selectAll(); } }; -- cgit v1.2.3 From a65f03f8cefc3e1d2e6b71ace15789fc63795275 Mon Sep 17 00:00:00 2001 From: "Tim E. Real" Date: Sun, 16 Oct 2011 21:35:39 +0000 Subject: Fixed crashes reloading songs having open editors. Previous memleak fixes revealed some problems. Installed bool TopWin::deleting(). It is set true when closeEvent() is called in any self-deleting TopWins. Used it to make all such TopWins and their corresponding child canvasses ignore songChanged signals. --- muse2/ChangeLog | 5 +++++ muse2/muse/app.cpp | 41 +++++++++++++++++++++------------------ muse2/muse/app.h | 2 +- muse2/muse/cliplist/cliplist.cpp | 2 +- muse2/muse/cliplist/cliplist.h | 2 +- muse2/muse/cobject.cpp | 1 + muse2/muse/cobject.h | 10 ++++++++-- muse2/muse/ctrl/ctrlcanvas.cpp | 3 +++ muse2/muse/ctrl/ctrlcanvas.h | 2 ++ muse2/muse/ctrl/ctrlpanel.cpp | 3 +++ muse2/muse/liste/listedit.cpp | 6 +++++- muse2/muse/liste/listedit.h | 2 +- muse2/muse/master/lmaster.cpp | 7 ++++++- muse2/muse/master/lmaster.h | 2 +- muse2/muse/master/masteredit.cpp | 7 ++++++- muse2/muse/master/masteredit.h | 2 +- muse2/muse/midiedit/drumedit.cpp | 7 ++++++- muse2/muse/midiedit/drumedit.h | 2 +- muse2/muse/midiedit/pianoroll.cpp | 8 +++++++- muse2/muse/midiedit/pianoroll.h | 2 +- muse2/muse/midiedit/scoreedit.cpp | 10 +++++++++- muse2/muse/midiedit/scoreedit.h | 2 +- muse2/muse/songfile.cpp | 2 +- muse2/muse/waveedit/waveedit.cpp | 8 ++++++-- muse2/muse/waveedit/waveedit.h | 2 +- 25 files changed, 100 insertions(+), 40 deletions(-) diff --git a/muse2/ChangeLog b/muse2/ChangeLog index d601817e..26bb1f1e 100644 --- a/muse2/ChangeLog +++ b/muse2/ChangeLog @@ -1,3 +1,8 @@ +16.10.2011: + - Fixed crashes reloading songs having open editors. Previous memleak fixes revealed some problems. (Tim) + Installed bool TopWin::deleting(). It is set true when closeEvent() is called in any self-deleting TopWins. + Used it to make all such TopWins and their corresponding child canvasses ignore songChanged signals. + Test OK so far, multiple reloads of song with all track types, all windows open. 14.10.2011: - Fixed keyboard navigation in tracks to work with hidden tracks (rj) 12.10.2011: diff --git a/muse2/muse/app.cpp b/muse2/muse/app.cpp index 677743b3..50a766dc 100644 --- a/muse2/muse/app.cpp +++ b/muse2/muse/app.cpp @@ -1844,7 +1844,7 @@ void MusE::openInScoreEdit(MusEGui::ScoreEdit* destination, MusECore::PartList* destination = new MusEGui::ScoreEdit(this, 0, _arranger->cursorValue()); destination->show(); toplevels.push_back(destination); - connect(destination, SIGNAL(deleted(MusEGui::TopWin*)), SLOT(toplevelDeleted(MusEGui::TopWin*))); + connect(destination, SIGNAL(isDeleting(MusEGui::TopWin*)), SLOT(toplevelDeleting(MusEGui::TopWin*))); connect(destination, SIGNAL(name_changed()), arrangerView, SLOT(scoreNamingChanged())); //connect(muse, SIGNAL(configChanged()), destination, SLOT(config_changed())); //commented out by flo, because the ScoreEditor connects to all @@ -1882,7 +1882,7 @@ void MusE::startPianoroll(MusECore::PartList* pl, bool showDefaultCtrls) pianoroll->addCtrl(); pianoroll->show(); toplevels.push_back(pianoroll); - connect(pianoroll, SIGNAL(deleted(MusEGui::TopWin*)), SLOT(toplevelDeleted(MusEGui::TopWin*))); + connect(pianoroll, SIGNAL(isDeleting(MusEGui::TopWin*)), SLOT(toplevelDeleting(MusEGui::TopWin*))); connect(MusEGlobal::muse, SIGNAL(configChanged()), pianoroll, SLOT(configChanged())); updateWindowMenu(); } @@ -1904,7 +1904,7 @@ void MusE::startListEditor(MusECore::PartList* pl) MusEGui::ListEdit* listEditor = new MusEGui::ListEdit(pl); listEditor->show(); toplevels.push_back(listEditor); - connect(listEditor, SIGNAL(deleted(MusEGui::TopWin*)), SLOT(toplevelDeleted(MusEGui::TopWin*))); + connect(listEditor, SIGNAL(isDeleting(MusEGui::TopWin*)), SLOT(toplevelDeleting(MusEGui::TopWin*))); connect(MusEGlobal::muse,SIGNAL(configChanged()), listEditor, SLOT(configChanged())); updateWindowMenu(); } @@ -1918,7 +1918,7 @@ void MusE::startMasterEditor() MusEGui::MasterEdit* masterEditor = new MusEGui::MasterEdit(); masterEditor->show(); toplevels.push_back(masterEditor); - connect(masterEditor, SIGNAL(deleted(MusEGui::TopWin*)), SLOT(toplevelDeleted(MusEGui::TopWin*))); + connect(masterEditor, SIGNAL(isDeleting(MusEGui::TopWin*)), SLOT(toplevelDeleting(MusEGui::TopWin*))); updateWindowMenu(); } @@ -1931,7 +1931,7 @@ void MusE::startLMasterEditor() MusEGui::LMaster* lmaster = new MusEGui::LMaster(); lmaster->show(); toplevels.push_back(lmaster); - connect(lmaster, SIGNAL(deleted(MusEGui::TopWin*)), SLOT(toplevelDeleted(MusEGui::TopWin*))); + connect(lmaster, SIGNAL(isDeleting(MusEGui::TopWin*)), SLOT(toplevelDeleting(MusEGui::TopWin*))); connect(MusEGlobal::muse, SIGNAL(configChanged()), lmaster, SLOT(configChanged())); updateWindowMenu(); } @@ -1955,7 +1955,7 @@ void MusE::startDrumEditor(MusECore::PartList* pl, bool showDefaultCtrls) drumEditor->addCtrl(); drumEditor->show(); toplevels.push_back(drumEditor); - connect(drumEditor, SIGNAL(deleted(MusEGui::TopWin*)), SLOT(toplevelDeleted(MusEGui::TopWin*))); + connect(drumEditor, SIGNAL(isDeleting(MusEGui::TopWin*)), SLOT(toplevelDeleting(MusEGui::TopWin*))); connect(MusEGlobal::muse, SIGNAL(configChanged()), drumEditor, SLOT(configChanged())); updateWindowMenu(); } @@ -1980,7 +1980,7 @@ void MusE::startWaveEditor(MusECore::PartList* pl) waveEditor->show(); connect(MusEGlobal::muse, SIGNAL(configChanged()), waveEditor, SLOT(configChanged())); toplevels.push_back(waveEditor); - connect(waveEditor, SIGNAL(deleted(MusEGui::TopWin*)), SLOT(toplevelDeleted(MusEGui::TopWin*))); + connect(waveEditor, SIGNAL(isDeleting(MusEGui::TopWin*)), SLOT(toplevelDeleting(MusEGui::TopWin*))); updateWindowMenu(); } @@ -2038,7 +2038,7 @@ void MusE::startClipList(bool checked) //clipListEdit = new ClipListEdit(); clipListEdit = new MusEGui::ClipListEdit(this); toplevels.push_back(clipListEdit); - connect(clipListEdit, SIGNAL(deleted(MusEGui::TopWin*)), SLOT(toplevelDeleted(MusEGui::TopWin*))); + connect(clipListEdit, SIGNAL(isDeleting(MusEGui::TopWin*)), SLOT(toplevelDeleting(MusEGui::TopWin*))); } clipListEdit->show(); viewCliplistAction->setChecked(checked); @@ -2084,10 +2084,10 @@ void MusE::selectProject(QAction* act) } //--------------------------------------------------------- -// toplevelDeleted +// toplevelDeleting //--------------------------------------------------------- -void MusE::toplevelDeleted(MusEGui::TopWin* tl) +void MusE::toplevelDeleting(MusEGui::TopWin* tl) { for (MusEGui::iToplevel i = toplevels.begin(); i != toplevels.end(); ++i) { if (*i == tl) { @@ -2132,19 +2132,17 @@ void MusE::toplevelDeleted(MusEGui::TopWin* tl) case MusEGui::TopWin::TOPLEVELTYPE_LAST_ENTRY: //to avoid a warning break; } - toplevels.erase(i); + toplevels.erase(i); if (mustUpdateScoreMenus) arrangerView->updateScoreMenus(); updateWindowMenu(); return; } } - printf("topLevelDeleted: top level %p not found\n", tl); + printf("topLevelDeleting: top level %p not found\n", tl); //assert(false); } - - //--------------------------------------------------------- // kbAccel //--------------------------------------------------------- @@ -2750,16 +2748,21 @@ again: case MusEGui::TopWin::MASTER: case MusEGui::TopWin::WAVE: case MusEGui::TopWin::LMASTER: - tl->close(); - goto again; - + { + if(tl->isVisible()) // Don't keep trying to close, only if visible. + { + if(!tl->close()) + printf("MusE::clearSong TopWin did not close!\n"); + goto again; + } + } case MusEGui::TopWin::TOPLEVELTYPE_LAST_ENTRY: //to avoid a warning break; } } - microSleep(100000); + microSleep(100000); MusEGlobal::song->clear(true, clear_all); - microSleep(100000); + microSleep(100000); return false; } diff --git a/muse2/muse/app.h b/muse2/muse/app.h index 46e9f99b..27722e9a 100644 --- a/muse2/muse/app.h +++ b/muse2/muse/app.h @@ -333,7 +333,7 @@ class MusE : public QMainWindow void closeEvent(QCloseEvent*e); void loadProjectFile(const QString&); void loadProjectFile(const QString&, bool songTemplate, bool loadAll); - void toplevelDeleted(MusEGui::TopWin* tl); + void toplevelDeleting(MusEGui::TopWin* tl); void loadTheme(const QString&); void loadStyleSheetFile(const QString&); bool seqRestart(); diff --git a/muse2/muse/cliplist/cliplist.cpp b/muse2/muse/cliplist/cliplist.cpp index a4702137..1055f449 100644 --- a/muse2/muse/cliplist/cliplist.cpp +++ b/muse2/muse/cliplist/cliplist.cpp @@ -194,7 +194,7 @@ void ClipListEdit::updateList() void ClipListEdit::closeEvent(QCloseEvent* e) { - emit deleted(static_cast(this)); + emit isDeleting(static_cast(this)); e->accept(); } diff --git a/muse2/muse/cliplist/cliplist.h b/muse2/muse/cliplist/cliplist.h index b490663c..0972df97 100644 --- a/muse2/muse/cliplist/cliplist.h +++ b/muse2/muse/cliplist/cliplist.h @@ -73,7 +73,7 @@ class ClipListEdit : public TopWin { void clicked(QTreeWidgetItem*, int); signals: - void deleted(MusEGui::TopWin*); + void isDeleting(MusEGui::TopWin*); public: ClipListEdit(QWidget* parent); diff --git a/muse2/muse/cobject.cpp b/muse2/muse/cobject.cpp index b4c6537c..92748268 100644 --- a/muse2/muse/cobject.cpp +++ b/muse2/muse/cobject.cpp @@ -50,6 +50,7 @@ bool TopWin::initInited=false; TopWin::TopWin(ToplevelType t, QWidget* parent, const char* name, Qt::WindowFlags f) : QMainWindow(parent, f) { + _isDeleting = false; if (initInited==false) initConfiguration(); diff --git a/muse2/muse/cobject.h b/muse2/muse/cobject.h index c1c45039..309d8424 100644 --- a/muse2/muse/cobject.h +++ b/muse2/muse/cobject.h @@ -62,7 +62,8 @@ class TopWin : public QMainWindow ToplevelType type() const { return _type; } static QString typeName(ToplevelType t); - + bool deleting() const { return _isDeleting; } + virtual void readStatus(MusECore::Xml&); virtual void writeStatus(int, MusECore::Xml&) const; @@ -118,6 +119,11 @@ class TopWin : public QMainWindow QByteArray _savedToolbarState; + // Set if close has been called on a TopWin having the WA_DeleteOnClose attribute. + // The TopWins and any children should ignore any signals such as songChanged + // which may cause a crash while deleting. + bool _isDeleting; + void initTopwinState(); private slots: @@ -131,7 +137,7 @@ class TopWin : public QMainWindow void shareToolsAndMenu(bool); void restoreMainwinState(); void storeInitialState() const; - + }; diff --git a/muse2/muse/ctrl/ctrlcanvas.cpp b/muse2/muse/ctrl/ctrlcanvas.cpp index 486e279a..1a155fc4 100644 --- a/muse2/muse/ctrl/ctrlcanvas.cpp +++ b/muse2/muse/ctrl/ctrlcanvas.cpp @@ -468,6 +468,9 @@ void CtrlCanvas::configChanged() void CtrlCanvas::songChanged(int type) { + if(editor->deleting()) // Ignore while while deleting to prevent crash. + return; + //printf("CtrlCanvas::songChanged type:%x\n", type); // Is it simply a midi controller value adjustment? Forget it. if(type == SC_MIDI_CONTROLLER) diff --git a/muse2/muse/ctrl/ctrlcanvas.h b/muse2/muse/ctrl/ctrlcanvas.h index 815898ac..f9fcb54f 100644 --- a/muse2/muse/ctrl/ctrlcanvas.h +++ b/muse2/muse/ctrl/ctrlcanvas.h @@ -176,6 +176,8 @@ class CtrlCanvas : public MusEGui::View { void updateItems(); void updateSelections(); + //virtual void closeEvent(QCloseEvent*); + private slots: void songChanged(int type); void configChanged(); diff --git a/muse2/muse/ctrl/ctrlpanel.cpp b/muse2/muse/ctrl/ctrlpanel.cpp index 0d981fbd..1889c608 100644 --- a/muse2/muse/ctrl/ctrlpanel.cpp +++ b/muse2/muse/ctrl/ctrlpanel.cpp @@ -161,6 +161,9 @@ CtrlPanel::CtrlPanel(QWidget* parent, MidiEditor* e, const char* name) void CtrlPanel::heartBeat() { + if(editor->deleting()) // Ignore while while deleting to prevent crash. + return; + inHeartBeat = true; if(_track && _ctrl && _dnum != -1) diff --git a/muse2/muse/liste/listedit.cpp b/muse2/muse/liste/listedit.cpp index eadfa68c..e4837bf9 100644 --- a/muse2/muse/liste/listedit.cpp +++ b/muse2/muse/liste/listedit.cpp @@ -183,7 +183,8 @@ static QString midiMetaComment(const MusECore::Event& ev) void ListEdit::closeEvent(QCloseEvent* e) { - emit deleted(static_cast(this)); + _isDeleting = true; // Set flag so certain signals like songChanged, which may cause crash during delete, can be ignored. + emit isDeleting(static_cast(this)); e->accept(); } @@ -193,6 +194,9 @@ void ListEdit::closeEvent(QCloseEvent* e) void ListEdit::songChanged(int type) { + if(_isDeleting) // Ignore while while deleting to prevent crash. + return; + if (type == 0) return; if (type & (SC_PART_REMOVED | SC_PART_MODIFIED diff --git a/muse2/muse/liste/listedit.h b/muse2/muse/liste/listedit.h index 7548fc86..1c0c1bd9 100644 --- a/muse2/muse/liste/listedit.h +++ b/muse2/muse/liste/listedit.h @@ -86,7 +86,7 @@ class ListEdit : public MidiEditor { void songChanged(int); signals: - void deleted(MusEGui::TopWin*); + void isDeleting(MusEGui::TopWin*); public: ListEdit(MusECore::PartList*); diff --git a/muse2/muse/master/lmaster.cpp b/muse2/muse/master/lmaster.cpp index bf31cc91..52b488d0 100644 --- a/muse2/muse/master/lmaster.cpp +++ b/muse2/muse/master/lmaster.cpp @@ -122,7 +122,9 @@ namespace MusEGui { void LMaster::closeEvent(QCloseEvent* e) { - emit deleted(static_cast(this)); + _isDeleting = true; // Set flag so certain signals like songChanged, which may cause crash during delete, can be ignored. + + emit isDeleting(static_cast(this)); e->accept(); } @@ -132,6 +134,9 @@ void LMaster::closeEvent(QCloseEvent* e) void LMaster::songChanged(int type) { + if(_isDeleting) // Ignore while while deleting to prevent crash. + return; + if (type & (SC_SIG | SC_TEMPO | SC_KEY )) updateList(); } diff --git a/muse2/muse/master/lmaster.h b/muse2/muse/master/lmaster.h index 6bc90019..33b40f30 100644 --- a/muse2/muse/master/lmaster.h +++ b/muse2/muse/master/lmaster.h @@ -173,7 +173,7 @@ class LMaster : public MidiEditor { void configChanged(); signals: - void deleted(MusEGui::TopWin*); + void isDeleting(MusEGui::TopWin*); void seekTo(int tick); public: diff --git a/muse2/muse/master/masteredit.cpp b/muse2/muse/master/masteredit.cpp index e9d669e1..c3c66008 100644 --- a/muse2/muse/master/masteredit.cpp +++ b/muse2/muse/master/masteredit.cpp @@ -59,7 +59,9 @@ int MasterEdit::_rasterInit = 0; void MasterEdit::closeEvent(QCloseEvent* e) { - emit deleted(static_cast(this)); + _isDeleting = true; // Set flag so certain signals like songChanged, which may cause crash during delete, can be ignored. + + emit isDeleting(static_cast(this)); e->accept(); } @@ -69,6 +71,9 @@ void MasterEdit::closeEvent(QCloseEvent* e) void MasterEdit::songChanged(int type) { + if(_isDeleting) // Ignore while while deleting to prevent crash. + return; + if (type & SC_TEMPO) { int tempo = MusEGlobal::tempomap.tempo(MusEGlobal::song->cpos()); curTempo->blockSignals(true); diff --git a/muse2/muse/master/masteredit.h b/muse2/muse/master/masteredit.h index fdf8dd71..835ca879 100644 --- a/muse2/muse/master/masteredit.h +++ b/muse2/muse/master/masteredit.h @@ -91,7 +91,7 @@ class MasterEdit : public MidiEditor { // void tempoChanged(double); signals: - void deleted(MusEGui::TopWin*); + void isDeleting(MusEGui::TopWin*); public: MasterEdit(); diff --git a/muse2/muse/midiedit/drumedit.cpp b/muse2/muse/midiedit/drumedit.cpp index 03580142..19700a4e 100644 --- a/muse2/muse/midiedit/drumedit.cpp +++ b/muse2/muse/midiedit/drumedit.cpp @@ -152,6 +152,8 @@ void DrumEdit::setHeaderToolTips() void DrumEdit::closeEvent(QCloseEvent* e) { + _isDeleting = true; // Set flag so certain signals like songChanged, which may cause crash during delete, can be ignored. + QSettings settings("MusE", "MusE-qt"); //settings.setValue("Drumedit/geometry", saveGeometry()); settings.setValue("Drumedit/windowState", saveState()); @@ -162,7 +164,7 @@ void DrumEdit::closeEvent(QCloseEvent* e) _dlistWidthInit = *it; //There are only 2 values stored in the sizelist, size of dlist widget and dcanvas widget it++; _dcanvasWidthInit = *it; - emit deleted(static_cast(this)); + emit isDeleting(static_cast(this)); e->accept(); } @@ -541,6 +543,9 @@ DrumEdit::DrumEdit(MusECore::PartList* pl, QWidget* parent, const char* name, un void DrumEdit::songChanged1(int bits) { + if(_isDeleting) // Ignore while while deleting to prevent crash. + return; + if (bits & SC_SOLO) { toolbar->setSolo(canvas->track()->solo()); diff --git a/muse2/muse/midiedit/drumedit.h b/muse2/muse/midiedit/drumedit.h index 1ca6f989..7ad5aabd 100644 --- a/muse2/muse/midiedit/drumedit.h +++ b/muse2/muse/midiedit/drumedit.h @@ -137,7 +137,7 @@ class DrumEdit : public MidiEditor { virtual void updateHScrollRange(); signals: - void deleted(MusEGui::TopWin*); + void isDeleting(MusEGui::TopWin*); public: DrumEdit(MusECore::PartList*, QWidget* parent = 0, const char* name = 0, unsigned initPos = MAXINT); diff --git a/muse2/muse/midiedit/pianoroll.cpp b/muse2/muse/midiedit/pianoroll.cpp index 82a75f7f..8a7356aa 100644 --- a/muse2/muse/midiedit/pianoroll.cpp +++ b/muse2/muse/midiedit/pianoroll.cpp @@ -540,6 +540,8 @@ PianoRoll::PianoRoll(MusECore::PartList* pl, QWidget* parent, const char* name, void PianoRoll::songChanged1(int bits) { + if(_isDeleting) // Ignore while while deleting to prevent crash. + return; if (bits & SC_SOLO) { @@ -815,15 +817,19 @@ void PianoRoll::removeCtrl(CtrlEdit* ctrl) //--------------------------------------------------------- // closeEvent +// Save state. +// Disconnect signals which may cause crash due to Qt deferred deletion on close. //--------------------------------------------------------- void PianoRoll::closeEvent(QCloseEvent* e) { + _isDeleting = true; // Set flag so certain signals like songChanged, which may cause crash during delete, can be ignored. + QSettings settings("MusE", "MusE-qt"); //settings.setValue("Pianoroll/geometry", saveGeometry()); settings.setValue("Pianoroll/windowState", saveState()); - emit deleted(static_cast(this)); + emit isDeleting(static_cast(this)); e->accept(); } diff --git a/muse2/muse/midiedit/pianoroll.h b/muse2/muse/midiedit/pianoroll.h index 0b90b1e6..9b73fc1b 100644 --- a/muse2/muse/midiedit/pianoroll.h +++ b/muse2/muse/midiedit/pianoroll.h @@ -176,7 +176,7 @@ class PianoRoll : public MidiEditor { void updateTrackInfo(); signals: - void deleted(MusEGui::TopWin*); + void isDeleting(MusEGui::TopWin*); public slots: virtual void updateHScrollRange(); diff --git a/muse2/muse/midiedit/scoreedit.cpp b/muse2/muse/midiedit/scoreedit.cpp index ab161946..9ddf8fbb 100644 --- a/muse2/muse/midiedit/scoreedit.cpp +++ b/muse2/muse/midiedit/scoreedit.cpp @@ -604,6 +604,9 @@ void ScoreEdit::velo_off_box_changed() void ScoreEdit::song_changed(int flags) { + if(_isDeleting) // Ignore while while deleting to prevent crash. + return; + if (flags & (SC_SELECTION | SC_EVENT_MODIFIED | SC_EVENT_REMOVED)) { map selection=get_events(score_canvas->get_all_parts(),1); @@ -671,11 +674,13 @@ void ScoreEdit::viewport_height_changed(int height) void ScoreEdit::closeEvent(QCloseEvent* e) { + _isDeleting = true; // Set flag so certain signals like songChanged, which may cause crash during delete, can be ignored. + QSettings settings("MusE", "MusE-qt"); //settings.setValue("ScoreEdit/geometry", saveGeometry()); settings.setValue("ScoreEdit/windowState", saveState()); - emit deleted(static_cast(this)); + emit isDeleting(static_cast(this)); e->accept(); } @@ -1449,6 +1454,9 @@ void ScoreCanvas::fully_recalculate() void ScoreCanvas::song_changed(int flags) { + if(parent && parent->deleting()) // Ignore while while deleting to prevent crash. + return; + if (flags & (SC_PART_MODIFIED | SC_PART_REMOVED | SC_PART_INSERTED | SC_TRACK_REMOVED)) { update_parts(); diff --git a/muse2/muse/midiedit/scoreedit.h b/muse2/muse/midiedit/scoreedit.h index 4e2ecf5d..29ab258e 100644 --- a/muse2/muse/midiedit/scoreedit.h +++ b/muse2/muse/midiedit/scoreedit.h @@ -184,7 +184,7 @@ class ScoreEdit : public TopWin void clipboard_changed(); signals: - void deleted(MusEGui::TopWin*); + void isDeleting(MusEGui::TopWin*); void name_changed(); void velo_changed(int); void velo_off_changed(int); diff --git a/muse2/muse/songfile.cpp b/muse2/muse/songfile.cpp index 033122d7..fbcb23cc 100644 --- a/muse2/muse/songfile.cpp +++ b/muse2/muse/songfile.cpp @@ -1296,7 +1296,7 @@ void MusE::readToplevels(MusECore::Xml& xml) MusEGui::ScoreEdit* score = new MusEGui::ScoreEdit(this, 0, _arranger->cursorValue()); score->show(); toplevels.push_back(score); - connect(score, SIGNAL(deleted(MusEGui::TopWin*)), SLOT(toplevelDeleted(MusEGui::TopWin*))); + connect(score, SIGNAL(isDeleting(MusEGui::TopWin*)), SLOT(toplevelDeleting(MusEGui::TopWin*))); connect(score, SIGNAL(name_changed()), arrangerView, SLOT(scoreNamingChanged())); score->readStatus(xml); } diff --git a/muse2/muse/waveedit/waveedit.cpp b/muse2/muse/waveedit/waveedit.cpp index 424f0688..8d58cfb3 100644 --- a/muse2/muse/waveedit/waveedit.cpp +++ b/muse2/muse/waveedit/waveedit.cpp @@ -64,10 +64,12 @@ namespace MusEGui { void WaveEdit::closeEvent(QCloseEvent* e) { + _isDeleting = true; // Set flag so certain signals like songChanged, which may cause crash during delete, can be ignored. + QSettings settings("MusE", "MusE-qt"); //settings.setValue("Waveedit/geometry", saveGeometry()); settings.setValue("Waveedit/windowState", saveState()); - emit deleted(static_cast(this)); + emit isDeleting(static_cast(this)); e->accept(); } @@ -458,7 +460,9 @@ void WaveEdit::readStatus(MusECore::Xml& xml) void WaveEdit::songChanged1(int bits) { - + if(_isDeleting) // Ignore while while deleting to prevent crash. + return; + if (bits & SC_SOLO) { MusECore::WavePart* part = (MusECore::WavePart*)(parts()->begin()->second); diff --git a/muse2/muse/waveedit/waveedit.h b/muse2/muse/waveedit/waveedit.h index b40aa93a..85e71a60 100644 --- a/muse2/muse/waveedit/waveedit.h +++ b/muse2/muse/waveedit/waveedit.h @@ -94,7 +94,7 @@ class WaveEdit : public MidiEditor { signals: - void deleted(MusEGui::TopWin*); + void isDeleting(MusEGui::TopWin*); public: WaveEdit(MusECore::PartList*); -- cgit v1.2.3 -- cgit v1.2.3 From bb0f5c242c6741e3acbdbfbdb3bdb4f7dcdb37c5 Mon Sep 17 00:00:00 2001 From: Robert Jonsson Date: Thu, 20 Oct 2011 21:09:24 +0000 Subject: merged back release branch to trunk --- muse2/ChangeLog | 2 + muse2/README.svn-branch | 125 +++++++++++++++++++++++ muse2/muse/functions.cpp | 10 +- muse2/muse/midiedit/drumedit.cpp | 5 +- muse2/muse/widgets/function_dialogs/quantbase.ui | 24 ++++- muse2/muse/widgets/function_dialogs/quantize.cpp | 22 +++- muse2/muse/widgets/function_dialogs/quantize.h | 5 +- 7 files changed, 180 insertions(+), 13 deletions(-) create mode 100644 muse2/README.svn-branch diff --git a/muse2/ChangeLog b/muse2/ChangeLog index 26bb1f1e..fa26cc93 100644 --- a/muse2/ChangeLog +++ b/muse2/ChangeLog @@ -1,3 +1,5 @@ +20.10.2011: + - Added missing triplets in quantisation dialog (rj) 16.10.2011: - Fixed crashes reloading songs having open editors. Previous memleak fixes revealed some problems. (Tim) Installed bool TopWin::deleting(). It is set true when closeEvent() is called in any self-deleting TopWins. diff --git a/muse2/README.svn-branch b/muse2/README.svn-branch new file mode 100644 index 00000000..94e44ed8 --- /dev/null +++ b/muse2/README.svn-branch @@ -0,0 +1,125 @@ +Branches are handy for developing larger features (especially if you +temporarily break muse and then fix it again). You might want to ask +why you shouldn't simply develop in your local working copy, and then +commit a huge chunk. Well, this has multiple reasons: + o with branches, you'll have a history, because there are many small + commits. this makes bisecting for finding a bug possible. + o when you develop your feature publicly, others can check out half-done + versions, and already test the one half. they also could fix bugs. + o another advantage of keeping it public is: others can see whether you + may exclude some use case and inform you about that in time. otherwise + you'd spend lots of work in a design which was obsolete from the + beginning. + o and it shows that there's something going on :) + +also, branching makes "feature freezes" easier, for release planning. + +General note: ^/trunk means [url of the repo]/trunk. when you're inside +a working copy, svn understands the ^/trunk notation. +i assume you're inside some working copy + +whenever merging, make sure you're in the correct directory! + +CREATING A BRANCH + the following command creates a branch called yourbranch in the branches + directory, which is built upon the current (NOT the checked out!) trunk + revision: + + svn copy ^/trunk ^/branches/yourbranch + + svn copy does a "light copy", that is, as long as you don't change files, + they don't occupy any disk space. + +USING THE BRANCH + you might want to checkout every branch relevant to you into another local + copy. believe me, it makes life easier. alternatively, svn switch is your + friend. + just develop inside the working copy, then commit. + +MERGING WITH THE PARENT BRANCH (in my example: the trunk) + from time to time, you want to update your branch to represent the + current trunk plus your changes (and not an ancient trunk plus your + changes). to be safe, only merge with the parent branch, and only + merge in one direction (usually from trunk into your branch), unless + you know what you're doing. if you're reading and not skimming this, + you're probably NOT knowing. svn help and google are your friends. + + be in your branch'es working directory root (the dir which is containing + all the files/dirs also trunk (the parent) is containing as well. + + svn merge ^/trunk --accept postpone + + does the job for you. there might be conflicts, when both in your branch + and in trunk some file has been changes at a similar location. svn by + default asks you what to do then, which is annoying. --accept postpone + turns this off, and gives you a summary at the end of the merge. + + If There Were Conflicts: + if any file in "svn status"'s output has a C in front of it, there are + conflicts. open the file in your editor, and look for markers like + "<<<<<", "=====" and ">>>>>". these show what code is in the trunk + (between <<<< and ====), and what code is in your branch (between + ==== and >>>>) (or vice versa. svn tells you). + you have to make it work again and save the file. + + with "svn resolved FILENAME" or "svn resolved -R some/directory" you + mark the conflicts for FILENAME or all files below some/directory as + solved. + + Another word about conflicts: there may be conflicts, even if svn doesn't + note them. ALWAYS recompile the merged code and test it. + + if done, you can commit the merge normally using "svn commit" + +PUTTING YOUR WORK BACK INTO THE PARENT BRANCH (in my example: trunk) + do a final merge from your parent branch into your branch. compile and + test. + then there are several ways to proceed: + o use svn merge --reintegrate, which doesn't work with the old repo + version muse is using :( + o go into the trunk (or the parent branch'es directory), and issue + svn merge ^/branches/yourbranch --accept theirs-full + the problem with the merge is, that every previous merge from trunk + into your branch will be applied a second time, which doesn't work. + --accept theirs-full will basically use the files in your branch. + you might want to verify with diff: + diff -R /path/to/local/trunk /path/to/local/yourbranch + there should be no differences. + + commit that to trunk: svn commit + + then, "fake-merge" trunk into your branch again. otherwise, with the + next merge from trunk into your branch, we would have the duplicate + changes problem again. if you're _SURE_ that you aren't using the + branch any more, you can leave this step out. + + svn merge ^/trunk ^/branches/yourbranch --record-only + svn commit + + + this solution is a bit hackish :( but it works + + +NOTES FOR RELEASE BRANCHES + after creating the release branch, ALL commits which are fixing bugs + must go into the release branch. ALL commits which are adding features + must go into trunk or other branches. + the team should focus on fixing bugs in the release branch. + to get the fixes into the trunk, from time to time run: + + svn merge ^/branches/releasebranch ^/trunk + svn commit (in trunk's local copy) + + when releasing the release branch, merge it into the trunk a last time, + and then never touch the release branch again. + for the next release, create a new one. + +TAGGING + when there's any reason for tagging a revision, simply do + svn copy ^/whatever ^/tags/yourtagname + read the svn manual for details + +GETTING HELP: + svn help (usage notes, short explanations) + google (everything) + the svn book (->google) (long explanations) diff --git a/muse2/muse/functions.cpp b/muse2/muse/functions.cpp index e0f9690c..256e4ad0 100644 --- a/muse2/muse/functions.cpp +++ b/muse2/muse/functions.cpp @@ -177,8 +177,9 @@ bool quantize_notes(const set& parts) { if (!MusEGui::quantize_dialog->exec()) return false; - - quantize_notes(parts, MusEGui::quantize_dialog->range, (MusEGlobal::config.division*4)/(1<raster_power2), +// (1<raster_power2) + int raster = MusEGui::rasterVals[MusEGui::quantize_dialog->raster_index]; + quantize_notes(parts, MusEGui::quantize_dialog->range, (MusEGlobal::config.division*4)/raster, MusEGui::quantize_dialog->quant_len, MusEGui::quantize_dialog->strength, MusEGui::quantize_dialog->swing, MusEGui::quantize_dialog->threshold); @@ -306,8 +307,9 @@ bool quantize_notes() parts=get_all_selected_parts(); else parts=get_all_parts(); - - quantize_notes(parts, MusEGui::quantize_dialog->range & FUNCTION_RANGE_ONLY_BETWEEN_MARKERS, (config.division*4)/(1<raster_power2), + + int raster = MusEGui::rasterVals[MusEGui::quantize_dialog->raster_index]; + quantize_notes(parts, MusEGui::quantize_dialog->range & FUNCTION_RANGE_ONLY_BETWEEN_MARKERS, (config.division*4)/raster, MusEGui::quantize_dialog->quant_len, MusEGui::quantize_dialog->strength, MusEGui::quantize_dialog->swing, MusEGui::quantize_dialog->threshold); diff --git a/muse2/muse/midiedit/drumedit.cpp b/muse2/muse/midiedit/drumedit.cpp index 19700a4e..b07ebbbe 100644 --- a/muse2/muse/midiedit/drumedit.cpp +++ b/muse2/muse/midiedit/drumedit.cpp @@ -945,12 +945,15 @@ void DrumEdit::cmd(int cmd) case DrumCanvas::CMD_MODIFY_VELOCITY: modify_velocity(partlist_to_set(parts())); break; case DrumCanvas::CMD_CRESCENDO: crescendo(partlist_to_set(parts())); break; case DrumCanvas::CMD_QUANTIZE: + { + int raster = MusEGui::rasterVals[MusEGui::quantize_dialog->raster_index]; if (quantize_dialog->exec()) quantize_notes(partlist_to_set(parts()), quantize_dialog->range, - (MusEGlobal::config.division*4)/(1<raster_power2), + (MusEGlobal::config.division*4)/raster, /* quant_len= */false, quantize_dialog->strength, quantize_dialog->swing, quantize_dialog->threshold); break; + } case DrumCanvas::CMD_ERASE_EVENT: erase_notes(partlist_to_set(parts())); break; case DrumCanvas::CMD_DEL: erase_notes(partlist_to_set(parts()),1); break; //delete selected events case DrumCanvas::CMD_DELETE_OVERLAPS: delete_overlaps(partlist_to_set(parts())); break; diff --git a/muse2/muse/widgets/function_dialogs/quantbase.ui b/muse2/muse/widgets/function_dialogs/quantbase.ui index 973be7b8..31173e46 100644 --- a/muse2/muse/widgets/function_dialogs/quantbase.ui +++ b/muse2/muse/widgets/function_dialogs/quantbase.ui @@ -157,7 +157,7 @@ false
- 3 + 0 true @@ -174,7 +174,12 @@
- Quarter + 4th + + + + + 4th Triplet @@ -182,16 +187,31 @@ 8th + + + 8th Triplet + + 16th + + + 16th Triplet + + 32th + + + 32th Triplet + + diff --git a/muse2/muse/widgets/function_dialogs/quantize.cpp b/muse2/muse/widgets/function_dialogs/quantize.cpp index df7c0298..7233c2b8 100644 --- a/muse2/muse/widgets/function_dialogs/quantize.cpp +++ b/muse2/muse/widgets/function_dialogs/quantize.cpp @@ -26,6 +26,20 @@ namespace MusEGui { +int rasterVals[] = { + 1, // Whole note divisor + 2, // Half note divisor + 4, // 4th note divisor + 6, // 4thT divisor + 8, // 8th divisor + 12,//8thT divisor + 16,// ... + 24, + 32, + 48, + 64 +}; + Quantize::Quantize(QWidget* parent) : QDialog(parent) { @@ -44,7 +58,7 @@ void Quantize::pull_values() range = range_group->checkedId(); strength = strength_spinbox->value(); threshold = threshold_spinbox->value(); - raster_power2 = raster_combobox->currentIndex(); + raster_index = raster_combobox->currentIndex(); quant_len = len_checkbox->isChecked(); swing = swing_spinbox->value(); } @@ -62,7 +76,7 @@ int Quantize::exec() range_group->button(range)->setChecked(true); strength_spinbox->setValue(strength); threshold_spinbox->setValue(threshold); - raster_combobox->setCurrentIndex(raster_power2); + raster_combobox->setCurrentIndex(raster_index); len_checkbox->setChecked(quant_len); swing_spinbox->setValue(swing); @@ -88,7 +102,7 @@ void Quantize::read_configuration(MusECore::Xml& xml) else if (tag == "threshold") threshold=xml.parseInt(); else if (tag == "raster") - raster_power2=xml.parseInt(); + raster_index=xml.parseInt(); else if (tag == "swing") swing=xml.parseInt(); else if (tag == "quant_len") @@ -113,7 +127,7 @@ void Quantize::write_configuration(int level, MusECore::Xml& xml) xml.intTag(level, "range", range); xml.intTag(level, "strength", strength); xml.intTag(level, "threshold", threshold); - xml.intTag(level, "raster", raster_power2); + xml.intTag(level, "raster", raster_index); xml.intTag(level, "swing", swing); xml.intTag(level, "quant_len", quant_len); xml.tag(level, "/quantize"); diff --git a/muse2/muse/widgets/function_dialogs/quantize.h b/muse2/muse/widgets/function_dialogs/quantize.h index 6ce74215..b5229f9e 100644 --- a/muse2/muse/widgets/function_dialogs/quantize.h +++ b/muse2/muse/widgets/function_dialogs/quantize.h @@ -33,6 +33,7 @@ class Xml; namespace MusEGui { + class Quantize : public QDialog, public Ui::QuantBase { Q_OBJECT @@ -50,18 +51,18 @@ class Quantize : public QDialog, public Ui::QuantBase int range; int strength; int threshold; - int raster_power2; + int raster_index; int swing; bool quant_len; void read_configuration(MusECore::Xml& xml); void write_configuration(int level, MusECore::Xml& xml); - public slots: int exec(); }; +extern int rasterVals[]; } // namespace MusEGui #endif -- cgit v1.2.3 From 8e9529fd272cbf58dd955841440ea28297963816 Mon Sep 17 00:00:00 2001 From: Robert Jonsson Date: Sat, 22 Oct 2011 18:38:14 +0000 Subject: merge to trunk --- muse2/ChangeLog | 2 ++ muse2/muse/arranger/pcanvas.cpp | 12 ++++++++++++ muse2/muse/arranger/pcanvas.h | 3 +++ muse2/muse/widgets/spinbox.cpp | 15 +++++++++++++++ muse2/muse/widgets/spinbox.h | 3 ++- 5 files changed, 34 insertions(+), 1 deletion(-) diff --git a/muse2/ChangeLog b/muse2/ChangeLog index fa26cc93..bf5172f9 100644 --- a/muse2/ChangeLog +++ b/muse2/ChangeLog @@ -1,3 +1,5 @@ +22.10.2010: + - Catch return in spin boxes and move focus away (rj) 20.10.2011: - Added missing triplets in quantisation dialog (rj) 16.10.2011: diff --git a/muse2/muse/arranger/pcanvas.cpp b/muse2/muse/arranger/pcanvas.cpp index 0f2f4629..5a6e986d 100644 --- a/muse2/muse/arranger/pcanvas.cpp +++ b/muse2/muse/arranger/pcanvas.cpp @@ -68,6 +68,8 @@ //#define ABS(x) (x>=0?x:-x) #define ABS(x) (abs(x)) +#define EDITING_FINISHED_TIMEOUT 50 /* in milliseconds */ + using std::set; namespace MusEGui { @@ -181,6 +183,8 @@ void PartCanvas::returnPressed() MusEGlobal::audio->msgChangePart(oldPart, newPart, true, true, false); editMode = false; + + editingFinishedTime.start(); } } @@ -952,11 +956,14 @@ void PartCanvas::keyPress(QKeyEvent* event) // } if (editMode) { + // this will probably never happen, as edit mode has been set + // to "false" some usec ago by returnPressed, called by editingFinished. if ( key == Qt::Key_Return || key == Qt::Key_Enter ) { //returnPressed(); commented out by flo return; } + // the below CAN indeed happen. else if ( key == Qt::Key_Escape ) { lineEditor->hide(); @@ -964,6 +971,11 @@ void PartCanvas::keyPress(QKeyEvent* event) return; } } + // if returnPressed, called by editingFinished, was executed + // a short time ago, ignore this keypress if it was enter or return + if (editingFinishedTime.elapsed() < EDITING_FINISHED_TIMEOUT && + (key == Qt::Key_Return || key == Qt::Key_Enter) ) + return; if (event->modifiers() & Qt::ShiftModifier) key += Qt::SHIFT; diff --git a/muse2/muse/arranger/pcanvas.h b/muse2/muse/arranger/pcanvas.h index 8a108055..cda2632d 100644 --- a/muse2/muse/arranger/pcanvas.h +++ b/muse2/muse/arranger/pcanvas.h @@ -26,6 +26,7 @@ #include #include +#include #include "song.h" #include "canvas.h" @@ -93,6 +94,8 @@ class PartCanvas : public Canvas { NPart* editPart; int curColorIndex; bool editMode; + + QTime editingFinishedTime; AutomationObject automation; diff --git a/muse2/muse/widgets/spinbox.cpp b/muse2/muse/widgets/spinbox.cpp index f7afcf2a..a763eea1 100644 --- a/muse2/muse/widgets/spinbox.cpp +++ b/muse2/muse/widgets/spinbox.cpp @@ -99,4 +99,19 @@ void SpinBox::stepDown() _clearFocus = true; } +void SpinBox::keyPressEvent(QKeyEvent* ev) +{ + switch (ev->key()) { + case Qt::Key_Return: + clearFocus(); + //emit returnPressed(); + // return; + break; + default: + break; + } + QSpinBox::keyPressEvent(ev); +} + } // namespace MusEGui + diff --git a/muse2/muse/widgets/spinbox.h b/muse2/muse/widgets/spinbox.h index cee112d4..cd37fb32 100644 --- a/muse2/muse/widgets/spinbox.h +++ b/muse2/muse/widgets/spinbox.h @@ -43,7 +43,8 @@ class SpinBox : public QSpinBox { protected: bool eventFilter(QObject* obj, QEvent* ev); - + virtual void keyPressEvent(QKeyEvent*); + public slots: virtual void stepUp(); virtual void stepDown(); -- cgit v1.2.3 From 0a9435c034b725be5f5ddc0c5870946141832005 Mon Sep 17 00:00:00 2001 From: "Tim E. Real" Date: Mon, 24 Oct 2011 20:11:20 +0000 Subject: Fixed bug #3293339: Midi file export SMF format 0 broken. Please see ChangeLog. --- muse2/ChangeLog | 8 + muse2/muse/exportmidi.cpp | 100 ++++--- muse2/muse/midifile.cpp | 33 ++- muse2/muse/widgets/configmidifilebase.ui | 494 ++++++++++++++++--------------- 4 files changed, 364 insertions(+), 271 deletions(-) diff --git a/muse2/ChangeLog b/muse2/ChangeLog index bf5172f9..5d0ae536 100644 --- a/muse2/ChangeLog +++ b/muse2/ChangeLog @@ -1,3 +1,11 @@ +24.10.2010: + - Fixed bug #3293339: Midi file export SMF format 0 broken. (Tim) + Removed erroneous extra 2 bytes. Allow metas in SMF0 in MidiFile::writeEvent(). + Fixed very weird timing issue MidiFile::write(). See comments there (hidden problems lurking still?). + Use single MidiFileTrack for SMF0 in MusE::exportMidi(). Added info to export dialog indicating that + SMF 0 grabs the track name and comment from first midi track in arranger. Iterate full tracks list + instead of midis list in MusE::exportMidi(), so that user can rearrange tracks on the fly before exporting. + Some not fully understood useage of meta 0x0F/0x01 text events in MusE::exportMidi(). Hopefully correct... 22.10.2010: - Catch return in spin boxes and move focus away (rj) 20.10.2011: diff --git a/muse2/muse/exportmidi.cpp b/muse2/muse/exportmidi.cpp index b892e808..97029d9d 100644 --- a/muse2/muse/exportmidi.cpp +++ b/muse2/muse/exportmidi.cpp @@ -149,15 +149,28 @@ void MusE::exportMidi() return; MusECore::MidiFile mf(fp); - MusECore::MidiTrackList* tl = MusEGlobal::song->midis(); - int ntracks = tl->size(); + //MusECore::MidiTrackList* tl = MusEGlobal::song->midis(); + MusECore::TrackList* tl = MusEGlobal::song->tracks(); // Changed to full track list so user can rearrange tracks. + //int ntracks = tl->size(); MusECore::MidiFileTrackList* mtl = new MusECore::MidiFileTrackList; int i = 0; - for (MusECore::iMidiTrack im = tl->begin(); im != tl->end(); ++im, ++i) { - MusECore::MidiTrack* track = *im; - MusECore::MidiFileTrack* mft = new MusECore::MidiFileTrack; - mtl->push_back(mft); + MusECore::MidiFileTrack* mft = 0; + //for (MusECore::iMidiTrack im = tl->begin(); im != tl->end(); ++im, ++i) { + for (MusECore::ciTrack im = tl->begin(); im != tl->end(); ++im) { + + if(!(*im)->isMidiTrack()) + continue; + + MusECore::MidiTrack* track = (MusECore::MidiTrack*)(*im); + + //MusECore::MidiFileTrack* mft = new MusECore::MidiFileTrack; + if (i == 0 || (i != 0 && MusEGlobal::config.smfFormat != 0)) // Changed to single track. Tim + { + mft = new MusECore::MidiFileTrack; + mtl->push_back(mft); + } + MusECore::MPEventList* l = &(mft->events); int port = track->outPort(); int channel = track->outChannel(); @@ -200,14 +213,17 @@ void MusE::exportMidi() //--------------------------------------------------- // Write Coment // - QString comment = track->comment(); - if (!comment.isEmpty()) { - int len = comment.length(); - MusECore::MidiPlayEvent ev(0, port, MusECore::ME_META, (const unsigned char*)(comment.toLatin1().constData()), len); - ev.setA(0x1); - l->add(ev); - } - + if (MusEGlobal::config.smfFormat == 0) // Only for smf 0 added by Tim. FIXME: Is this correct? See below. + { + QString comment = track->comment(); + if (!comment.isEmpty()) { + int len = comment.length(); + MusECore::MidiPlayEvent ev(0, port, MusECore::ME_META, (const unsigned char*)(comment.toLatin1().constData()), len); + ev.setA(0x1); + l->add(ev); + } + } + //--------------------------------------------------- // Write Songtype SYSEX: GM/GS/XG // @@ -287,27 +303,38 @@ void MusE::exportMidi() // track name //----------------------------------- - if (!track->name().isEmpty()) { - QByteArray ba = track->name().toLatin1(); - const char* name = ba.constData(); - int len = strlen(name); - MusECore::MidiPlayEvent ev(0, port, MusECore::ME_META, (unsigned char*)name, len+1); - ev.setA(0x3); // Meta Sequence/Track Name - l->add(ev); - } - + if (i == 0 || (i != 0 && MusEGlobal::config.smfFormat != 0)) + { + if (!track->name().isEmpty()) { + QByteArray ba = track->name().toLatin1(); + const char* name = ba.constData(); + int len = strlen(name); + MusECore::MidiPlayEvent ev(0, port, MusECore::ME_META, (unsigned char*)name, len+1); + ev.setA(0x3); // Meta Sequence/Track Name + l->add(ev); + } + } + //----------------------------------- // track comment //----------------------------------- - if (!track->comment().isEmpty()) { - QByteArray ba = track->comment().toLatin1(); - const char* comment = ba.constData(); - int len = strlen(comment); - MusECore::MidiPlayEvent ev(0, port, MusECore::ME_META, (unsigned char*)comment, len+1); - ev.setA(0xf); // Meta Text - l->add(ev); - } + // FIXME: What are these 0x0F? All I found was that they are unspecified part of the sixteen text meta events. + // So why not use 0x01? And do we include it for all tracks, or only above 1? Tim. + //if (i == 0 || (i != 0 && MusEGlobal::config.smfFormat != 0)) + //if (i != 0 && MusEGlobal::config.smfFormat != 0) + if (MusEGlobal::config.smfFormat != 0) + { + if (!track->comment().isEmpty()) { + QByteArray ba = track->comment().toLatin1(); + const char* comment = ba.constData(); + int len = strlen(comment); + MusECore::MidiPlayEvent ev(0, port, MusECore::ME_META, (unsigned char*)comment, len+1); + ev.setA(0xf); // Meta Text + l->add(ev); + } + } + MusECore::PartList* parts = track->parts(); for (MusECore::iPart p = parts->begin(); p != parts->end(); ++p) { MusECore::MidiPart* part = (MusECore::MidiPart*) (p->second); @@ -315,7 +342,6 @@ void MusE::exportMidi() for (MusECore::iEvent i = evlist->begin(); i != evlist->end(); ++i) { MusECore::Event ev = i->second; int tick = ev.tick() + part->tick(); - switch (ev.type()) { case MusECore::Note: { @@ -400,11 +426,19 @@ void MusE::exportMidi() } } } + ++i; + } mf.setDivision(MusEGlobal::config.midiDivision); mf.setMType(MusEGlobal::song->mtype()); - mf.setTrackList(mtl, ntracks); + //mf.setTrackList(mtl, ntracks); + mf.setTrackList(mtl, i); mf.write(); + + // TESTING: Cleanup. I did not valgrind this feature in last memleak fixes, but I suspect it leaked. + //for(MusECore::iMidiFileTrack imft = mtl->begin(); imft != mtl->end(); ++imft) + // delete *imft; + //delete mtl; } } // namespace MusEGui diff --git a/muse2/muse/midifile.cpp b/muse2/muse/midifile.cpp index a94644ff..2db2855d 100644 --- a/muse2/muse/midifile.cpp +++ b/muse2/muse/midifile.cpp @@ -568,9 +568,9 @@ void MidiFile::writeEvent(const MidiPlayEvent* event) int nstat = event->type(); // we dont save meta data into smf type 0 files: - - if (MusEGlobal::config.smfFormat == 0 && nstat == ME_META) - return; + // Oct 16, 2011: Apparently it is legal to do that. Part of fix for bug tracker 3293339. + //if (MusEGlobal::config.smfFormat == 0 && nstat == ME_META) + // return; nstat |= c; // @@ -621,24 +621,45 @@ bool MidiFile::write() writeLong(6); // header len writeShort(MusEGlobal::config.smfFormat); if (MusEGlobal::config.smfFormat == 0) { - writeShort(1); + /* + //writeShort(1); // Removed. Bug tracker 3293339 MidiFileTrack dst; for (iMidiFileTrack i = _tracks->begin(); i != _tracks->end(); ++i) { MPEventList* sl = &((*i)->events); for (iMPEvent ie = sl->begin(); ie != sl->end(); ++ie) + { + // ALERT: Observed a problem here, apparently some of the events are being added too fast. + // The dump below tells me some of the events (sysex/meta) are missing from the list! + // Apparently it's a timing problem. Very puzzling. + // Attempting wild-guess fix now to eliminate multiple MidiFileTracks in MusE::exportMidi()... + // Nope. Didn't help. Now that it's a single MidiFileTrack, try skipping this section altogether... + // Yes that appears to have fixed it. Weird. What's the difference - the local 'dst' variable ? + // Or are there still lurking problems, or something more fundamentally wrong with Event or MPEvent? + printf("MidiFile::write adding event to dst:\n"); // REMOVE Tim. + ie->dump(); // REMOVE Tim. dst.events.add(*ie); + } } writeShort(1); writeShort(_division); writeTrack(&dst); + */ + + writeShort(1); + //writeShort(_division); + //if(!_tracks->empty()) + // writeTrack(*(_tracks->begin())); + } else { + + writeShort(ntracks); - + } writeShort(_division); for (ciMidiFileTrack i = _tracks->begin(); i != _tracks->end(); ++i) writeTrack(*i); - } +/// } return (ferror(fp) != 0); } diff --git a/muse2/muse/widgets/configmidifilebase.ui b/muse2/muse/widgets/configmidifilebase.ui index 920596ec..ca64f2d8 100644 --- a/muse2/muse/widgets/configmidifilebase.ui +++ b/muse2/muse/widgets/configmidifilebase.ui @@ -1,238 +1,268 @@ - - - - - ConfigMidiFileBase - - - - 0 - 0 - 548 - 353 - - - - MusE: Config Midi File Import/Export - - - true - - - - - - - 5 - 1 - 0 - 0 - - - - Import: - - - - - - Split tracks into &parts - - - Alt+P - - - Split tracks into parts, or one single part - - - - - + + ConfigMidiFileBase + + + + 0 + 0 + 548 + 353 + + + + MusE: Config Midi File Import/Export + + + true + + + + + + + 0 + 0 + + + + Import: + + + + + + Split tracks into parts, or one single part + + + Split tracks into &parts + + + Alt+P + + - - - - - 5 - 7 - 0 - 0 - - - - Export: - - - - - - - - - - 96 - - - - - 192 - - - - - 384 - - - - - - - - true - - - Enable extended smf format (currently not implemented) - - - - - - - Use &2-byte time signatures instead of standard 4 - - - Alt+2 - - - - - - - Copyright: - - - false - - - - - - - Format: - - - false - - - - - - - Division: - - - false - - - - - - - Save space by replacing note-offs with &zero velocity note-ons - - - Alt+Z - - - - - - - - 0 (single track) - - - - - 1 (multiple tracks) - - - - - - + + + + + + + + 0 + 0 + + + + Export: + + + + - - - - 0 - - - 6 - - - - - - 20 - 20 - - - - QSizePolicy::Expanding - - - Qt::Horizontal - - - - - - - &OK - - - - - - true - - - true - - - - - - - &Cancel - - - - - - true - - - - + + + + + 96 + + + + + 192 + + + + + 384 + + + + + + + true + + + Enable extended smf format (currently not implemented) + + + + + + + Use &2-byte time signatures instead of standard 4 + + + Alt+2 + + + + + + + Copyright: + + + false + + + + + + + Format: + + + false + + + + + + + + 0 + 0 + + + + Note: Format 0 uses the FIRST midi track's name/comment in the arranger + + + false + + + + + + + Division: + + + false + + + + + + + Save space by replacing note-offs with &zero velocity note-ons + + + Alt+Z + + + + + + + + 0 (single track) + + + + + 1 (multiple tracks) + + + + + + + + + + + 6 + + + 0 + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 20 + 20 + + + + + + + + &OK + + + + + + true + + + true + + + + + + + &Cancel + + + + + + true + + + - - - - - buttonOk - clicked() - ConfigMidiFileBase - accept() - - - buttonCancel - clicked() - ConfigMidiFileBase - reject() - - + + + + + + + + buttonOk + clicked() + ConfigMidiFileBase + accept() + + + 20 + 20 + + + 20 + 20 + + + + + buttonCancel + clicked() + ConfigMidiFileBase + reject() + + + 20 + 20 + + + 20 + 20 + + + + -- cgit v1.2.3 -- cgit v1.2.3 From 720a43f55f893c1472be0f859d224401f1ec73be Mon Sep 17 00:00:00 2001 From: Florian Jung Date: Mon, 7 Nov 2011 21:43:20 +0000 Subject: housekeeping: pulled fixes from release into trunk --- muse2/ChangeLog | 37 +- muse2/awl/drawbar.cpp | 4 - muse2/muse/app.cpp | 66 +- muse2/muse/arranger/arranger.cpp | 2 +- muse2/muse/arranger/arranger.h | 1 + muse2/muse/arranger/arrangerview.cpp | 2 +- muse2/muse/arranger/pcanvas.cpp | 15 + muse2/muse/arranger/pcanvas.h | 6 +- muse2/muse/audiotrack.cpp | 8 +- muse2/muse/cobject.cpp | 45 +- muse2/muse/confmport.cpp | 14 +- muse2/muse/ctrl/ctrlcanvas.cpp | 12 +- muse2/muse/dialogs.cpp | 16 + muse2/muse/dialogs.h | 1 + muse2/muse/driver/alsamidi.cpp | 14 +- muse2/muse/driver/jackmidi.cpp | 18 +- muse2/muse/exportmidi.cpp | 2 +- muse2/muse/functions.cpp | 28 +- muse2/muse/globals.cpp | 190 +- muse2/muse/globals.h | 41 +- muse2/muse/helper.cpp | 79 +- muse2/muse/helper.h | 4 +- muse2/muse/importmidi.cpp | 4 +- muse2/muse/liste/listedit.cpp | 5 +- muse2/muse/main.cpp | 4 +- muse2/muse/master/master.cpp | 20 +- muse2/muse/master/masteredit.cpp | 2 +- muse2/muse/midi.cpp | 1 - muse2/muse/midictrl.cpp | 3 +- muse2/muse/midiedit/dcanvas.cpp | 6 +- muse2/muse/midiedit/dcanvas.h | 2 +- muse2/muse/midiedit/ecanvas.cpp | 21 +- muse2/muse/midiedit/ecanvas.h | 2 +- muse2/muse/midiedit/pianoroll.cpp | 2 +- muse2/muse/midiedit/prcanvas.cpp | 15 +- muse2/muse/midiedit/prcanvas.h | 2 +- muse2/muse/midiedit/scoreedit.cpp | 34 +- muse2/muse/midiedit/scoreedit.h | 9 + muse2/muse/midifile.cpp | 1 - muse2/muse/midiport.cpp | 7 +- muse2/muse/mpevent.cpp | 2 +- muse2/muse/node.cpp | 1 - muse2/muse/osc.cpp | 6 +- muse2/muse/part.cpp | 4 +- muse2/muse/shortcuts.cpp | 420 +- muse2/muse/sig.cpp | 35 +- muse2/muse/song.cpp | 570 +- muse2/muse/songfile.cpp | 3 +- muse2/muse/synth.cpp | 2 +- muse2/muse/track.cpp | 36 +- muse2/muse/transport.cpp | 19 +- muse2/muse/waveedit/waveedit.cpp | 10 +- muse2/muse/widgets/comboQuant.cpp | 6 +- muse2/muse/widgets/filedialog.cpp | 23 +- muse2/muse/widgets/filedialog.h | 14 +- muse2/muse/widgets/metronome.cpp | 2 +- muse2/muse/widgets/mtscale_flo.cpp | 3 + muse2/muse/widgets/routepopup.cpp | 12 +- muse2/muse/widgets/shortcutcapturedialog.cpp | 4 +- muse2/muse/widgets/shortcutconfig.cpp | 6 +- muse2/muse/widgets/shortcutconfigbase.ui | 115 +- muse2/muse/widgets/tb1.cpp | 7 +- muse2/muse/widgets/tools.cpp | 46 +- muse2/muse/widgets/visibletracks.cpp | 30 +- muse2/share/locale/muse_de.ts | 15204 ++++++++++++++--------- muse2/share/locale/muse_en.ts | 12605 ++++++++++--------- muse2/share/locale/muse_es.ts | 13735 ++++++++++++--------- muse2/share/locale/muse_fr.ts | 12985 ++++++++++++-------- muse2/share/locale/muse_pl.ts | 12729 ++++++++++++-------- muse2/share/locale/muse_ru.ts | 14149 ++++++++++++++-------- muse2/share/locale/muse_sv_SE.ts | 16059 +++++++++++++++---------- muse2/share/templates/default.med | 17 +- muse2/synti/fluid/CMakeLists.txt | 8 +- muse2/synti/fluidsynth/CMakeLists.txt | 18 +- muse2/synti/vam/vam.cpp | 1 - 75 files changed, 60402 insertions(+), 39229 deletions(-) diff --git a/muse2/ChangeLog b/muse2/ChangeLog index 5d0ae536..3913d30f 100644 --- a/muse2/ChangeLog +++ b/muse2/ChangeLog @@ -1,4 +1,34 @@ -24.10.2010: +07.11.2011: + - fixed restore-window-state bug (flo) + - fixed dialog translation problem (flo) +06.11.2011: + - auto-expand fix (flo) + - NoteInfo-toolbar fix (flo) +04.11.2011: + - more valgrind fixes (flo) +02.11.2011: + - Fixed new runtime errors "undefined symbol fluid_synth_cc" and "fluid_synth_set_reverb", seen on Ubuntu 11.10 (Tim). + MusE "fluidsynth.so" module renamed "fluid_synth.so". Error seems due to required cmakelists LINK_FLAGS line, now removed. + Also removed required LINK_FLAGS line in fluid cmakelists. + PLEASE REMOVE THE OLD fluidsynth.so ! Or uninstall muse before installing again. +01.11.2011: + - Fixed Shortcut translations (flo) + - Added a QSplitter to the shortcut dialog (flo) +31.10.2011: + - Translation code fixes and added almost-complete German translation (flo) +28.10.2011: + - Slight fix of midi SMF 1 export. Include meta 0x01 text event comment. (Tim) + - Added Automation header in Song::execMidiAutomationCtlPopup(). + - Code comments cleanup in Song. +27.10.2011: + - Adapt context menu in arranger after what track types are currently visible there + Now it only allows to create the track types which are set to be visible (rj) + - Uninitalized value fixes in ScoreEdit (flo) +26.10.2011: + - Changed visibility of utility tracks so they are not seen by default in arranger (rj) + - Added a default audio connection in default.med (rj) + - More memory access fixes (flo) +24.10.2011: - Fixed bug #3293339: Midi file export SMF format 0 broken. (Tim) Removed erroneous extra 2 bytes. Allow metas in SMF0 in MidiFile::writeEvent(). Fixed very weird timing issue MidiFile::write(). See comments there (hidden problems lurking still?). @@ -6,8 +36,11 @@ SMF 0 grabs the track name and comment from first midi track in arranger. Iterate full tracks list instead of midis list in MusE::exportMidi(), so that user can rearrange tracks on the fly before exporting. Some not fully understood useage of meta 0x0F/0x01 text events in MusE::exportMidi(). Hopefully correct... -22.10.2010: + - Memory access fixes (flo) +22.10.2011: - Catch return in spin boxes and move focus away (rj) +21.10.2011: + - rename fix (flo) 20.10.2011: - Added missing triplets in quantisation dialog (rj) 16.10.2011: diff --git a/muse2/awl/drawbar.cpp b/muse2/awl/drawbar.cpp index 7352218c..f87dab5e 100644 --- a/muse2/awl/drawbar.cpp +++ b/muse2/awl/drawbar.cpp @@ -26,10 +26,6 @@ namespace Awl { -#if 0 - } -#endif - //--------------------------------------------------------- // Drawbar //--------------------------------------------------------- diff --git a/muse2/muse/app.cpp b/muse2/muse/app.cpp index 50a766dc..bd6bc560 100644 --- a/muse2/muse/app.cpp +++ b/muse2/muse/app.cpp @@ -93,25 +93,7 @@ namespace MusEGui { static pthread_t watchdogThread; //ErrorHandler *error; -static const char* fileOpenText = - QT_TRANSLATE_NOOP("@default", "Click this button to open a new song.
" - "You can also select the Open command from the File menu."); -static const char* fileSaveText = - QT_TRANSLATE_NOOP("@default", "Click this button to save the song you are " - "editing. You will be prompted for a file name.\n" - "You can also select the Save command from the File menu."); -static const char* fileNewText = QT_TRANSLATE_NOOP("@default", "Create New Song"); - -static const char* infoLoopButton = QT_TRANSLATE_NOOP("@default", "loop between left mark and right mark"); -static const char* infoPunchinButton = QT_TRANSLATE_NOOP("@default", "record starts at left mark"); -static const char* infoPunchoutButton = QT_TRANSLATE_NOOP("@default", "record stops at right mark"); -static const char* infoStartButton = QT_TRANSLATE_NOOP("@default", "rewind to start position"); -static const char* infoRewindButton = QT_TRANSLATE_NOOP("@default", "rewind current position"); -static const char* infoForwardButton = QT_TRANSLATE_NOOP("@default", "move current position"); -static const char* infoStopButton = QT_TRANSLATE_NOOP("@default", "stop sequencer"); -static const char* infoPlayButton = QT_TRANSLATE_NOOP("@default", "start sequencer play"); -static const char* infoRecordButton = QT_TRANSLATE_NOOP("@default", "to record press record and then play"); -static const char* infoPanicButton = QT_TRANSLATE_NOOP("@default", "send note off to all midi channels"); + #define PROJECT_LIST_LEN 6 static QString* projectList[PROJECT_LIST_LEN]; @@ -411,21 +393,21 @@ MusE::MusE(int argc, char** argv) : QMainWindow() tr("Loop"), MusEGlobal::transportAction); MusEGlobal::loopAction->setCheckable(true); - MusEGlobal::loopAction->setWhatsThis(tr(infoLoopButton)); + MusEGlobal::loopAction->setWhatsThis(tr("loop between left mark and right mark")); connect(MusEGlobal::loopAction, SIGNAL(toggled(bool)), MusEGlobal::song, SLOT(setLoop(bool))); MusEGlobal::punchinAction = new QAction(QIcon(*MusEGui::punchin1Icon), tr("Punchin"), MusEGlobal::transportAction); MusEGlobal::punchinAction->setCheckable(true); - MusEGlobal::punchinAction->setWhatsThis(tr(infoPunchinButton)); + MusEGlobal::punchinAction->setWhatsThis(tr("record starts at left mark")); connect(MusEGlobal::punchinAction, SIGNAL(toggled(bool)), MusEGlobal::song, SLOT(setPunchin(bool))); MusEGlobal::punchoutAction = new QAction(QIcon(*MusEGui::punchout1Icon), tr("Punchout"), MusEGlobal::transportAction); MusEGlobal::punchoutAction->setCheckable(true); - MusEGlobal::punchoutAction->setWhatsThis(tr(infoPunchoutButton)); + MusEGlobal::punchoutAction->setWhatsThis(tr("record stops at right mark")); connect(MusEGlobal::punchoutAction, SIGNAL(toggled(bool)), MusEGlobal::song, SLOT(setPunchout(bool))); QAction *tseparator = new QAction(this); @@ -435,26 +417,26 @@ MusE::MusE(int argc, char** argv) : QMainWindow() MusEGlobal::startAction = new QAction(QIcon(*MusEGui::startIcon), tr("Start"), MusEGlobal::transportAction); - MusEGlobal::startAction->setWhatsThis(tr(infoStartButton)); + MusEGlobal::startAction->setWhatsThis(tr("rewind to start position")); connect(MusEGlobal::startAction, SIGNAL(activated()), MusEGlobal::song, SLOT(rewindStart())); MusEGlobal::rewindAction = new QAction(QIcon(*MusEGui::frewindIcon), tr("Rewind"), MusEGlobal::transportAction); - MusEGlobal::rewindAction->setWhatsThis(tr(infoRewindButton)); + MusEGlobal::rewindAction->setWhatsThis(tr("rewind current position")); connect(MusEGlobal::rewindAction, SIGNAL(activated()), MusEGlobal::song, SLOT(rewind())); MusEGlobal::forwardAction = new QAction(QIcon(*MusEGui::fforwardIcon), tr("Forward"), MusEGlobal::transportAction); - MusEGlobal::forwardAction->setWhatsThis(tr(infoForwardButton)); + MusEGlobal::forwardAction->setWhatsThis(tr("move current position")); connect(MusEGlobal::forwardAction, SIGNAL(activated()), MusEGlobal::song, SLOT(forward())); MusEGlobal::stopAction = new QAction(QIcon(*MusEGui::stopIcon), tr("Stop"), MusEGlobal::transportAction); MusEGlobal::stopAction->setCheckable(true); - MusEGlobal::stopAction->setWhatsThis(tr(infoStopButton)); + MusEGlobal::stopAction->setWhatsThis(tr("stop sequencer")); MusEGlobal::stopAction->setChecked(true); connect(MusEGlobal::stopAction, SIGNAL(toggled(bool)), MusEGlobal::song, SLOT(setStop(bool))); @@ -462,20 +444,20 @@ MusE::MusE(int argc, char** argv) : QMainWindow() tr("Play"), MusEGlobal::transportAction); MusEGlobal::playAction->setCheckable(true); - MusEGlobal::playAction->setWhatsThis(tr(infoPlayButton)); + MusEGlobal::playAction->setWhatsThis(tr("start sequencer play")); MusEGlobal::playAction->setChecked(false); connect(MusEGlobal::playAction, SIGNAL(toggled(bool)), MusEGlobal::song, SLOT(setPlay(bool))); MusEGlobal::recordAction = new QAction(QIcon(*MusEGui::recordIcon), tr("Record"), MusEGlobal::transportAction); MusEGlobal::recordAction->setCheckable(true); - MusEGlobal::recordAction->setWhatsThis(tr(infoRecordButton)); + MusEGlobal::recordAction->setWhatsThis(tr("to record press record and then play")); connect(MusEGlobal::recordAction, SIGNAL(toggled(bool)), MusEGlobal::song, SLOT(setRecord(bool))); MusEGlobal::panicAction = new QAction(QIcon(*MusEGui::panicIcon), tr("Panic"), this); - MusEGlobal::panicAction->setWhatsThis(tr(infoPanicButton)); + MusEGlobal::panicAction->setWhatsThis(tr("send note off to all midi channels")); connect(MusEGlobal::panicAction, SIGNAL(activated()), MusEGlobal::song, SLOT(panic())); MusECore::initMidiInstruments(); @@ -486,20 +468,26 @@ MusE::MusE(int argc, char** argv) : QMainWindow() //-------- File Actions fileNewAction = new QAction(QIcon(*MusEGui::filenewIcon), tr("&New"), this); - fileNewAction->setToolTip(tr(fileNewText)); - fileNewAction->setWhatsThis(tr(fileNewText)); + fileNewAction->setToolTip(tr("Create New Song")); + fileNewAction->setWhatsThis(tr("Create New Song")); fileOpenAction = new QAction(QIcon(*MusEGui::openIcon), tr("&Open"), this); - fileOpenAction->setToolTip(tr(fileOpenText)); - fileOpenAction->setWhatsThis(tr(fileOpenText)); + fileOpenAction->setToolTip(tr("Click this button to open a new song.
" + "You can also select the Open command from the File menu.")); + fileOpenAction->setWhatsThis(tr("Click this button to open a new song.
" + "You can also select the Open command from the File menu.")); openRecent = new QMenu(tr("Open &Recent"), this); fileSaveAction = new QAction(QIcon(*MusEGui::saveIcon), tr("&Save"), this); - fileSaveAction->setToolTip(tr(fileSaveText)); - fileSaveAction->setWhatsThis(tr(fileSaveText)); + fileSaveAction->setToolTip(tr("Click this button to save the song you are " + "editing. You will be prompted for a file name.\n" + "You can also select the Save command from the File menu.")); + fileSaveAction->setWhatsThis(tr("Click this button to save the song you are " + "editing. You will be prompted for a file name.\n" + "You can also select the Save command from the File menu.")); fileSaveAsAction = new QAction(tr("Save &As"), this); @@ -2076,7 +2064,11 @@ void MusE::selectProject(QAction* act) if (!act) return; int id = act->data().toInt(); - assert(id < PROJECT_LIST_LEN); + if (!(id < PROJECT_LIST_LEN)) + { + printf("THIS SHOULD NEVER HAPPEN: id(%i) < PROJECT_LIST_LEN(%i) in MusE::selectProject!\n",id, PROJECT_LIST_LEN); + return; + } QString* name = projectList[id]; if (name == 0) return; @@ -2140,7 +2132,6 @@ void MusE::toplevelDeleting(MusEGui::TopWin* tl) } } printf("topLevelDeleting: top level %p not found\n", tl); - //assert(false); } //--------------------------------------------------------- @@ -2761,6 +2752,7 @@ again: } } microSleep(100000); + _arranger->songIsClearing(); MusEGlobal::song->clear(true, clear_all); microSleep(100000); return false; diff --git a/muse2/muse/arranger/arranger.cpp b/muse2/muse/arranger/arranger.cpp index 89245d64..ae753378 100644 --- a/muse2/muse/arranger/arranger.cpp +++ b/muse2/muse/arranger/arranger.cpp @@ -152,7 +152,7 @@ Arranger::Arranger(ArrangerView* parent, const char* name) toolbar->addWidget(cursorPos); const char* rastval[] = { - QT_TRANSLATE_NOOP("@default", "Off"), QT_TRANSLATE_NOOP("@default", "Bar"), "1/2", "1/4", "1/8", "1/16" + QT_TRANSLATE_NOOP("MusEGui::Arranger", "Off"), QT_TRANSLATE_NOOP("MusEGui::Arranger", "Bar"), "1/2", "1/4", "1/8", "1/16" }; label = new QLabel(tr("Snap")); label->setAlignment(Qt::AlignRight|Qt::AlignVCenter); diff --git a/muse2/muse/arranger/arranger.h b/muse2/muse/arranger/arranger.h index d4193c01..35a3fe36 100644 --- a/muse2/muse/arranger/arranger.h +++ b/muse2/muse/arranger/arranger.h @@ -187,6 +187,7 @@ class Arranger : public QWidget { int selectionSize() { return canvas->selectionSize(); } void setGlobalTempo(int); void clear(); + void songIsClearing() { canvas->songIsClearing(); } unsigned cursorValue() { return cursVal; } diff --git a/muse2/muse/arranger/arrangerview.cpp b/muse2/muse/arranger/arrangerview.cpp index 9dc287ac..3b726845 100644 --- a/muse2/muse/arranger/arrangerview.cpp +++ b/muse2/muse/arranger/arrangerview.cpp @@ -629,7 +629,7 @@ void ArrangerView::clearScoreMenuMappers() void ArrangerView::populateAddTrack() { - QActionGroup *grp = MusEGui::populateAddTrack(addTrack); + QActionGroup *grp = MusEGui::populateAddTrack(addTrack, true); connect(addTrack, SIGNAL(triggered(QAction *)), SLOT(addNewTrack(QAction *))); trackMidiAction = grp->actions()[0]; diff --git a/muse2/muse/arranger/pcanvas.cpp b/muse2/muse/arranger/pcanvas.cpp index 5a6e986d..366766ae 100644 --- a/muse2/muse/arranger/pcanvas.cpp +++ b/muse2/muse/arranger/pcanvas.cpp @@ -430,6 +430,13 @@ QPoint PartCanvas::raster(const QPoint& p) const return QPoint(x, y); } + +void PartCanvas::songIsClearing() +{ + curItem=NULL; + items.clearDelete(); +} + //--------------------------------------------------------- // partsChanged //--------------------------------------------------------- @@ -437,6 +444,10 @@ QPoint PartCanvas::raster(const QPoint& p) const void PartCanvas::partsChanged() { //items.clear(); + int sn = -1; + if (curItem) sn=curItem->part()->sn(); + curItem=NULL; + items.clearDelete(); for (MusECore::iTrack t = tracks->begin(); t != tracks->end(); ++t) { MusECore::PartList* pl = (*t)->parts(); @@ -444,6 +455,10 @@ void PartCanvas::partsChanged() MusECore::Part* part = i->second; NPart* np = new NPart(part); items.add(np); + + if (np->part()->sn() == sn) + curItem=np; + if (i->second->selected()) { selectItem(np, true); } diff --git a/muse2/muse/arranger/pcanvas.h b/muse2/muse/arranger/pcanvas.h index cda2632d..78b88a5c 100644 --- a/muse2/muse/arranger/pcanvas.h +++ b/muse2/muse/arranger/pcanvas.h @@ -180,9 +180,11 @@ class PartCanvas : public Canvas { virtual ~PartCanvas(); void partsChanged(); void cmd(int); + void songIsClearing(); + public slots: - void redirKeypress(QKeyEvent* e) { keyPress(e); } - void controllerChanged(MusECore::Track *t); + void redirKeypress(QKeyEvent* e) { keyPress(e); } + void controllerChanged(MusECore::Track *t); }; } // namespace MusEGui diff --git a/muse2/muse/audiotrack.cpp b/muse2/muse/audiotrack.cpp index 7de92434..b674e20c 100644 --- a/muse2/muse/audiotrack.cpp +++ b/muse2/muse/audiotrack.cpp @@ -42,10 +42,10 @@ namespace MusECore { -bool AudioAux::_isVisible=true; -bool AudioInput::_isVisible=true; -bool AudioOutput::_isVisible=true; -bool AudioGroup::_isVisible = true; +bool AudioAux::_isVisible=false; +bool AudioInput::_isVisible=false; +bool AudioOutput::_isVisible=false; +bool AudioGroup::_isVisible =false; bool WaveTrack::_isVisible=true; // By T356. For caching jack in/out routing names BEFORE file save. diff --git a/muse2/muse/cobject.cpp b/muse2/muse/cobject.cpp index 92748268..80fc7eae 100644 --- a/muse2/muse/cobject.cpp +++ b/muse2/muse/cobject.cpp @@ -100,6 +100,8 @@ TopWin::TopWin(ToplevelType t, QWidget* parent, const char* name, Qt::WindowFlag void TopWin::readStatus(MusECore::Xml& xml) { + int x=0, y=0, width=800, height=600; + for (;;) { MusECore::Xml::Token token = xml.parse(); @@ -110,11 +112,14 @@ void TopWin::readStatus(MusECore::Xml& xml) switch (token) { case MusECore::Xml::TagStart: - if (tag == "geometry_state") - { - if (!restoreGeometry(QByteArray::fromHex(xml.parse1().toAscii()))) - fprintf(stderr,"ERROR: couldn't restore geometry. however, this is probably not really a problem.\n"); - } + if (tag == "x") + x=xml.parseInt(); + else if (tag == "y") + y=xml.parseInt(); + else if (tag == "width") + width=xml.parseInt(); + else if (tag == "height") + height=xml.parseInt(); else if (tag == "toolbars") { if (!sharesToolsAndMenu()) @@ -143,7 +148,20 @@ void TopWin::readStatus(MusECore::Xml& xml) case MusECore::Xml::TagEnd: if (tag == "topwin") + { + if (mdisubwin) + { + mdisubwin->move(x, y); + mdisubwin->resize(width, height); + } + else + { + move(x,y); + resize(width,height); + } + return; + } default: break; @@ -163,7 +181,22 @@ void TopWin::writeStatus(int level, MusECore::Xml& xml) const // changing it won't break muse, but it may break proper // restoring of the positions xml.intTag(level, "is_subwin", isMdiWin()); - xml.strTag(level, "geometry_state", saveGeometry().toHex().data()); + + if (mdisubwin) + { + xml.intTag(level, "x", mdisubwin->x()); + xml.intTag(level, "y", mdisubwin->y()); + xml.intTag(level, "width", mdisubwin->width()); + xml.intTag(level, "height", mdisubwin->height()); + } + else + { + xml.intTag(level, "x", x()); + xml.intTag(level, "y", y()); + xml.intTag(level, "width", width()); + xml.intTag(level, "height", height()); + } + xml.intTag(level, "shares_menu", sharesToolsAndMenu()); if (!sharesToolsAndMenu()) diff --git a/muse2/muse/confmport.cpp b/muse2/muse/confmport.cpp index 315e686e..00914b36 100644 --- a/muse2/muse/confmport.cpp +++ b/muse2/muse/confmport.cpp @@ -730,7 +730,7 @@ void MPConfig::rbClicked(QTableWidgetItem* item) //act = pup->addAction(tr("Create") + QT_TRANSLATE_NOOP("@default", " Jack") + tr(" output")); //act = pup->addAction(tr("Create") + QT_TRANSLATE_NOOP("@default", " Jack") + tr(" combo")); // ... or keep it simple and let the user click on the green lights instead. - act = pup->addAction(tr("Create") + QT_TRANSLATE_NOOP("@default", " Jack") + tr(" device")); + act = pup->addAction(tr("Create Jack device")); act->setData(0); typedef std::map asmap; @@ -776,7 +776,7 @@ void MPConfig::rbClicked(QTableWidgetItem* item) //if(!mapALSA.empty()) { pup->addSeparator(); - pup->addAction(new MusEGui::MenuTitleItem(QT_TRANSLATE_NOOP("@default", "ALSA:"), pup)); + pup->addAction(new MusEGui::MenuTitleItem("ALSA:", pup)); for(imap i = mapALSA.begin(); i != mapALSA.end(); ++i) { @@ -791,7 +791,7 @@ void MPConfig::rbClicked(QTableWidgetItem* item) if(md->deviceType() != MusECore::MidiDevice::ALSA_MIDI) continue; - act = pup->addAction(QT_TRANSLATE_NOOP("@default", md->name())); + act = pup->addAction(md->name()); act->setData(idx); act->setCheckable(true); act->setChecked(md == dev); @@ -802,7 +802,7 @@ void MPConfig::rbClicked(QTableWidgetItem* item) if(!mapSYNTH.empty()) { pup->addSeparator(); - pup->addAction(new MusEGui::MenuTitleItem(QT_TRANSLATE_NOOP("@default", "SYNTH:"), pup)); + pup->addAction(new MusEGui::MenuTitleItem("SYNTH:", pup)); for(imap i = mapSYNTH.begin(); i != mapSYNTH.end(); ++i) { @@ -817,7 +817,7 @@ void MPConfig::rbClicked(QTableWidgetItem* item) if(md->deviceType() != MusECore::MidiDevice::SYNTH_MIDI) continue; - act = pup->addAction(QT_TRANSLATE_NOOP("@default", md->name())); + act = pup->addAction(md->name()); act->setData(idx); act->setCheckable(true); act->setChecked(md == dev); @@ -828,7 +828,7 @@ void MPConfig::rbClicked(QTableWidgetItem* item) //if(!mapJACK.empty()) { pup->addSeparator(); - pup->addAction(new MusEGui::MenuTitleItem(QT_TRANSLATE_NOOP("@default", "JACK:"), pup)); + pup->addAction(new MusEGui::MenuTitleItem("JACK:", pup)); for(imap i = mapJACK.begin(); i != mapJACK.end(); ++i) { @@ -843,7 +843,7 @@ void MPConfig::rbClicked(QTableWidgetItem* item) if(md->deviceType() != MusECore::MidiDevice::JACK_MIDI) continue; - act = pup->addAction(QT_TRANSLATE_NOOP("@default", md->name())); + act = pup->addAction(md->name()); act->setData(idx); act->setCheckable(true); act->setChecked(md == dev); diff --git a/muse2/muse/ctrl/ctrlcanvas.cpp b/muse2/muse/ctrl/ctrlcanvas.cpp index 1a155fc4..f55eea5d 100644 --- a/muse2/muse/ctrl/ctrlcanvas.cpp +++ b/muse2/muse/ctrl/ctrlcanvas.cpp @@ -221,13 +221,11 @@ CtrlCanvas::CtrlCanvas(MidiEditor* e, QWidget* parent, int xmag, connect(MusEGlobal::song, SIGNAL(posChanged(int, unsigned, bool)), this, SLOT(setPos(int, unsigned, bool))); setMouseTracking(true); - if (editor->parts()->empty()) { - curPart = 0; - curTrack = 0; - } - else { + curPart = 0; + curTrack = 0; + if (!editor->parts()->empty()) setCurTrackAndPart(); - } + connect(MusEGlobal::song, SIGNAL(songChanged(int)), SLOT(songChanged(int))); connect(MusEGlobal::muse, SIGNAL(configChanged()), SLOT(configChanged())); @@ -1974,7 +1972,7 @@ void CtrlCanvas::draw(QPainter& p, const QRect& rect) // draw line tool //--------------------------------------------------- - if (drawLineMode && (tool == MusEGui::DrawTool)) { + if ((tool == MusEGui::DrawTool) && drawLineMode) { p.setPen(Qt::black); p.drawLine(line1x, line1y, line2x, line2y); } diff --git a/muse2/muse/dialogs.cpp b/muse2/muse/dialogs.cpp index d88977ff..54a080bf 100644 --- a/muse2/muse/dialogs.cpp +++ b/muse2/muse/dialogs.cpp @@ -71,6 +71,22 @@ void init_function_dialogs(QWidget* parent) paste_events_dialog = new PasteEventsDialog(parent); } +void retranslate_function_dialogs() +{ + gatetime_dialog->retranslateUi(gatetime_dialog); + velocity_dialog->retranslateUi(velocity_dialog); + quantize_dialog->retranslateUi(quantize_dialog); + erase_dialog->retranslateUi(erase_dialog); + del_overlaps_dialog->retranslateUi(del_overlaps_dialog); + set_notelen_dialog->retranslateUi(set_notelen_dialog); + move_notes_dialog->retranslateUi(move_notes_dialog); + transpose_dialog->retranslateUi(transpose_dialog); + crescendo_dialog->retranslateUi(crescendo_dialog); + legato_dialog->retranslateUi(legato_dialog); + paste_dialog->retranslateUi(paste_dialog); + paste_events_dialog->retranslateUi(paste_events_dialog); +} + void read_function_dialog_config(MusECore::Xml& xml) { if (erase_dialog==NULL) diff --git a/muse2/muse/dialogs.h b/muse2/muse/dialogs.h index 08830fe0..f2d28f8c 100644 --- a/muse2/muse/dialogs.h +++ b/muse2/muse/dialogs.h @@ -59,6 +59,7 @@ extern PasteDialog* paste_dialog; extern PasteEventsDialog* paste_events_dialog; void init_function_dialogs(QWidget* parent); +void retranslate_function_dialogs(); void read_function_dialog_config(MusECore::Xml& xml); void write_function_dialog_config(int level, MusECore::Xml& xml); diff --git a/muse2/muse/driver/alsamidi.cpp b/muse2/muse/driver/alsamidi.cpp index eae695db..3b6f5a20 100644 --- a/muse2/muse/driver/alsamidi.cpp +++ b/muse2/muse/driver/alsamidi.cpp @@ -39,6 +39,8 @@ #include "part.h" #include "gconfig.h" +#include + namespace MusECore { static int alsaSeqFdi = -1; @@ -208,18 +210,18 @@ void MidiAlsaDevice::writeRouting(int level, Xml& xml) const { if(!r->name().isEmpty()) { - s = QT_TRANSLATE_NOOP("@default", "Route"); + s = "Route"; if(r->channel != -1) - s += QString(QT_TRANSLATE_NOOP("@default", " channel=\"%1\"")).arg(r->channel); + s += QString(" channel=\"%1\"").arg(r->channel); xml.tag(level++, s.toLatin1().constData()); xml.tag(level, "source devtype=\"%d\" name=\"%s\"/", MidiDevice::ALSA_MIDI, Xml::xmlString(name()).toLatin1().constData()); - s = QT_TRANSLATE_NOOP("@default", "dest"); + s = "dest"; if(r->type == Route::MIDI_DEVICE_ROUTE) - s += QString(QT_TRANSLATE_NOOP("@default", " devtype=\"%1\"")).arg(r->device->deviceType()); + s += QString(" devtype=\"%1\"").arg(r->device->deviceType()); else if(r->type != Route::TRACK_ROUTE) - s += QString(QT_TRANSLATE_NOOP("@default", " type=\"%1\"")).arg(r->type); - s += QString(QT_TRANSLATE_NOOP("@default", " name=\"%1\"/")).arg(Xml::xmlString(r->name())); + s += QString(" type=\"%1\"").arg(r->type); + s += QString(" name=\"%1\"/").arg(Xml::xmlString(r->name())); xml.tag(level, s.toLatin1().constData()); xml.etag(level--, "Route"); diff --git a/muse2/muse/driver/jackmidi.cpp b/muse2/muse/driver/jackmidi.cpp index fa23d336..7a12b92d 100644 --- a/muse2/muse/driver/jackmidi.cpp +++ b/muse2/muse/driver/jackmidi.cpp @@ -276,10 +276,10 @@ void MidiJackDevice::writeRouting(int level, Xml& xml) const if(!r->name().isEmpty()) { xml.tag(level++, "Route"); - s = QT_TRANSLATE_NOOP("@default", "source"); + s = "source"; if(r->type != Route::TRACK_ROUTE) - s += QString(QT_TRANSLATE_NOOP("@default", " type=\"%1\"")).arg(r->type); - s += QString(QT_TRANSLATE_NOOP("@default", " name=\"%1\"/")).arg(Xml::xmlString(r->name())); + s += QString(" type=\"%1\"").arg(r->type); + s += QString(" name=\"%1\"/").arg(Xml::xmlString(r->name())); xml.tag(level, s.toLatin1().constData()); xml.tag(level, "dest devtype=\"%d\" name=\"%s\"/", MidiDevice::JACK_MIDI, Xml::xmlString(name()).toLatin1().constData()); xml.etag(level--, "Route"); @@ -291,18 +291,18 @@ void MidiJackDevice::writeRouting(int level, Xml& xml) const { if(!r->name().isEmpty()) { - s = QT_TRANSLATE_NOOP("@default", "Route"); + s = "Route"; if(r->channel != -1) - s += QString(QT_TRANSLATE_NOOP("@default", " channel=\"%1\"")).arg(r->channel); + s += QString(" channel=\"%1\"").arg(r->channel); xml.tag(level++, s.toLatin1().constData()); xml.tag(level, "source devtype=\"%d\" name=\"%s\"/", MidiDevice::JACK_MIDI, Xml::xmlString(name()).toLatin1().constData()); - s = QT_TRANSLATE_NOOP("@default", "dest"); + s = "dest"; if(r->type == Route::MIDI_DEVICE_ROUTE) - s += QString(QT_TRANSLATE_NOOP("@default", " devtype=\"%1\"")).arg(r->device->deviceType()); + s += QString(" devtype=\"%1\"").arg(r->device->deviceType()); else if(r->type != Route::TRACK_ROUTE) - s += QString(QT_TRANSLATE_NOOP("@default", " type=\"%1\"")).arg(r->type); - s += QString(QT_TRANSLATE_NOOP("@default", " name=\"%1\"/")).arg(Xml::xmlString(r->name())); + s += QString(" type=\"%1\"").arg(r->type); + s += QString(" name=\"%1\"/").arg(Xml::xmlString(r->name())); xml.tag(level, s.toLatin1().constData()); diff --git a/muse2/muse/exportmidi.cpp b/muse2/muse/exportmidi.cpp index 97029d9d..4a9c1f6d 100644 --- a/muse2/muse/exportmidi.cpp +++ b/muse2/muse/exportmidi.cpp @@ -213,7 +213,7 @@ void MusE::exportMidi() //--------------------------------------------------- // Write Coment // - if (MusEGlobal::config.smfFormat == 0) // Only for smf 0 added by Tim. FIXME: Is this correct? See below. + //if (MusEGlobal::config.smfFormat == 0) // Only for smf 0 added by Tim. FIXME: Is this correct? See below. { QString comment = track->comment(); if (!comment.isEmpty()) { diff --git a/muse2/muse/functions.cpp b/muse2/muse/functions.cpp index 256e4ad0..7459f30b 100644 --- a/muse2/muse/functions.cpp +++ b/muse2/muse/functions.cpp @@ -55,7 +55,7 @@ #include #include #include - +#include using namespace std; @@ -1278,34 +1278,22 @@ void shrink_parts(int raster) MusEGlobal::song->applyOperationGroup(operations); } -void internal_schedule_expand_part(Part* part, int raster, Undo& operations) -{ - EventList* events=part->events(); - unsigned len=part->lenTick(); - - for (iEvent ev=events->begin(); ev!=events->end(); ev++) - if (ev->second.endTick() > len) - len=ev->second.endTick(); - - if (raster) len=ceil((float)len/raster)*raster; - - if (len > part->lenTick()) - { - MidiPart* new_part = new MidiPart(*(MidiPart*)part); - new_part->setLenTick(len); - operations.push_back(UndoOp(UndoOp::ModifyPart, part, new_part, true, false)); - } -} void schedule_resize_all_same_len_clone_parts(Part* part, unsigned new_len, Undo& operations) { + QSet already_done; + + for (Undo::iterator op_it=operations.begin(); op_it!=operations.end();op_it++) + if (op_it->type==UndoOp::ModifyPart || op_it->type==UndoOp::DeletePart) + already_done.insert(op_it->nPart); + unsigned old_len=part->lenTick(); if (old_len!=new_len) { Part* part_it=part; do { - if (part_it->lenTick()==old_len) + if (part_it->lenTick()==old_len && !already_done.contains(part_it)) { MidiPart* new_part = new MidiPart(*(MidiPart*)part_it); new_part->setLenTick(new_len); diff --git a/muse2/muse/globals.cpp b/muse2/muse/globals.cpp index fad6472e..05ba1011 100644 --- a/muse2/muse/globals.cpp +++ b/muse2/muse/globals.cpp @@ -116,21 +116,13 @@ bool loadDSSI = true; bool usePythonBridge = false; bool useLASH = true; -/* const char* midi_file_pattern[] = { - QT_TRANSLATE_NOOP("@default", "Midi/Kar (*.mid *.MID *.kar *.KAR *.mid.gz *.mid.bz2)"), - QT_TRANSLATE_NOOP("@default", "Midi (*.mid *.MID *.mid.gz *.mid.bz2)"), - QT_TRANSLATE_NOOP("@default", "Karaoke (*.kar *.KAR *.kar.gz *.kar.bz2)"), - QT_TRANSLATE_NOOP("@default", "All Files (*)"), + QT_TRANSLATE_NOOP("file_patterns", "Midi/Kar (*.mid *.MID *.kar *.KAR *.mid.gz *.mid.bz2)"), + QT_TRANSLATE_NOOP("file_patterns", "Midi (*.mid *.MID *.mid.gz *.mid.bz2)"), + QT_TRANSLATE_NOOP("file_patterns", "Karaoke (*.kar *.KAR *.kar.gz *.kar.bz2)"), + QT_TRANSLATE_NOOP("file_patterns", "All Files (*)"), 0 }; -*/ -const QStringList midi_file_pattern = - QT_TRANSLATE_NOOP("@default", - QString("Midi/Kar (*.mid *.MID *.kar *.KAR *.mid.gz *.mid.bz2);;") + - QString("Midi (*.mid *.MID *.mid.gz *.mid.bz2);;") + - QString("Karaoke (*.kar *.KAR *.kar.gz *.kar.bz2);;") + - QString("All Files (*)")).split(";;"); //FIXME: By T356 01/19/2010 // If saving as a compressed file (gz or bz2), @@ -148,80 +140,40 @@ const char* midi_file_save_pattern[] = { "All Files (*)", 0 }; -QStringList midi_file_save_pattern = - QStringList::split(";;", QT_TRANSLATE_NOOP("@default", - QString("Midi (*.mid);;") + - QString("gzip compressed Midi (*.mid.gz);;") + - QString("bzip2 compressed Midi (*.mid.bz2);;") + - QString("Karaoke (*.kar);;") + - QString("gzip compressed karaoke (*.kar.gz);;") + - QString("bzip2 compressed karaoke (*.kar.bz2);;") + - QString("All Files (*)")) ); */ -/* const char* midi_file_save_pattern[] = { - QT_TRANSLATE_NOOP("@default", "Midi (*.mid)"), - QT_TRANSLATE_NOOP("@default", "Karaoke (*.kar)"), - QT_TRANSLATE_NOOP("@default", "All Files (*)"), + QT_TRANSLATE_NOOP("file_patterns", "Midi (*.mid)"), + QT_TRANSLATE_NOOP("file_patterns", "Karaoke (*.kar)"), + QT_TRANSLATE_NOOP("file_patterns", "All Files (*)"), 0 }; -*/ -const QStringList midi_file_save_pattern = - QT_TRANSLATE_NOOP("@default", - QString("Midi (*.mid);;") + - QString("Karaoke (*.kar);;") + - QString("All Files (*)")).split(";;"); -/* const char* med_file_pattern[] = { - QT_TRANSLATE_NOOP("@default", "med Files (*.med *.med.gz *.med.bz2)"), - QT_TRANSLATE_NOOP("@default", "Uncompressed med Files (*.med)"), - QT_TRANSLATE_NOOP("@default", "gzip compressed med Files (*.med.gz)"), - QT_TRANSLATE_NOOP("@default", "bzip2 compressed med Files (*.med.bz2)"), - QT_TRANSLATE_NOOP("@default", "All Files (*)"), + QT_TRANSLATE_NOOP("file_patterns", "all known files (*.med *.med.gz *.med.bz2 *.mid *.midi *.kar)"), + QT_TRANSLATE_NOOP("file_patterns", "med Files (*.med *.med.gz *.med.bz2)"), + QT_TRANSLATE_NOOP("file_patterns", "Uncompressed med Files (*.med)"), + QT_TRANSLATE_NOOP("file_patterns", "gzip compressed med Files (*.med.gz)"), + QT_TRANSLATE_NOOP("file_patterns", "bzip2 compressed med Files (*.med.bz2)"), + QT_TRANSLATE_NOOP("file_patterns", "mid Files (*.mid *.midi *.kar *.MID *.MIDI *.KAR)"), + QT_TRANSLATE_NOOP("file_patterns", "All Files (*)"), 0 }; const char* med_file_save_pattern[] = { - QT_TRANSLATE_NOOP("@default", "Uncompressed med Files (*.med)"), - QT_TRANSLATE_NOOP("@default", "gzip compressed med Files (*.med.gz)"), - QT_TRANSLATE_NOOP("@default", "bzip2 compressed med Files (*.med.bz2)"), - QT_TRANSLATE_NOOP("@default", "All Files (*)"), + QT_TRANSLATE_NOOP("file_patterns", "Uncompressed med Files (*.med)"), + QT_TRANSLATE_NOOP("file_patterns", "gzip compressed med Files (*.med.gz)"), + QT_TRANSLATE_NOOP("file_patterns", "bzip2 compressed med Files (*.med.bz2)"), + QT_TRANSLATE_NOOP("file_patterns", "All Files (*)"), 0 }; -*/ -const QStringList med_file_pattern = - QT_TRANSLATE_NOOP("@default", - QString("all known files (*.med *.med.gz *.med.bz2 *.mid *.midi *.kar);;") + - QString("med Files (*.med *.med.gz *.med.bz2);;") + - QString("Uncompressed med Files (*.med);;") + - QString("gzip compressed med Files (*.med.gz);;") + - QString("bzip2 compressed med Files (*.med.bz2);;") + - QString("mid Files (*.mid *.midi *.kar);;") + - QString("All Files (*)")).split(";;"); -const QStringList med_file_save_pattern = - QT_TRANSLATE_NOOP("@default", - QString("Uncompressed med Files (*.med);;") + - QString("gzip compressed med Files (*.med.gz);;") + - QString("bzip2 compressed med Files (*.med.bz2);;") + - QString("All Files (*)")).split(";;"); -/* const char* image_file_pattern[] = { - QT_TRANSLATE_NOOP("@default", "(*.jpg *.gif *.png)"), - QT_TRANSLATE_NOOP("@default", "(*.jpg)"), - QT_TRANSLATE_NOOP("@default", "(*.gif)"), - QT_TRANSLATE_NOOP("@default", "(*.png)"), - QT_TRANSLATE_NOOP("@default", "All Files (*)"), + QT_TRANSLATE_NOOP("file_patterns", "(*.jpg *.gif *.png)"), + QT_TRANSLATE_NOOP("file_patterns", "(*.jpg)"), + QT_TRANSLATE_NOOP("file_patterns", "(*.gif)"), + QT_TRANSLATE_NOOP("file_patterns", "(*.png)"), + QT_TRANSLATE_NOOP("file_patterns", "All Files (*)"), 0 }; -*/ -const QStringList image_file_pattern = - QT_TRANSLATE_NOOP("@default", - QString("(*.jpg *.gif *.png);;") + - QString("(*.jpg);;") + - QString("(*.gif);;") + - QString("(*.png);;") + - QString("All Files (*)")).split(";;"); // Not used. /* @@ -232,84 +184,62 @@ const char* ctrl_file_pattern[] = { }; */ -/* const char* part_file_pattern[] = { - //QT_TRANSLATE_NOOP("@default", "part Files (*.mpt)"), - QT_TRANSLATE_NOOP("@default", "part Files (*.mpt *.mpt.gz *.mpt.bz2)"), - QT_TRANSLATE_NOOP("@default", "All Files (*)"), + QT_TRANSLATE_NOOP("file_patterns", "part Files (*.mpt *.mpt.gz *.mpt.bz2)"), + QT_TRANSLATE_NOOP("file_patterns", "All Files (*)"), 0 }; const char* part_file_save_pattern[] = { - QT_TRANSLATE_NOOP("@default", "part Files (*.mpt)"), - QT_TRANSLATE_NOOP("@default", "gzip compressed part Files (*.mpt.gz)"), - QT_TRANSLATE_NOOP("@default", "bzip2 compressed part Files (*.mpt.bz2)"), - QT_TRANSLATE_NOOP("@default", "All Files (*)"), + QT_TRANSLATE_NOOP("file_patterns", "part Files (*.mpt)"), + QT_TRANSLATE_NOOP("file_patterns", "gzip compressed part Files (*.mpt.gz)"), + QT_TRANSLATE_NOOP("file_patterns", "bzip2 compressed part Files (*.mpt.bz2)"), + QT_TRANSLATE_NOOP("file_patterns", "All Files (*)"), 0 }; -*/ -const QStringList part_file_pattern = - QT_TRANSLATE_NOOP("@default", - QString("part Files (*.mpt *.mpt.gz *.mpt.bz2);;") + - QString("All Files (*)")).split(";;"); - -const QStringList part_file_save_pattern = - QT_TRANSLATE_NOOP("@default", - QString("part Files (*.mpt);;") + - QString("gzip compressed part Files (*.mpt.gz);;") + - QString("bzip2 compressed part Files (*.mpt.bz2);;") + - QString("All Files (*)")).split(";;"); /* const char* plug_file_pattern[] = { - QT_TRANSLATE_NOOP("@default", "part Files (*.pre)"), - QT_TRANSLATE_NOOP("@default", "All Files (*)"), + QT_TRANSLATE_NOOP("file_patterns", "part Files (*.pre)"), + QT_TRANSLATE_NOOP("file_patterns", "All Files (*)"), 0 }; */ -/* + const char* preset_file_pattern[] = { - QT_TRANSLATE_NOOP("@default", "Presets (*.pre *.pre.gz *.pre.bz2)"), - QT_TRANSLATE_NOOP("@default", "All Files (*)"), + QT_TRANSLATE_NOOP("file_patterns", "Presets (*.pre *.pre.gz *.pre.bz2)"), + QT_TRANSLATE_NOOP("file_patterns", "All Files (*)"), 0 }; const char* preset_file_save_pattern[] = { - QT_TRANSLATE_NOOP("@default", "Presets (*.pre)"), - QT_TRANSLATE_NOOP("@default", "gzip compressed presets (*.pre.gz)"), - QT_TRANSLATE_NOOP("@default", "bzip2 compressed presets (*.pre.bz2)"), - QT_TRANSLATE_NOOP("@default", "All Files (*)"), + QT_TRANSLATE_NOOP("file_patterns", "Presets (*.pre)"), + QT_TRANSLATE_NOOP("file_patterns", "gzip compressed presets (*.pre.gz)"), + QT_TRANSLATE_NOOP("file_patterns", "bzip2 compressed presets (*.pre.bz2)"), + QT_TRANSLATE_NOOP("file_patterns", "All Files (*)"), 0 }; -*/ -const QStringList preset_file_pattern = - QT_TRANSLATE_NOOP("@default", - QString("Presets (*.pre *.pre.gz *.pre.bz2);;") + - QString("All Files (*)")).split(";;"); - -const QStringList preset_file_save_pattern = - QT_TRANSLATE_NOOP("@default", - QString("Presets (*.pre);;") + - QString("gzip compressed presets (*.pre.gz);;") + - QString("bzip2 compressed presets (*.pre.bz2);;") + - QString("All Files (*)")).split(";;"); - -const QStringList drum_map_file_pattern = - QT_TRANSLATE_NOOP("@default", - QString("Presets (*.map *.map.gz *.map.bz2);;") + - QString("All Files (*)")).split(";;"); -const QStringList drum_map_file_save_pattern = - QT_TRANSLATE_NOOP("@default", - QString("Presets (*.map);;") + - QString("gzip compressed presets (*.map.gz);;") + - QString("bzip2 compressed presets (*.map.bz2);;") + - QString("All Files (*)")).split(";;"); - -const QStringList audio_file_pattern = - QT_TRANSLATE_NOOP("@default", - QString("Wave/Binary (*.wav *.ogg *.bin);;") + - QString("Wave (*.wav *.ogg);;") + - QString("Binary (*.bin);;") + - QString("All Files (*)")).split(";;"); + +const char* drum_map_file_pattern[] = { + QT_TRANSLATE_NOOP("file_patterns", "Presets (*.map *.map.gz *.map.bz2)"), + QT_TRANSLATE_NOOP("file_patterns", "All Files (*)"), + 0 +}; + +const char* drum_map_file_save_pattern[] = { + QT_TRANSLATE_NOOP("file_patterns", "Presets (*.map)"), + QT_TRANSLATE_NOOP("file_patterns", "gzip compressed presets (*.map.gz)"), + QT_TRANSLATE_NOOP("file_patterns", "bzip2 compressed presets (*.map.bz2)"), + QT_TRANSLATE_NOOP("file_patterns", "All Files (*)"), + 0 +}; + +const char* audio_file_pattern[] = { + QT_TRANSLATE_NOOP("file_patterns", "Wave/Binary (*.wav *.ogg *.bin)"), + QT_TRANSLATE_NOOP("file_patterns", "Wave (*.wav *.ogg)"), + QT_TRANSLATE_NOOP("file_patterns", "Binary (*.bin)"), + QT_TRANSLATE_NOOP("file_patterns", "All Files (*)"), + 0 +}; ///Qt::ButtonState globalKeyState; Qt::KeyboardModifiers globalKeyState; diff --git a/muse2/muse/globals.h b/muse2/muse/globals.h index c0a3395a..ae624fb8 100644 --- a/muse2/muse/globals.h +++ b/muse2/muse/globals.h @@ -34,7 +34,6 @@ class QString; class QAction; class QActionGroup; -class QStringList; class QTimer; namespace MusEGui { @@ -91,33 +90,19 @@ extern bool realTimeScheduling; extern int realTimePriority; extern int midiRTPrioOverride; -/* -extern const char* midi_file_pattern[]; //!< File name pattern for midi files -extern const char* midi_file_save_pattern[]; //!< File name pattern for saving midi files -extern const char* med_file_pattern[]; //!< File name pattern for muse project files -extern const char* med_file_save_pattern[]; //!< File name pattern for saving muse project files -extern const char* image_file_pattern[]; //!< File name pattern for image files (gfx) -//extern const char* ctrl_file_pattern[]; //!< File name pattern for controller-files -extern const char* part_file_pattern[]; //!< File name pattern for part files -extern const char* part_file_save_pattern[]; //!< File name pattern for saving part files -//extern const char* plug_file_pattern[]; //!< File name pattern for plugin files -extern const char* preset_file_pattern[]; //!< File name pattern for plugin files -extern const char* preset_file_save_pattern[]; //!< File name pattern for saving plugin files -*/ - -extern const QStringList midi_file_pattern; -extern const QStringList midi_file_save_pattern; -extern const QStringList med_file_pattern; -extern const QStringList med_file_save_pattern; -extern const QStringList image_file_pattern; -//extern const QStringList ctrl_file_pattern; -extern const QStringList part_file_pattern; -extern const QStringList part_file_save_pattern; -extern const QStringList preset_file_pattern; -extern const QStringList preset_file_save_pattern; -extern const QStringList drum_map_file_pattern; -extern const QStringList drum_map_file_save_pattern; -extern const QStringList audio_file_pattern; +extern const char* midi_file_pattern[]; +extern const char* midi_file_save_pattern[]; +extern const char* med_file_pattern[]; +extern const char* med_file_save_pattern[]; +extern const char* image_file_pattern[]; +//extern const char* ctrl_file_pattern[]; +extern const char* part_file_pattern[]; +extern const char* part_file_save_pattern[]; +extern const char* preset_file_pattern[]; +extern const char* preset_file_save_pattern[]; +extern const char* drum_map_file_pattern[]; +extern const char* drum_map_file_save_pattern[]; +extern const char* audio_file_pattern[]; ///extern Qt::ButtonState globalKeyState; extern Qt::KeyboardModifiers globalKeyState; diff --git a/muse2/muse/helper.cpp b/muse2/muse/helper.cpp index a3a4639c..682bfe8e 100644 --- a/muse2/muse/helper.cpp +++ b/muse2/muse/helper.cpp @@ -29,6 +29,8 @@ #include "synth.h" #include "functions.h" +#include + #ifdef DSSI_SUPPORT #include "dssihost.h" #endif @@ -188,7 +190,7 @@ QMenu* populateAddSynth(QWidget* parent) // No MESS sub-menu yet? Create it now. if(!synpMESS) synpMESS = new QMenu(parent); - QAction* sM = synpMESS->addAction(QT_TRANSLATE_NOOP("@default", s->description()) + " <" + QT_TRANSLATE_NOOP("@default", s->name()) + ">"); + QAction* sM = synpMESS->addAction(s->description() + " <" + s->name() + ">"); sM->setData(MENU_ADD_SYNTH_ID_BASE + idx); } } @@ -206,7 +208,7 @@ QMenu* populateAddSynth(QWidget* parent) if(!synpDSSI) synpDSSI = new QMenu(parent); //synpDSSI->insertItem(QT_TRANSLATE_NOOP("@default", s->description()) + " <" + QT_TRANSLATE_NOOP("@default", s->name()) + ">", MENU_ADD_SYNTH_ID_BASE + idx); - QAction* sD = synpDSSI->addAction(QT_TRANSLATE_NOOP("@default", s->description()) + " <" + QT_TRANSLATE_NOOP("@default", s->name()) + ">"); + QAction* sD = synpDSSI->addAction(s->description() + " <" + s->name() + ">"); sD->setData(MENU_ADD_SYNTH_ID_BASE + idx); } } @@ -224,7 +226,7 @@ QMenu* populateAddSynth(QWidget* parent) // No VST sub-menu yet? Create it now. if(!synpVST) synpVST = new QMenu(parent); - QAction* sV = synpVST->addAction(QT_TRANSLATE_NOOP("@default", s->description()) + " <" + QT_TRANSLATE_NOOP("@default", s->name()) + ">"); + QAction* sV = synpVST->addAction(s->description() + " <" + "@default", s->name() + ">"); sV->setData(MENU_ADD_SYNTH_ID_BASE + idx); } } @@ -240,14 +242,14 @@ QMenu* populateAddSynth(QWidget* parent) if(!synpOther) synpOther = new QMenu(parent); //synpOther->insertItem(QT_TRANSLATE_NOOP("@default", s->description()) + " <" + QT_TRANSLATE_NOOP("@default", s->name()) + ">", MENU_ADD_SYNTH_ID_BASE + idx); - QAction* sO = synpOther->addAction(QT_TRANSLATE_NOOP("@default", s->description()) + " <" + QT_TRANSLATE_NOOP("@default", s->name()) + ">"); + QAction* sO = synpOther->addAction(s->description() + " <" + s->name() + ">"); sO->setData(MENU_ADD_SYNTH_ID_BASE + idx); } if(synpMESS) { synpMESS->setIcon(*synthIcon); - synpMESS->setTitle(QT_TRANSLATE_NOOP("@default", "MESS")); + synpMESS->setTitle("MESS"); synp->addMenu(synpMESS); } @@ -255,7 +257,7 @@ QMenu* populateAddSynth(QWidget* parent) if(synpDSSI) { synpDSSI->setIcon(*synthIcon); - synpDSSI->setTitle(QT_TRANSLATE_NOOP("@default", "DSSI")); + synpDSSI->setTitle("DSSI"); synp->addMenu(synpDSSI); } #endif @@ -264,7 +266,7 @@ QMenu* populateAddSynth(QWidget* parent) if(synpVST) { synpVST->setIcon(*synthIcon); - synpVST->setTitle(QT_TRANSLATE_NOOP("@default", "FST")); + synpVST->setTitle("FST"); synp->addMenu(synpVST); } #endif @@ -285,43 +287,55 @@ QMenu* populateAddSynth(QWidget* parent) // this is also used in "mixer" //--------------------------------------------------------- -QActionGroup* populateAddTrack(QMenu* addTrack) +QActionGroup* populateAddTrack(QMenu* addTrack, bool populateAll) { QActionGroup* grp = new QActionGroup(addTrack); QAction* midi = addTrack->addAction(QIcon(*addtrack_addmiditrackIcon), - QT_TRANSLATE_NOOP("@default", "Add Midi Track")); + qApp->translate("@default", QT_TRANSLATE_NOOP("@default", "Add Midi Track"))); midi->setData(MusECore::Track::MIDI); grp->addAction(midi); QAction* drum = addTrack->addAction(QIcon(*addtrack_drumtrackIcon), - QT_TRANSLATE_NOOP("@default", "Add Drum Track")); + qApp->translate("@default", QT_TRANSLATE_NOOP("@default", "Add Drum Track"))); drum->setData(MusECore::Track::DRUM); grp->addAction(drum); QAction* wave = addTrack->addAction(QIcon(*addtrack_wavetrackIcon), - QT_TRANSLATE_NOOP("@default", "Add Wave Track")); + qApp->translate("@default", QT_TRANSLATE_NOOP("@default", "Add Wave Track"))); wave->setData(MusECore::Track::WAVE); grp->addAction(wave); - QAction* aoutput = addTrack->addAction(QIcon(*addtrack_audiooutputIcon), - QT_TRANSLATE_NOOP("@default", "Add Audio Output")); - aoutput->setData(MusECore::Track::AUDIO_OUTPUT); - grp->addAction(aoutput); - QAction* agroup = addTrack->addAction(QIcon(*addtrack_audiogroupIcon), - QT_TRANSLATE_NOOP("@default", "Add Audio Group")); - agroup->setData(MusECore::Track::AUDIO_GROUP); - grp->addAction(agroup); - QAction* ainput = addTrack->addAction(QIcon(*addtrack_audioinputIcon), - QT_TRANSLATE_NOOP("@default", "Add Audio Input")); - ainput->setData(MusECore::Track::AUDIO_INPUT); - grp->addAction(ainput); - QAction* aaux = addTrack->addAction(QIcon(*addtrack_auxsendIcon), - QT_TRANSLATE_NOOP("@default", "Add Aux Send")); - aaux->setData(MusECore::Track::AUDIO_AUX); - grp->addAction(aaux); + + if (populateAll || MusECore::AudioOutput::visible()) { + QAction* aoutput = addTrack->addAction(QIcon(*addtrack_audiooutputIcon), + qApp->translate("@default", QT_TRANSLATE_NOOP("@default", "Add Audio Output"))); + aoutput->setData(MusECore::Track::AUDIO_OUTPUT); + grp->addAction(aoutput); + } + + if (populateAll || MusECore::AudioGroup::visible()) { + QAction* agroup = addTrack->addAction(QIcon(*addtrack_audiogroupIcon), + qApp->translate("@default", QT_TRANSLATE_NOOP("@default", "Add Audio Group"))); + agroup->setData(MusECore::Track::AUDIO_GROUP); + grp->addAction(agroup); + } + + if (populateAll || MusECore::AudioInput::visible()) { + QAction* ainput = addTrack->addAction(QIcon(*addtrack_audioinputIcon), + qApp->translate("@default", QT_TRANSLATE_NOOP("@default", "Add Audio Input"))); + ainput->setData(MusECore::Track::AUDIO_INPUT); + grp->addAction(ainput); + } + + if (populateAll || MusECore::AudioAux::visible()) { + QAction* aaux = addTrack->addAction(QIcon(*addtrack_auxsendIcon), + qApp->translate("@default", QT_TRANSLATE_NOOP("@default", "Add Aux Send"))); + aaux->setData(MusECore::Track::AUDIO_AUX); + grp->addAction(aaux); + } // Create a sub-menu and fill it with found synth types. Make addTrack the owner. QMenu* synp = populateAddSynth(addTrack); synp->setIcon(*synthIcon); - synp->setTitle(QT_TRANSLATE_NOOP("@default", "Add Synth")); + synp->setTitle(qApp->translate("@default", QT_TRANSLATE_NOOP("@default", "Add Synth"))); // Add the sub-menu to the given menu. addTrack->addMenu(synp); @@ -332,3 +346,12 @@ QActionGroup* populateAddTrack(QMenu* addTrack) } } // namespace MusEGui + +QStringList localizedStringListFromCharArray(const char** array, const char* context) +{ + QStringList temp; + for (int i=0;array[i];i++) + temp << qApp->translate(context, array[i]); + + return temp; +} diff --git a/muse2/muse/helper.h b/muse2/muse/helper.h index a2361ab5..e1bf93de 100644 --- a/muse2/muse/helper.h +++ b/muse2/muse/helper.h @@ -24,6 +24,7 @@ #define __HELPER_H__ #include +#include class QActionGroup; class QString; @@ -40,8 +41,9 @@ bool any_event_selected(const std::set&, bool in_range=false); namespace MusEGui { QMenu* populateAddSynth(QWidget* parent); -QActionGroup* populateAddTrack(QMenu* addTrack); +QActionGroup* populateAddTrack(QMenu* addTrack, bool populateAll=false); } +QStringList localizedStringListFromCharArray(const char** array, const char* context); #endif diff --git a/muse2/muse/importmidi.cpp b/muse2/muse/importmidi.cpp index e94a4ea8..ccd33b92 100644 --- a/muse2/muse/importmidi.cpp +++ b/muse2/muse/importmidi.cpp @@ -21,7 +21,6 @@ // //========================================================= -#include #include #include @@ -409,7 +408,8 @@ void MusE::processTrack(MusECore::MidiTrack* track) i->second.dump(); } // all events should be processed: - assert(tevents->empty()); + if (!tevents->empty()) + printf("THIS SHOULD NEVER HAPPEN: not all events processed at the end of MusE::processTrack()!\n"); } //--------------------------------------------------------- diff --git a/muse2/muse/liste/listedit.cpp b/muse2/muse/liste/listedit.cpp index e4837bf9..f6a77b85 100644 --- a/muse2/muse/liste/listedit.cpp +++ b/muse2/muse/liste/listedit.cpp @@ -469,6 +469,8 @@ QString EventListItem::text(int col) const ListEdit::ListEdit(MusECore::PartList* pl) : MidiEditor(TopWin::LISTE, 0, pl) { + selectedTick=0; + insertItems = new QActionGroup(this); insertItems->setExclusive(false); insertNote = new QAction(QIcon(*note1Icon), tr("insert Note"), insertItems); @@ -591,7 +593,6 @@ ListEdit::ListEdit(MusECore::PartList* pl) mainGrid->setColumnStretch(0, 100); mainGrid->addWidget(liste, 1, 0, 2, 1); connect(MusEGlobal::song, SIGNAL(songChanged(int)), SLOT(songChanged(int))); - songChanged(-1); if(pl->empty()) { @@ -609,6 +610,8 @@ ListEdit::ListEdit(MusECore::PartList* pl) curPartId = -1; } } + + songChanged(-1); initShortcuts(); diff --git a/muse2/muse/main.cpp b/muse2/muse/main.cpp index 27a8926e..0353d0d6 100644 --- a/muse2/muse/main.cpp +++ b/muse2/muse/main.cpp @@ -486,7 +486,9 @@ int main(int argc, char* argv[]) printf("locale de\n"); MusEGlobal::hIsB = false; } - + + MusEGui::retranslate_function_dialogs(); + if (MusEGlobal::loadPlugins) MusECore::initPlugins(); diff --git a/muse2/muse/master/master.cpp b/muse2/muse/master/master.cpp index 50c3f518..02bef8a1 100644 --- a/muse2/muse/master/master.cpp +++ b/muse2/muse/master/master.cpp @@ -27,6 +27,8 @@ #include #include #include +#include +#include #include "globals.h" #include "master.h" @@ -52,6 +54,8 @@ Master::Master(MidiEditor* e, QWidget* parent, int xmag, int ymag) pos[0] = 0; pos[1] = 0; pos[2] = 0; + drag = DRAG_OFF; + tool = MusEGui::PointerTool; // should be overridden soon anyway, but to be sure... setFocusPolicy(Qt::StrongFocus); // Tim. setMouseTracking(true); connect(MusEGlobal::song, SIGNAL(posChanged(int, unsigned, bool)), this, SLOT(setPos(int, unsigned, bool))); @@ -288,8 +292,8 @@ void Master::viewMouseReleaseEvent(QMouseEvent*) bool Master::deleteVal1(unsigned int x1, unsigned int x2) { - bool songChanged = false; - + QList< QPair > stuff_to_do; + MusECore::TempoList* tl = &MusEGlobal::tempomap; for (MusECore::iTEvent i = tl->begin(); i != tl->end(); ++i) { if (i->first < x1) @@ -300,11 +304,17 @@ bool Master::deleteVal1(unsigned int x1, unsigned int x2) ++ii; if (ii != tl->end()) { int tempo = ii->second->tempo; - MusEGlobal::audio->msgDeleteTempo(i->first, tempo, false); - songChanged = true; + // changed by flo: postpone the actual delete operation + // to avoid race conditions and invalidating the iterator + //MusEGlobal::audio->msgDeleteTempo(i->first, tempo, false); + stuff_to_do.append(QPair(i->first, tempo)); } } - return songChanged; + + for (QList< QPair >::iterator it=stuff_to_do.begin(); it!=stuff_to_do.end(); it++) + MusEGlobal::audio->msgDeleteTempo(it->first, it->second, false); + + return !stuff_to_do.empty(); } void Master::deleteVal(int x1, int x2) diff --git a/muse2/muse/master/masteredit.cpp b/muse2/muse/master/masteredit.cpp index c3c66008..191f82ab 100644 --- a/muse2/muse/master/masteredit.cpp +++ b/muse2/muse/master/masteredit.cpp @@ -159,7 +159,7 @@ MasterEdit::MasterEdit() info->addWidget(tempo); const char* rastval[] = { - QT_TRANSLATE_NOOP("@default", "Off"), "Bar", "1/2", "1/4", "1/8", "1/16" + QT_TRANSLATE_NOOP("MusEGui::MasterEdit", "Off"), QT_TRANSLATE_NOOP("MusEGui::MasterEdit", "Bar"), "1/2", "1/4", "1/8", "1/16" }; rasterLabel = new MusEGui::LabelCombo(tr("Snap"), 0); rasterLabel->setFocusPolicy(Qt::NoFocus); diff --git a/muse2/muse/midi.cpp b/muse2/muse/midi.cpp index 0d81ff2c..754d19f3 100644 --- a/muse2/muse/midi.cpp +++ b/muse2/muse/midi.cpp @@ -25,7 +25,6 @@ #include #include #include -#include #include "song.h" #include "midi.h" diff --git a/muse2/muse/midictrl.cpp b/muse2/muse/midictrl.cpp index 11849ce7..c477297e 100644 --- a/muse2/muse/midictrl.cpp +++ b/muse2/muse/midictrl.cpp @@ -21,7 +21,6 @@ // //========================================================= -#include #include #include "midictrl.h" @@ -241,7 +240,7 @@ QString midiCtrlName(int ctrl, bool fullyQualified) //--------------------------------------------------------- MidiController::MidiController() - : _name(QString(QT_TRANSLATE_NOOP("@default", "Velocity"))) + : _name(QString("Velocity")) { _num = CTRL_VELOCITY; _minVal = 0; diff --git a/muse2/muse/midiedit/dcanvas.cpp b/muse2/muse/midiedit/dcanvas.cpp index da94986b..7b5949a4 100644 --- a/muse2/muse/midiedit/dcanvas.cpp +++ b/muse2/muse/midiedit/dcanvas.cpp @@ -74,11 +74,11 @@ DEvent::DEvent(MusECore::Event e, MusECore::Part* p) // addItem //--------------------------------------------------------- -void DrumCanvas::addItem(MusECore::Part* part, MusECore::Event& event) +CItem* DrumCanvas::addItem(MusECore::Part* part, MusECore::Event& event) { if (signed(event.tick())<0) { printf("ERROR: trying to add event before current part!\n"); - return; + return NULL; } DEvent* ev = new DEvent(event, part); @@ -93,6 +93,8 @@ void DrumCanvas::addItem(MusECore::Part* part, MusECore::Event& event) //part = newPart; part->setLenTick(part->lenTick()+diff); } + + return ev; } //--------------------------------------------------------- diff --git a/muse2/muse/midiedit/dcanvas.h b/muse2/muse/midiedit/dcanvas.h index bc9dbdbc..5417a187 100644 --- a/muse2/muse/midiedit/dcanvas.h +++ b/muse2/muse/midiedit/dcanvas.h @@ -85,7 +85,7 @@ class DrumCanvas : public EventCanvas { void dragEnterEvent(QDragEnterEvent* event); void dragMoveEvent(QDragMoveEvent*); void dragLeaveEvent(QDragLeaveEvent*); - virtual void addItem(MusECore::Part*, MusECore::Event&); + virtual CItem* addItem(MusECore::Part*, MusECore::Event&); virtual void resizeEvent(QResizeEvent*); virtual void curPartChanged(); int getNextStep(unsigned int pos, int basicStep, int stepSize=1); diff --git a/muse2/muse/midiedit/ecanvas.cpp b/muse2/muse/midiedit/ecanvas.cpp index 61891b2e..9189d177 100644 --- a/muse2/muse/midiedit/ecanvas.cpp +++ b/muse2/muse/midiedit/ecanvas.cpp @@ -150,6 +150,17 @@ void EventCanvas::songChanged(int flags) if (flags & ~SC_SELECTION) { //items.clear(); + bool curItemNeedsRestore=false; + MusECore::Event storedEvent; + int partSn; + if (curItem) + { + curItemNeedsRestore=true; + storedEvent=curItem->event(); + partSn=curItem->part()->sn(); + } + curItem=NULL; + items.clearDelete(); start_tick = MAXINT; end_tick = 0; @@ -176,7 +187,15 @@ void EventCanvas::songChanged(int flags) break; if (e.isNote()) { - addItem(part, e); + CItem* temp = addItem(part, e); + + if (temp && curItemNeedsRestore && e==storedEvent && part->sn()==partSn) + { + if (curItem!=NULL) + printf("THIS SHOULD NEVER HAPPEN: curItemNeedsRestore=true, event fits, but there was already a fitting event!?\n"); + + curItem=temp; + } } } } diff --git a/muse2/muse/midiedit/ecanvas.h b/muse2/muse/midiedit/ecanvas.h index 1c66e9b4..a67b7a14 100644 --- a/muse2/muse/midiedit/ecanvas.h +++ b/muse2/muse/midiedit/ecanvas.h @@ -71,7 +71,7 @@ class EventCanvas : public Canvas { bool _midiin; void updateSelection(); - virtual void addItem(MusECore::Part*, MusECore::Event&) = 0; + virtual CItem* addItem(MusECore::Part*, MusECore::Event&) = 0; // Added by T356. virtual QPoint raster(const QPoint&) const; virtual MusECore::Undo moveCanvasItems(CItemList&, int, int, DragType) = 0; diff --git a/muse2/muse/midiedit/pianoroll.cpp b/muse2/muse/midiedit/pianoroll.cpp index 8a7356aa..926f4212 100644 --- a/muse2/muse/midiedit/pianoroll.cpp +++ b/muse2/muse/midiedit/pianoroll.cpp @@ -118,7 +118,7 @@ PianoRoll::PianoRoll(MusECore::PartList* pl, QWidget* parent, const char* name, mapper->setMapping(editPasteAction, PianoCanvas::CMD_PASTE); connect(editPasteAction, SIGNAL(triggered()), mapper, SLOT(map())); - editPasteDialogAction = menuEdit->addAction(QIcon(*editpasteIconSet), tr("&Paste (with dialog)")); + editPasteDialogAction = menuEdit->addAction(QIcon(*editpasteIconSet), tr("Paste (with dialog)")); mapper->setMapping(editPasteDialogAction, PianoCanvas::CMD_PASTE_DIALOG); connect(editPasteDialogAction, SIGNAL(triggered()), mapper, SLOT(map())); diff --git a/muse2/muse/midiedit/prcanvas.cpp b/muse2/muse/midiedit/prcanvas.cpp index a70c4a91..0348bcbe 100644 --- a/muse2/muse/midiedit/prcanvas.cpp +++ b/muse2/muse/midiedit/prcanvas.cpp @@ -29,6 +29,8 @@ #include #include #include +#include +#include #include @@ -74,11 +76,11 @@ NEvent::NEvent(MusECore::Event& e, MusECore::Part* p, int y) : MusEGui::CItem(e, // addItem //--------------------------------------------------------- -void PianoCanvas::addItem(MusECore::Part* part, MusECore::Event& event) +CItem* PianoCanvas::addItem(MusECore::Part* part, MusECore::Event& event) { if (signed(event.tick())<0) { printf("ERROR: trying to add event before current part!\n"); - return; + return NULL; } NEvent* ev = new NEvent(event, part, pitch2y(event.pitch())); @@ -93,6 +95,8 @@ void PianoCanvas::addItem(MusECore::Part* part, MusECore::Event& event) //part = newPart; part->setLenTick(part->lenTick()+diff); } + + return ev; } //--------------------------------------------------------- @@ -1080,6 +1084,7 @@ void PianoCanvas::curPartChanged() void PianoCanvas::modifySelected(MusEGui::NoteInfo::ValType type, int delta) { + QList< QPair > already_done; MusEGlobal::audio->msgIdle(true); MusEGlobal::song->startUndo(); for (MusEGui::iCItem i = items.begin(); i != items.end(); ++i) { @@ -1091,6 +1096,10 @@ void PianoCanvas::modifySelected(MusEGui::NoteInfo::ValType type, int delta) continue; MusECore::MidiPart* part = (MusECore::MidiPart*)(e->part()); + + if (already_done.contains(QPair(part->events(), event))) + continue; + MusECore::Event newEvent = event.clone(); switch (type) { @@ -1145,6 +1154,8 @@ void PianoCanvas::modifySelected(MusEGui::NoteInfo::ValType type, int delta) // Indicate do not do port controller values and clone parts. //MusEGlobal::song->addUndo(MusECore::UndoOp(MusECore::UndoOp::ModifyEvent, newEvent, event, part)); MusEGlobal::song->addUndo(MusECore::UndoOp(MusECore::UndoOp::ModifyEvent, newEvent, event, part, false, false)); + + already_done.append(QPair(part->events(), event)); } MusEGlobal::song->endUndo(SC_EVENT_MODIFIED); MusEGlobal::audio->msgIdle(false); diff --git a/muse2/muse/midiedit/prcanvas.h b/muse2/muse/midiedit/prcanvas.h index 13effc19..42de7c95 100644 --- a/muse2/muse/midiedit/prcanvas.h +++ b/muse2/muse/midiedit/prcanvas.h @@ -82,7 +82,7 @@ class PianoCanvas : public EventCanvas { virtual void dragEnterEvent(QDragEnterEvent* event); virtual void dragMoveEvent(QDragMoveEvent*); virtual void dragLeaveEvent(QDragLeaveEvent*); - virtual void addItem(MusECore::Part*, MusECore::Event&); + virtual CItem* addItem(MusECore::Part*, MusECore::Event&); int y2pitch(int) const; int pitch2y(int) const; diff --git a/muse2/muse/midiedit/scoreedit.cpp b/muse2/muse/midiedit/scoreedit.cpp index 9ddf8fbb..e313c417 100644 --- a/muse2/muse/midiedit/scoreedit.cpp +++ b/muse2/muse/midiedit/scoreedit.cpp @@ -88,10 +88,6 @@ QString IntToQStr(int i); -#define APPLY_TO_SELECTED_STRING tr("Apply to selected notes:") -#define APPLY_TO_NEW_STRING tr("Apply to new notes:") - - //PIXELS_PER_NOTEPOS must be greater or equal to 3*NOTE_XLEN + 2*NOTE_SHIFT //because if tick 0 is at x=0: the notes can be shifted by NOTE_SHIFT. //additionally, they can be moved by NOTE_XLEN (collision avoiding) @@ -223,6 +219,8 @@ ScoreEdit::ScoreEdit(QWidget* parent, const char* name, unsigned initPos) xscroll->setMinimum(0); yscroll->setMinimum(0); + xscroll->setValue(0); + yscroll->setValue(0); menu_mapper=new QSignalMapper(this); connect(menu_mapper, SIGNAL(mapped(int)), SLOT(menu_command(int))); @@ -300,9 +298,9 @@ ScoreEdit::ScoreEdit(QWidget* parent, const char* name, unsigned initPos) note_settings_toolbar->addSeparator(); - apply_velo_to_label = new QLabel(APPLY_TO_NEW_STRING, note_settings_toolbar); - int w1 = apply_velo_to_label->fontMetrics().width(APPLY_TO_NEW_STRING); - int w2 = apply_velo_to_label->fontMetrics().width(APPLY_TO_SELECTED_STRING); + apply_velo_to_label = new QLabel(tr("Apply to new notes:"), note_settings_toolbar); + int w1 = apply_velo_to_label->fontMetrics().width(tr("Apply to new notes:")); + int w2 = apply_velo_to_label->fontMetrics().width(tr("Apply to selected notes:")); if (w1>w2) apply_velo_to_label->setFixedWidth(w1+5); else @@ -612,11 +610,11 @@ void ScoreEdit::song_changed(int flags) map selection=get_events(score_canvas->get_all_parts(),1); if (selection.empty()) { - apply_velo_to_label->setText(APPLY_TO_NEW_STRING); + apply_velo_to_label->setText(tr("Apply to new notes:")); } else { - apply_velo_to_label->setText(APPLY_TO_SELECTED_STRING); + apply_velo_to_label->setText(tr("Apply to selected notes:")); int velo=-1; int velo_off=-1; @@ -662,6 +660,7 @@ void ScoreEdit::canvas_height_changed(int height) void ScoreEdit::viewport_height_changed(int height) { int val=score_canvas->canvas_height() - height; + // FINDMICHJETZT canvas_height() is uninitalized! if (val<0) val=0; yscroll->setPageStep(height * PAGESTEP); yscroll->setMaximum(val); @@ -1454,8 +1453,8 @@ void ScoreCanvas::fully_recalculate() void ScoreCanvas::song_changed(int flags) { - if(parent && parent->deleting()) // Ignore while while deleting to prevent crash. - return; + if(parent && parent->deleting()) // Ignore while while deleting to prevent crash. + return; if (flags & (SC_PART_MODIFIED | SC_PART_REMOVED | SC_PART_INSERTED | SC_TRACK_REMOVED)) { @@ -1506,7 +1505,7 @@ int ScoreCanvas::canvas_width() int ScoreCanvas::canvas_height() { - return staves.rbegin()->y_bottom; + return staves.empty() ? 0 : staves.rbegin()->y_bottom; } int ScoreCanvas::viewport_width() @@ -2796,6 +2795,7 @@ void ScoreCanvas::draw_note_lines(QPainter& p, int y, bool reserve_akkolade_spac { int xbegin = reserve_akkolade_space ? AKKOLADE_LEFTMARGIN+AKKOLADE_WIDTH+AKKOLADE_RIGHTMARGIN : 0; int xend=width(); + // FINDMICHJETZT y is uninitalized! p.setPen(Qt::black); @@ -4186,7 +4186,7 @@ void ScoreCanvas::pos_changed(int index, unsigned tick, bool scroll) { switch (MusEGlobal::song->follow()) { - case MusECore::Song::NO: break; + case MusECore::Song::NO: break; case MusECore::Song::JUMP: goto_tick(tick,false); break; case MusECore::Song::CONTINUOUS: goto_tick(tick,true); break; } @@ -4594,17 +4594,15 @@ void ScoreCanvas::add_new_parts(const std::map< MusECore::Part*, std::set o non-mdi topwin states aren't restored when launching muse2 somefile.med * * CURRENT TODO - * ! o fix sigedit boxes (see also "important todo") - * o fix valgrind problems - * > o drum editor: channel-stuff + * > o fix valgrind problems (the two "FINDMICHJETZT" lines in scoreedit.cpp) + * > o newly created windows have to be focussed! * * IMPORTANT TODO - * ! o fix sigedit boxes (see also "current todo") * o add "dotted quarter" quantize option (for 6/8 beat) * o ticks-to-quarter spinboxes - * o newly created windows have to be focussed! * o mirror most menus to an additional right-click context menu to avoid the long mouse pointer * journey to the menu bar. try to find a way which does not involve duplicate code! * o implement borland-style maximize: free windows do not cover the main menu, even when maximized diff --git a/muse2/muse/midiedit/scoreedit.h b/muse2/muse/midiedit/scoreedit.h index 29ab258e..baea78e3 100644 --- a/muse2/muse/midiedit/scoreedit.h +++ b/muse2/muse/midiedit/scoreedit.h @@ -275,6 +275,9 @@ class FloEvent tick=ti; source_event=event; source_part=part; + + num=denom=0xdeadbeef; //unused, but valgrind complains if uninited + key=MusECore::KEY_C; } FloEvent(unsigned ti, typeEnum t, int num_, int denom_) { @@ -284,6 +287,9 @@ class FloEvent tick=ti; source_event=NULL; source_part=NULL; + + len=vel=pitch=0xdeadbeef; //unused, but valgrind complains if uninited + key=MusECore::KEY_C; } FloEvent(unsigned ti, typeEnum t, MusECore::key_enum k) { @@ -292,6 +298,8 @@ class FloEvent tick=ti; source_event=NULL; source_part=NULL; + + pitch=vel=len=num=denom=0xdeadbeef; //unused, but valgrind complains if uninited } }; class FloItem @@ -345,6 +353,7 @@ class FloItem begin_tick=beg; source_event=event; source_part=part; + is_active=false; } FloItem(typeEnum t, int num_, int denom_) diff --git a/muse2/muse/midifile.cpp b/muse2/muse/midifile.cpp index 2db2855d..1fc7e114 100644 --- a/muse2/muse/midifile.cpp +++ b/muse2/muse/midifile.cpp @@ -23,7 +23,6 @@ #include #include -#include #include "song.h" #include "midi.h" diff --git a/muse2/muse/midiport.cpp b/muse2/muse/midiport.cpp index 71a90fe7..19fef51b 100644 --- a/muse2/muse/midiport.cpp +++ b/muse2/muse/midiport.cpp @@ -24,6 +24,7 @@ //#include "config.h" #include +#include #include "mididev.h" #include "midiport.h" @@ -337,12 +338,12 @@ QMenu* midiPortsPopup(QWidget* parent, int checkPort) } if(pi == MIDI_PORTS) { - act = p->addAction(p->tr("Warning: No output devices!")); + act = p->addAction(qApp->translate("@default", QT_TRANSLATE_NOOP("@default", "Warning: No output devices!"))); act->setCheckable(false); act->setData(-1); p->addSeparator(); } - act = p->addAction(QIcon(*MusEGui::settings_midiport_softsynthsIcon), p->tr("Open midi config...")); + act = p->addAction(QIcon(*MusEGui::settings_midiport_softsynthsIcon), qApp->translate("@default", QT_TRANSLATE_NOOP("@default", "Open midi config..."))); act->setCheckable(false); act->setData(MIDI_PORTS); p->addSeparator(); @@ -365,7 +366,7 @@ QMenu* midiPortsPopup(QWidget* parent, int checkPort) if(!subp) // No submenu yet? Create it now. { subp = new QMenu(p); - subp->setTitle(subp->tr("Empty ports")); + subp->setTitle(qApp->translate("@default", QT_TRANSLATE_NOOP("@default", "Empty ports"))); //subp->addAction(new MusEGui::MenuTitleItem("Empty Ports", subp)); } //act = subp->addAction(name); // No need for all those "" names. diff --git a/muse2/muse/mpevent.cpp b/muse2/muse/mpevent.cpp index f72af528..8b65bce1 100644 --- a/muse2/muse/mpevent.cpp +++ b/muse2/muse/mpevent.cpp @@ -18,7 +18,6 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -// //========================================================= #include "mpevent.h" @@ -42,6 +41,7 @@ MEvent::MEvent(unsigned t, int port, int tpe, const unsigned char* data, int len edata.setData(data, len); _type = tpe; _loopNum = 0; + setChannel(0); } MEvent::MEvent(unsigned tick, int port, int channel, const Event& e) diff --git a/muse2/muse/node.cpp b/muse2/muse/node.cpp index db11b7bd..dd41ba10 100644 --- a/muse2/muse/node.cpp +++ b/muse2/muse/node.cpp @@ -22,7 +22,6 @@ //========================================================= #include -#include #include #include diff --git a/muse2/muse/osc.cpp b/muse2/muse/osc.cpp index bc64575a..6959803e 100644 --- a/muse2/muse/osc.cpp +++ b/muse2/muse/osc.cpp @@ -824,7 +824,7 @@ bool OscIF::oscInitGui(const QString& typ, const QString& baseName, const QStrin } QString oscUrl; - oscUrl = QString("%1%2/%3/%4").arg(QString(QT_TRANSLATE_NOOP("@default", url))).arg(typ).arg(baseName).arg(label); + oscUrl = QString("%1%2/%3/%4").arg(QString( url)).arg(typ).arg(baseName).arg(label); #ifdef _USE_QPROCESS_FOR_GUI_ @@ -1087,7 +1087,7 @@ bool OscDssiIF::oscInitGui() if(!_oscSynthIF) return false; - return OscIF::oscInitGui(QT_TRANSLATE_NOOP("@default", "dssi_synth"), _oscSynthIF->dssiSynth()->baseName(), + return OscIF::oscInitGui("dssi_synth", _oscSynthIF->dssiSynth()->baseName(), _oscSynthIF->dssiSynth()->name(), _oscSynthIF->dssiSynthI()->name(), _oscSynthIF->dssiSynth()->fileName(), _oscSynthIF->dssi_ui_filename()); } @@ -1160,7 +1160,7 @@ bool OscEffectIF::oscInitGui() if(!_oscPluginI) return false; - return OscIF::oscInitGui(QT_TRANSLATE_NOOP("@default", "ladspa_efx"), _oscPluginI->plugin()->lib(false), + return OscIF::oscInitGui("ladspa_efx", _oscPluginI->plugin()->lib(false), _oscPluginI->plugin()->label(), _oscPluginI->label(), _oscPluginI->plugin()->fileName(), _oscPluginI->dssi_ui_filename()); } diff --git a/muse2/muse/part.cpp b/muse2/muse/part.cpp index 693512c5..eb5b1af6 100644 --- a/muse2/muse/part.cpp +++ b/muse2/muse/part.cpp @@ -23,7 +23,6 @@ //========================================================= #include -#include #include #include "song.h" @@ -805,7 +804,8 @@ void PartList::remove(Part* part) break; } } - assert(i != end()); + if (i == end()) + printf("THIS SHOULD NEVER HAPPEN: could not find the part in PartList::remove()!\n"); } //--------------------------------------------------------- diff --git a/muse2/muse/shortcuts.cpp b/muse2/muse/shortcuts.cpp index e6260749..132eef97 100644 --- a/muse2/muse/shortcuts.cpp +++ b/muse2/muse/shortcuts.cpp @@ -42,7 +42,7 @@ ShortCut shortcuts[SHRT_NUM_OF_ELEMENTS]; void defShrt(int shrt, int key, const char* descr, int type, const char* xml) { shortcuts[shrt].key = key; - shortcuts[shrt].descr = QT_TRANSLATE_NOOP("@default", descr); + shortcuts[shrt].descr = descr; shortcuts[shrt].type = type; shortcuts[shrt].xml = xml; } @@ -51,278 +51,278 @@ void defShrt(int shrt, int key, const char* descr, int type, const char* xml) void initShortCuts() { //Global: - defShrt(SHRT_PLAY_SONG, Qt::Key_Enter, "Transport: Start playback from current location", GLOBAL_SHRT, "play"); - defShrt(SHRT_TOGGLE_METRO, Qt::Key_C, "Transport: Toggle metronome", GLOBAL_SHRT,"toggle_metro"); - defShrt(SHRT_STOP, Qt::Key_Insert,"Transport: Stop Playback", GLOBAL_SHRT, "stop"); - defShrt(SHRT_GOTO_START, Qt::Key_W, "Transport: Goto Start", GLOBAL_SHRT, "goto_start"); - defShrt(SHRT_PLAY_TOGGLE, Qt::Key_Space, "Transport: Play, Stop, Rewind", GLOBAL_SHRT, "play_toggle"); - defShrt(SHRT_GOTO_LEFT, Qt::Key_End, "Transport: Goto left marker" , GLOBAL_SHRT, "goto_left"); - defShrt(SHRT_GOTO_RIGHT, Qt::Key_PageDown, "Transport: Goto right marker" , GLOBAL_SHRT, "goto_right"); - defShrt(SHRT_TOGGLE_LOOP, Qt::Key_Slash, "Transport: Toggle Loop section", GLOBAL_SHRT, "toggle_loop"); - defShrt(SHRT_START_REC, Qt::Key_Asterisk, "Transport: Toggle Record", GLOBAL_SHRT, "toggle_rec"); - defShrt(SHRT_REC_CLEAR, Qt::Key_Backspace, "Transport: Clear all rec enabled tracks", GLOBAL_SHRT, "rec_clear"); - defShrt(SHRT_FULLSCREEN, Qt::CTRL + Qt::Key_F, "Toggle fullscreen", GLOBAL_SHRT, "fullscreen"); - - defShrt(SHRT_COPY, Qt::CTRL + Qt::Key_C, "Edit: Copy", INVIS_SHRT, "copy"); - defShrt(SHRT_COPY_RANGE, Qt::CTRL + Qt::SHIFT + Qt::Key_C, "Edit: Copy in range", GLOBAL_SHRT, "copy_range"); - defShrt(SHRT_UNDO, Qt::CTRL + Qt::Key_Z, "Edit: Undo", INVIS_SHRT, "undo"); - defShrt(SHRT_REDO, Qt::CTRL + Qt::Key_Y, "Edit: Redo", INVIS_SHRT, "redo"); - defShrt(SHRT_CUT, Qt::CTRL + Qt::Key_X, "Edit: Cut", INVIS_SHRT, "cut"); - defShrt(SHRT_PASTE, Qt::CTRL + Qt::Key_V, "Edit: Paste", INVIS_SHRT, "paste"); - defShrt(SHRT_PASTE_DIALOG, Qt::CTRL + Qt::SHIFT + Qt::Key_V, "Edit: Paste (with dialog)", GLOBAL_SHRT, "paste_dialog"); - defShrt(SHRT_DELETE, Qt::Key_Delete, "Edit: Delete", INVIS_SHRT, "delete"); + defShrt(SHRT_PLAY_SONG, Qt::Key_Enter, QT_TRANSLATE_NOOP("shortcuts", "Transport: Start playback from current location"), GLOBAL_SHRT, "play"); + defShrt(SHRT_TOGGLE_METRO, Qt::Key_C, QT_TRANSLATE_NOOP("shortcuts", "Transport: Toggle metronome"), GLOBAL_SHRT,"toggle_metro"); + defShrt(SHRT_STOP, Qt::Key_Insert,QT_TRANSLATE_NOOP("shortcuts", "Transport: Stop Playback"), GLOBAL_SHRT, "stop"); + defShrt(SHRT_GOTO_START, Qt::Key_W, QT_TRANSLATE_NOOP("shortcuts", "Transport: Goto Start"), GLOBAL_SHRT, "goto_start"); + defShrt(SHRT_PLAY_TOGGLE, Qt::Key_Space, QT_TRANSLATE_NOOP("shortcuts", "Transport: Play, Stop, Rewind"), GLOBAL_SHRT, "play_toggle"); + defShrt(SHRT_GOTO_LEFT, Qt::Key_End, QT_TRANSLATE_NOOP("shortcuts", "Transport: Goto left marker") , GLOBAL_SHRT, "goto_left"); + defShrt(SHRT_GOTO_RIGHT, Qt::Key_PageDown, QT_TRANSLATE_NOOP("shortcuts", "Transport: Goto right marker") , GLOBAL_SHRT, "goto_right"); + defShrt(SHRT_TOGGLE_LOOP, Qt::Key_Slash, QT_TRANSLATE_NOOP("shortcuts", "Transport: Toggle Loop section"), GLOBAL_SHRT, "toggle_loop"); + defShrt(SHRT_START_REC, Qt::Key_Asterisk, QT_TRANSLATE_NOOP("shortcuts", "Transport: Toggle Record"), GLOBAL_SHRT, "toggle_rec"); + defShrt(SHRT_REC_CLEAR, Qt::Key_Backspace, QT_TRANSLATE_NOOP("shortcuts", "Transport: Clear all rec enabled tracks"), GLOBAL_SHRT, "rec_clear"); + defShrt(SHRT_FULLSCREEN, Qt::CTRL + Qt::Key_F, QT_TRANSLATE_NOOP("shortcuts", "Toggle fullscreen"), GLOBAL_SHRT, "fullscreen"); + + defShrt(SHRT_COPY, Qt::CTRL + Qt::Key_C, QT_TRANSLATE_NOOP("shortcuts", "Edit: Copy"), INVIS_SHRT, "copy"); + defShrt(SHRT_COPY_RANGE, Qt::CTRL + Qt::SHIFT + Qt::Key_C, QT_TRANSLATE_NOOP("shortcuts", "Edit: Copy in range"), GLOBAL_SHRT, "copy_range"); + defShrt(SHRT_UNDO, Qt::CTRL + Qt::Key_Z, QT_TRANSLATE_NOOP("shortcuts", "Edit: Undo"), INVIS_SHRT, "undo"); + defShrt(SHRT_REDO, Qt::CTRL + Qt::Key_Y, QT_TRANSLATE_NOOP("shortcuts", "Edit: Redo"), INVIS_SHRT, "redo"); + defShrt(SHRT_CUT, Qt::CTRL + Qt::Key_X, QT_TRANSLATE_NOOP("shortcuts", "Edit: Cut"), INVIS_SHRT, "cut"); + defShrt(SHRT_PASTE, Qt::CTRL + Qt::Key_V, QT_TRANSLATE_NOOP("shortcuts", "Edit: Paste"), INVIS_SHRT, "paste"); + defShrt(SHRT_PASTE_DIALOG, Qt::CTRL + Qt::SHIFT + Qt::Key_V, QT_TRANSLATE_NOOP("shortcuts", "Edit: Paste (with dialog)"), GLOBAL_SHRT, "paste_dialog"); + defShrt(SHRT_DELETE, Qt::Key_Delete, QT_TRANSLATE_NOOP("shortcuts", "Edit: Delete"), INVIS_SHRT, "delete"); //----------------------------------------------------------- // Arranger: - defShrt(SHRT_NEW, Qt::CTRL + Qt::Key_N, "File: New project", ARRANG_SHRT + DEDIT_SHRT, "new_project"); - defShrt(SHRT_OPEN, Qt::CTRL + Qt::Key_O, "File: Open from disk", ARRANG_SHRT + DEDIT_SHRT, "open_project"); - defShrt(SHRT_SAVE, Qt::CTRL + Qt::Key_S, "File: Save project", ARRANG_SHRT + DEDIT_SHRT, "save_project"); + defShrt(SHRT_NEW, Qt::CTRL + Qt::Key_N, QT_TRANSLATE_NOOP("shortcuts", "File: New project"), ARRANG_SHRT + DEDIT_SHRT, "new_project"); + defShrt(SHRT_OPEN, Qt::CTRL + Qt::Key_O, QT_TRANSLATE_NOOP("shortcuts", "File: Open from disk"), ARRANG_SHRT + DEDIT_SHRT, "open_project"); + defShrt(SHRT_SAVE, Qt::CTRL + Qt::Key_S, QT_TRANSLATE_NOOP("shortcuts", "File: Save project"), ARRANG_SHRT + DEDIT_SHRT, "save_project"); //----------------------------------------------------------- - defShrt(SHRT_OPEN_RECENT, Qt::CTRL + Qt::Key_1, "File: Open recent file", ARRANG_SHRT, "open_recent"); - defShrt(SHRT_SAVE_AS, 0 , "File: Save as", ARRANG_SHRT, "save_project_as"); - defShrt(SHRT_LOAD_TEMPLATE, 0 , "File: Load template", ARRANG_SHRT, "load_template"); -// defShrt(SHRT_CONFIG_PRINTER, Qt::CTRL + Qt::Key_P, "Configure printer", ARRANG_SHRT, "config_printer"); - defShrt(SHRT_IMPORT_MIDI, 0 , "File: Import midi file", ARRANG_SHRT, "import_midi"); - defShrt(SHRT_EXPORT_MIDI, 0 , "File: Export midi file", ARRANG_SHRT, "export_midi"); - defShrt(SHRT_IMPORT_PART, 0 , "File: Import midi part", ARRANG_SHRT, "import_part"); - defShrt(SHRT_IMPORT_AUDIO, 0 , "File: Import audio file", ARRANG_SHRT, "import_audio"); - defShrt(SHRT_QUIT, Qt::CTRL + Qt::Key_Q, "File: Quit MusE", ARRANG_SHRT, "quit"); -// defShrt(SHRT_DESEL_PARTS, Qt::CTRL + Qt::Key_B, "Deselect all parts", ARRANG_SHRT, "deselect_parts"); - defShrt(SHRT_SELECT_PRTSTRACK, Qt::CTRL+ Qt::ALT + Qt::Key_P, "Edit: Select parts on track", ARRANG_SHRT, "select_parts_on_track"); - defShrt(SHRT_OPEN_PIANO, Qt::CTRL + Qt::Key_E, "Open pianoroll", ARRANG_SHRT, "open_pianoroll"); - defShrt(SHRT_OPEN_DRUMS, Qt::CTRL + Qt::Key_D, "Open drumeditor", ARRANG_SHRT, "open_drumedit"); - defShrt(SHRT_OPEN_LIST, Qt::CTRL + Qt::Key_L, "Open listeditor", ARRANG_SHRT, "open_listedit"); - defShrt(SHRT_OPEN_WAVE, Qt::CTRL + Qt::Key_W, "Open waveeditor", ARRANG_SHRT, "open_waveedit"); - defShrt(SHRT_OPEN_GRAPHIC_MASTER, Qt::CTRL + Qt::Key_M, "Open graphical mastertrack editor", ARRANG_SHRT, "open_graph_master"); - defShrt(SHRT_OPEN_LIST_MASTER, Qt::CTRL + Qt::SHIFT + Qt::Key_M, "Open list mastertrack editor", ARRANG_SHRT, "open_list_master"); - defShrt(SHRT_OPEN_MIDI_TRANSFORM, Qt::CTRL + Qt::Key_T, "Open midi transformer", ARRANG_SHRT, "open_midi_transform"); - defShrt(SHRT_ADD_MIDI_TRACK, Qt::CTRL + Qt::Key_J, "Add midi track", ARRANG_SHRT, "add_midi_track"); - defShrt(SHRT_ADD_DRUM_TRACK, 0, "Add drum track", ARRANG_SHRT, "add_drum_track"); - defShrt(SHRT_ADD_WAVE_TRACK, 0, "Add wave track", ARRANG_SHRT, "add_wave_track"); - defShrt(SHRT_ADD_AUDIO_OUTPUT, 0, "Add audio output", ARRANG_SHRT, "add_audio_output"); - defShrt(SHRT_ADD_AUDIO_GROUP, 0, "Add audio group", ARRANG_SHRT, "add_audio_group"); - defShrt(SHRT_ADD_AUDIO_INPUT, 0, "Add audio input", ARRANG_SHRT, "add_audio_input"); - defShrt(SHRT_ADD_AUDIO_AUX , 0, "Add audio aux", ARRANG_SHRT, "add_audio_aux"); - defShrt(SHRT_GLOBAL_CUT, 0, "Structure: Global cut", ARRANG_SHRT, "global_cut"); - defShrt(SHRT_GLOBAL_INSERT, 0, "Structure: Global insert", ARRANG_SHRT, "global_insert"); - defShrt(SHRT_GLOBAL_SPLIT, 0, "Structure: Global split", ARRANG_SHRT, "global_split"); - defShrt(SHRT_CUT_EVENTS, 0, "Structure: Cut events", ARRANG_SHRT, "cut_events"); - //defShrt(SHRT_OPEN_MIXER, Qt::Key_F10, "View: Open mixer window", ARRANG_SHRT, "toggle_mixer"); - defShrt(SHRT_OPEN_MIXER, Qt::Key_F10, "View: Open mixer #1 window", ARRANG_SHRT, "toggle_mixer"); - defShrt(SHRT_OPEN_MIXER2, Qt::CTRL + Qt::Key_F10, "View: Open mixer #2 window", ARRANG_SHRT, "toggle_mixer2"); - defShrt(SHRT_OPEN_TRANSPORT, Qt::Key_F11, "View: Toggle transport window", ARRANG_SHRT, "toggle_transport"); - defShrt(SHRT_OPEN_BIGTIME, Qt::Key_F12, "View: Toggle bigtime window", ARRANG_SHRT, "toggle_bigtime"); - defShrt(SHRT_OPEN_MARKER, Qt::Key_F9, "View: Open marker window", ARRANG_SHRT, "marker_window"); - - defShrt(SHRT_FOLLOW_JUMP, 0, "Settings: Follow song by page", ARRANG_SHRT, "follow_jump"); - defShrt(SHRT_FOLLOW_NO, 0, "Settings: Follow song off", ARRANG_SHRT, "follow_no"); - defShrt(SHRT_FOLLOW_CONTINUOUS, 0, "Settings: Follow song continuous", ARRANG_SHRT, "follow_continuous"); - - defShrt(SHRT_GLOBAL_CONFIG, 0, "Settings: Global configuration", ARRANG_SHRT, "configure_global"); - defShrt(SHRT_CONFIG_SHORTCUTS, 0, "Settings: Configure shortcuts", ARRANG_SHRT, "configure_shortcuts"); - defShrt(SHRT_CONFIG_METRONOME, 0, "Settings: Configure metronome", ARRANG_SHRT, "configure_metronome"); - defShrt(SHRT_CONFIG_MIDISYNC, 0, "Settings: Midi sync configuration", ARRANG_SHRT, "configure_midi_sync"); - defShrt(SHRT_MIDI_FILE_CONFIG, 0, "Settings: Midi file import/export configuration", ARRANG_SHRT, "configure_midi_file"); - defShrt(SHRT_APPEARANCE_SETTINGS, 0, "Settings: Appearance settings", ARRANG_SHRT, "configure_appearance_settings"); - defShrt(SHRT_CONFIG_MIDI_PORTS, 0, "Settings: Midi ports / Soft Synth", ARRANG_SHRT, "configure_midi_ports"); - defShrt(SHRT_CONFIG_AUDIO_PORTS, 0, "Settings: Audio subsystem configuration", ARRANG_SHRT, "configure_audio_ports"); - //defShrt(SHRT_SAVE_GLOBAL_CONFIG, 0, "Save global configuration", ARRANG_SHRT, "configure_save_global"); - - defShrt(SHRT_MIDI_EDIT_INSTRUMENTS, 0, "Midi: Edit midi instruments", ARRANG_SHRT, "midi_edit_instruments"); - defShrt(SHRT_MIDI_INPUT_TRANSFORM, 0, "Midi: Open midi input transform", ARRANG_SHRT, "midi_open_input_transform"); - defShrt(SHRT_MIDI_INPUT_FILTER, 0, "Midi: Open midi input filter", ARRANG_SHRT, "midi_open_input_filter"); - defShrt(SHRT_MIDI_INPUT_TRANSPOSE, 0, "Midi: Midi input transpose", ARRANG_SHRT, "midi_open_input_transpose"); - defShrt(SHRT_MIDI_REMOTE_CONTROL, 0, "Midi: Midi remote control", ARRANG_SHRT, "midi_remote_control"); + defShrt(SHRT_OPEN_RECENT, Qt::CTRL + Qt::Key_1, QT_TRANSLATE_NOOP("shortcuts", "File: Open recent file"), ARRANG_SHRT, "open_recent"); + defShrt(SHRT_SAVE_AS, 0 , QT_TRANSLATE_NOOP("shortcuts", "File: Save as"), ARRANG_SHRT, "save_project_as"); + defShrt(SHRT_LOAD_TEMPLATE, 0 , QT_TRANSLATE_NOOP("shortcuts", "File: Load template"), ARRANG_SHRT, "load_template"); +// defShrt(SHRT_CONFIG_PRINTER, Qt::CTRL + Qt::Key_P, QT_TRANSLATE_NOOP("shortcuts", "Configure printer"), ARRANG_SHRT, "config_printer"); + defShrt(SHRT_IMPORT_MIDI, 0 , QT_TRANSLATE_NOOP("shortcuts", "File: Import midi file"), ARRANG_SHRT, "import_midi"); + defShrt(SHRT_EXPORT_MIDI, 0 , QT_TRANSLATE_NOOP("shortcuts", "File: Export midi file"), ARRANG_SHRT, "export_midi"); + defShrt(SHRT_IMPORT_PART, 0 , QT_TRANSLATE_NOOP("shortcuts", "File: Import midi part"), ARRANG_SHRT, "import_part"); + defShrt(SHRT_IMPORT_AUDIO, 0 , QT_TRANSLATE_NOOP("shortcuts", "File: Import audio file"), ARRANG_SHRT, "import_audio"); + defShrt(SHRT_QUIT, Qt::CTRL + Qt::Key_Q, QT_TRANSLATE_NOOP("shortcuts", "File: Quit MusE"), ARRANG_SHRT, "quit"); +// defShrt(SHRT_DESEL_PARTS, Qt::CTRL + Qt::Key_B, QT_TRANSLATE_NOOP("shortcuts", "Deselect all parts"), ARRANG_SHRT, "deselect_parts"); + defShrt(SHRT_SELECT_PRTSTRACK, Qt::CTRL+ Qt::ALT + Qt::Key_P, QT_TRANSLATE_NOOP("shortcuts", "Edit: Select parts on track"), ARRANG_SHRT, "select_parts_on_track"); + defShrt(SHRT_OPEN_PIANO, Qt::CTRL + Qt::Key_E, QT_TRANSLATE_NOOP("shortcuts", "Open pianoroll"), ARRANG_SHRT, "open_pianoroll"); + defShrt(SHRT_OPEN_DRUMS, Qt::CTRL + Qt::Key_D, QT_TRANSLATE_NOOP("shortcuts", "Open drumeditor"), ARRANG_SHRT, "open_drumedit"); + defShrt(SHRT_OPEN_LIST, Qt::CTRL + Qt::Key_L, QT_TRANSLATE_NOOP("shortcuts", "Open listeditor"), ARRANG_SHRT, "open_listedit"); + defShrt(SHRT_OPEN_WAVE, Qt::CTRL + Qt::Key_W, QT_TRANSLATE_NOOP("shortcuts", "Open waveeditor"), ARRANG_SHRT, "open_waveedit"); + defShrt(SHRT_OPEN_GRAPHIC_MASTER, Qt::CTRL + Qt::Key_M, QT_TRANSLATE_NOOP("shortcuts", "Open graphical mastertrack editor"), ARRANG_SHRT, "open_graph_master"); + defShrt(SHRT_OPEN_LIST_MASTER, Qt::CTRL + Qt::SHIFT + Qt::Key_M, QT_TRANSLATE_NOOP("shortcuts", "Open list mastertrack editor"), ARRANG_SHRT, "open_list_master"); + defShrt(SHRT_OPEN_MIDI_TRANSFORM, Qt::CTRL + Qt::Key_T, QT_TRANSLATE_NOOP("shortcuts", "Open midi transformer"), ARRANG_SHRT, "open_midi_transform"); + defShrt(SHRT_ADD_MIDI_TRACK, Qt::CTRL + Qt::Key_J, QT_TRANSLATE_NOOP("shortcuts", "Add midi track"), ARRANG_SHRT, "add_midi_track"); + defShrt(SHRT_ADD_DRUM_TRACK, 0, QT_TRANSLATE_NOOP("shortcuts", "Add drum track"), ARRANG_SHRT, "add_drum_track"); + defShrt(SHRT_ADD_WAVE_TRACK, 0, QT_TRANSLATE_NOOP("shortcuts", "Add wave track"), ARRANG_SHRT, "add_wave_track"); + defShrt(SHRT_ADD_AUDIO_OUTPUT, 0, QT_TRANSLATE_NOOP("shortcuts", "Add audio output"), ARRANG_SHRT, "add_audio_output"); + defShrt(SHRT_ADD_AUDIO_GROUP, 0, QT_TRANSLATE_NOOP("shortcuts", "Add audio group"), ARRANG_SHRT, "add_audio_group"); + defShrt(SHRT_ADD_AUDIO_INPUT, 0, QT_TRANSLATE_NOOP("shortcuts", "Add audio input"), ARRANG_SHRT, "add_audio_input"); + defShrt(SHRT_ADD_AUDIO_AUX , 0, QT_TRANSLATE_NOOP("shortcuts", "Add audio aux"), ARRANG_SHRT, "add_audio_aux"); + defShrt(SHRT_GLOBAL_CUT, 0, QT_TRANSLATE_NOOP("shortcuts", "Structure: Global cut"), ARRANG_SHRT, "global_cut"); + defShrt(SHRT_GLOBAL_INSERT, 0, QT_TRANSLATE_NOOP("shortcuts", "Structure: Global insert"), ARRANG_SHRT, "global_insert"); + defShrt(SHRT_GLOBAL_SPLIT, 0, QT_TRANSLATE_NOOP("shortcuts", "Structure: Global split"), ARRANG_SHRT, "global_split"); + defShrt(SHRT_CUT_EVENTS, 0, QT_TRANSLATE_NOOP("shortcuts", "Structure: Cut events"), ARRANG_SHRT, "cut_events"); + //defShrt(SHRT_OPEN_MIXER, Qt::Key_F10, QT_TRANSLATE_NOOP("shortcuts", "View: Open mixer window"), ARRANG_SHRT, "toggle_mixer"); + defShrt(SHRT_OPEN_MIXER, Qt::Key_F10, QT_TRANSLATE_NOOP("shortcuts", "View: Open mixer #1 window"), ARRANG_SHRT, "toggle_mixer"); + defShrt(SHRT_OPEN_MIXER2, Qt::CTRL + Qt::Key_F10, QT_TRANSLATE_NOOP("shortcuts", "View: Open mixer #2 window"), ARRANG_SHRT, "toggle_mixer2"); + defShrt(SHRT_OPEN_TRANSPORT, Qt::Key_F11, QT_TRANSLATE_NOOP("shortcuts", "View: Toggle transport window"), ARRANG_SHRT, "toggle_transport"); + defShrt(SHRT_OPEN_BIGTIME, Qt::Key_F12, QT_TRANSLATE_NOOP("shortcuts", "View: Toggle bigtime window"), ARRANG_SHRT, "toggle_bigtime"); + defShrt(SHRT_OPEN_MARKER, Qt::Key_F9, QT_TRANSLATE_NOOP("shortcuts", "View: Open marker window"), ARRANG_SHRT, "marker_window"); + + defShrt(SHRT_FOLLOW_JUMP, 0, QT_TRANSLATE_NOOP("shortcuts", "Settings: Follow song by page"), ARRANG_SHRT, "follow_jump"); + defShrt(SHRT_FOLLOW_NO, 0, QT_TRANSLATE_NOOP("shortcuts", "Settings: Follow song off"), ARRANG_SHRT, "follow_no"); + defShrt(SHRT_FOLLOW_CONTINUOUS, 0, QT_TRANSLATE_NOOP("shortcuts", "Settings: Follow song continuous"), ARRANG_SHRT, "follow_continuous"); + + defShrt(SHRT_GLOBAL_CONFIG, 0, QT_TRANSLATE_NOOP("shortcuts", "Settings: Global configuration"), ARRANG_SHRT, "configure_global"); + defShrt(SHRT_CONFIG_SHORTCUTS, 0, QT_TRANSLATE_NOOP("shortcuts", "Settings: Configure shortcuts"), ARRANG_SHRT, "configure_shortcuts"); + defShrt(SHRT_CONFIG_METRONOME, 0, QT_TRANSLATE_NOOP("shortcuts", "Settings: Configure metronome"), ARRANG_SHRT, "configure_metronome"); + defShrt(SHRT_CONFIG_MIDISYNC, 0, QT_TRANSLATE_NOOP("shortcuts", "Settings: Midi sync configuration"), ARRANG_SHRT, "configure_midi_sync"); + defShrt(SHRT_MIDI_FILE_CONFIG, 0, QT_TRANSLATE_NOOP("shortcuts", "Settings: Midi file import/export configuration"), ARRANG_SHRT, "configure_midi_file"); + defShrt(SHRT_APPEARANCE_SETTINGS, 0, QT_TRANSLATE_NOOP("shortcuts", "Settings: Appearance settings"), ARRANG_SHRT, "configure_appearance_settings"); + defShrt(SHRT_CONFIG_MIDI_PORTS, 0, QT_TRANSLATE_NOOP("shortcuts", "Settings: Midi ports / Soft Synth"), ARRANG_SHRT, "configure_midi_ports"); + defShrt(SHRT_CONFIG_AUDIO_PORTS, 0, QT_TRANSLATE_NOOP("shortcuts", "Settings: Audio subsystem configuration"), ARRANG_SHRT, "configure_audio_ports"); + //defShrt(SHRT_SAVE_GLOBAL_CONFIG, 0, QT_TRANSLATE_NOOP("shortcuts", "Save global configuration"), ARRANG_SHRT, "configure_save_global"); + + defShrt(SHRT_MIDI_EDIT_INSTRUMENTS, 0, QT_TRANSLATE_NOOP("shortcuts", "Midi: Edit midi instruments"), ARRANG_SHRT, "midi_edit_instruments"); + defShrt(SHRT_MIDI_INPUT_TRANSFORM, 0, QT_TRANSLATE_NOOP("shortcuts", "Midi: Open midi input transform"), ARRANG_SHRT, "midi_open_input_transform"); + defShrt(SHRT_MIDI_INPUT_FILTER, 0, QT_TRANSLATE_NOOP("shortcuts", "Midi: Open midi input filter"), ARRANG_SHRT, "midi_open_input_filter"); + defShrt(SHRT_MIDI_INPUT_TRANSPOSE, 0, QT_TRANSLATE_NOOP("shortcuts", "Midi: Midi input transpose"), ARRANG_SHRT, "midi_open_input_transpose"); + defShrt(SHRT_MIDI_REMOTE_CONTROL, 0, QT_TRANSLATE_NOOP("shortcuts", "Midi: Midi remote control"), ARRANG_SHRT, "midi_remote_control"); #ifdef BUILD_EXPERIMENTAL - defShrt(SHRT_RANDOM_RHYTHM_GENERATOR,0,"Midi: Random rhythm generator", ARRANG_SHRT, "midi_random_rhythm_generator"); + defShrt(SHRT_RANDOM_RHYTHM_GENERATOR,0,QT_TRANSLATE_NOOP("shortcuts", "Midi: Random rhythm generator"), ARRANG_SHRT, "midi_random_rhythm_generator"); #endif - defShrt(SHRT_MIDI_RESET, 0, "Midi: Reset midi", ARRANG_SHRT, "midi_reset"); - defShrt(SHRT_MIDI_INIT, 0, "Midi: Init midi", ARRANG_SHRT, "midi_init"); - defShrt(SHRT_MIDI_LOCAL_OFF, 0, "Midi: Midi local off", ARRANG_SHRT, "midi_local_off"); + defShrt(SHRT_MIDI_RESET, 0, QT_TRANSLATE_NOOP("shortcuts", "Midi: Reset midi"), ARRANG_SHRT, "midi_reset"); + defShrt(SHRT_MIDI_INIT, 0, QT_TRANSLATE_NOOP("shortcuts", "Midi: Init midi"), ARRANG_SHRT, "midi_init"); + defShrt(SHRT_MIDI_LOCAL_OFF, 0, QT_TRANSLATE_NOOP("shortcuts", "Midi: Midi local off"), ARRANG_SHRT, "midi_local_off"); - defShrt(SHRT_AUDIO_BOUNCE_TO_TRACK, 0, "Audio: Bounce audio to track", ARRANG_SHRT, "audio_bounce_to_track"); - defShrt(SHRT_AUDIO_BOUNCE_TO_FILE, 0, "Audio: Bounce audio to file", ARRANG_SHRT, "audio_bounce_to_file"); - defShrt(SHRT_AUDIO_RESTART, 0, "Audio: Restart audio", ARRANG_SHRT, "audio_restart"); + defShrt(SHRT_AUDIO_BOUNCE_TO_TRACK, 0, QT_TRANSLATE_NOOP("shortcuts", "Audio: Bounce audio to track"), ARRANG_SHRT, "audio_bounce_to_track"); + defShrt(SHRT_AUDIO_BOUNCE_TO_FILE, 0, QT_TRANSLATE_NOOP("shortcuts", "Audio: Bounce audio to file"), ARRANG_SHRT, "audio_bounce_to_file"); + defShrt(SHRT_AUDIO_RESTART, 0, QT_TRANSLATE_NOOP("shortcuts", "Audio: Restart audio"), ARRANG_SHRT, "audio_restart"); - defShrt(SHRT_MIXER_AUTOMATION, 0, "Automation: Mixer automation", ARRANG_SHRT, "mixer_automation"); - defShrt(SHRT_MIXER_SNAPSHOT, 0, "Automation: Take mixer snapshot", ARRANG_SHRT, "mixer_snapshot"); - defShrt(SHRT_MIXER_AUTOMATION_CLEAR,0, "Automation: Clear mixer automation", ARRANG_SHRT, "mixer_automation_clear"); + defShrt(SHRT_MIXER_AUTOMATION, 0, QT_TRANSLATE_NOOP("shortcuts", "Automation: Mixer automation"), ARRANG_SHRT, "mixer_automation"); + defShrt(SHRT_MIXER_SNAPSHOT, 0, QT_TRANSLATE_NOOP("shortcuts", "Automation: Take mixer snapshot"), ARRANG_SHRT, "mixer_snapshot"); + defShrt(SHRT_MIXER_AUTOMATION_CLEAR,0, QT_TRANSLATE_NOOP("shortcuts", "Automation: Clear mixer automation"), ARRANG_SHRT, "mixer_automation_clear"); -// defShrt(SHRT_OPEN_CLIPS, 0, "View audio clips", ARRANG_SHRT, "view_audio_clips"); - defShrt(SHRT_OPEN_HELP, Qt::Key_F1, "Help: Open Manual", ARRANG_SHRT, "open_help"); - defShrt(SHRT_START_WHATSTHIS, Qt::SHIFT + Qt::Key_F1, "Help: Toggle whatsthis mode", ARRANG_SHRT, "toggle_whatsthis"); +// defShrt(SHRT_OPEN_CLIPS, 0, QT_TRANSLATE_NOOP("shortcuts", "View audio clips"), ARRANG_SHRT, "view_audio_clips"); + defShrt(SHRT_OPEN_HELP, Qt::Key_F1, QT_TRANSLATE_NOOP("shortcuts", "Help: Open Manual"), ARRANG_SHRT, "open_help"); + defShrt(SHRT_START_WHATSTHIS, Qt::SHIFT + Qt::Key_F1, QT_TRANSLATE_NOOP("shortcuts", "Help: Toggle whatsthis mode"), ARRANG_SHRT, "toggle_whatsthis"); - defShrt(SHRT_EDIT_PART, Qt::Key_Return, "Edit: Edit selected part", ARRANG_SHRT, "edit_selected_part"); - defShrt(SHRT_SEL_ABOVE, Qt::Key_Up, "Edit: Select nearest part on track above", ARRANG_SHRT, "sel_part_above"); - defShrt(SHRT_SEL_ABOVE_ADD, Qt::SHIFT + Qt::Key_Up, "Edit: Add nearest part on track above", ARRANG_SHRT, "sel_part_above_add"); - defShrt(SHRT_SEL_BELOW, Qt::Key_Down, "Edit: Select nearest part on track below", ARRANG_SHRT, "sel_part_below"); - defShrt(SHRT_SEL_BELOW_ADD, Qt::SHIFT + Qt::Key_Down, "Edit: Add nearest part on track below", ARRANG_SHRT, "sel_part_below_add"); + defShrt(SHRT_EDIT_PART, Qt::Key_Return, QT_TRANSLATE_NOOP("shortcuts", "Edit: Edit selected part"), ARRANG_SHRT, "edit_selected_part"); + defShrt(SHRT_SEL_ABOVE, Qt::Key_Up, QT_TRANSLATE_NOOP("shortcuts", "Edit: Select nearest part on track above"), ARRANG_SHRT, "sel_part_above"); + defShrt(SHRT_SEL_ABOVE_ADD, Qt::SHIFT + Qt::Key_Up, QT_TRANSLATE_NOOP("shortcuts", "Edit: Add nearest part on track above"), ARRANG_SHRT, "sel_part_above_add"); + defShrt(SHRT_SEL_BELOW, Qt::Key_Down, QT_TRANSLATE_NOOP("shortcuts", "Edit: Select nearest part on track below"), ARRANG_SHRT, "sel_part_below"); + defShrt(SHRT_SEL_BELOW_ADD, Qt::SHIFT + Qt::Key_Down, QT_TRANSLATE_NOOP("shortcuts", "Edit: Add nearest part on track below"), ARRANG_SHRT, "sel_part_below_add"); - defShrt(SHRT_INSERTMEAS, Qt::CTRL+Qt::SHIFT+ Qt::Key_O, "Edit: Insert empty measure", ARRANG_SHRT, "insert_measure"); + defShrt(SHRT_INSERTMEAS, Qt::CTRL+Qt::SHIFT+ Qt::Key_O, QT_TRANSLATE_NOOP("shortcuts", "Edit: Insert empty measure"), ARRANG_SHRT, "insert_measure"); - defShrt(SHRT_PASTE_CLONE, Qt::CTRL+Qt::Key_B, "Edit: Paste as clones", ARRANG_SHRT, "paste_as_clone"); // i changed "paste_clone" to "paste_as_clone" intendedly. otherwise muse would keep its old, conflicting definition (ctrl+shift+v instead of ctrl+b) (flo) - defShrt(SHRT_PASTE_CLONE_DIALOG, Qt::CTRL+Qt::SHIFT+Qt::Key_B, "Edit: Paste as clones (with dialog)", ARRANG_SHRT, "paste_as_clone_dialog"); + defShrt(SHRT_PASTE_CLONE, Qt::CTRL+Qt::Key_B, QT_TRANSLATE_NOOP("shortcuts", "Edit: Paste as clones"), ARRANG_SHRT, "paste_as_clone"); // i changed "paste_clone" to "paste_as_clone" intendedly. otherwise muse would keep its old, conflicting definition (ctrl+shift+v instead of ctrl+b) (flo) + defShrt(SHRT_PASTE_CLONE_DIALOG, Qt::CTRL+Qt::SHIFT+Qt::Key_B, QT_TRANSLATE_NOOP("shortcuts", "Edit: Paste as clones (with dialog)"), ARRANG_SHRT, "paste_as_clone_dialog"); - defShrt(SHRT_SEL_TRACK_ABOVE, Qt::CTRL + Qt::Key_Up, "Select track above", ARRANG_SHRT, "sel_track_above"); - defShrt(SHRT_SEL_TRACK_BELOW, Qt::CTRL + Qt::Key_Down, "Select track below", ARRANG_SHRT, "sel_track_below"); + defShrt(SHRT_SEL_TRACK_ABOVE, Qt::CTRL + Qt::Key_Up, QT_TRANSLATE_NOOP("shortcuts", "Select track above"), ARRANG_SHRT, "sel_track_above"); + defShrt(SHRT_SEL_TRACK_BELOW, Qt::CTRL + Qt::Key_Down, QT_TRANSLATE_NOOP("shortcuts", "Select track below"), ARRANG_SHRT, "sel_track_below"); //----------------------------------------------------------- - defShrt(SHRT_TRANSPOSE, 0, "Midi: Transpose", ARRANG_SHRT + PROLL_SHRT, "midi_transpose"); + defShrt(SHRT_TRANSPOSE, 0, QT_TRANSLATE_NOOP("shortcuts", "Midi: Transpose"), ARRANG_SHRT + PROLL_SHRT, "midi_transpose"); //----------------------------------------------------------- - defShrt(SHRT_SELECT_ALL, Qt::CTRL + Qt::Key_A, "Edit: Select all", ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, "sel_all"); - defShrt(SHRT_SELECT_NONE, Qt::CTRL + Qt::SHIFT + Qt::Key_A, "Edit: Select none", ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, "sel_none"); - defShrt(SHRT_SELECT_INVERT, Qt::CTRL + Qt::Key_I, "Edit: Invert Selection", ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, "sel_inv"); - defShrt(SHRT_SELECT_ILOOP, 0, "Edit: Select events/parts inside locators", ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, "sel_ins_loc"); - defShrt(SHRT_SELECT_OLOOP, 0, "Edit: Select events/parts outside locators", ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, "sel_out_loc"); - defShrt(SHRT_SELECT_PREV_PART, Qt::ALT + Qt::Key_Left, "Edit: Select previous part", ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, "sel_prv_prt"); - defShrt(SHRT_SELECT_NEXT_PART, Qt::ALT + Qt::Key_Right, "Edit: Select next part", ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, "sel_nxt_prt"); - defShrt(SHRT_SEL_LEFT, Qt::Key_Left, "Edit: Select nearest part/event to the left or move cursor", ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, "sel_left"); - defShrt(SHRT_SEL_LEFT_ADD, Qt::Key_Left + Qt::SHIFT, "Edit: Add nearest part/event to the left to selection", PROLL_SHRT + DEDIT_SHRT, "sel_left_add"); - defShrt(SHRT_SEL_RIGHT, Qt::Key_Right, "Edit: Select nearest part/event to the right or move cursor", ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT,"sel_right"); - defShrt(SHRT_SEL_RIGHT_ADD, Qt::Key_Right + Qt::SHIFT, "Edit: Add nearest part/event to the right to selection", PROLL_SHRT + DEDIT_SHRT,"sel_right_add"); - defShrt(SHRT_LOCATORS_TO_SELECTION, Qt::ALT + Qt::Key_P, "Edit: Set locators to selection", ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, "loc_to_sel"); - defShrt(SHRT_INC_PITCH, Qt::CTRL + Qt::Key_Up, "Edit: Increase pitch", PROLL_SHRT + DEDIT_SHRT, "sel_inc_pitch"); - defShrt(SHRT_DEC_PITCH, Qt::CTRL + Qt::Key_Down, "Edit: Decrease pitch", PROLL_SHRT + DEDIT_SHRT, "sel_dec_pitch"); - defShrt(SHRT_INC_POS, Qt::CTRL + Qt::Key_Right, "Edit: Increase event position", PROLL_SHRT + DEDIT_SHRT, "sel_inc_pos"); - defShrt(SHRT_DEC_POS, Qt::CTRL + Qt::Key_Left, "Edit: Decrease event position", PROLL_SHRT + DEDIT_SHRT, "sel_dec_pos"); - defShrt(SHRT_ZOOM_IN, Qt::CTRL + Qt::Key_PageUp, "View: Zoom in", PROLL_SHRT + DEDIT_SHRT + ARRANG_SHRT, "zoom_in"); - defShrt(SHRT_ZOOM_OUT, Qt::CTRL + Qt::Key_PageDown, "View: Zoom out", PROLL_SHRT + DEDIT_SHRT + ARRANG_SHRT, "zoom_out"); - defShrt(SHRT_GOTO_CPOS, Qt::Key_C, "View: Goto Current Position", PROLL_SHRT + DEDIT_SHRT, "goto_cpos"); - defShrt(SHRT_SCROLL_LEFT, Qt::Key_H, "View: Scroll left", PROLL_SHRT + DEDIT_SHRT, "scroll_left"); - defShrt(SHRT_SCROLL_RIGHT, Qt::Key_L, "View: Scroll left", PROLL_SHRT + DEDIT_SHRT, "scroll_right"); + defShrt(SHRT_SELECT_ALL, Qt::CTRL + Qt::Key_A, QT_TRANSLATE_NOOP("shortcuts", "Edit: Select all"), ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, "sel_all"); + defShrt(SHRT_SELECT_NONE, Qt::CTRL + Qt::SHIFT + Qt::Key_A, QT_TRANSLATE_NOOP("shortcuts", "Edit: Select none"), ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, "sel_none"); + defShrt(SHRT_SELECT_INVERT, Qt::CTRL + Qt::Key_I, QT_TRANSLATE_NOOP("shortcuts", "Edit: Invert Selection"), ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, "sel_inv"); + defShrt(SHRT_SELECT_ILOOP, 0, QT_TRANSLATE_NOOP("shortcuts", "Edit: Select events/parts inside locators"), ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, "sel_ins_loc"); + defShrt(SHRT_SELECT_OLOOP, 0, QT_TRANSLATE_NOOP("shortcuts", "Edit: Select events/parts outside locators"), ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, "sel_out_loc"); + defShrt(SHRT_SELECT_PREV_PART, Qt::ALT + Qt::Key_Left, QT_TRANSLATE_NOOP("shortcuts", "Edit: Select previous part"), ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, "sel_prv_prt"); + defShrt(SHRT_SELECT_NEXT_PART, Qt::ALT + Qt::Key_Right, QT_TRANSLATE_NOOP("shortcuts", "Edit: Select next part"), ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, "sel_nxt_prt"); + defShrt(SHRT_SEL_LEFT, Qt::Key_Left, QT_TRANSLATE_NOOP("shortcuts", "Edit: Select nearest part/event to the left or move cursor"), ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, "sel_left"); + defShrt(SHRT_SEL_LEFT_ADD, Qt::Key_Left + Qt::SHIFT, QT_TRANSLATE_NOOP("shortcuts", "Edit: Add nearest part/event to the left to selection"), PROLL_SHRT + DEDIT_SHRT, "sel_left_add"); + defShrt(SHRT_SEL_RIGHT, Qt::Key_Right, QT_TRANSLATE_NOOP("shortcuts", "Edit: Select nearest part/event to the right or move cursor"), ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT,"sel_right"); + defShrt(SHRT_SEL_RIGHT_ADD, Qt::Key_Right + Qt::SHIFT, QT_TRANSLATE_NOOP("shortcuts", "Edit: Add nearest part/event to the right to selection"), PROLL_SHRT + DEDIT_SHRT,"sel_right_add"); + defShrt(SHRT_LOCATORS_TO_SELECTION, Qt::ALT + Qt::Key_P, QT_TRANSLATE_NOOP("shortcuts", "Edit: Set locators to selection"), ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, "loc_to_sel"); + defShrt(SHRT_INC_PITCH, Qt::CTRL + Qt::Key_Up, QT_TRANSLATE_NOOP("shortcuts", "Edit: Increase pitch"), PROLL_SHRT + DEDIT_SHRT, "sel_inc_pitch"); + defShrt(SHRT_DEC_PITCH, Qt::CTRL + Qt::Key_Down, QT_TRANSLATE_NOOP("shortcuts", "Edit: Decrease pitch"), PROLL_SHRT + DEDIT_SHRT, "sel_dec_pitch"); + defShrt(SHRT_INC_POS, Qt::CTRL + Qt::Key_Right, QT_TRANSLATE_NOOP("shortcuts", "Edit: Increase event position"), PROLL_SHRT + DEDIT_SHRT, "sel_inc_pos"); + defShrt(SHRT_DEC_POS, Qt::CTRL + Qt::Key_Left, QT_TRANSLATE_NOOP("shortcuts", "Edit: Decrease event position"), PROLL_SHRT + DEDIT_SHRT, "sel_dec_pos"); + defShrt(SHRT_ZOOM_IN, Qt::CTRL + Qt::Key_PageUp, QT_TRANSLATE_NOOP("shortcuts", "View: Zoom in"), PROLL_SHRT + DEDIT_SHRT + ARRANG_SHRT, "zoom_in"); + defShrt(SHRT_ZOOM_OUT, Qt::CTRL + Qt::Key_PageDown, QT_TRANSLATE_NOOP("shortcuts", "View: Zoom out"), PROLL_SHRT + DEDIT_SHRT + ARRANG_SHRT, "zoom_out"); + defShrt(SHRT_GOTO_CPOS, Qt::Key_C, QT_TRANSLATE_NOOP("shortcuts", "View: Goto Current Position"), PROLL_SHRT + DEDIT_SHRT, "goto_cpos"); + defShrt(SHRT_SCROLL_LEFT, Qt::Key_H, QT_TRANSLATE_NOOP("shortcuts", "View: Scroll left"), PROLL_SHRT + DEDIT_SHRT, "scroll_left"); + defShrt(SHRT_SCROLL_RIGHT, Qt::Key_L, QT_TRANSLATE_NOOP("shortcuts", "View: Scroll left"), PROLL_SHRT + DEDIT_SHRT, "scroll_right"); //----------------------------------------------------------- //Drum: //----------------------------------------------------------- - defShrt(SHRT_FIXED_LEN, Qt::ALT + Qt::Key_L, "Edit: Set Fixed Length on Midi Events", PROLL_SHRT + DEDIT_SHRT, "midi_fixed_len"); + defShrt(SHRT_FIXED_LEN, Qt::ALT + Qt::Key_L, QT_TRANSLATE_NOOP("shortcuts", "Edit: Set Fixed Length on Midi Events"), PROLL_SHRT + DEDIT_SHRT, "midi_fixed_len"); //----------------------------------------------------------- //Pianoroll: //----------------------------------------------------------- - defShrt(SHRT_QUANTIZE, 0, "Quantize", PROLL_SHRT, "midi_quant"); - defShrt(SHRT_MODIFY_GATE_TIME, 0, "Modify Note Length", PROLL_SHRT, "midi_mod_gate_time"); - defShrt(SHRT_MODIFY_VELOCITY, 0, "Modify Velocity", PROLL_SHRT, "midi_mod_velo"); - defShrt(SHRT_CRESCENDO, 0, "Edit: Crescendo", PROLL_SHRT, "midi_crescendo"); - defShrt(SHRT_THIN_OUT, 0, "Edit: Thin Out", PROLL_SHRT, "midi_thin_out"); - defShrt(SHRT_ERASE_EVENT, 0, "Edit: Erase Event", PROLL_SHRT, "midi_erase_event"); - defShrt(SHRT_DELETE_OVERLAPS, 0, "Edit: Delete Overlaps", PROLL_SHRT, "midi_delete_overlaps"); - defShrt(SHRT_NOTE_SHIFT, 0, "Edit: Note Shift", PROLL_SHRT, "midi_note_shift"); - defShrt(SHRT_MOVE_CLOCK, 0, "Edit: Move Clock", PROLL_SHRT, "midi_move_clock"); - defShrt(SHRT_COPY_MEASURE, 0, "Edit: Copy Measure", PROLL_SHRT, "midi_copy_measure"); - defShrt(SHRT_ERASE_MEASURE, 0, "Edit: Erase Measure", PROLL_SHRT,"midi_erase_measure"); - defShrt(SHRT_DELETE_MEASURE, 0, "Edit: Delete Measure", PROLL_SHRT, "midi_delete_measure"); - defShrt(SHRT_CREATE_MEASURE, 0, "Edit: Create Measure", PROLL_SHRT, "midi_create_measure"); - defShrt(SHRT_EVENT_COLOR, Qt::Key_E, "Edit: Change Event Color", PROLL_SHRT, "change_event_color"); + defShrt(SHRT_QUANTIZE, 0, QT_TRANSLATE_NOOP("shortcuts", "Quantize"), PROLL_SHRT, "midi_quant"); + defShrt(SHRT_MODIFY_GATE_TIME, 0, QT_TRANSLATE_NOOP("shortcuts", "Modify Note Length"), PROLL_SHRT, "midi_mod_gate_time"); + defShrt(SHRT_MODIFY_VELOCITY, 0, QT_TRANSLATE_NOOP("shortcuts", "Modify Velocity"), PROLL_SHRT, "midi_mod_velo"); + defShrt(SHRT_CRESCENDO, 0, QT_TRANSLATE_NOOP("shortcuts", "Edit: Crescendo"), PROLL_SHRT, "midi_crescendo"); + defShrt(SHRT_THIN_OUT, 0, QT_TRANSLATE_NOOP("shortcuts", "Edit: Thin Out"), PROLL_SHRT, "midi_thin_out"); + defShrt(SHRT_ERASE_EVENT, 0, QT_TRANSLATE_NOOP("shortcuts", "Edit: Erase Event"), PROLL_SHRT, "midi_erase_event"); + defShrt(SHRT_DELETE_OVERLAPS, 0, QT_TRANSLATE_NOOP("shortcuts", "Edit: Delete Overlaps"), PROLL_SHRT, "midi_delete_overlaps"); + defShrt(SHRT_NOTE_SHIFT, 0, QT_TRANSLATE_NOOP("shortcuts", "Edit: Note Shift"), PROLL_SHRT, "midi_note_shift"); + defShrt(SHRT_MOVE_CLOCK, 0, QT_TRANSLATE_NOOP("shortcuts", "Edit: Move Clock"), PROLL_SHRT, "midi_move_clock"); + defShrt(SHRT_COPY_MEASURE, 0, QT_TRANSLATE_NOOP("shortcuts", "Edit: Copy Measure"), PROLL_SHRT, "midi_copy_measure"); + defShrt(SHRT_ERASE_MEASURE, 0, QT_TRANSLATE_NOOP("shortcuts", "Edit: Erase Measure"), PROLL_SHRT,"midi_erase_measure"); + defShrt(SHRT_DELETE_MEASURE, 0, QT_TRANSLATE_NOOP("shortcuts", "Edit: Delete Measure"), PROLL_SHRT, "midi_delete_measure"); + defShrt(SHRT_CREATE_MEASURE, 0, QT_TRANSLATE_NOOP("shortcuts", "Edit: Create Measure"), PROLL_SHRT, "midi_create_measure"); + defShrt(SHRT_EVENT_COLOR, Qt::Key_E, QT_TRANSLATE_NOOP("shortcuts", "Edit: Change Event Color"), PROLL_SHRT, "change_event_color"); // Shortcuts for tools // global - defShrt(SHRT_TOOL_POINTER, Qt::Key_A, "Tool: Pointer", ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, "pointer_tool"); - defShrt(SHRT_TOOL_PENCIL, Qt::Key_D, "Tool: Pencil", ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, "pencil_tool"); - defShrt(SHRT_TOOL_RUBBER, Qt::Key_R, "Tool: Eraser", ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, "eraser_tool"); + defShrt(SHRT_TOOL_POINTER, Qt::Key_A, QT_TRANSLATE_NOOP("shortcuts", "Tool: Pointer"), ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, "pointer_tool"); + defShrt(SHRT_TOOL_PENCIL, Qt::Key_D, QT_TRANSLATE_NOOP("shortcuts", "Tool: Pencil"), ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, "pencil_tool"); + defShrt(SHRT_TOOL_RUBBER, Qt::Key_R, QT_TRANSLATE_NOOP("shortcuts", "Tool: Eraser"), ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, "eraser_tool"); // piano roll & drum editor - defShrt(SHRT_TOOL_LINEDRAW, Qt::Key_F, "Tool: Line Draw", ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, "line_draw_tool"); + defShrt(SHRT_TOOL_LINEDRAW, Qt::Key_F, QT_TRANSLATE_NOOP("shortcuts", "Tool: Line Draw"), ARRANG_SHRT + PROLL_SHRT + DEDIT_SHRT, "line_draw_tool"); // drum editor - defShrt(SHRT_TOOL_CURSOR, Qt::Key_U, "Tool: Cursor", DEDIT_SHRT, "cursor_tool"); - defShrt(SHRT_ADDNOTE_1, Qt::Key_V, "Add note velocity 1", DEDIT_SHRT, "add_note_velocity_1"); - defShrt(SHRT_ADDNOTE_2, Qt::Key_B, "Add note velocity 2", DEDIT_SHRT, "add_note_velocity_2"); - defShrt(SHRT_ADDNOTE_3, Qt::Key_N, "Add note velocity 3", DEDIT_SHRT, "add_note_velocity_3"); - defShrt(SHRT_ADDNOTE_4, Qt::Key_M, "Add note velocity 4", DEDIT_SHRT, "add_note_velocity_4"); + defShrt(SHRT_TOOL_CURSOR, Qt::Key_U, QT_TRANSLATE_NOOP("shortcuts", "Tool: Cursor"), DEDIT_SHRT, "cursor_tool"); + defShrt(SHRT_ADDNOTE_1, Qt::Key_V, QT_TRANSLATE_NOOP("shortcuts", "Add note velocity 1"), DEDIT_SHRT, "add_note_velocity_1"); + defShrt(SHRT_ADDNOTE_2, Qt::Key_B, QT_TRANSLATE_NOOP("shortcuts", "Add note velocity 2"), DEDIT_SHRT, "add_note_velocity_2"); + defShrt(SHRT_ADDNOTE_3, Qt::Key_N, QT_TRANSLATE_NOOP("shortcuts", "Add note velocity 3"), DEDIT_SHRT, "add_note_velocity_3"); + defShrt(SHRT_ADDNOTE_4, Qt::Key_M, QT_TRANSLATE_NOOP("shortcuts", "Add note velocity 4"), DEDIT_SHRT, "add_note_velocity_4"); - defShrt(SHRT_CURSOR_STEP_UP, Qt::Key_0, "Cursor step size: larger", DEDIT_SHRT, "cursor_step_up"); - defShrt(SHRT_CURSOR_STEP_DOWN, Qt::Key_9, "Cursor step size: smaller", DEDIT_SHRT, "cursor_step_down"); - defShrt(SHRT_INSTRUMENT_STEP_UP, Qt::Key_Up, "Instrument/Cursor up", DEDIT_SHRT, "instrument_up"); - defShrt(SHRT_INSTRUMENT_STEP_DOWN, Qt::Key_Down, "Instrument/Cursor down", DEDIT_SHRT, "instrument_down"); + defShrt(SHRT_CURSOR_STEP_UP, Qt::Key_0, QT_TRANSLATE_NOOP("shortcuts", "Cursor step size: larger"), DEDIT_SHRT, "cursor_step_up"); + defShrt(SHRT_CURSOR_STEP_DOWN, Qt::Key_9, QT_TRANSLATE_NOOP("shortcuts", "Cursor step size: smaller"), DEDIT_SHRT, "cursor_step_down"); + defShrt(SHRT_INSTRUMENT_STEP_UP, Qt::Key_Up, QT_TRANSLATE_NOOP("shortcuts", "Instrument/Cursor up"), DEDIT_SHRT, "instrument_up"); + defShrt(SHRT_INSTRUMENT_STEP_DOWN, Qt::Key_Down, QT_TRANSLATE_NOOP("shortcuts", "Instrument/Cursor down"), DEDIT_SHRT, "instrument_down"); // arranger - defShrt(SHRT_TOOL_SCISSORS, Qt::Key_S, "Tool: Scissor", ARRANG_SHRT, "scissor_tool"); - defShrt(SHRT_TOOL_GLUE, Qt::Key_G, "Tool: Glue", ARRANG_SHRT, "glue_tool"); - defShrt(SHRT_TOOL_MUTE, 0, "Tool: Mute", ARRANG_SHRT, "mute_tool"); + defShrt(SHRT_TOOL_SCISSORS, Qt::Key_S, QT_TRANSLATE_NOOP("shortcuts", "Tool: Scissor"), ARRANG_SHRT, "scissor_tool"); + defShrt(SHRT_TOOL_GLUE, Qt::Key_G, QT_TRANSLATE_NOOP("shortcuts", "Tool: Glue"), ARRANG_SHRT, "glue_tool"); + defShrt(SHRT_TOOL_MUTE, 0, QT_TRANSLATE_NOOP("shortcuts", "Tool: Mute"), ARRANG_SHRT, "mute_tool"); //Increase/decrease current position, is going to be in arranger & drumeditor as well // p4.0.10 Editors and arranger handle these by themselves, otherwise global handler will now use them, too. - defShrt(SHRT_POS_INC, Qt::Key_Plus, "Transport: Increase current position", GLOBAL_SHRT, "curpos_increase"); - defShrt(SHRT_POS_DEC, Qt::Key_Minus, "Transport: Decrease current position", GLOBAL_SHRT, "curpos_decrease"); + defShrt(SHRT_POS_INC, Qt::Key_Plus, QT_TRANSLATE_NOOP("shortcuts", "Transport: Increase current position"), GLOBAL_SHRT, "curpos_increase"); + defShrt(SHRT_POS_DEC, Qt::Key_Minus, QT_TRANSLATE_NOOP("shortcuts", "Transport: Decrease current position"), GLOBAL_SHRT, "curpos_decrease"); - defShrt(SHRT_POS_INC_NOSNAP, Qt::SHIFT + Qt::Key_Plus, "Transport: Increase current position, no snap", GLOBAL_SHRT, "curpos_increase_nosnap"); - defShrt(SHRT_POS_DEC_NOSNAP, Qt::SHIFT + Qt::Key_Minus, "Transport: Decrease current position, no snap", GLOBAL_SHRT, "curpos_decrease_nosnap"); + defShrt(SHRT_POS_INC_NOSNAP, Qt::SHIFT + Qt::Key_Plus, QT_TRANSLATE_NOOP("shortcuts", "Transport: Increase current position, no snap"), GLOBAL_SHRT, "curpos_increase_nosnap"); + defShrt(SHRT_POS_DEC_NOSNAP, Qt::SHIFT + Qt::Key_Minus, QT_TRANSLATE_NOOP("shortcuts", "Transport: Decrease current position, no snap"), GLOBAL_SHRT, "curpos_decrease_nosnap"); /* - defShrt(SHRT_POS_INC_BAR, Qt::CTRL + Qt::ALT + Qt::Key_Plus, "Transport: Increase current position", GLOBAL_SHRT, "curpos_increase_bar"); - defShrt(SHRT_POS_DEC_BAR, Qt::CTRL + Qt::ALT + Qt::Key_Minus, "Transport: Decrease current position", GLOBAL_SHRT, "curpos_decrease_bar"); - defShrt(SHRT_POS_INC_BAR_NOSNAP, Qt::SHIFT + Qt::CTRL + Qt::ALT + Qt::Key_Plus, "Transport: Increase current position", GLOBAL_SHRT, "curpos_increase_bar_nosnap"); - defShrt(SHRT_POS_DEC_BAR_NOSNAP, Qt::SHIFT + Qt::CTRL + Qt::ALT + Qt::Key_Minus, "Transport: Decrease current position", GLOBAL_SHRT, "curpos_decrease_bar_nosnap"); + defShrt(SHRT_POS_INC_BAR, Qt::CTRL + Qt::ALT + Qt::Key_Plus, QT_TRANSLATE_NOOP("shortcuts", "Transport: Increase current position"), GLOBAL_SHRT, "curpos_increase_bar"); + defShrt(SHRT_POS_DEC_BAR, Qt::CTRL + Qt::ALT + Qt::Key_Minus, QT_TRANSLATE_NOOP("shortcuts", "Transport: Decrease current position"), GLOBAL_SHRT, "curpos_decrease_bar"); + defShrt(SHRT_POS_INC_BAR_NOSNAP, Qt::SHIFT + Qt::CTRL + Qt::ALT + Qt::Key_Plus, QT_TRANSLATE_NOOP("shortcuts", "Transport: Increase current position"), GLOBAL_SHRT, "curpos_increase_bar_nosnap"); + defShrt(SHRT_POS_DEC_BAR_NOSNAP, Qt::SHIFT + Qt::CTRL + Qt::ALT + Qt::Key_Minus, QT_TRANSLATE_NOOP("shortcuts", "Transport: Decrease current position"), GLOBAL_SHRT, "curpos_decrease_bar_nosnap"); - defShrt(SHRT_POS_INC_BEAT, Qt::ALT + Qt::Key_Plus, "Transport: Increase current position", GLOBAL_SHRT, "curpos_increase_beat"); - defShrt(SHRT_POS_DEC_BEAT, Qt::ALT + Qt::Key_Minus, "Transport: Decrease current position", GLOBAL_SHRT, "curpos_decrease_beat"); - defShrt(SHRT_POS_INC_BEAT_NOSNAP, Qt::SHIFT + Qt::ALT + Qt::Key_Plus, "Transport: Increase current position", GLOBAL_SHRT, "curpos_increase_beat_nosnap"); - defShrt(SHRT_POS_DEC_BEAT_NOSNAP, Qt::SHIFT + Qt::ALT + Qt::Key_Minus, "Transport: Decrease current position", GLOBAL_SHRT, "curpos_decrease_beat_nosnap"); + defShrt(SHRT_POS_INC_BEAT, Qt::ALT + Qt::Key_Plus, QT_TRANSLATE_NOOP("shortcuts", "Transport: Increase current position"), GLOBAL_SHRT, "curpos_increase_beat"); + defShrt(SHRT_POS_DEC_BEAT, Qt::ALT + Qt::Key_Minus, QT_TRANSLATE_NOOP("shortcuts", "Transport: Decrease current position"), GLOBAL_SHRT, "curpos_decrease_beat"); + defShrt(SHRT_POS_INC_BEAT_NOSNAP, Qt::SHIFT + Qt::ALT + Qt::Key_Plus, QT_TRANSLATE_NOOP("shortcuts", "Transport: Increase current position"), GLOBAL_SHRT, "curpos_increase_beat_nosnap"); + defShrt(SHRT_POS_DEC_BEAT_NOSNAP, Qt::SHIFT + Qt::ALT + Qt::Key_Minus, QT_TRANSLATE_NOOP("shortcuts", "Transport: Decrease current position"), GLOBAL_SHRT, "curpos_decrease_beat_nosnap"); - defShrt(SHRT_POS_INC_TICK, Qt::CTRL + Qt::Key_Plus, "Transport: Increase current position", GLOBAL_SHRT, "curpos_increase_tick"); - defShrt(SHRT_POS_DEC_TICK, Qt::CTRL + Qt::Key_Minus, "Transport: Decrease current position", GLOBAL_SHRT, "curpos_decrease_tick"); - defShrt(SHRT_POS_INC_TICK_NOSNAP, Qt::SHIFT + Qt::CTRL + Qt::Key_Plus, "Transport: Increase current position", GLOBAL_SHRT, "curpos_increase_tick"); - defShrt(SHRT_POS_DEC_TICK_NOSNAP, Qt::SHIFT + Qt::CTRL + Qt::Key_Minus, "Transport: Decrease current position", GLOBAL_SHRT, "curpos_decrease_tick"); + defShrt(SHRT_POS_INC_TICK, Qt::CTRL + Qt::Key_Plus, QT_TRANSLATE_NOOP("shortcuts", "Transport: Increase current position"), GLOBAL_SHRT, "curpos_increase_tick"); + defShrt(SHRT_POS_DEC_TICK, Qt::CTRL + Qt::Key_Minus, QT_TRANSLATE_NOOP("shortcuts", "Transport: Decrease current position"), GLOBAL_SHRT, "curpos_decrease_tick"); + defShrt(SHRT_POS_INC_TICK_NOSNAP, Qt::SHIFT + Qt::CTRL + Qt::Key_Plus, QT_TRANSLATE_NOOP("shortcuts", "Transport: Increase current position"), GLOBAL_SHRT, "curpos_increase_tick"); + defShrt(SHRT_POS_DEC_TICK_NOSNAP, Qt::SHIFT + Qt::CTRL + Qt::Key_Minus, QT_TRANSLATE_NOOP("shortcuts", "Transport: Decrease current position"), GLOBAL_SHRT, "curpos_decrease_tick"); - defShrt(SHRT_POS_INC_FRAME, Qt::Key_N, "Transport: Increase current position", GLOBAL_SHRT, "curpos_increase_frame"); - defShrt(SHRT_POS_DEC_FRAME, Qt::Key_B, "Transport: Decrease current position", GLOBAL_SHRT, "curpos_decrease_frame"); + defShrt(SHRT_POS_INC_FRAME, Qt::Key_N, QT_TRANSLATE_NOOP("shortcuts", "Transport: Increase current position"), GLOBAL_SHRT, "curpos_increase_frame"); + defShrt(SHRT_POS_DEC_FRAME, Qt::Key_B, QT_TRANSLATE_NOOP("shortcuts", "Transport: Decrease current position"), GLOBAL_SHRT, "curpos_decrease_frame"); - defShrt(SHRT_POS_INC_SECOND, Qt::CTRL + Qt::Key_N, "Transport: Increase current position", GLOBAL_SHRT, "curpos_increase_second"); - defShrt(SHRT_POS_DEC_SECOND, Qt::CTRL + Qt::Key_B, "Transport: Decrease current position", GLOBAL_SHRT, "curpos_decrease_second"); - defShrt(SHRT_POS_INC_SECOND_NOSNAP, Qt::SHIFT + Qt::CTRL + Qt::Key_N, "Transport: Increase current position", GLOBAL_SHRT, "curpos_increase_second_nosnap"); - defShrt(SHRT_POS_DEC_SECOND_NOSNAP, Qt::SHIFT + Qt::CTRL + Qt::Key_B, "Transport: Decrease current position", GLOBAL_SHRT, "curpos_decrease_second_nosnap"); + defShrt(SHRT_POS_INC_SECOND, Qt::CTRL + Qt::Key_N, QT_TRANSLATE_NOOP("shortcuts", "Transport: Increase current position"), GLOBAL_SHRT, "curpos_increase_second"); + defShrt(SHRT_POS_DEC_SECOND, Qt::CTRL + Qt::Key_B, QT_TRANSLATE_NOOP("shortcuts", "Transport: Decrease current position"), GLOBAL_SHRT, "curpos_decrease_second"); + defShrt(SHRT_POS_INC_SECOND_NOSNAP, Qt::SHIFT + Qt::CTRL + Qt::Key_N, QT_TRANSLATE_NOOP("shortcuts", "Transport: Increase current position"), GLOBAL_SHRT, "curpos_increase_second_nosnap"); + defShrt(SHRT_POS_DEC_SECOND_NOSNAP, Qt::SHIFT + Qt::CTRL + Qt::Key_B, QT_TRANSLATE_NOOP("shortcuts", "Transport: Decrease current position"), GLOBAL_SHRT, "curpos_decrease_second_nosnap"); - defShrt(SHRT_POS_INC_MINUTE, Qt::ALT + Qt::Key_N, "Transport: Increase current position", GLOBAL_SHRT, "curpos_increase_minute"); - defShrt(SHRT_POS_DEC_MINUTE, Qt::ALT + Qt::Key_B, "Transport: Decrease current position", GLOBAL_SHRT, "curpos_decrease_minute"); - defShrt(SHRT_POS_INC_MINUTE_NOSNAP, Qt::SHIFT + Qt::ALT + Qt::Key_N, "Transport: Increase current position", GLOBAL_SHRT, "curpos_increase_minute_nosnap"); - defShrt(SHRT_POS_DEC_MINUTE_NOSNAP, Qt::SHIFT + Qt::ALT + Qt::Key_B, "Transport: Decrease current position", GLOBAL_SHRT, "curpos_decrease_minute_nosnap"); + defShrt(SHRT_POS_INC_MINUTE, Qt::ALT + Qt::Key_N, QT_TRANSLATE_NOOP("shortcuts", "Transport: Increase current position"), GLOBAL_SHRT, "curpos_increase_minute"); + defShrt(SHRT_POS_DEC_MINUTE, Qt::ALT + Qt::Key_B, QT_TRANSLATE_NOOP("shortcuts", "Transport: Decrease current position"), GLOBAL_SHRT, "curpos_decrease_minute"); + defShrt(SHRT_POS_INC_MINUTE_NOSNAP, Qt::SHIFT + Qt::ALT + Qt::Key_N, QT_TRANSLATE_NOOP("shortcuts", "Transport: Increase current position"), GLOBAL_SHRT, "curpos_increase_minute_nosnap"); + defShrt(SHRT_POS_DEC_MINUTE_NOSNAP, Qt::SHIFT + Qt::ALT + Qt::Key_B, QT_TRANSLATE_NOOP("shortcuts", "Transport: Decrease current position"), GLOBAL_SHRT, "curpos_decrease_minute_nosnap"); */ - defShrt(SHRT_SET_QUANT_1, Qt::Key_1, "Quantize: Set quantize to 1/1 note", PROLL_SHRT, "midi_quant_1"); - defShrt(SHRT_SET_QUANT_2, Qt::Key_2, "Quantize: Set quantize to 1/2 note", PROLL_SHRT, "midi_quant_2"); - defShrt(SHRT_SET_QUANT_3, Qt::Key_3, "Quantize: Set quantize to 1/4 note", PROLL_SHRT, "midi_quant_3"); - defShrt(SHRT_SET_QUANT_4, Qt::Key_4, "Quantize: Set quantize to 1/8 note", PROLL_SHRT, "midi_quant_4"); - defShrt(SHRT_SET_QUANT_5, Qt::Key_5, "Quantize: Set quantize to 1/16 note", PROLL_SHRT, "midi_quant_5"); - defShrt(SHRT_SET_QUANT_6, Qt::Key_6, "Quantize: Set quantize to 1/32 note", PROLL_SHRT, "midi_quant_6"); - defShrt(SHRT_SET_QUANT_7, Qt::Key_7, "Quantize: Set quantize to 1/64 note", PROLL_SHRT, "midi_quant_7"); - - defShrt(SHRT_TOGGLE_TRIOL, Qt::Key_T, "Quantize: Toggle triol quantization", PROLL_SHRT, "midi_quant_triol"); - defShrt(SHRT_TOGGLE_PUNCT, Qt::Key_Period, "Quantize: Toggle punctuation quantization", PROLL_SHRT, "midi_quant_punct"); - defShrt(SHRT_TOGGLE_PUNCT2, Qt::Key_Comma, "Quantize: Toggle punctuation quantization (2)", PROLL_SHRT, "midi_quant_punct2"); - defShrt(SHRT_INSERT_AT_LOCATION, Qt::SHIFT + Qt::Key_Right, "Edit: Insert at location", PROLL_SHRT, "midi_insert_at_loc"); - - defShrt(SHRT_INCREASE_LEN, Qt::CTRL + Qt::SHIFT + Qt::Key_Right, "Edit: Increase length", PROLL_SHRT, "increase_len"); - defShrt(SHRT_DECREASE_LEN, Qt::CTRL + Qt::SHIFT + Qt::Key_Left, "Edit: Decrease length", PROLL_SHRT, "decrease_len"); + defShrt(SHRT_SET_QUANT_1, Qt::Key_1, QT_TRANSLATE_NOOP("shortcuts", "Quantize: Set quantize to 1/1 note"), PROLL_SHRT, "midi_quant_1"); + defShrt(SHRT_SET_QUANT_2, Qt::Key_2, QT_TRANSLATE_NOOP("shortcuts", "Quantize: Set quantize to 1/2 note"), PROLL_SHRT, "midi_quant_2"); + defShrt(SHRT_SET_QUANT_3, Qt::Key_3, QT_TRANSLATE_NOOP("shortcuts", "Quantize: Set quantize to 1/4 note"), PROLL_SHRT, "midi_quant_3"); + defShrt(SHRT_SET_QUANT_4, Qt::Key_4, QT_TRANSLATE_NOOP("shortcuts", "Quantize: Set quantize to 1/8 note"), PROLL_SHRT, "midi_quant_4"); + defShrt(SHRT_SET_QUANT_5, Qt::Key_5, QT_TRANSLATE_NOOP("shortcuts", "Quantize: Set quantize to 1/16 note"), PROLL_SHRT, "midi_quant_5"); + defShrt(SHRT_SET_QUANT_6, Qt::Key_6, QT_TRANSLATE_NOOP("shortcuts", "Quantize: Set quantize to 1/32 note"), PROLL_SHRT, "midi_quant_6"); + defShrt(SHRT_SET_QUANT_7, Qt::Key_7, QT_TRANSLATE_NOOP("shortcuts", "Quantize: Set quantize to 1/64 note"), PROLL_SHRT, "midi_quant_7"); + + defShrt(SHRT_TOGGLE_TRIOL, Qt::Key_T, QT_TRANSLATE_NOOP("shortcuts", "Quantize: Toggle triol quantization"), PROLL_SHRT, "midi_quant_triol"); + defShrt(SHRT_TOGGLE_PUNCT, Qt::Key_Period, QT_TRANSLATE_NOOP("shortcuts", "Quantize: Toggle punctuation quantization"), PROLL_SHRT, "midi_quant_punct"); + defShrt(SHRT_TOGGLE_PUNCT2, Qt::Key_Comma, QT_TRANSLATE_NOOP("shortcuts", "Quantize: Toggle punctuation quantization (2)"), PROLL_SHRT, "midi_quant_punct2"); + defShrt(SHRT_INSERT_AT_LOCATION, Qt::SHIFT + Qt::Key_Right, QT_TRANSLATE_NOOP("shortcuts", "Edit: Insert at location"), PROLL_SHRT, "midi_insert_at_loc"); + + defShrt(SHRT_INCREASE_LEN, Qt::CTRL + Qt::SHIFT + Qt::Key_Right, QT_TRANSLATE_NOOP("shortcuts", "Edit: Increase length"), PROLL_SHRT, "increase_len"); + defShrt(SHRT_DECREASE_LEN, Qt::CTRL + Qt::SHIFT + Qt::Key_Left, QT_TRANSLATE_NOOP("shortcuts", "Edit: Decrease length"), PROLL_SHRT, "decrease_len"); //----------------------------------------------------------- // List edit: //----------------------------------------------------------- - defShrt(SHRT_LE_INS_NOTES, Qt::CTRL + Qt::Key_N, "Insert Note", LEDIT_SHRT, "le_ins_note"); - defShrt(SHRT_LE_INS_SYSEX, Qt::CTRL + Qt::Key_S, "Insert SysEx", LEDIT_SHRT, "le_ins_sysex"); - defShrt(SHRT_LE_INS_CTRL, Qt::CTRL + Qt::Key_T, "Insert Ctrl", LEDIT_SHRT, "le_ins_ctrl"); - defShrt(SHRT_LE_INS_META, 0, "Insert Meta", LEDIT_SHRT, "le_ins_meta"); - defShrt(SHRT_LE_INS_CHAN_AFTERTOUCH, Qt::CTRL + Qt::Key_A, "Insert Channel Aftertouch", LEDIT_SHRT, "le_ins_afttouch"); - defShrt(SHRT_LE_INS_POLY_AFTERTOUCH, Qt::CTRL + Qt::Key_P, "Insert Key Aftertouch", LEDIT_SHRT, "le_ins_poly"); + defShrt(SHRT_LE_INS_NOTES, Qt::CTRL + Qt::Key_N, QT_TRANSLATE_NOOP("shortcuts", "Insert Note"), LEDIT_SHRT, "le_ins_note"); + defShrt(SHRT_LE_INS_SYSEX, Qt::CTRL + Qt::Key_S, QT_TRANSLATE_NOOP("shortcuts", "Insert SysEx"), LEDIT_SHRT, "le_ins_sysex"); + defShrt(SHRT_LE_INS_CTRL, Qt::CTRL + Qt::Key_T, QT_TRANSLATE_NOOP("shortcuts", "Insert Ctrl"), LEDIT_SHRT, "le_ins_ctrl"); + defShrt(SHRT_LE_INS_META, 0, QT_TRANSLATE_NOOP("shortcuts", "Insert Meta"), LEDIT_SHRT, "le_ins_meta"); + defShrt(SHRT_LE_INS_CHAN_AFTERTOUCH, Qt::CTRL + Qt::Key_A, QT_TRANSLATE_NOOP("shortcuts", "Insert Channel Aftertouch"), LEDIT_SHRT, "le_ins_afttouch"); + defShrt(SHRT_LE_INS_POLY_AFTERTOUCH, Qt::CTRL + Qt::Key_P, QT_TRANSLATE_NOOP("shortcuts", "Insert Key Aftertouch"), LEDIT_SHRT, "le_ins_poly"); //----------------------------------------------------------- // List masteredit: //----------------------------------------------------------- - defShrt(SHRT_LM_INS_TEMPO, Qt::CTRL + Qt::Key_T, "Insert Tempo", LMEDIT_SHRT, "lm_ins_tempo"); - defShrt(SHRT_LM_INS_SIG , Qt::CTRL + Qt::Key_R, "Insert Signature", LMEDIT_SHRT, "lm_ins_sig"); - defShrt(SHRT_LM_EDIT_BEAT, Qt::CTRL + Qt::SHIFT+ Qt::Key_E, "Change Event Position", LMEDIT_SHRT, "lm_edit_beat"); - defShrt(SHRT_LM_EDIT_VALUE, Qt::CTRL + Qt::Key_E, "Edit Event Value", LMEDIT_SHRT, "lm_edit_val"); - defShrt(SHRT_LM_INS_KEY, Qt::CTRL + Qt::Key_K, "Insert Key", LMEDIT_SHRT, "lm_ins_key"); - - defShrt(SHRT_NEXT_MARKER, Qt::Key_F6, "Goto Next Marker", ARRANG_SHRT, "me_sel_next"); - defShrt(SHRT_PREV_MARKER, Qt::Key_F5, "Goto Prev Marker", ARRANG_SHRT, "me_sel_prev"); + defShrt(SHRT_LM_INS_TEMPO, Qt::CTRL + Qt::Key_T, QT_TRANSLATE_NOOP("shortcuts", "Insert Tempo"), LMEDIT_SHRT, "lm_ins_tempo"); + defShrt(SHRT_LM_INS_SIG , Qt::CTRL + Qt::Key_R, QT_TRANSLATE_NOOP("shortcuts", "Insert Signature"), LMEDIT_SHRT, "lm_ins_sig"); + defShrt(SHRT_LM_EDIT_BEAT, Qt::CTRL + Qt::SHIFT+ Qt::Key_E, QT_TRANSLATE_NOOP("shortcuts", "Change Event Position"), LMEDIT_SHRT, "lm_edit_beat"); + defShrt(SHRT_LM_EDIT_VALUE, Qt::CTRL + Qt::Key_E, QT_TRANSLATE_NOOP("shortcuts", "Edit Event Value"), LMEDIT_SHRT, "lm_edit_val"); + defShrt(SHRT_LM_INS_KEY, Qt::CTRL + Qt::Key_K, QT_TRANSLATE_NOOP("shortcuts", "Insert Key"), LMEDIT_SHRT, "lm_ins_key"); + + defShrt(SHRT_NEXT_MARKER, Qt::Key_F6, QT_TRANSLATE_NOOP("shortcuts", "Goto Next Marker"), ARRANG_SHRT, "me_sel_next"); + defShrt(SHRT_PREV_MARKER, Qt::Key_F5, QT_TRANSLATE_NOOP("shortcuts", "Goto Prev Marker"), ARRANG_SHRT, "me_sel_prev"); } diff --git a/muse2/muse/sig.cpp b/muse2/muse/sig.cpp index 0b62848c..b11aa622 100644 --- a/muse2/muse/sig.cpp +++ b/muse2/muse/sig.cpp @@ -22,7 +22,6 @@ //========================================================= #include -#include #include "sig.h" #include "gconfig.h" #include "xml.h" @@ -51,14 +50,18 @@ SigList::SigList() void SigList::add(unsigned tick, int z, int n) { if (z == 0 || n == 0) { - printf("SigList::add illegal signature %d/%d\n", z, n); + printf("THIS SHOULD NEVER HAPPEN: SigList::add() illegal signature %d/%d\n", z, n); // Added p3.3.43 return; } tick = raster1(tick, 0); iSigEvent e = upper_bound(tick); - assert(e != end()); + if (e == end()) + { + printf("THIS SHOULD NEVER HAPPEN: could not find upper_bound(%i) in SigList::add()!\n", tick); + return; + } if (tick == e->second->tick) { e->second->z = z; @@ -185,7 +188,11 @@ int SigList::ticksMeasure(unsigned tick) const int SigList::ticksBeat(unsigned tick) const { ciSigEvent i = upper_bound(tick); - assert(i != end()); + if (i == end()) + { + printf("THIS SHOULD NEVER HAPPEN: couldn't find sig event for tick=%i in SigList::ticksBeat()!\n",tick); + return 0; + } return ticks_beat(i->second->n); } @@ -202,7 +209,7 @@ int SigList::ticks_beat(int n) const case 32: m >>= 3; break; // 48 case 64: m >>= 4; break; // 24 case 128: m >>= 5; break; // 12 - default: assert(false); break; + default: printf("THIS SHOULD NEVER HAPPEN: invalid function call in SigList::ticks_beat(): n=%i\n",n); break; } return m; } @@ -308,7 +315,11 @@ unsigned SigList::raster1(unsigned t, int raster) const if (raster == 1) return t; ciSigEvent e = upper_bound(t); - assert(e != end()); + if (e == end()) + { + printf("THIS SHOULD NEVER HAPPEN: couldn't find sig event for tick=%i in SigList::raster1()!\n", t); + return 0; + } int delta = t - e->second->tick; int ticksM = ticks_beat(e->second->n) * e->second->z; @@ -329,7 +340,11 @@ unsigned SigList::raster2(unsigned t, int raster) const if (raster == 1) return t; ciSigEvent e = upper_bound(t); - assert(e != end()); + if (e == end()) + { + printf("THIS SHOULD NEVER HAPPEN: couldn't find sig event for tick=%i in SigList::raster2()!\n", t); + return 0; + } int delta = t - e->second->tick; int ticksM = ticks_beat(e->second->n) * e->second->z; @@ -348,7 +363,11 @@ int SigList::rasterStep(unsigned t, int raster) const { if (raster == 0) { ciSigEvent e = upper_bound(t); - assert(e != end()); + if (e == end()) + { + printf("THIS SHOULD NEVER HAPPEN: couldn't find sig event for tick=%i in SigList::rasterStep()!\n", t); + return 0; + } return ticks_beat(e->second->n) * e->second->z; } return raster; diff --git a/muse2/muse/song.cpp b/muse2/muse/song.cpp index 0f19c313..70314035 100644 --- a/muse2/muse/song.cpp +++ b/muse2/muse/song.cpp @@ -72,26 +72,6 @@ namespace MusECore { extern void clearMidiTransforms(); extern void clearMidiInputTransforms(); -/* -//--------------------------------------------------------- -// RoutingMenuItem -//--------------------------------------------------------- - -class RoutingMenuItem : public QCustomMenuItem -{ - Route route; - //virtual QSize sizeHint() { return QSize(80, h); } - virtual void paint(QPainter* p, const QColorGroup&, bool, bool, int x, int y, int w, int h) - { - p->fillRect(x, y, w, h, QBrush(lightGray)); - p->drawText(x, y, w, h, AlignCenter, route.name()); - } - - public: - RoutingMenuItem(const Route& r) : route(r) { } -}; -*/ - //--------------------------------------------------------- // Song //--------------------------------------------------------- @@ -108,6 +88,8 @@ Song::Song(const char* name) redoList = new UndoList; _markerList = new MarkerList; _globalPitchShift = 0; + bounceTrack = NULL; + bounceOutput = NULL; showSongInfo=true; clear(false); } @@ -430,45 +412,6 @@ void Song::changeTrack(Track* oldTrack, Track* newTrack) bool Song::addEvent(Event& event, Part* part) { - /* - if (event.type() == Controller) { - MidiTrack* track = (MidiTrack*)part->track(); - int ch = track->outChannel(); - int tick = event.tick() + part->tick(); - int cntrl = event.dataA(); - int val = event.dataB(); - MidiPort* mp = &MusEGlobal::midiPorts[track->outPort()]; - - // Is it a drum controller event, according to the track port's instrument? - if(track->type() == Track::DRUM) - { - MidiController* mc = mp->drumController(cntrl); - if(mc) - { - int note = cntrl & 0x7f; - cntrl &= ~0xff; - ch = MusEGlobal::drumMap[note].channel; - mp = &MusEGlobal::midiPorts[MusEGlobal::drumMap[note].port]; - cntrl |= MusEGlobal::drumMap[note].anote; - } - } - - // Changed by T356. - //if (!mp->setCtrl(ch, tick, cntrl, val)) { - // mp->addManagedController(ch, cntrl); - // if (!mp->setCtrl(ch, tick, cntrl, val)) - // return false; - // } - // Changed again. Don't depend on return value of this - search for the event, below. - //if(!mp->setControllerVal(ch, tick, cntrl, val, part)) - // return false; - if(mp->setControllerVal(ch, tick, cntrl, val, part)) - updateFlags |= SC_MIDI_CONTROLLER; - } - */ - - //addPortCtrlEvents(event, part); - // Return false if the event is already found. // (But allow a port controller value, above, in case it is not already stored.) if(part->events()->find(event) != part->events()->end()) @@ -495,7 +438,6 @@ void Song::changeEvent(Event& oldEvent, Event& newEvent, Part* part) // This can be normal for some (redundant) operations. if(MusEGlobal::debugMsg) printf("Song::changeEvent event not found in part:%s size:%zd\n", part->name().toLatin1().constData(), part->events()->size()); - // abort(); // Removed by T356. Allow it to add the new event. // (And remove the old one from the midi port controller!) //return; @@ -504,59 +446,6 @@ void Song::changeEvent(Event& oldEvent, Event& newEvent, Part* part) part->events()->erase(i); part->events()->add(newEvent); - - /* - if (oldEvent.type() == Controller) { - MidiTrack* track = (MidiTrack*)part->track(); - int ch = track->outChannel(); - int tick = oldEvent.tick() + part->tick(); - int cntrl = oldEvent.dataA(); - MidiPort* mp = &MusEGlobal::midiPorts[track->outPort()]; - // Is it a drum controller event, according to the track port's instrument? - if(track->type() == Track::DRUM) - { - MidiController* mc = mp->drumController(cntrl); - if(mc) - { - int note = cntrl & 0x7f; - cntrl &= ~0xff; - ch = MusEGlobal::drumMap[note].channel; - mp = &MusEGlobal::midiPorts[MusEGlobal::drumMap[note].port]; - cntrl |= MusEGlobal::drumMap[note].anote; - } - } - - mp->deleteController(ch, tick, cntrl, part); - } - */ - //removePortCtrlEvents(oldEvent, part); - - /* - if (newEvent.type() == Controller) { - MidiTrack* track = (MidiTrack*)part->track(); - int ch = track->outChannel(); - int tick = newEvent.tick() + part->tick(); - int cntrl = newEvent.dataA(); - int val = newEvent.dataB(); - MidiPort* mp = &MusEGlobal::midiPorts[track->outPort()]; - // Is it a drum controller event, according to the track port's instrument? - if(track->type() == Track::DRUM) - { - MidiController* mc = mp->drumController(cntrl); - if(mc) - { - int note = cntrl & 0x7f; - cntrl &= ~0xff; - ch = MusEGlobal::drumMap[note].channel; - mp = &MusEGlobal::midiPorts[MusEGlobal::drumMap[note].port]; - cntrl |= MusEGlobal::drumMap[note].anote; - } - } - - mp->setControllerVal(ch, tick, cntrl, val, part); - } - */ - //addPortCtrlEvents(newEvent, part); } //--------------------------------------------------------- @@ -565,33 +454,6 @@ void Song::changeEvent(Event& oldEvent, Event& newEvent, Part* part) void Song::deleteEvent(Event& event, Part* part) { - /* - if (event.type() == Controller) { - MidiTrack* track = (MidiTrack*)part->track(); - int ch = track->outChannel(); - int tick = event.tick() + part->tick(); - int cntrl = event.dataA(); - - MidiPort* mp = &MusEGlobal::midiPorts[track->outPort()]; - // Is it a drum controller event, according to the track port's instrument? - if(track->type() == Track::DRUM) - { - MidiController* mc = mp->drumController(cntrl); - if(mc) - { - int note = cntrl & 0x7f; - cntrl &= ~0xff; - ch = MusEGlobal::drumMap[note].channel; - mp = &MusEGlobal::midiPorts[MusEGlobal::drumMap[note].port]; - cntrl |= MusEGlobal::drumMap[note].anote; - } - } - - mp->deleteController(ch, tick, cntrl, part); - } - */ - //removePortCtrlEvents(event, part); - iEvent ev = part->events()->find(event); if (ev == part->events()->end()) { // This can be normal for some (redundant) operations. @@ -934,88 +796,6 @@ void Song::cmdAddRecordedEvents(MidiTrack* mt, EventList* events, unsigned start // Add the event to the new part's port controller values, and do all clone parts. addPortCtrlEvents(event, newPart, true); } - - - /* - if (_recMode == REC_REPLACE) - { - iEvent si = part->events()->lower_bound(startTick - part->tick()); - iEvent ei = part->events()->lower_bound(part->endTick() - part->tick()); - - for (iEvent i = si; i != ei; ++i) - { - Event event = i->second; - // Create an undo op. Indicate do port controller values and clone parts. - //addUndo(UndoOp(UndoOp::DeleteEvent, event, part)); - addUndo(UndoOp(UndoOp::DeleteEvent, event, part, true, true)); - - //if (event.type() == Controller) { - // MidiTrack* track = (MidiTrack*)part->track(); - // int ch = track->outChannel(); - // int tick = event.tick() + part->tick(); - // int cntrl = event.dataA(); - // MusEGlobal::midiPorts[track->outPort()].deleteController(ch, tick, cntrl, part); - // } - - // Remove the event from the part's port controller values, and do all clone parts. - //removePortCtrlEvents(event, part, true); - } - part->events()->erase(si, ei); - } - - // Remove all of the part's port controller values, and do all clone parts. - removePortCtrlEvents(part, true); - - // Clone the part. This doesn't increment aref count, and doesn't chain clones. - // It also gives the new part a new serial number, but it is - // overwritten with the old one by Song::changePart(), below. - Part* newPart = part->clone(); - - endTick = 0; - for (iEvent i = s; i != e; ++i) { - Event event = i->second; - unsigned tick = event.tick() - partTick; - event.setTick(tick); - Event e; - // Create an undo op. Indicate do port controller values and clone parts. - //addUndo(UndoOp(UndoOp::AddEvent, e, event, newPart)); - addUndo(UndoOp(UndoOp::AddEvent, e, event, newPart, true, true)); - - // addEvent also adds port controller values. So does msgChangePart, below. Let msgChangePart handle them. - //addEvent(event, (MidiPart*)newPart); - if(newPart->events()->find(event) == newPart->events()->end()) - newPart->events()->add(event); - - if (endTick < event.tick() + event.lenTick()) - endTick = event.tick() + event.lenTick(); - } - newPart->setLenTick(endTick); // endTick - part->tick() - - //printf("Song::cmdAddRecordedEvents before changePart part:%p events:%p refs:%d Arefs:%d newPart:%p events:%p refs:%d Arefs:%d\n", part, part->events(), part->events()->refCount(), part->events()->arefCount(), newPart, newPart->events(), newPart->events()->refCount(), newPart->events()->arefCount()); - - // Change the part. - changePart(part, newPart); - // Manually adjust reference counts. - part->events()->incARef(-1); - newPart->events()->incARef(1); - // Replace the part in the clone chain with the new part. - replaceClone(part, newPart); - // Now add all of the new part's port controller values, and do all clone parts. - addPortCtrlEvents(newPart, true); - - //printf("Song::cmdAddRecordedEvents after changePart part:%p events:%p refs:%d Arefs:%d newPart:%p events:%p refs:%d Arefs:%d\n", part, part->events(), part->events()->refCount(), part->events()->arefCount(), newPart, newPart->events(), newPart->events()->refCount(), newPart->events()->arefCount()); - - //addUndo(UndoOp(UndoOp::ModifyPart, part, newPart)); - // Create an undo op. Indicate do not do port controller values and clone parts. - addUndo(UndoOp(UndoOp::ModifyPart, part, newPart, false, false)); - - // Removed by T356. - //part->events()->incARef(-1); - - updateFlags |= SC_PART_MODIFIED; - //printf("Song::cmdAddRecordedEvents final part:%p events:%p refs:%d Arefs:%d newPart:%p events:%p refs:%d Arefs:%d\n", part, part->events(), part->events()->refCount(), part->events()->arefCount(), newPart, newPart->events(), newPart->events()->refCount(), newPart->events()->arefCount()); - */ - } else { if (_recMode == REC_REPLACE) { @@ -1027,15 +807,6 @@ void Song::cmdAddRecordedEvents(MidiTrack* mt, EventList* events, unsigned start // Create an undo op. Indicate that controller values and clone parts were handled. //addUndo(UndoOp(UndoOp::DeleteEvent, event, part)); addUndo(UndoOp(UndoOp::DeleteEvent, event, part, true, true)); - /* - if (event.type() == Controller) { - MidiTrack* track = (MidiTrack*)part->track(); - int ch = track->outChannel(); - int tick = event.tick() + part->tick(); - int cntrl = event.dataA(); - MusEGlobal::midiPorts[track->outPort()].deleteController(ch, tick, cntrl, part); - } - */ // Remove the event from the part's port controller values, and do all clone parts. removePortCtrlEvents(event, part, true); } @@ -1707,6 +1478,7 @@ void Song::setMType(MType t) void Song::beat() { #if 0 + // Just a rate test... static double _heartbeatRateTimer = 0.0; double t = MusEUtil::curTime(); if(t - _heartbeatRateTimer > 0.0) @@ -2028,14 +1800,12 @@ void Song::processMsg(AudioMsg* msg) break; case SEQM_ADD_TEMPO: - //printf("processMsg (SEQM_ADD_TEMPO) UndoOp::AddTempo. adding tempo at: %d with tempo=%d\n", msg->a, msg->b); addUndo(UndoOp(UndoOp::AddTempo, msg->a, msg->b)); MusEGlobal::tempomap.addTempo(msg->a, msg->b); updateFlags = SC_TEMPO; break; case SEQM_SET_TEMPO: - //printf("processMsg (SEQM_SET_TEMPO) UndoOp::AddTempo. adding tempo at: %d with tempo=%d\n", msg->a, msg->b); addUndo(UndoOp(UndoOp::AddTempo, msg->a, msg->b)); MusEGlobal::tempomap.setTempo(msg->a, msg->b); updateFlags = SC_TEMPO; @@ -2046,7 +1816,6 @@ void Song::processMsg(AudioMsg* msg) break; case SEQM_REMOVE_TEMPO: - //printf("processMsg (SEQM_REMOVE_TEMPO) UndoOp::DeleteTempo. adding tempo at: %d with tempo=%d\n", msg->a, msg->b); addUndo(UndoOp(UndoOp::DeleteTempo, msg->a, msg->b)); MusEGlobal::tempomap.delTempo(msg->a); updateFlags = SC_TEMPO; @@ -2111,7 +1880,6 @@ void Song::cmdRemovePart(Part* part) // cmdChangePart //--------------------------------------------------------- -//void Song::cmdChangePart(Part* oldPart, Part* newPart) void Song::cmdChangePart(Part* oldPart, Part* newPart, bool doCtrls, bool doClones) { //printf("Song::cmdChangePart before changePart oldPart:%p events:%p refs:%d Arefs:%d sn:%d newPart:%p events:%p refs:%d Arefs:%d sn:%d\n", oldPart, oldPart->events(), oldPart->events()->refCount(), oldPart->events()->arefCount(), oldPart->sn(), newPart, newPart->events(), newPart->events()->refCount(), newPart->events()->arefCount(), newPart->sn()); @@ -2166,7 +1934,7 @@ void Song::clear(bool signal, bool /*clear_all*/) printf("Song::clear\n"); bounceTrack = 0; - + _tracks.clear(); _midis.clearDelete(); _waves.clearDelete(); @@ -2463,7 +2231,6 @@ void Song::seqSignal(int fd) if(MusEGlobal::debugMsg) printf("Song: seqSignal: case f: setFreewheel start\n"); - // Enabled by Tim. p3.3.6 if(MusEGlobal::config.freewheelMode) MusEGlobal::audioDevice->setFreewheel(true); @@ -2473,7 +2240,6 @@ void Song::seqSignal(int fd) if(MusEGlobal::debugMsg) printf("Song: seqSignal: case F: setFreewheel stop\n"); - // Enabled by Tim. p3.3.6 if(MusEGlobal::config.freewheelMode) MusEGlobal::audioDevice->setFreewheel(false); @@ -2490,7 +2256,6 @@ void Song::seqSignal(int fd) MusEGlobal::audioDevice->graphChanged(); break; - // p3.3.37 case 'R': // Registration changed if (MusEGlobal::audioDevice) MusEGlobal::audioDevice->registrationChanged(); @@ -2581,8 +2346,7 @@ void Song::recordEvent(MidiTrack* mt, Event& event) int Song::execAutomationCtlPopup(AudioTrack* track, const QPoint& menupos, int acid) { - //enum { HEADER, SEP1, PREV_EVENT, NEXT_EVENT, SEP2, ADD_EVENT, CLEAR_EVENT, CLEAR_RANGE, CLEAR_ALL_EVENTS }; - enum { HEADER, PREV_EVENT, NEXT_EVENT, SEP2, ADD_EVENT, CLEAR_EVENT, CLEAR_RANGE, CLEAR_ALL_EVENTS }; + enum { PREV_EVENT, NEXT_EVENT, ADD_EVENT, CLEAR_EVENT, CLEAR_RANGE, CLEAR_ALL_EVENTS }; QMenu* menu = new QMenu; int count = 0; @@ -2627,14 +2391,8 @@ int Song::execAutomationCtlPopup(AudioTrack* track, const QPoint& menupos, int a } } - //menu->insertItem(tr("Automation:"), HEADER, HEADER); - //menu->setItemEnabled(HEADER, false); - //MenuTitleItem* title = new MenuTitleItem(tr("Automation:")); ddskrjo - //menu->insertItem(title, HEADER, HEADER); ddskrjo menu->addAction(new MusEGui::MenuTitleItem(tr("Automation:"), menu)); - //menu->insertSeparator(SEP1); - QAction* prevEvent = menu->addAction(tr("previous event")); prevEvent->setData(PREV_EVENT); prevEvent->setEnabled(canSeekPrev); @@ -2643,7 +2401,6 @@ int Song::execAutomationCtlPopup(AudioTrack* track, const QPoint& menupos, int a nextEvent->setData(NEXT_EVENT); nextEvent->setEnabled(canSeekNext); - //menu->insertSeparator(SEP2); menu->addSeparator(); QAction* addEvent = new QAction(menu); @@ -2726,8 +2483,8 @@ int Song::execMidiAutomationCtlPopup(MidiTrack* track, MidiPart* part, const QPo if(!track && !part) return -1; - //enum { HEADER, SEP1, PREV_EVENT, NEXT_EVENT, SEP2, ADD_EVENT, CLEAR_EVENT, CLEAR_RANGE, CLEAR_ALL_EVENTS }; - enum { HEADER, ADD_EVENT, CLEAR_EVENT }; + //enum { PREV_EVENT, NEXT_EVENT, ADD_EVENT, CLEAR_EVENT, CLEAR_RANGE, CLEAR_ALL_EVENTS }; + enum { ADD_EVENT, CLEAR_EVENT }; QMenu* menu = new QMenu; //int count = 0; @@ -2813,22 +2570,8 @@ int Song::execMidiAutomationCtlPopup(MidiTrack* track, MidiPart* part, const QPo } } - - //menu->insertItem(tr("Automation:"), HEADER, HEADER); - //menu->setItemEnabled(HEADER, false); - //MenuTitleItem* title = new MenuTitleItem(tr("Automation:")); ddskrjo - ///menu->insertItem(title, HEADER, HEADER); ddskrjo - - //menu->insertSeparator(SEP1); + menu->addAction(new MusEGui::MenuTitleItem(tr("Automation:"), menu)); -// menu->insertItem(tr("previous event"), PREV_EVENT, PREV_EVENT); -// menu->setItemEnabled(PREV_EVENT, canSeekPrev); - -// menu->insertItem(tr("next event"), NEXT_EVENT, NEXT_EVENT); -// menu->setItemEnabled(NEXT_EVENT, canSeekNext); - -// menu->insertSeparator(SEP2); - QAction* addEvent = new QAction(menu); menu->addAction(addEvent); if(isEvent) @@ -3089,220 +2832,6 @@ void Song::connectJackRoutes(AudioTrack* track, bool disconnect) } } -/* -//--------------------------------------------------------- -// chooseMidiRoutes -//--------------------------------------------------------- - -void Song::chooseMidiRoutes(QButton* parent, MidiTrack* track, bool dst) -{ - if(!track) - return; - - //if(!track->isMidiTrack()) - // return; - - QPoint ppt = QCursor::pos(); - //QPoint ppt = parent->rect().bottomLeft(); - - //if(dst) - //{ - // TODO - - //} - //else - //{ - RouteList* rl = dst ? track->outRoutes() : track->inRoutes(); - //Route dst(track, -1); - - QPopupMenu* pup = new QPopupMenu(parent); - pup->setCheckable(true); - - int gid = 0; - int n; - - // FIXME: - // Routes can't be re-read until the message sent from msgAddRoute1() - // has had time to be sent and actually affected the routes. - ///_redisplay: - - pup->clear(); - gid = 0; - - //MidiInPortList* tl = MusEGlobal::song->midiInPorts(); - //for(iMidiInPort i = tl->begin();i != tl->end(); ++i) - for(int i = 0; i < MIDI_PORTS; ++i) - { - //MidiInPort* track = *i; - // NOTE: Could possibly list all devices, bypassing ports, but no, let's stick wth ports. - MidiPort* mp = &MusEGlobal::midiPorts[i]; - MidiDevice* md = mp->device(); - if(!md) - continue; - - if(!(md->rwFlags() & (dst ? 1 : 2))) - continue; - - //printf("MidiStrip::iRoutePressed adding submenu portnum:%d\n", i); - - //QMenu* m = menu->addMenu(track->name()); - QPopupMenu* subp = new QPopupMenu(parent); - - for(int ch = 0; ch < MIDI_CHANNELS; ++ch) - { - //QAction* a = m->addAction(QString("Channel %1").arg(ch+1)); - //subp->insertItem(QT_TRANSLATE_NOOP("@default", QString("Channel %1").arg(ch+1)), i * MIDI_CHANNELS + ch); - gid = i * MIDI_CHANNELS + ch; - - //printf("MidiStrip::iRoutePressed inserting gid:%d\n", gid); - - subp->insertItem(QString("Channel %1").arg(ch+1), gid); - //a->setCheckable(true); - //Route src(track, ch, RouteNode::TRACK); - //Route src(md, ch); - //Route r = Route(src, dst); - //a->setData(QVariant::fromValue(r)); - //a->setChecked(rl->indexOf(r) != -1); - Route srcRoute(md, ch); - for(iRoute ir = rl->begin(); ir != rl->end(); ++ir) - { - //if(*ir == dst) - if(*ir == srcRoute) - { - subp->setItemChecked(gid, true); - break; - } - } - } - pup->insertItem(QT_TRANSLATE_NOOP("@default", md->name()), subp); - } - -// QPopupMenu* pup = new QPopupMenu(iR); -// pup->setCheckable(true); - //MidiTrack* t = (MidiTrack*)track; -// RouteList* irl = track->inRoutes(); - -// MidiTrack* t = (MidiTrack*)track; -// int gid = 0; -// for (int i = 0; i < channel; ++i) -// { -// char buffer[128]; -// snprintf(buffer, 128, "%s %d", tr("Channel").toLatin1().constData(), i+1); -// MenuTitleItem* titel = new MenuTitleItem(QString(buffer)); -// pup->insertItem(titel); - -// if (!MusEGlobal::checkAudioDevice()) return; -// std::list ol = MusEGlobal::audioDevice->outputPorts(); -// for (std::list::iterator ip = ol.begin(); ip != ol.end(); ++ip) { -// int id = pup->insertItem(*ip, (gid * 16) + i); -// Route dst(*ip, true, i); -// ++gid; -// for (iRoute ir = irl->begin(); ir != irl->end(); ++ir) { -// if (*ir == dst) { -// pup->setItemChecked(id, true); -// break; -// } -// } -// } -// if (i+1 != channel) -// pup->insertSeparator(); -// } - - if(pup->count() == 0) - { - delete pup; - return; - } - - //n = pup->exec(QCursor::pos()); - n = pup->exec(ppt); - ///delete pup; - if (n != -1) - { - int mdidx = n / MIDI_CHANNELS; - int ch = n % MIDI_CHANNELS; - - //if(MusEGlobal::debugMsg) - //printf("Song::chooseMidiRoutes mdidx:%d ch:%d\n", mdidx, ch); - - MidiPort* mp = &MusEGlobal::midiPorts[mdidx]; - MidiDevice* md = mp->device(); - if(!md) - { - delete pup; - return; - } - - //if(!(md->rwFlags() & 2)) - if(!(md->rwFlags() & (dst ? 1 : 2))) - { - delete pup; - return; - } - - //QString s(pup->text(n)); - //QT_TRANSLATE_NOOP("@default", md->name()) - - //Route srcRoute(s, false, -1); - Route aRoute(md, ch); - //Route srcRoute(md, -1); - //Route dstRoute(track, -1); - Route bRoute(track, ch); - - //if (track->type() == Track::AUDIO_INPUT) - // srcRoute.channel = dstRoute.channel = n & 0xf; - iRoute iir = rl->begin(); - for (; iir != rl->end(); ++iir) - { - //if(*iir == (dst ? bRoute : aRoute)) - if(*iir == aRoute) - break; - } - if (iir != rl->end()) - { - // disconnect - if(dst) - { - //printf("Song::chooseMidiRoutes removing route src track name: %s dst device name: %s\n", track->name().toLatin1().constData(), md->name().toLatin1().constData()); - MusEGlobal::audio->msgRemoveRoute(bRoute, aRoute); - } - else - { - //printf("Song::chooseMidiRoutes removing route src device name: %s dst track name: %s\n", md->name().toLatin1().constData(), track->name().toLatin1().constData()); - MusEGlobal::audio->msgRemoveRoute(aRoute, bRoute); - } - } - else - { - // connect - if(dst) - { - //printf("Song::chooseMidiRoutes adding route src track name: %s dst device name: %s\n", track->name().toLatin1().constData(), md->name().toLatin1().constData()); - MusEGlobal::audio->msgAddRoute(bRoute, aRoute); - } - else - { - //printf("Song::chooseMidiRoutes adding route src device name: %s dst track name: %s\n", md->name().toLatin1().constData(), track->name().toLatin1().constData()); - MusEGlobal::audio->msgAddRoute(aRoute, bRoute); - } - } - - //printf("Song::chooseMidiRoutes calling msgUpdateSoloStates\n"); - MusEGlobal::audio->msgUpdateSoloStates(); - //printf("Song::chooseMidiRoutes calling MusEGlobal::song->update\n"); - MusEGlobal::song->update(SC_ROUTE); - - // p3.3.46 - ///goto _redisplay; - } - delete pup; - parent->setDown(false); // pup->exec() catches mouse release event - //printf("Song::chooseMidiRoutes end\n"); - - //} -} -*/ - //--------------------------------------------------------- // insertTrack0 //--------------------------------------------------------- @@ -3413,37 +2942,6 @@ void Song::insertTrack2(Track* track, int idx) } } - /* - // - // add routes - // - - if (track->isMidiTrack()) - return; - AudioTrack* at = (AudioTrack*)track; - Route src(at, -1); - if (at->type() == Track::AUDIO_OUTPUT) { - const RouteList* rl = at->inRoutes(); - for (ciRoute r = rl->begin(); r != rl->end(); ++r) - r->track->outRoutes()->push_back(src); - } - else if (at->type() == Track::AUDIO_INPUT) { - const RouteList* rl = at->outRoutes(); - for (ciRoute r = rl->begin(); r != rl->end(); ++r) - r->track->inRoutes()->push_back(src); - } - else { - const RouteList* rl = at->inRoutes(); - for (ciRoute r = rl->begin(); r != rl->end(); ++r) - r->track->outRoutes()->push_back(src); - rl = at->outRoutes(); - for (ciRoute r = rl->begin(); r != rl->end(); ++r) - r->track->inRoutes()->push_back(src); - } - */ - - // p3.3.38 - // // add routes // @@ -3479,14 +2977,14 @@ void Song::insertTrack2(Track* track, int idx) const RouteList* rl = track->inRoutes(); for (ciRoute r = rl->begin(); r != rl->end(); ++r) { - //printf("Song::insertTrack2 %s in route port:%d\n", track->name().toLatin1().constData(), r->midiPort); // p3.3.50 + //printf("Song::insertTrack2 %s in route port:%d\n", track->name().toLatin1().constData(), r->midiPort); Route src(track, r->channel); MusEGlobal::midiPorts[r->midiPort].outRoutes()->push_back(src); } rl = track->outRoutes(); for (ciRoute r = rl->begin(); r != rl->end(); ++r) { - //printf("Song::insertTrack2 %s out route port:%d\n", track->name().toLatin1().constData(), r->midiPort); // p3.3.50 + //printf("Song::insertTrack2 %s out route port:%d\n", track->name().toLatin1().constData(), r->midiPort); Route src(track, r->channel); MusEGlobal::midiPorts[r->midiPort].inRoutes()->push_back(src); } @@ -3583,7 +3081,7 @@ void Song::removeTrack1(Track* track) SynthI* si = (SynthI*)track; if(si->hasGui()) si->showGui(false); - if(si->hasNativeGui()) // p4.0.20 + if(si->hasNativeGui()) si->showNativeGui(false); } break; @@ -3599,7 +3097,7 @@ void Song::removeTrack1(Track* track) void Song::removeTrack2(Track* track) { - //printf("Song::removeTrack2 track:%s\n", track->name().toLatin1().constData()); // p3.3.50 + //printf("Song::removeTrack2 track:%s\n", track->name().toLatin1().constData()); switch(track->type()) { case Track::MIDI: @@ -3639,38 +3137,6 @@ void Song::removeTrack2(Track* track) } _tracks.erase(track); - - /* - if (track->isMidiTrack()) - return; - // - // remove routes - // - - AudioTrack* at = (AudioTrack*)track; - Route src(at, -1); - if (at->type() == Track::AUDIO_OUTPUT) { - const RouteList* rl = at->inRoutes(); - for (ciRoute r = rl->begin(); r != rl->end(); ++r) - r->track->outRoutes()->removeRoute(src); - } - else if (at->type() == Track::AUDIO_INPUT) { - const RouteList* rl = at->outRoutes(); - for (ciRoute r = rl->begin(); r != rl->end(); ++r) - r->track->inRoutes()->removeRoute(src); - } - else { - const RouteList* rl = at->inRoutes(); - for (ciRoute r = rl->begin(); r != rl->end(); ++r) - r->track->outRoutes()->removeRoute(src); - rl = at->outRoutes(); - for (ciRoute r = rl->begin(); r != rl->end(); ++r) - r->track->inRoutes()->removeRoute(src); - } - */ - - // p3.3.38 - // // remove routes // @@ -3682,7 +3148,7 @@ void Song::removeTrack2(Track* track) { //if(r->track == track) // r->track->outRoutes()->removeRoute(*r); - //printf("Song::removeTrack2 %s audio out track:%s\n", track->name().toLatin1().constData(), r->track->name().toLatin1().constData()); // p3.3.50 + //printf("Song::removeTrack2 %s audio out track:%s\n", track->name().toLatin1().constData(), r->track->name().toLatin1().constData()); // p3.3.50 Route src(track, r->channel, r->channels); src.remoteChannel = r->remoteChannel; @@ -3696,7 +3162,7 @@ void Song::removeTrack2(Track* track) { //if(r->track == track) // r->track->inRoutes()->removeRoute(*r); - //printf("Song::removeTrack2 %s audio in track:%s\n", track->name().toLatin1().constData(), r->track->name().toLatin1().constData()); // p3.3.50 + //printf("Song::removeTrack2 %s audio in track:%s\n", track->name().toLatin1().constData(), r->track->name().toLatin1().constData()); // p3.3.50 Route src(track, r->channel, r->channels); src.remoteChannel = r->remoteChannel; @@ -3708,14 +3174,14 @@ void Song::removeTrack2(Track* track) const RouteList* rl = track->inRoutes(); for (ciRoute r = rl->begin(); r != rl->end(); ++r) { - //printf("Song::removeTrack2 %s in route port:%d\n", track->name().toLatin1().constData(), r->midiPort); // p3.3.50 + //printf("Song::removeTrack2 %s in route port:%d\n", track->name().toLatin1().constData(), r->midiPort); Route src(track, r->channel); MusEGlobal::midiPorts[r->midiPort].outRoutes()->removeRoute(src); } rl = track->outRoutes(); for (ciRoute r = rl->begin(); r != rl->end(); ++r) { - //printf("Song::removeTrack2 %s out route port:%d\n", track->name().toLatin1().constData(), r->midiPort); // p3.3.50 + //printf("Song::removeTrack2 %s out route port:%d\n", track->name().toLatin1().constData(), r->midiPort); Route src(track, r->channel); MusEGlobal::midiPorts[r->midiPort].inRoutes()->removeRoute(src); } @@ -3727,7 +3193,7 @@ void Song::removeTrack2(Track* track) { //if(r->track == track) // r->track->outRoutes()->removeRoute(*r); - //printf("Song::removeTrack2 %s in route track:%s\n", track->name().toLatin1().constData(), r->track->name().toLatin1().constData()); // p3.3.50 + //printf("Song::removeTrack2 %s in route track:%s\n", track->name().toLatin1().constData(), r->track->name().toLatin1().constData()); // p3.3.50 Route src(track, r->channel, r->channels); src.remoteChannel = r->remoteChannel; @@ -3738,7 +3204,7 @@ void Song::removeTrack2(Track* track) { //if(r->track == track) // r->track->inRoutes()->removeRoute(*r); - //printf("Song::removeTrack2 %s out route track:%s\n", track->name().toLatin1().constData(), r->track->name().toLatin1().constData()); // p3.3.50 + //printf("Song::removeTrack2 %s out route track:%s\n", track->name().toLatin1().constData(), r->track->name().toLatin1().constData()); // p3.3.50 Route src(track, r->channel, r->channels); src.remoteChannel = r->remoteChannel; diff --git a/muse2/muse/songfile.cpp b/muse2/muse/songfile.cpp index fbcb23cc..9adfd406 100644 --- a/muse2/muse/songfile.cpp +++ b/muse2/muse/songfile.cpp @@ -21,7 +21,6 @@ // //========================================================= -#include #include #include #include @@ -1294,10 +1293,10 @@ void MusE::readToplevels(MusECore::Xml& xml) } else if (tag == "scoreedit") { MusEGui::ScoreEdit* score = new MusEGui::ScoreEdit(this, 0, _arranger->cursorValue()); - score->show(); toplevels.push_back(score); connect(score, SIGNAL(isDeleting(MusEGui::TopWin*)), SLOT(toplevelDeleting(MusEGui::TopWin*))); connect(score, SIGNAL(name_changed()), arrangerView, SLOT(scoreNamingChanged())); + score->show(); score->readStatus(xml); } else if (tag == "drumedit") { diff --git a/muse2/muse/synth.cpp b/muse2/muse/synth.cpp index fd526931..93067835 100644 --- a/muse2/muse/synth.cpp +++ b/muse2/muse/synth.cpp @@ -60,7 +60,7 @@ std::vector synthis; // array of available MusEGlobal::synthi namespace MusECore { extern void connectNodes(AudioTrack*, AudioTrack*); -bool SynthI::_isVisible=true; +bool SynthI::_isVisible=false; /* //--------------------------------------------------------- diff --git a/muse2/muse/track.cpp b/muse2/muse/track.cpp index 1ee1dfde..2091d03e 100644 --- a/muse2/muse/track.cpp +++ b/muse2/muse/track.cpp @@ -950,15 +950,15 @@ void Track::writeRouting(int level, Xml& xml) const // Support Midi Port to Audio Input track routes. p4.0.14 Tim. if(r->type == Route::MIDI_PORT_ROUTE) { - s = QT_TRANSLATE_NOOP("@default", "Route"); + s = "Route"; if(r->channel != -1 && r->channel != 0) - s += QString(QT_TRANSLATE_NOOP("@default", " channelMask=\"%1\"")).arg(r->channel); // Use new channel mask. + s += QString(" channelMask=\"%1\"").arg(r->channel); // Use new channel mask. xml.tag(level++, s.toLatin1().constData()); xml.tag(level, "source mport=\"%d\"/", r->midiPort); - s = QT_TRANSLATE_NOOP("@default", "dest"); - s += QString(QT_TRANSLATE_NOOP("@default", " name=\"%1\"/")).arg(Xml::xmlString(name())); + s = "dest"; + s += QString(" name=\"%1\"/").arg(Xml::xmlString(name())); xml.tag(level, s.toLatin1().constData()); xml.etag(level--, "Route"); @@ -966,17 +966,17 @@ void Track::writeRouting(int level, Xml& xml) const else if(!r->name().isEmpty()) { - s = QT_TRANSLATE_NOOP("@default", "Route"); + s = "Route"; if(r->channel != -1) - s += QString(QT_TRANSLATE_NOOP("@default", " channel=\"%1\"")).arg(r->channel); + s += QString(" channel=\"%1\"").arg(r->channel); xml.tag(level++, s.toAscii().constData()); // p3.3.38 New routing scheme. - s = QT_TRANSLATE_NOOP("@default", "source"); + s = "source"; if(r->type != Route::TRACK_ROUTE) - s += QString(QT_TRANSLATE_NOOP("@default", " type=\"%1\"")).arg(r->type); - s += QString(QT_TRANSLATE_NOOP("@default", " name=\"%1\"/")).arg(Xml::xmlString(r->name())); + s += QString(" type=\"%1\"").arg(r->type); + s += QString(" name=\"%1\"/").arg(Xml::xmlString(r->name())); xml.tag(level, s.toAscii().constData()); xml.tag(level, "dest name=\"%s\"/", Xml::xmlString(name()).toLatin1().constData()); @@ -996,40 +996,40 @@ void Track::writeRouting(int level, Xml& xml) const if(r->midiPort != -1 || !r->name().isEmpty()) // p3.3.49 { - s = QT_TRANSLATE_NOOP("@default", "Route"); + s = "Route"; if(r->type == Route::MIDI_PORT_ROUTE) // p3.3.50 { if(r->channel != -1 && r->channel != 0) - s += QString(QT_TRANSLATE_NOOP("@default", " channelMask=\"%1\"")).arg(r->channel); // Use new channel mask. + s += QString(" channelMask=\"%1\"").arg(r->channel); // Use new channel mask. } else { if(r->channel != -1) - s += QString(QT_TRANSLATE_NOOP("@default", " channel=\"%1\"")).arg(r->channel); + s += QString(" channel=\"%1\"").arg(r->channel); } if(r->channels != -1) - s += QString(QT_TRANSLATE_NOOP("@default", " channels=\"%1\"")).arg(r->channels); + s += QString(" channels=\"%1\"").arg(r->channels); if(r->remoteChannel != -1) - s += QString(QT_TRANSLATE_NOOP("@default", " remch=\"%1\"")).arg(r->remoteChannel); + s += QString(" remch=\"%1\"").arg(r->remoteChannel); xml.tag(level++, s.toAscii().constData()); // Allow for a regular mono or stereo track to feed a multi-channel synti. xml.tag(level, "source name=\"%s\"/", Xml::xmlString(name()).toLatin1().constData()); - s = QT_TRANSLATE_NOOP("@default", "dest"); + s = "dest"; //if(r->type == Route::MIDI_DEVICE_ROUTE) // p3.3.49 Obsolete since 1.1-RC2 // s += QString(QT_TRANSLATE_NOOP("@default", " devtype=\"%1\"")).arg(r->device->deviceType()); // //if(r->type != Route::TRACK_ROUTE) // if(r->type != Route::TRACK_ROUTE && r->type != Route::MIDI_PORT_ROUTE) - s += QString(QT_TRANSLATE_NOOP("@default", " type=\"%1\"")).arg(r->type); + s += QString(" type=\"%1\"").arg(r->type); //s += QString(QT_TRANSLATE_NOOP("@default", " name=\"%1\"/")).arg(r->name()); if(r->type == Route::MIDI_PORT_ROUTE) // p3.3.49 - s += QString(QT_TRANSLATE_NOOP("@default", " mport=\"%1\"/")).arg(r->midiPort); + s += QString(" mport=\"%1\"/").arg(r->midiPort); else - s += QString(QT_TRANSLATE_NOOP("@default", " name=\"%1\"/")).arg(Xml::xmlString(r->name())); + s += QString(" name=\"%1\"/").arg(Xml::xmlString(r->name())); xml.tag(level, s.toAscii().constData()); diff --git a/muse2/muse/transport.cpp b/muse2/muse/transport.cpp index 60494bc4..e978cb2e 100644 --- a/muse2/muse/transport.cpp +++ b/muse2/muse/transport.cpp @@ -45,13 +45,6 @@ namespace MusEGui { -static const char* recordTransportText = QT_TRANSLATE_NOOP("@default", "Click this button to enable recording"); -static const char* stopTransportText = QT_TRANSLATE_NOOP("@default", "Click this button to stop playback"); -static const char* playTransportText = QT_TRANSLATE_NOOP("@default", "Click this button to start playback"); -static const char* startTransportText = QT_TRANSLATE_NOOP("@default", "Click this button to rewind to start position"); -static const char* frewindTransportText = QT_TRANSLATE_NOOP("@default", "Click this button to rewind"); -static const char* fforwardTransportText = QT_TRANSLATE_NOOP("@default", "Click this button to forward current play position"); - //--------------------------------------------------------- // toolButton //--------------------------------------------------------- @@ -401,25 +394,25 @@ Transport::Transport(QWidget* parent, const char* name) tb->setSpacing(0); buttons[0] = newButton(startIcon, tr("rewind to start")); - buttons[0]->setWhatsThis(tr(startTransportText)); + buttons[0]->setWhatsThis(tr("Click this button to rewind to start position")); buttons[1] = newButton(frewindIcon, tr("rewind")); buttons[1]->setAutoRepeat(true); - buttons[1]->setWhatsThis(tr(frewindTransportText)); + buttons[1]->setWhatsThis(tr("Click this button to rewind")); buttons[2] = newButton(fforwardIcon, tr("forward")); buttons[2]->setAutoRepeat(true); - buttons[2]->setWhatsThis(tr(fforwardTransportText)); + buttons[2]->setWhatsThis(tr("Click this button to forward current play position")); buttons[3] = newButton(stopIcon, tr("stop"), true); buttons[3]->setChecked(true); // set STOP - buttons[3]->setWhatsThis(tr(stopTransportText)); + buttons[3]->setWhatsThis(tr("Click this button to stop playback")); buttons[4] = newButton(playIcon, tr("play"), true); - buttons[4]->setWhatsThis(tr(playTransportText)); + buttons[4]->setWhatsThis(tr("Click this button to start playback")); buttons[5] = newButton(record_on_Icon, tr("record"), true); - buttons[5]->setWhatsThis(tr(recordTransportText)); + buttons[5]->setWhatsThis(tr("Click this button to enable recording")); for (int i = 0; i < 6; ++i) { diff --git a/muse2/muse/waveedit/waveedit.cpp b/muse2/muse/waveedit/waveedit.cpp index 8d58cfb3..537d8529 100644 --- a/muse2/muse/waveedit/waveedit.cpp +++ b/muse2/muse/waveedit/waveedit.cpp @@ -94,23 +94,23 @@ WaveEdit::WaveEdit(MusECore::PartList* pl) menuGain = menuFunctions->addMenu(tr("&Gain")); - act = menuGain->addAction(tr("200%")); + act = menuGain->addAction("200%"); mapper->setMapping(act, CMD_GAIN_200); connect(act, SIGNAL(triggered()), mapper, SLOT(map())); - act = menuGain->addAction(tr("150%")); + act = menuGain->addAction("150%"); mapper->setMapping(act, CMD_GAIN_150); connect(act, SIGNAL(triggered()), mapper, SLOT(map())); - act = menuGain->addAction(tr("75%")); + act = menuGain->addAction("75%"); mapper->setMapping(act, CMD_GAIN_75); connect(act, SIGNAL(triggered()), mapper, SLOT(map())); - act = menuGain->addAction(tr("50%")); + act = menuGain->addAction("50%"); mapper->setMapping(act, CMD_GAIN_50); connect(act, SIGNAL(triggered()), mapper, SLOT(map())); - act = menuGain->addAction(tr("25%")); + act = menuGain->addAction("25%"); mapper->setMapping(act, CMD_GAIN_25); connect(act, SIGNAL(triggered()), mapper, SLOT(map())); diff --git a/muse2/muse/widgets/comboQuant.cpp b/muse2/muse/widgets/comboQuant.cpp index aee7ad5c..6d8dc30c 100644 --- a/muse2/muse/widgets/comboQuant.cpp +++ b/muse2/muse/widgets/comboQuant.cpp @@ -37,9 +37,9 @@ static int quantTable[] = { }; static const char* quantStrings[] = { - QT_TRANSLATE_NOOP("@default", "Off"), "64T", "32T", "16T", "8T", "4T", "2T", "1T", - QT_TRANSLATE_NOOP("@default", "Off"), "64", "32", "16", "8", "4", "2", "1", - QT_TRANSLATE_NOOP("@default", "Off"), "64.", "32.", "16.", "8.", "4.", "2.", "1." + QT_TRANSLATE_NOOP("MusEGui::ComboQuant", "Off"), "64T", "32T", "16T", "8T", "4T", "2T", "1T", + QT_TRANSLATE_NOOP("MusEGui::ComboQuant", "Off"), "64", "32", "16", "8", "4", "2", "1", + QT_TRANSLATE_NOOP("MusEGui::ComboQuant", "Off"), "64.", "32.", "16.", "8.", "4.", "2.", "1." }; //--------------------------------------------------------- diff --git a/muse2/muse/widgets/filedialog.cpp b/muse2/muse/widgets/filedialog.cpp index df391b45..68f2718f 100644 --- a/muse2/muse/widgets/filedialog.cpp +++ b/muse2/muse/widgets/filedialog.cpp @@ -33,6 +33,7 @@ #include "filedialog.h" #include "../globals.h" #include "gconfig.h" +#include "helper.h" namespace MusEGui { @@ -300,9 +301,11 @@ QString getFilterExtension(const QString &filter) //--------------------------------------------------------- // getOpenFileName //--------------------------------------------------------- -QString getOpenFileName(const QString &startWith, - const QStringList& filters, QWidget* parent, const QString& name, bool* all, MFileDialog::ViewType viewType) +QString getOpenFileName(const QString &startWith, const char** filters_chararray, + QWidget* parent, const QString& name, bool* all, MFileDialog::ViewType viewType) { + QStringList filters = localizedStringListFromCharArray(filters_chararray, "file_patterns"); + QString initialSelection; // FIXME Tim. MFileDialog *dlg = new MFileDialog(startWith, QString::null, parent, false); dlg->setNameFilters(filters); @@ -339,9 +342,10 @@ QString getOpenFileName(const QString &startWith, //--------------------------------------------------------- QString getSaveFileName(const QString &startWith, - //const char** filters, QWidget* parent, const QString& name) - const QStringList& filters, QWidget* parent, const QString& name) + const char** filters_chararray, QWidget* parent, const QString& name) { + QStringList filters = localizedStringListFromCharArray(filters_chararray, "file_patterns"); + MFileDialog *dlg = new MFileDialog(startWith, QString::null, parent, true); dlg->setNameFilters(filters); dlg->setWindowTitle(name); @@ -404,9 +408,9 @@ QString getSaveFileName(const QString &startWith, //--------------------------------------------------------- QString getImageFileName(const QString& startWith, - //const char** filters, QWidget* parent, const QString& name) - const QStringList& filters, QWidget* parent, const QString& name) + const char** filters_chararray, QWidget* parent, const QString& name) { + QStringList filters = localizedStringListFromCharArray(filters_chararray, "file_patterns"); QString initialSelection; QString* workingDirectory = new QString(QDir::currentPath()); if (!startWith.isEmpty() ) { @@ -547,15 +551,14 @@ MFile::~MFile() // open //--------------------------------------------------------- -//FILE* MFile::open(const char* mode, const char** pattern, -FILE* MFile::open(const char* mode, const QStringList& pattern, +FILE* MFile::open(const char* mode, const char** patterns_chararray, QWidget* parent, bool noError, bool warnIfOverwrite, const QString& caption) { QString name; if (strcmp(mode, "r") == 0) - name = getOpenFileName(path, pattern, parent, caption, 0); + name = getOpenFileName(path, patterns_chararray, parent, caption, 0); else - name = getSaveFileName(path, pattern, parent, caption); + name = getSaveFileName(path, patterns_chararray, parent, caption); if (name.isEmpty()) return 0; f = fileOpen(parent, name, ext, mode, isPopen, noError, diff --git a/muse2/muse/widgets/filedialog.h b/muse2/muse/widgets/filedialog.h index e5687494..b731b65a 100644 --- a/muse2/muse/widgets/filedialog.h +++ b/muse2/muse/widgets/filedialog.h @@ -24,8 +24,6 @@ #include "ui_fdialogbuttons.h" -class QStringList; - namespace MusEGui { //--------------------------------------------------------- @@ -91,14 +89,11 @@ class ContentsPreview : public QWidget, public Q3FilePreview { }; */ -//QString getSaveFileName(const QString& startWidth, const char** filter, -QString getSaveFileName(const QString& startWidth, const QStringList& filters, +QString getSaveFileName(const QString& startWidth, const char** filters, QWidget* parent, const QString& name); -//QString getOpenFileName(const QString& startWidth, const char** filter, -QString getOpenFileName(const QString& startWidth, const QStringList& filters, +QString getOpenFileName(const QString& startWidth, const char** filters, QWidget* parent, const QString& name, bool* openAll, MFileDialog::ViewType viewType = MFileDialog::PROJECT_VIEW); -//QString getImageFileName(const QString& startWith, const char** filters, -QString getImageFileName(const QString& startWith, const QStringList& filters, +QString getImageFileName(const QString& startWith, const char** filters, QWidget* parent, const QString& name); FILE* fileOpen(QWidget*, QString, const QString&, @@ -119,8 +114,7 @@ class MFile { public: MFile(const QString& path, const QString& ext); ~MFile(); - //FILE* open(const char* mode, const char** pattern, - FILE* open(const char* mode, const QStringList& pattern, + FILE* open(const char* mode, const char** patterns, QWidget* parent, bool noError, bool warnIfOverwrite, const QString& caption); }; diff --git a/muse2/muse/widgets/metronome.cpp b/muse2/muse/widgets/metronome.cpp index e6b7bd91..416e9e47 100644 --- a/muse2/muse/widgets/metronome.cpp +++ b/muse2/muse/widgets/metronome.cpp @@ -85,7 +85,7 @@ void MetronomeConfig::audioBeepRoutesClicked() int nn = 0; for(MusECore::iAudioOutput iao = ol->begin(); iao != ol->end(); ++iao) { - QAction* action = pup->addAction(QT_TRANSLATE_NOOP("@default", (*iao)->name())); + QAction* action = pup->addAction((*iao)->name()); action->setCheckable(true); action->setData(nn); if((*iao)->sendMetronome()) diff --git a/muse2/muse/widgets/mtscale_flo.cpp b/muse2/muse/widgets/mtscale_flo.cpp index df077102..c54ef1ad 100644 --- a/muse2/muse/widgets/mtscale_flo.cpp +++ b/muse2/muse/widgets/mtscale_flo.cpp @@ -45,6 +45,9 @@ MTScaleFlo::MTScaleFlo(ScoreCanvas* parent_editor, QWidget* parent_widget) pos[0] = MusEGlobal::song->cpos(); pos[1] = MusEGlobal::song->lpos(); pos[2] = MusEGlobal::song->rpos(); + xpos=0; + xoffset=0; + button = Qt::NoButton; setMouseTracking(true); connect(MusEGlobal::song, SIGNAL(posChanged(int, unsigned, bool)), SLOT(setPos(int, unsigned, bool))); diff --git a/muse2/muse/widgets/routepopup.cpp b/muse2/muse/widgets/routepopup.cpp index 73d29c25..80ae98bd 100644 --- a/muse2/muse/widgets/routepopup.cpp +++ b/muse2/muse/widgets/routepopup.cpp @@ -220,9 +220,9 @@ int RoutePopupMenu::addSyntiPorts(MusECore::AudioTrack* t, PopupMenu* lb, int id { char buffer[128]; if(tchans == 2) - snprintf(buffer, 128, "%s %d,%d", chpup->tr("Channel").toLatin1().constData(), ch+1, ch+2); + snprintf(buffer, 128, "%s %d,%d", tr("Channel").toLatin1().constData(), ch+1, ch+2); else - snprintf(buffer, 128, "%s %d", chpup->tr("Channel").toLatin1().constData(), ch+1); + snprintf(buffer, 128, "%s %d", tr("Channel").toLatin1().constData(), ch+1); act = chpup->addAction(QString(buffer)); act->setCheckable(true); @@ -347,7 +347,7 @@ int RoutePopupMenu::addMultiChannelPorts(MusECore::AudioTrack* t, PopupMenu* pup if(chans > 1) { char buffer[128]; - snprintf(buffer, 128, "%s %d", pup->tr("Channel").toLatin1().constData(), ch+1); + snprintf(buffer, 128, "%s %d", tr("Channel").toLatin1().constData(), ch+1); chpup->setTitle(QString(buffer)); pup->addMenu(chpup); } @@ -425,7 +425,7 @@ int RoutePopupMenu::addMultiChannelPorts(MusECore::AudioTrack* t, PopupMenu* pup if(chans > 2) { char buffer[128]; - snprintf(buffer, 128, "%s %d,%d", pup->tr("Channel").toLatin1().constData(), ch+1, ch+2); + snprintf(buffer, 128, "%s %d,%d", tr("Channel").toLatin1().constData(), ch+1, ch+2); chpup->setTitle(QString(buffer)); pup->addMenu(chpup); } @@ -482,7 +482,7 @@ int RoutePopupMenu::nonSyntiTrackAddSyntis(MusECore::AudioTrack* t, PopupMenu* l for(int ch = 0; ch < chans; ++ch) { char buffer[128]; - snprintf(buffer, 128, "%s %d", chpup->tr("Channel").toLatin1().constData(), ch+1); + snprintf(buffer, 128, "%s %d", tr("Channel").toLatin1().constData(), ch+1); act = chpup->addAction(QString(buffer)); act->setCheckable(true); @@ -535,7 +535,7 @@ int RoutePopupMenu::nonSyntiTrackAddSyntis(MusECore::AudioTrack* t, PopupMenu* l for(int ch = 0; ch < chans; ++ch) { char buffer[128]; - snprintf(buffer, 128, "%s %d,%d", chpup->tr("Channel").toLatin1().constData(), ch+1, ch+2); + snprintf(buffer, 128, "%s %d,%d", tr("Channel").toLatin1().constData(), ch+1, ch+2); act = chpup->addAction(QString(buffer)); act->setCheckable(true); diff --git a/muse2/muse/widgets/shortcutcapturedialog.cpp b/muse2/muse/widgets/shortcutcapturedialog.cpp index 46a3e75d..ad78a2ad 100644 --- a/muse2/muse/widgets/shortcutcapturedialog.cpp +++ b/muse2/muse/widgets/shortcutcapturedialog.cpp @@ -30,7 +30,6 @@ // // Description: // Dialog window for capturing keyboard shortcuts -// #include "shortcutcapturedialog.h" #include "shortcuts.h" @@ -39,6 +38,7 @@ #include #include #include +#include namespace MusEGui { @@ -105,7 +105,7 @@ void ShortcutCaptureDialog::keyPressEvent(QKeyEvent* e) (( shortcuts[i].type & (shortcuts[shortcutindex].type | INVIS_SHRT)) || shortcuts[i].type & GLOBAL_SHRT || shortcuts[shortcutindex].type & GLOBAL_SHRT)) { // affect the same scope - msgString = tr("Shortcut conflicts with %1").arg(shortcuts[i].descr); + msgString = tr("Shortcut conflicts with %1").arg(qApp->translate("shortcuts",shortcuts[i].descr)); conflict = true; break; } diff --git a/muse2/muse/widgets/shortcutconfig.cpp b/muse2/muse/widgets/shortcutconfig.cpp index fc08e7ce..609564cc 100644 --- a/muse2/muse/widgets/shortcutconfig.cpp +++ b/muse2/muse/widgets/shortcutconfig.cpp @@ -30,12 +30,12 @@ // // Description: // Dialog for configuring keyboard shortcuts -// #include #include #include #include +#include #include "shortcutconfig.h" #include "shortcutcapturedialog.h" @@ -86,12 +86,12 @@ void ShortcutConfig::updateSCListView(int category) for (int i=0; i < SHRT_NUM_OF_ELEMENTS; i++) { if (shortcuts[i].type & category) { newItem = new SCListViewItem(scListView, i); - newItem->setText(SHRT_DESCR_COL, tr(shortcuts[i].descr)); + newItem->setText(SHRT_DESCR_COL, qApp->translate("shortcuts", shortcuts[i].descr)); //if(category == ALL_SHRT) // catpre = QString(shortcut_category[shortcuts[i].type].name) + QString(": "); //else // catpre.clear(); - //newItem->setText(SHRT_DESCR_COL, catpre + tr(shortcuts[i].descr)); // Tim + //newItem->setText(SHRT_DESCR_COL, catpre + tr(qApp->translate("shortcuts", shortcuts[i].descr)); // Tim QKeySequence key = QKeySequence(shortcuts[i].key); newItem->setText(SHRT_SHRTCUT_COL, key); } diff --git a/muse2/muse/widgets/shortcutconfigbase.ui b/muse2/muse/widgets/shortcutconfigbase.ui index 119a7007..6dd5d5b7 100644 --- a/muse2/muse/widgets/shortcutconfigbase.ui +++ b/muse2/muse/widgets/shortcutconfigbase.ui @@ -6,8 +6,8 @@ 0 0 - 466 - 403 + 512 + 452 @@ -16,67 +16,64 @@ true - + - - - + + + + 0 + 0 + - - - 3 + + Qt::Horizontal + + + false + + + + + 1 + 0 + + + + + 105 + 200 + + + + + Shortcut Category + + + + + + + 2 + 0 + - - 0 + + + 170 + 230 + - - - - - 1 - 0 - - - - - 105 - 200 - - - - - Shortcut Category - - - - - - - - - 2 - 0 - - - - - 170 - 230 - - - - - Shortcut - - - - - Description - - - - - + + + Shortcut + + + + + Description + + + diff --git a/muse2/muse/widgets/tb1.cpp b/muse2/muse/widgets/tb1.cpp index 3174260f..589726a9 100644 --- a/muse2/muse/widgets/tb1.cpp +++ b/muse2/muse/widgets/tb1.cpp @@ -20,7 +20,6 @@ // //========================================================= -//#include #include #include @@ -45,9 +44,9 @@ static int rasterTable[] = { }; static const char* rasterStrings[] = { - QT_TRANSLATE_NOOP("@default", "Off"), "2pp", "5pp", "64T", "32T", "16T", "8T", "4T", "2T", "1T", - QT_TRANSLATE_NOOP("@default", "Off"), "3pp", "6pp", "64", "32", "16", "8", "4", "2", "1", - QT_TRANSLATE_NOOP("@default", "Off"), "4pp", "7pp", "64.", "32.", "16.", "8.", "4.", "2.", "1." + QT_TRANSLATE_NOOP("MusEGui::Toolbar1", "Off"), "2pp", "5pp", "64T", "32T", "16T", "8T", "4T", "2T", "1T", + QT_TRANSLATE_NOOP("MusEGui::Toolbar1", "Off"), "3pp", "6pp", "64", "32", "16", "8", "4", "2", "1", + QT_TRANSLATE_NOOP("MusEGui::Toolbar1", "Off"), "4pp", "7pp", "64.", "32.", "16.", "8.", "4.", "2.", "1." }; diff --git a/muse2/muse/widgets/tools.cpp b/muse2/muse/widgets/tools.cpp index 162d2b97..d46126a9 100644 --- a/muse2/muse/widgets/tools.cpp +++ b/muse2/muse/widgets/tools.cpp @@ -30,42 +30,42 @@ namespace MusEGui { -const char* infoPointer = QT_TRANSLATE_NOOP("@default", "select Pointer Tool:\n" +const char* infoPointer = QT_TRANSLATE_NOOP("MusEGui::EditToolBar", "select Pointer Tool:\n" "with the pointer tool you can:\n" " select parts\n" " move parts\n" " copy parts"); -const char* infoPencil = QT_TRANSLATE_NOOP("@default", "select Pencil Tool:\n" +const char* infoPencil = QT_TRANSLATE_NOOP("MusEGui::EditToolBar", "select Pencil Tool:\n" "with the pencil tool you can:\n" " create new parts\n" " modify length of parts"); -const char* infoDel = QT_TRANSLATE_NOOP("@default", "select Delete Tool:\n" +const char* infoDel = QT_TRANSLATE_NOOP("MusEGui::EditToolBar", "select Delete Tool:\n" "with the delete tool you can delete parts"); -const char* infoCut = QT_TRANSLATE_NOOP("@default", "select Cut Tool:\n" +const char* infoCut = QT_TRANSLATE_NOOP("MusEGui::EditToolBar", "select Cut Tool:\n" "with the cut tool you can split a part"); -const char* infoGlue = QT_TRANSLATE_NOOP("@default", "select Glue Tool:\n" +const char* infoGlue = QT_TRANSLATE_NOOP("MusEGui::EditToolBar", "select Glue Tool:\n" "with the glue tool you can glue two parts"); -const char* infoScore = QT_TRANSLATE_NOOP("@default", "select Score Tool:\n"); -const char* infoQuant = QT_TRANSLATE_NOOP("@default", "select Quantize Tool:\n" +const char* infoScore = QT_TRANSLATE_NOOP("MusEGui::EditToolBar", "select Score Tool:\n"); +const char* infoQuant = QT_TRANSLATE_NOOP("MusEGui::EditToolBar", "select Quantize Tool:\n" "insert display quantize event"); -const char* infoDraw = QT_TRANSLATE_NOOP("@default", "select Drawing Tool"); -const char* infoMute = QT_TRANSLATE_NOOP("@default", "select Muting Tool:\n" +const char* infoDraw = QT_TRANSLATE_NOOP("MusEGui::EditToolBar", "select Drawing Tool"); +const char* infoMute = QT_TRANSLATE_NOOP("MusEGui::EditToolBar", "select Muting Tool:\n" "click on part to mute/unmute"); -const char* infoAutomation = QT_TRANSLATE_NOOP("@default", "Manipulate automation"); -const char* infoCursor = QT_TRANSLATE_NOOP("@default", "Cursor tool"); +const char* infoAutomation = QT_TRANSLATE_NOOP("MusEGui::EditToolBar", "Manipulate automation"); +const char* infoCursor = QT_TRANSLATE_NOOP("MusEGui::EditToolBar", "Cursor tool"); ToolB toolList[] = { - {&pointerIcon, QT_TRANSLATE_NOOP("@default", "pointer"), infoPointer }, - {&pencilIcon, QT_TRANSLATE_NOOP("@default", "pencil"), infoPencil }, - {&deleteIcon, QT_TRANSLATE_NOOP("@default", "eraser"), infoDel }, - {&cutIcon, QT_TRANSLATE_NOOP("@default", "cutter"), infoCut }, - {¬e1Icon, QT_TRANSLATE_NOOP("@default", "score"), infoScore }, - {&glueIcon, QT_TRANSLATE_NOOP("@default", "glue"), infoGlue }, - {&quantIcon, QT_TRANSLATE_NOOP("@default", "quantize"), infoQuant }, - {&drawIcon, QT_TRANSLATE_NOOP("@default", "draw"), infoDraw }, - {&editmuteIcon, QT_TRANSLATE_NOOP("@default", "mute parts"), infoMute }, - {&drawIcon, QT_TRANSLATE_NOOP("@default", "edit automation"),infoAutomation}, - {&cursorIcon, QT_TRANSLATE_NOOP("@default", "cursor"), infoCursor}, + {&pointerIcon, QT_TRANSLATE_NOOP("MusEGui::EditToolBar", "pointer"), infoPointer }, + {&pencilIcon, QT_TRANSLATE_NOOP("MusEGui::EditToolBar", "pencil"), infoPencil }, + {&deleteIcon, QT_TRANSLATE_NOOP("MusEGui::EditToolBar", "eraser"), infoDel }, + {&cutIcon, QT_TRANSLATE_NOOP("MusEGui::EditToolBar", "cutter"), infoCut }, + {¬e1Icon, QT_TRANSLATE_NOOP("MusEGui::EditToolBar", "score"), infoScore }, + {&glueIcon, QT_TRANSLATE_NOOP("MusEGui::EditToolBar", "glue"), infoGlue }, + {&quantIcon, QT_TRANSLATE_NOOP("MusEGui::EditToolBar", "quantize"), infoQuant }, + {&drawIcon, QT_TRANSLATE_NOOP("MusEGui::EditToolBar", "draw"), infoDraw }, + {&editmuteIcon, QT_TRANSLATE_NOOP("MusEGui::EditToolBar", "mute parts"), infoMute }, + {&drawIcon, QT_TRANSLATE_NOOP("MusEGui::EditToolBar", "edit automation"),infoAutomation}, + {&cursorIcon, QT_TRANSLATE_NOOP("MusEGui::EditToolBar", "cursor"), infoCursor}, }; //--------------------------------------------------------- @@ -94,7 +94,7 @@ EditToolBar::EditToolBar(QWidget* parent, int tools, const char*) continue; ToolB* t = &toolList[i]; - Action* a = new Action(action, 1<tip, true); + Action* a = new Action(action, 1<tip).toAscii().data(), true); actions[n] = a; //a->setIconSet(QIcon(**(t->icon))); a->setIcon(QIcon(**(t->icon))); diff --git a/muse2/muse/widgets/visibletracks.cpp b/muse2/muse/widgets/visibletracks.cpp index 84e7dd42..f8ce06bf 100644 --- a/muse2/muse/widgets/visibletracks.cpp +++ b/muse2/muse/widgets/visibletracks.cpp @@ -32,22 +32,22 @@ namespace MusEGui { -const char* waveTrack = QT_TRANSLATE_NOOP("@default", "Show wave tracks"); -const char* groupTrack = QT_TRANSLATE_NOOP("@default", "Show group tracks"); -const char* auxTrack = QT_TRANSLATE_NOOP("@default", "Show aux tracks"); -const char* inputTrack = QT_TRANSLATE_NOOP("@default", "Show input tracks"); -const char* outputTrack = QT_TRANSLATE_NOOP("@default", "Show output tracks"); -const char* midiTrack = QT_TRANSLATE_NOOP("@default", "Show midi tracks"); -const char* synthTrack = QT_TRANSLATE_NOOP("@default", "Show synth tracks"); +const char* waveTrack = QT_TRANSLATE_NOOP("MusEGui::VisibleTracks", "Show wave tracks"); +const char* groupTrack = QT_TRANSLATE_NOOP("MusEGui::VisibleTracks", "Show group tracks"); +const char* auxTrack = QT_TRANSLATE_NOOP("MusEGui::VisibleTracks", "Show aux tracks"); +const char* inputTrack = QT_TRANSLATE_NOOP("MusEGui::VisibleTracks", "Show input tracks"); +const char* outputTrack = QT_TRANSLATE_NOOP("MusEGui::VisibleTracks", "Show output tracks"); +const char* midiTrack = QT_TRANSLATE_NOOP("MusEGui::VisibleTracks", "Show midi tracks"); +const char* synthTrack = QT_TRANSLATE_NOOP("MusEGui::VisibleTracks", "Show synth tracks"); VisibleToolB visTrackList[] = { - {&addtrack_wavetrackIcon, QT_TRANSLATE_NOOP("@default", "Show wave tracks"), waveTrack }, - {&addtrack_audiogroupIcon, QT_TRANSLATE_NOOP("@default", "Show group tracks"), groupTrack }, - {&addtrack_auxsendIcon, QT_TRANSLATE_NOOP("@default", "Show aux tracks"), auxTrack }, - {&addtrack_audioinputIcon, QT_TRANSLATE_NOOP("@default", "Show input tracks"), inputTrack }, - {&addtrack_audiooutputIcon, QT_TRANSLATE_NOOP("@default", "Show output tracks"), outputTrack }, - {&addtrack_addmiditrackIcon,QT_TRANSLATE_NOOP("@default", "Show midi tracks"), midiTrack }, - {&synthIcon, QT_TRANSLATE_NOOP("@default", "Show synth tracks"), midiTrack }, + {&addtrack_wavetrackIcon, QT_TRANSLATE_NOOP("MusEGui::VisibleTracks", "Show wave tracks"), waveTrack }, + {&addtrack_audiogroupIcon, QT_TRANSLATE_NOOP("MusEGui::VisibleTracks", "Show group tracks"), groupTrack }, + {&addtrack_auxsendIcon, QT_TRANSLATE_NOOP("MusEGui::VisibleTracks", "Show aux tracks"), auxTrack }, + {&addtrack_audioinputIcon, QT_TRANSLATE_NOOP("MusEGui::VisibleTracks", "Show input tracks"), inputTrack }, + {&addtrack_audiooutputIcon, QT_TRANSLATE_NOOP("MusEGui::VisibleTracks", "Show output tracks"), outputTrack }, + {&addtrack_addmiditrackIcon,QT_TRANSLATE_NOOP("MusEGui::VisibleTracks", "Show midi tracks"), midiTrack }, + {&synthIcon, QT_TRANSLATE_NOOP("MusEGui::VisibleTracks", "Show synth tracks"), midiTrack }, }; //--------------------------------------------------------- @@ -67,7 +67,7 @@ VisibleTracks::VisibleTracks(QWidget* parent, const char*) for (unsigned i = 0; i < sizeof(visTrackList)/sizeof(*visTrackList); ++i) { VisibleToolB* t = &visTrackList[i]; - Action* a = new Action(action, i, t->tip, true); + Action* a = new Action(action, i, tr(t->tip).toAscii().data(), true); actions[n] = a; //a->setIconSet(QIcon(**(t->icon))); a->setIcon(QIcon(**(t->icon))); diff --git a/muse2/share/locale/muse_de.ts b/muse2/share/locale/muse_de.ts index 36406282..1284b82d 100644 --- a/muse2/share/locale/muse_de.ts +++ b/muse2/share/locale/muse_de.ts @@ -4,9 +4,8 @@ @default - Click this button to enable recording - Auf diese Schaltfläche klicken um in den Modus "Aufnahme" zu gelangen + Auf diese Schaltfläche klicken um in den Modus "Aufnahme" zu gelangen sets amount of quantization: @@ -17,59 +16,50 @@ 100 - volle Quantisierung - select Pointer Tool: with the pointer tool you can: select parts move parts copy parts - Werkzeug "Zeiger": + Werkzeug "Zeiger": Dieses Werkzeug ermöglicht: Parts auswählen Parts verschieben Parts kopieren - Click this button to open a <em>new song</em>.<br>You can also select the <b>Open command</b> from the File menu. - Auf diese Schaltfläche klicken um ein <em>Neues Lied</em> zu öffnen.<br> Alternativ den Befehl <b>Neues Lied</b> des Menüs "Datei" auswählen. + Auf diese Schaltfläche klicken um ein <em>Neues Lied</em> zu öffnen.<br> Alternativ den Befehl <b>Neues Lied</b> des Menüs "Datei" auswählen. - Click this button to save the song you are editing. You will be prompted for a file name. You can also select the Save command from the File menu. - Auf diese Schaltfläche klicken um das gerade bearbeitete Lied zu sichern mit der automatischen Aufforderung einen Dateinamen anzugeben. + Auf diese Schaltfläche klicken um das gerade bearbeitete Lied zu sichern mit der automatischen Aufforderung einen Dateinamen anzugeben. Alternativ das Lied mit dem Befehl "Sichern" im Menü "Datei" sichern. - Create New Song - Neues Lied erzeugen + Neues Lied erzeugen - Click this button to stop playback - Klicke auf diese Schaltfläche um die Wiedergabe zu stoppen + Klicke auf diese Schaltfläche um die Wiedergabe zu stoppen - Click this button to start playback - Klicke auf diese Schaltfläche um die Wiedergabe zu starten + Klicke auf diese Schaltfläche um die Wiedergabe zu starten - Click this button to rewind to start position - Klicke auf diese Schaltfläche um zur Startposition zurückzukehren + Klicke auf diese Schaltfläche um zur Startposition zurückzukehren - Click this button to rewind - Klicke auf diese Schaltfläche um einen Taktschlag rückwärts zu springen + Klicke auf diese Schaltfläche um einen Taktschlag rückwärts zu springen - Click this button to forward current play position - Klicke auf diese Schaltfläche um einen Taktschlag vorwärts zu springen + Klicke auf diese Schaltfläche um einen Taktschlag vorwärts zu springen don't quantize notes above this tick limit @@ -80,183 +70,145 @@ Alternativ das Lied mit dem Befehl "Sichern" im Menü "Datei" Auch die Notenlänge als Standard quantisieren - loop between left mark and right mark - Schleife zwischen linkem und rechtem Marker erzeugen + Schleife zwischen linkem und rechtem Marker erzeugen - record starts at left mark - Aufnahme am linken Marker beginnen + Aufnahme am linken Marker beginnen - record stops at right mark - Aufnahme am rechten Marker beenden + Aufnahme am rechten Marker beenden - rewind to start position - Zur Startposition springen + Zur Startposition springen - rewind current position - Einen Taktschlag rückwärts + Einen Taktschlag rückwärts - move current position - Einen Taktschlag vorwärts + Einen Taktschlag vorwärts - stop sequencer - Wiedergabe beenden + Wiedergabe beenden - start sequencer play - Wiedergabe beginnen + Wiedergabe beginnen - to record press record and then play - Zur Aufnahme erst die Schaltfläche "Aufnahme" und dann "Wiedergabe" klicken + Zur Aufnahme erst die Schaltfläche "Aufnahme" und dann "Wiedergabe" klicken - send note off to all midi channels - Panik - "Note aus" Befehl an alle Midikanäle senden + Panik - "Note aus" Befehl an alle Midikanäle senden - select Pencil Tool: with the pencil tool you can: create new parts modify length of parts - Werkzeug "Zeichenstift": + Werkzeug "Zeichenstift": Dieses Werkzeug ermöglicht: Neue Parts erzeugen Die Länge einzelner Parts ändern - select Delete Tool: with the delete tool you can delete parts - Werkzeug "Radierer": + Werkzeug "Radierer": mit diesem Werkzeug werden Parts gelöscht - select Cut Tool: with the cut tool you can split a part - Werkzeug "Schnitt": + Werkzeug "Schnitt": mit diesem Werkzeug werden Parts geteilt - select Glue Tool: with the glue tool you can glue two parts - Werkzeug "Verbinder": + Werkzeug "Verbinder": mit diesem Werkzeug werden zwei einzelne Parts zu einem verbunden - select Score Tool: - Werkzeug "Notensatz": + Werkzeug "Notensatz": - select Quantize Tool: insert display quantize event - Werkzeug "Quantisierung": + Werkzeug "Quantisierung": mit diesem Werkzeug werden quantisierte Ereignisse eingefügt - select Drawing Tool - Werkzeug "Zeichenstift" + Werkzeug "Zeichenstift" - select Muting Tool: click on part to mute/unmute - Werkzeug "Stille": + Werkzeug "Stille": Klicke auf einen Part um diesen still/laut zu schalten - Manipulate automation - Automatisierung manipulieren + Automatisierung manipulieren - Cursor tool - Zeiger-Werkzeug + Zeiger-Werkzeug - pointer - Zeiger + Zeiger - pencil - Zeichenstift + Zeichenstift - cutter - Schnitt + Schnitt - score - Notensatz + Notensatz - glue - Verbinder + Verbinder - quantize - Quantisierung + Quantisierung - draw - Zeichenstift + Zeichenstift - mute parts - Schalte Part still + Schalte Part still - edit automation - Automatisierung bearbeiten + Automatisierung bearbeiten - cursor - Zeiger + Zeiger - - - - - - - - Off - Aus + Aus presets (*.pre *.pre.gz *.pre.bz2) @@ -267,232 +219,188 @@ click on part to mute/unmute Alle Dateien (*) - + Add Midi Track - Midispur erzeugen + Midispur hinzufügen Add Drum Track - Schlagzeugspur erzeugen + Schlagzeugspur hinzufügen Add Wave Track - Wavespur erzeugen + Wavespur hinzufügen - + Add Audio Output - Audioausgang erzeugen + Audioausgang hinzufügen - + Add Audio Group - Audiogruppe erzeugen + Audiogruppe hinzufügen - + Add Audio Input - Audioeingang erzeugen + Audioeingang hinzufügen - + Add Aux Send - Aux Send erzeugen + Aux Send hinzufügen - eraser - Radierer + Radierer - MESS - MESS + MESS - DSSI - DSSI + DSSI - FST - FST + FST - + Add Synth Synthesizer hinzufügen - Bar - Takt + Takt - Jack - Jack + Jack - ALSA: - ALSA: + ALSA: - SYNTH: - SYNTH: + SYNTH: - JACK: - JACK: + JACK: - - - - - - + Route Signalfluss - - - - channel="%1" - Kanal="%1" + Kanal="%1" - - - - - + dest Ziel - - devtype="%1" - Gerätetyp="%1" + Gerätetyp="%1" - - - - - type="%1" - Typ="%1" + Typ="%1" - - - - - - name="%1"/ Name="%1" - - source - Quelle + Quelle - Velocity - Anschlag + Anschlag + + + + Warning: No output devices! + Warnung: Keine Ausgangsgeräte! + + + + Open midi config... + Öffne MIDI-Konfig... + + + + Empty ports + Leere Ports - + <none> <kein> - - channelMask="%1" KanalMaske="%1" - dssi_synth - + dssi_synth - ladspa_efx - + ladspa_efx - channels="%1" - Kanäle="%1" + Kanäle="%1" - remch="%1" - + remch="%1" - mport="%1"/ - + mport="%1"/ - - Show wave tracks - + Zeige Wave-Spuren - - Show group tracks - + Zeige Gruppen-Spuren - - Show aux tracks - + Zeige Aux-Spuren - - Show input tracks - + Zeige Eingangs-Spuren - - Show output tracks - + Zeige Ausgangs-Spuren - - Show midi tracks - + Zeige Midi-Spuren - - Show synth tracks - + Zeige Synth-Spuren @@ -509,7 +417,7 @@ click on part to mute/unmute Version 2 pre-alpha - + Version 2 pre-alpha @@ -518,95 +426,28 @@ See http://www.muse-sequencer.org for new versions and more information. Published under the GNU Public License - + (C) Copyright 1999-2010 Werner Schweer und andere. +Siehe http://www.muse-sequencer.org für neue Versionen und +mehr Informationen. + +Veröffentlicht unter der GNU Public License &Keep On Rocking! - + Weiterroc&ken! Alt+K - + Alt+K Appearance - MusE: load image - MusE: Bild laden - - - - Main application font, and default font for any - controls not defined here. - - - - - For small controls like mixer strips. -Also timescale small numbers, arranger part name overlay, - and effects rack. - - - - - Midi track info panel. Transport controls. - - - - - Controller graph and S/X buttons. Large numbers for time - and tempo scale, and time signature. - - - - - Time scale markers. - - - - - List editor: meta event edit dialog multi-line edit box. - - - - - Mixer label font. Auto-font-sizing up to chosen font size. -Word-breaking but only with spaces. - - - - - Maximum mixer label auto-font-sizing font size. - - - - - Global opacity (opposite of transparency). - - - - - Standard - - - - - Custom - - - - - Select style sheet - - - - - Qt style sheets (*.qss) - + MusE: Bild laden @@ -638,7 +479,7 @@ Word-breaking but only with spaces. MusE: Appearance settings - + MusE: Erscheinungsbild einstellen @@ -663,7 +504,7 @@ Word-breaking but only with spaces. y-stretch - + strecke y @@ -736,12 +577,12 @@ Word-breaking but only with spaces. Color name: - + Farbname: Global opacity - + Globale Durchsichtigkeit @@ -881,12 +722,12 @@ Word-breaking but only with spaces. add - Zufgen + hinzufügen remove - entfernen + entfernen @@ -926,17 +767,17 @@ Word-breaking but only with spaces. clear - + löschen Style Sheet: - + Formatvorlage: Font 6 - Schriftart 6 + Schriftart 6 @@ -1408,12 +1249,12 @@ Word-breaking but only with spaces. off - + aus db - + dB @@ -1421,7 +1262,7 @@ Word-breaking but only with spaces. off - + aus @@ -1450,33 +1291,16 @@ Word-breaking but only with spaces. ClipListEdit - - MusE: Clip List Editor - - - - Undo/Redo tools - Rückgängig/Wiederho + Rückgängig/Wiederho - panic - Panik + Panik - - - transport - - - - - Window &Config - - - - - ClipListEditorBase + + + ClipListEditorBase MusE: ClipList @@ -1548,7 +1372,7 @@ Word-breaking but only with spaces. MusE: Konfiguration Midi Datei exportieren - + &OK &Bestätigen @@ -1568,7 +1392,7 @@ Word-breaking but only with spaces. 1 (mehrere Spuren) - + Format: Format: @@ -1588,12 +1412,12 @@ Word-breaking but only with spaces. 384 - + Division: Unterteilung: - + Copyright: Copyright: @@ -1602,59 +1426,64 @@ Word-breaking but only with spaces. Aktiviere erweitertes SMF Format - + MusE: Config Midi File Import/Export - + MusE: Konfiguriere MIDI-Datei Import/Export - + Import: - + Import: - + Split tracks into &parts - + Spuren in &Parts teilen Alt+P - + Alt+P - + Split tracks into parts, or one single part - + Spuren in Parts teilen, oder einzelnen Part erstellen - + Export: - + Export: Enable extended smf format (currently not implemented) - + Aktiviere erweitertes SMF-Format (momentan nicht implementiert) Use &2-byte time signatures instead of standard 4 - + Benutze &2-byte-Zeitsignaturen statt standardmäßig 4-byte Alt+2 - + Alt+2 - + + Note: Format 0 uses the FIRST midi track's name/comment in the arranger + #Hinweis: Format 0 nutzt den Namen/Kommentar der ERSTEN Midispur im Arranger + + + Save space by replacing note-offs with &zero velocity note-ons - + Platz sparen, indem Note-offs durch Note-ons mit Anschlagsdynamik &0 ersetzt werden Alt+Z - + Alt+Z @@ -1662,76 +1491,74 @@ Word-breaking but only with spaces. MusE: Crescendo/Decrescendo - + MusE: Crescendo/Decrescendo Range - Bereich + Bereich Looped Events - Ereignisse innerhalb Schleife + Ereignisse innerhalb Schleife Selected Looped - + Ausgewählt und innerhalb der Schleife Values - Werte + Werte Start velocity - + Anfangsdynamik % - + % End velocity - + Enddynamik Absolute - + Absolut Relative - + Relativ OK - Bestätigen + Bestätigen Cancel - Abbrechen + Abbrechen CtrlPanel - select controller - Kontroller wählen + Kontroller wählen - remove panel - Kontrolleransicht schließen + Kontrolleransicht schließen Sel @@ -1742,75 +1569,24 @@ Word-breaking but only with spaces. Schließen - - Velocity - Velocity + Velocity - add new ... - Neuen Kontroller hinzufügen ... + Neuen Kontroller hinzufügen ... - S - S - - - - X - - - - - manual adjust - - - - - double click on/off - - - - - off - - - - - - Instrument-defined - - - - - - Add ... - - - - - Others - - - - - Edit instrument ... - - - - - Common Controls - + S DeicsOnzeGui - + Save configuration - + Konfiguration speichern @@ -1824,7 +1600,7 @@ Word-breaking but only with spaces. Critical Error - + Kritischer Fehler @@ -1833,7 +1609,7 @@ Word-breaking but only with spaces. Cannot open file %1 - + Kann Datei "%1" nicht öffnen @@ -1842,286 +1618,289 @@ Word-breaking but only with spaces. Parsing error for file %1 - + Fehler beim Parsen von Datei "%1" Load category dialog - + Kategorie laden Load set dialog - + Set laden Save set dialog - + Set speichern New category - + Neue Kategorie Delete category - + Kategorie löschen Load category - + Kategorie laden Save category - + Kategorie speichern Load set - + Set laden Save set - + Set speichern Delete set - + Set löschen New subcategory - + Neue Unterkategorie Delete subcategory - + Unterkategorie löschen Load subcategory - + Unterkategorie laden Save subcategory - + Unterkategorie speichern New preset - + Neue Vorlage Delete preset - + Vorlade löschen Load preset - + Vorlage laden Save preset - + Vorlage speichern No more category supported - + Keine weiteren Kategorien unterstützt You can not add more categories - + Sie können keine weiteren Kategorien hinzufügen Do you really want to delete %1 ? - + Möchten Sie wirklich %1 löschen? &Yes - &Ja + &Ja &No - &Nein + &Nein No category selected - + Keine Kategorie ausgewählt You must first select a category. - + Sie müssen zuerst eine Kategorie auswählen. Replace or add - + Ersetzen oder Hinzufügen %1 is supposed to be affected to the hbank number %2, but there is already one on this slot. Do you want to replace it or to add it in the next free slot ? - + %1 soll mit der hbank-Nummer %2 beeinflusst werden, aber es gibt bereits eine auf diesem +Slot. Wollen Sie sie ersetzen oder in den nächsten freien Slot hinzufügen? &Replace - Erset&zen + Erset&zen &Add - &Hinzufügen + &Hinzufügen Download error - + Download-Fehler There is no more free category slot. - + Es gibt keinen weiteren freien Kategorie-Slot. Save category dialog - + Kategorie speichern No more subcategory supported - + Keine weiteren Unterkategorien unterstützt You can not add more subcategories - + Sie können keine weiteren Unterkateogien hinzufügen No subcategory selected - + Keine Unterkategorie ausgewählt You must first select a subcategory. - + Sie müssen erst eine Unterkategorie auswählen. Load subcategory dialog - + Unterkategorie-Laden-Dialog %1 is supposed to be affected to the lbank number %2, but there is already one on this slot. Do you want to replace it or to add it in the next free slot ? - + %1 soll mit der lbank-Nummer %2 beeinflusst werden, aber es gibt bereits eine auf diesem +Slot. Wollen Sie sie ersetzen oder in den nächsten freien Slot hinzufügen? There is no more free subcategory slot. - + Es gibt keinen weiteren freien Unterkategorie-Slot. Save subcategory dialog - + Unterkategorie-Speichern-Dialog No more preset supported - + Keine weiteren Voreinstellungen unterstützt You can not add more presets - + Sie können keine weiteren Voreinstellungen hinzufügen No preset selected - + Keine Voreinstellung ausgewählt You must first select a preset. - + Sie müssen erst eine Voreinstellung auswählen. Load preset dialog - + Voreinstellung-Laden-Dialog %1 is supposed to be affected to the prog number %2, but there is already one on this slot. Do you want to replace it or to add it in the next free slot ? - + %1 soll mit der Programm-Nummer %2 beeinflusst werden, aber es gibt bereits eine auf diesem +Slot. Wollen Sie sie ersetzen oder in den nächsten freien Slot hinzufügen? There is no more free preset slot. - + Es gibt keinen weiteren freien Voreinstellung-Slot. Save preset dialog - + Voreinstellung-Speichern-Dialog Browse set dialog - + Set-Suchen-Dialog Browse image dialog - + Bild-Suchen-Dialog @@ -2129,109 +1908,109 @@ Word-breaking but only with spaces. DeicsOnze - + DeicsOnze &Preset - + &Vorlage Program numerous - + Programmnummer INITVOICE - + INITVOICE LBank - + L-Bank Subcategory - + Unterkategorie Bank numerous - + Banknummer NONE - + KEIN HBank - + H-Bank Category - + Kategorie Prog - + Prog Preset - Vorlage + Vorlage DeicsOnze v0.5.5 Copyright (c) 2004-2006 Nil Geisweiller. Published under GPL licence. - + DeicsOnze v0.5.5 Copyright (c) 2004-2006 Nil Geisweiller. Veröffentlicht unter der GPL Lizenz. &Global - + &Global Pitch Envelope - + Tonhöhen-Hüllkurve PL3 - + PL3 PL2 - + PL2 PL1 - + PL1 PR1 - + PR1 PR2 - + PR2 PR3 - + PR3 @@ -2242,109 +2021,109 @@ Word-breaking but only with spaces. Pitch modulation depth - + Vibrato-Stärke LFO - + LFO LFO Sync - + LFO Sync Pitch modulation sensitivity - + Vibrato-Sensitivität Pitch Modulation Sensitivity - + Vibrato-Sensitivität LFO Delay - + LFO Verzögerung LFO delay - + LFO Verzögerung LFO speed - + LFO Geschwindigkeit Amplitude modulation depth - + Tremolostärke Amplitude modulation sensitivity - + Tremolo-Sensitivität Amplitude Modulation Sensitivity - + Tremolo-Sensitivität AMS - + AMS LFO Waveform - + LFO Wellenform Pitch Modulation Depth - + Vibrato-Stärke PMD - + PMD LFO Speed - + LFO Geschwindigkeit AMD - + AMD Speed - + Geschwindigkeit Delay - Delay + Verzögerung PMS - + PMS Modulation Matrix - + Modulationsmatrix @@ -2356,45 +2135,52 @@ Word-breaking but only with spaces. <b>Algorithm 6</b> : addition of the three <i>Op 1, 2, 3</i> all modulated by <i>Op 4</i><br> <b>Algorithm 7</b> : addition of the three <i>Op 1, 2, 3</i> with <i>Op 3</i> modulated by <i>Op 4</i><br> <b>Algorithm 8</b> : addition of the four <i>Op 1, 2, 3, 4</i> - + <b>Algorithmus 1</b> : <i>Op 1</i> moduliert durch <i>Op 2</i> moduliert durch <i>Op 3</i> moduliert durch <i>Op 4</i><br> +<b>Algorithmus 2</b> : <i>Op 1</i> moduliert durch <i>Op 2</i> moduliert durch sowohl <i>Op 3</i> als auch <i>Op 4</i><br> +<b>Algorithmus 3</b> : <i>Op 1</i> moduliert durch sowohl<i>Op 4</i> als auch <i>Op 2</i> moduliert durch <i>Op 3</i><br> +<b>Algorithmus 4</b> : <i>Op 1</i> moduliert durch sowohl<i>Op 2</i> als auch <i>Op 3</i> moduliert durch <i>Op 4</i><br> +<b>Algorithmus 5</b> : (<i>Op 1</i> moduliert durch <i>Op 2</i>) addiert zu (<i>Op 3</i> moduliert durch <i>Op 4</i>) <br> +<b>Algorithmus 6</b> : Summe der drei <i>Op 1, 2, 3</i> alle moduliert durch <i>Op 4</i><br> +<b>Algorithmus 7</b> : Summe der drei <i>Op 1, 2, 3</i> mit <i>Op 3</i> moduliert durch <i>Op 4</i><br> +<b>Algorithmus 8</b> : Summe der vier <i>Op 1, 2, 3, 4</i> Op4 Feedback - + Op4 Rückspeisung Feedback level of the operator 4 - + Rückspeise ("Feedback")-level des Operators 4 Transpose - Transponieren + Transponieren Op &1 - + Op &1 Scaling 1 - + Skalierung 1 LS1 - + LS1 RS1 - + RS1 @@ -2406,7 +2192,7 @@ Word-breaking but only with spaces. Rate Scaling - + Ratenskalierung @@ -2422,7 +2208,7 @@ Word-breaking but only with spaces. Attack Rate of the operator 1 - + Attackrate des Operators 1 @@ -2434,32 +2220,32 @@ Word-breaking but only with spaces. Level Scaling - + Levelskalierung Amplitude Envelope 1 - + Amplitudenhüllkurve 1 RR1 - + RR1 D1R1 - + D1R1 D1L1 - + D1L1 D2R1 - + D2R1 @@ -2467,7 +2253,7 @@ Word-breaking but only with spaces. Release Rate - + Release Rate @@ -2475,7 +2261,7 @@ Word-breaking but only with spaces. 2° Decay Rate - + 2° Decay Rate @@ -2483,7 +2269,7 @@ Word-breaking but only with spaces. 1° Decay Level - + 1° Decay Level @@ -2491,7 +2277,7 @@ Word-breaking but only with spaces. 1° Decay Rate - + 1° Decay Rate @@ -2499,22 +2285,22 @@ Word-breaking but only with spaces. Attack Rate - + Attack Rate AR1 - + AR1 Detune, OSCWave, EGShift 1 - + Verstimmung, OSCWave, EGShift 1 DET1 - + DET1 @@ -2527,7 +2313,7 @@ Word-breaking but only with spaces. Detune - + Verstimmung @@ -2535,7 +2321,7 @@ Word-breaking but only with spaces. EG Shift - + EG Shift @@ -2543,7 +2329,7 @@ Word-breaking but only with spaces. 96dB - + 96dB @@ -2551,7 +2337,7 @@ Word-breaking but only with spaces. 48dB - + 48dB @@ -2559,7 +2345,7 @@ Word-breaking but only with spaces. 24dB - + 24dB @@ -2567,7 +2353,7 @@ Word-breaking but only with spaces. 12dB - + 12dB @@ -2575,7 +2361,7 @@ Word-breaking but only with spaces. Wave form - + Wellenform @@ -2590,17 +2376,24 @@ Wave form 5 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Wave form 6 = <i>if <b>t</b>&#060 pi then sin(2*<b>t</b>)*abs(sin(2*<b>t</b>)) else 0</i><br> Wave form 7 = <i>if <b>t</b>&#060 pi then abs(sin(2*<b>t</b>)) else 0</i><br> Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t</b>)*sin(2*<b>t</b>) else 0</i> - + Wellenform 1 = <i>sin(<b>t</b>)</i><br> +Wellenform 2 = <i>sin(<b>t</b>)*abs(sin(<b>t</b>))</i><br> +Wellenform 3 = <i>wenn <b>t</b>&#060 pi dann sin(<b>t</b>) sonst 0</i><br> +Wellenform 4 = <i>wenn <b>t</b>&#060 pi dann sin(<b>t</b>)*abs(sin(<b>t</b>)) sonst 0</i><br> +Wellenform 5 = <i>wenn <b>t</b>&#060 pi dann sin(2*<b>t</b>) sonst 0</i><br> +Wellenform 6 = <i>wenn <b>t</b>&#060 pi dann sin(2*<b>t</b>)*abs(sin(2*<b>t</b>)) sonst 0</i><br> +Wellenform 7 = <i>wenn <b>t</b>&#060 pi dann abs(sin(2*<b>t</b>)) sonst 0</i><br> +Wellenform 8 = <i>wenn <b>t</b>&#060 pi dann sin(2*<b>t</b>)*sin(2*<b>t</b>) sonst 0</i> Sensitivity 1 - + Sensitivität 1 KVS1 - + KVS1 @@ -2608,12 +2401,12 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Amplitude Modulation Enable - + Amplitudenmodulation aktivieren AME1 - + AME1 @@ -2621,7 +2414,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Keyboard Velocity Sensitivity - + Keyboard Anschlagsdynamik-Sensitivität @@ -2629,12 +2422,12 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Key Velocity Sensitivity - + Noten-Anschlagsdynamik-Sensitivität EBS1 - + EBS1 @@ -2642,7 +2435,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t EG Bias Sensitivity - + EG Bias Sensitivität @@ -2650,17 +2443,17 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Eg Bias Sensitivity - + EG Bias Sensitivität Frequency 1 - + Frequenz 1 Coarse 1 - + Grob 1 @@ -2668,12 +2461,12 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Coarse Ratio - + Grob Verhältnis Fine 1 - + Fein 1 @@ -2681,12 +2474,12 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Fine Ratio - + Fein Verhältnis Freq 1 - + Freq 1 @@ -2694,7 +2487,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Fixed Frequency - + Feste Frequenz @@ -2702,7 +2495,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Toggle Fix Frequency - + "Feste Frequenz" umschalten @@ -2710,12 +2503,12 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t FIX - + FIX OUT 1 - + OUT1 @@ -2723,7 +2516,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Output Volume - + Ausgangslautstärke @@ -2733,327 +2526,327 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Volume - Volume + Lautstärke Op &2 - + Op &2 Amplitude Envelope 2 - + Amplitudenhüllkurve 2 D1R2 - + D1R2 D1L2 - + D1L2 D2R2 - + D2R2 RR2 - + RR2 AR2 - + AR2 Frequency 2 - + Frequenz 2 Coarse 2 - + Grob 2 Fine 2 - + Fein 2 Freq 2 - + Freq 2 Scaling 2 - + Skalierung 2 LS2 - + LS2 RS2 - + RS2 OUT 2 - + OUT 2 Detune, OSCWave, EGShift 2 - + Verstimmung, OSCWave, EGShift 2 DET2 - + DET2 Sensitivity 2 - + Sensitivität 2 EBS2 - + EBS2 KVS2 - + KVS2 AME2 - + AME2 Op &3 - + Op &3 Amplitude Envelope 3 - + Amplitudenhüllkurve 3 D1R3 - + D1R3 D1L3 - + D1L3 D2R3 - + D2R3 RR3 - + RR3 AR3 - + AR3 Scaling 3 - + Skalierung 3 LS3 - + LS3 RS3 - + RS3 OUT 3 - + OUT 3 Frequency 3 - + Frequenz 3 Coarse 3 - + Grob 3 Fine 3 - + Fein 3 Freq 3 - + Freq 3 Detune, OSCWave, EGShift 3 - + Verstimmung, OSCWave, EGShift 3 DET3 - + DET3 Sensitivity 3 - + Sensitivität 3 EBS3 - + EBS3 KVS3 - + KVS3 AME3 - + AME3 Op &4 - + Op &4 amplitude Envelope 4 - + Amplitudenhüllkurve 4 AR4 - + AR4 D1R4 - + D1R4 D1L4 - + D1L4 D2R4 - + D2R4 RR4 - + RR4 Frequency 4 - + Frequenz 4 Coarse 4 - + Grob 4 Fine 4 - + Fein 4 Freq 4 - + Freq 4 Scaling 4 - + Skalierung 4 LS4 - + LS4 RS4 - + RS4 OUT 4 - + OUT 4 Detune, OSCWave, EGShift 4 - + Verstimmung, OSCWave, EGShift 4 DET4 - + DET4 Sensitivity 4 - + Sensitivität 4 EBS4 - + EBS4 KVS4 - + KVS4 AME4 - + AME4 &Func - + &Func @@ -3075,7 +2868,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Channel Chorus - + Kanal-Chorus @@ -3092,7 +2885,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t On - An + An @@ -3107,7 +2900,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Foot Control - + Fußschalter @@ -3140,7 +2933,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Pitch Bend Range - + Pitchbend-Bereich @@ -3148,7 +2941,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Pitch - + Tonhöhe @@ -3156,34 +2949,34 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Amplitude - + Amplitude Modulation Wheel - + Modulations-Rad Breath Control - + Anblaskontrolle Pitch Bias - + Tonhöhen-Bias Envelope Bias - + Hüllkurven-Bias After Touch - Aftertouch + Aftertouch @@ -3193,53 +2986,53 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t POLY - + POLY MONO - + MONO Potamento - + Portamento Portamento Mode - + Portamento-Modus FINGER - + FINGER FULL - + VOLL PT - + PT Portamento Time - + Portamento-Dauer C&horus - + C&horus Chorus Parameters - + Chorus-Parameter @@ -3257,175 +3050,175 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Select LADSPA plugin - + LADSPA-Plugin auswählen Change plugin - + Plugin ändern &Reverb - + &Reverb Reverb Parameters - + Nachhallparameter &Config - &Einstellen + &Einstellen Font Size - + Schriftgröße Quality - + Qualität High - + Hoch Middle - + Mittel Low - + Gering Ultra low - + Sehr Gering Filter - Filter + Filter Save Mode (into the song) - + Speichermodus (in das Lied) Save only the used presets - + Nur die benutzten Vorlagen speichern Save the entire set - + Das gesamte Set speichern Save the configuration - + Die Konfiguration speichern Configuration File - + Konfigurationsdatei Save... - + Speichern... Load... - + Laden... Save as default - + Als Standard speichern Colors - Farben + Farben Text - Text + Text Background - + Hintergrund Edit Text - + Text bearbeiten Edit Background - + Hintergrund bearbeiten Red - + Rot Blue - + Blau Green - + Grün Set Path - + Pfad setzen Image in the background : - + Hintergrundbild: Browse... - + Durchsuchen... Load the set at the initialization : - + Das Set bei der Initialisierung laden: Set Brightness, Detune, Attack and Release of the current channel to default - + Helligkeit, Verstimmung, Attack und Release des momentanen Kanals auf den Standard setzen @@ -3435,67 +3228,67 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Cut all notes off - + Alle Noten abschneiden Panic! - + Panik! Number of Voices - + Anzahl der Stimmen Number of voices - + Anzahl der Stimmen Enable - Einschalten + Einschalten Channel - Kanal + Kanal Vol - + Vol Channel Ctrl - + Kanal Ctrl Release - + Release Attack - + Attack Brightness - + Helligkeit Modulation - + Modulation Pan - + Pan @@ -3503,42 +3296,42 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t MusE: Delete Overlaps - + MusE: Überlappungen entfernen Range - Bereich + Bereich All Events - Alle Ereignisse + Alle Ereignisse Selected Events - Ausgewählte Ereignisse + Ausgewählte Ereignisse Looped Events - Ereignisse innerhalb Schleife + Ereignisse innerhalb Schleife Selected Looped - + Ausgewählt und innerhalb der Schleife OK - Bestätigen + Bestätigen Cancel - Abbrechen + Abbrechen @@ -3546,423 +3339,260 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Did you know? - + Wussten Sie? Don't show on startup - + Nicht beim Starten zeigen Next tip - + Nächster Tipp Close - + Schließen DrumEdit - Load Map - Schlagzeugbelegung laden + Schlagzeugbelegung laden - Save Map - Schlagzeugbelegung Sichern + Schlagzeugbelegung Sichern - &Edit - &Bearbeiten + &Bearbeiten - Cut - Ausschneiden + Ausschneiden - Copy - Kopieren + Kopieren - Paste - Einfügen + Einfügen - Delete Events - Events entfernen + Events entfernen - Select All - Alles auswählen + Alles auswählen - Select None - Auswahl aufheben + Auswahl aufheben - Invert - Auswahl umkehren + Auswahl umkehren - Inside Loop - Innerhalb Schleife + Innerhalb Schleife - Outside Loop - Ausserhalb Schleife + Ausserhalb Schleife - &Select - &Auswählen + &Auswählen - Step Record - Aufnahme taktschlagweise + Aufnahme taktschlagweise - Midi Input - Midi Eingang + Midi Eingang - Add Controller View - Kontrolleransicht hinzufügen + Kontrolleransicht hinzufügen - M - M + M - Sound - Klang + Klang - QNT - QNT + QNT - E-Note - E-Note + E-Note - Len - Länge + Länge - A-Note - A-Note + A-Note - Ch - K + K - Port - Port + Port - LV1 - LV1 + LV1 - LV2 - LV2 + LV2 - LV3 - LV3 + LV3 - LV4 - LV4 + LV4 - &File - &Datei + &Datei - Load Drummap - Schlagzeugbelegung laden + Schlagzeugbelegung laden - Store Drummap - Schlagzeugbelegung sichern + Schlagzeugbelegung sichern - ctrl - steuern + steuern drummaps Schlagzeugbelegungen - Muse: Load Drum Map - MusE: Schlagzeugbelegung laden + MusE: Schlagzeugbelegung laden - MusE: Store Drum Map - MusE: Schlagzeugbelegung speichern + MusE: Schlagzeugbelegung speichern - Set Fixed Length - Länge festlegen + Länge festlegen &Functions &Funktionen - Modify Velocity - Velocity ändern + Velocity ändern - - mute instrument - Instrument still schalten + Instrument still schalten - - sound name - Klangname - - - - - volume percent - + Klangname - - quantisation - Quantisierung + Quantisierung - - this input note triggers the sound - Diese Eingangsnote löst den Klang aus + Diese Eingangsnote löst den Klang aus - - note length - Notenlänge + Notenlänge - - - this is the note which is played - + output port + Ausgangsanschluss - - output channel (hold ctl to affect all rows) - + Crescendo/Decrescendo + Crescendo/Decrescendo - - - output port - Ausgangsanschluss + Quantize + Quantisieren - - - shift + control key: draw velocity level 1 - + Erase Event + Ereignis löschen - - - control key: draw velocity level 2 - - - - - - shift key: draw velocity level 3 - - - - - - draw velocity level 4 - - - - - output channel (ctl: affect all rows) - - - - - Reset GM Map - - - - - Copy events in range - - - - - Paste (with Dialog) - - - - - Previous Part - - - - - Next Part - - - - - Fu&nctions - - - - - Re-order list - - - - - Crescendo/Decrescendo - Crescendo/Decrescendo - - - - Quantize - Quantisieren - - - - Erase Event - Ereignis löschen - - - Move Notes - Noten verschieben + Noten verschieben - Delete Overlaps - Überlappungen entfernen + Überlappungen entfernen - &Plugins - &Plugins + &Plugins - Window &Config - Fenster&konfiguration + Fenster&konfiguration - Drum tools - Schlagzeug-Werkzeuge + Schlagzeug-Werkzeuge - cursor tools - Cursor-Werkzeug + Cursor-Werkzeug - Set step size for cursor edit - Schrittweite für Cursor-Modus einstellen + Schrittweite für Cursor-Modus einstellen - panic - Panik - - - - transport - - - - - Vol - - - - - Drum map - - - - - Reset the drum map with GM defaults? - + Panik EditCAfterDialog - Time Position - Position + Position - Pressure - Anschlagsdruck + Anschlagsdruck - MusE: Enter Channel Aftertouch - MusE: Kanal Aftertouch festlegen + MusE: Kanal Aftertouch festlegen @@ -4073,14 +3703,12 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t EditEventDialog - Ok - Bestätigen + Bestätigen - Cancel - Abbrechen + Abbrechen @@ -4088,316 +3716,156 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t MusE: Modify gain - + MusE: Gain verändern Gain - + Gain 200% - 200% + 200% 100% - 100% + 100% 0% - 0% + 0% &Reset - + Zu&rücksetzen Alt+R - + Alt+R &Apply - &Anwenden + &Anwenden Alt+A - Alt+A + Alt+A &Cancel - + &Abbrechen Alt+C - Alt+C + Alt+C EditInstrument - - - MusE: Create file failed - - - - MusE: Write File failed - MusE: Datei schreiben schlug fehl + MusE: Datei schreiben schlug fehl - - - - - MusE: - + MusE + MusE - - - The user instrument directory - - + &Nosave + Lied &nicht Sichern - - - -does not exist yet. Create it now? - - + &Abort + &Abbrechen + + + EditInstrumentBase - - - (You can change the user instruments directory at Settings->Global Settings->Midi) - + + MusE: Instrument Editor + MusE: Instrumenten Editor - - - Unable to create user instrument directory - - + Patches + Patches - - - MusE: Save Instrument Definition - + Patch Name: + Patch Name: - - - Instrument Definition (*.idf) - + + High Bank: + High Bank: - - - MusE: Save instrument as - + + Low Bank: + Low Bank: - - Enter a new unique instrument name: - + + Program: + Programm: - - The user instrument: - - + d.c. + dont care + d.c. - - -already exists. This will overwrite its .idf instrument file. -Are you sure? - + d.c. + d.c. - - MusE: Bad instrument name - + Patch/Group + Patch/Gruppe - - Please choose a unique instrument name. -(The name might be used by a hidden instrument.) - + + + + &Delete + &Löschen - - MusE: Bad patch name - + + + + Alt+D + Alt+D - - Please choose a unique patch name - + &New Patch + &Neuer Patch - - MusE: Bad patchgroup name - + Alt+N + Alt+N - - Please choose a unique patchgroup name - + New Group + Neue Gruppe - - MusE: Bad controller name - + + Drum + Schlagzeug - - Please choose a unique controller name - - - - - - MusE: Cannot add common controller - - - - - A controller named - - - - - - already exists. - - - - - A controller number - - - - - - MusE - MusE - - - - - The current Instrument contains unsaved data -Save Current Instrument? - - - - - - &Save - - - - - - &Nosave - Lied &nicht Sichern - - - - &Abort - &Abbrechen - - - - EditInstrumentBase - - - MusE: Instrument Editor - MusE: Instrumenten Editor - - - Patches - Patches - - - Patch Name: - Patch Name: - - - - High Bank: - High Bank: - - - - Low Bank: - Low Bank: - - - - Program: - Programm: - - - d.c. - dont care - d.c. - - - d.c. - d.c. - - - Patch/Group - Patch/Gruppe - - - - - - &Delete - &Löschen - - - - - - Alt+D - Alt+D - - - &New Patch - &Neuer Patch - - - Alt+N - Alt+N - - - New Group - Neue Gruppe - - - - Drum - Schlagzeug - - - - GM - GM + + GM + GM @@ -4628,229 +4096,229 @@ MusE behandelt allerdings Kontroller wie "pitch" und "program cha Instrument Name: - + Name des Instruments: Selected instrument name. - + Name des ausgewählten Instruments. List of defined instruments. - + Liste aller definierten Instrumente. Pa&tches - + Pa&tches List of groups and patches. - + Liste der Gruppen und Patches. Group/Patch - + Gruppe/Patch Name: - Name: + Name: Group or patch name - + Gruppen- oder Patchname Patch high bank number - + Hohe Banknummer für den Patch Patch high bank number. --- means don't care. - + Hohe Banknummer für den Patch. --- i.d.R. uninteressant. --- dont care - + --- Patch low bank number - + Niedrige Banknummer für den Patch Patch low bank number. --- means don't care. - + Hohe Banknummer für den Patch. --- i.d.R. uninteressant. --- - + --- Patch program number - + Programmnummer für den Patch Drum patch - + Schlagzeug-Patch If set, the patch is available only for drum channels. - + Wenn aktiviert, ist der Patch nur für Schlagzeugkanäle verfügbar. GM patch - + GM Patch If set, the patch is available in a 'GM' or 'NO' midi song type. - + Wenn aktiviert, ist der Patch nur in einem "GM" oder "NO" Songtypen verfügbar. GS patch - + GS Patch If set, the patch is available in a 'GS' or 'NO' midi song type. - + Wenn aktiviert, ist der Patch nur in einem "GS" oder "NO" Songtypen verfügbar. XG patch - + XG Patch If set, the patch is available in an 'XG' or 'NO' midi song type. - + Wenn aktiviert, ist der Patch nur in einem "XG" oder "NO" Songtypen verfügbar. Delete group or patch - + Lösche Gruppe oder Patch New patch - + Neuer Patch New &Patch - + Neuer &Patch Alt+P - + Alt+P New group - + Neue Gruppe New &Group - + Neue &Gruppe Alt+G - + Alt+G Contro&ller - + Contro&ller Common: - + Gemeinsam: List of defined controllers - + Liste von definierten Controllern List of defined controllers. - + Liste von definierten Controllern. Min - + Min Max - + Max Def - + Def Midi controller name - + Name des Midi-Controllers Type: - Typ: + Typ: Midi controller type - + Typ des Midi-Controllers RPN14 - + RPN14 NRPN14 - + NRPN14 Midi controller number high byte - + Midi Controllernummer höchstwertiges Byte Midi controller number low byte (* means drum controller) - + Midi Controllernummer niederwertiges Byte (* bedeutet Schlagzeugcontroller) @@ -4863,23 +4331,31 @@ Allows controllers for each instrument in replaced by the 'ANote' in the drum map. Examples: The GS and XG instruments' Drum controllers. - + Niederwertiges Byte der MIDI-Controller- +nummer. Wenn es "*" ist, ist der Controller +ein Schlagzeugcontroller. Für Schlagzeug- +spuren und GS/XG-Songs und -Instrumente. +Ermöglicht Controller für jedes Instrument +in der Schlagzeug-Liste. Das niederwertige +Byte wird durch die "ANote" der Liste ersetzt. +Beispiele: Die Schlagzeugcontroller der GS- +und XG-Instrumente. * wild card - + * Range: - + Bereich: Minimum value. If negative, auto-translate. - + Minimalwert. Wenn negativ, automatisch umsetzen. @@ -4902,23 +4378,41 @@ Type 'Pitch' is the exception. It is biased at zero, even with a negative minimum: 'Pitch': Min: -8192 Max: 8191 True range: Min: -8192 Max: 8191 (bias 0) - + Minimalwert. Wenn er negativ ist, wird +der Bereich automatisch in einen +positiven umgesetzt. + +Nützlich für Controller, die ohne Bias +dargestellt werden sollen. Bespielsweise +"Panorama": Minimum -64, Maximum 63. +Wirklicher Bereich: 0 bis 127 (Bias ist also 64) +"Grobes Stimmen": -24 bis 23 +In Wirklichkeit: 40 bis 87, Bias=64. + +Das Bias wird durch den Controller-Typen +bestimmt: +für 7-bittige Controller: Bias=64 +für 14-bittige Controller: Bias= 8192 + +Der Typ "Pitch" ist die Ausnahme: Er hat +kein Bias, obwohl er ein negatives Minimum +besitzt: Er geht von -8192 bis 8191 Maximum value - + Maximalwert Default: - + Standard: L-Bank - L-Bank + L-Bank @@ -4927,27 +4421,27 @@ True range: Min: -8192 Max: 8191 (bias 0) off - + aus Progr. - Progr. + Progr. ??? - ??? + ??? H-Bank - H-Bank + H-Bank Default value. Off: No default. - + Standardwert. "Aus": Kein Standardwert. @@ -4966,58 +4460,73 @@ Caution! Watch out for controllers such as values. You should probably turn 'off' their default (in piano roll or drum edit, and instrument editor). - + Standard- (Initial-)Wert. Aus bedeutet "kein Standard". + +Wenn ein Standardwert ausgewählt ist, wird der Wert +zu dem Controller gesendet, wenn er zum Lied hinzu- +gefügt wird (in der Pianoroll oder dem Eventeditor). +Wenn das Lied neu geladen wird, wird der Wert erneut +gesendet. Ansonsten bleibt der Controller auf seinem +vorherigen Wert. Controller werden auch automatisch +zu einem Lied hinzugefügt, sobald ein solches MIDI- +Controller-Event empfangen wurde. + +Achtung! Passen Sie bei Controllern wie "Sustain" +und "ResetAllController" auf Standardwerte auf. +Sie sollten wahrscheinlich den Standardwert auf +"aus" setzen (in der Pianoroll oder dem Schlagzeug- +editor und dem Instrumenteneditor). off dont care - + aus Add common controller - + Füge gemeinsamen Controller hinzu &Add - &Hinzufügen + &Hinzufügen Alt+A - Alt+A + Alt+A Delete controller - + Controller löschen Create a new controller - + Neuen controller erstellen New &Controller - + Neuer &Controller Alt+C - Alt+C + Alt+C Null Param Hi: - + Null Param Hi: Null parameter number High byte - + Null Parameternummer höchstwertiges Byte @@ -5028,77 +4537,79 @@ This prevents subsequent 'data' events from corrupting the RPN/NRPN controller. Typically, set to 127/127, or an unused RPN/NRPN controller number. - + Wenn gesetzt, werden diese "null" Parameter- +nummern gesendet nach jedem RPN/NRPN- +Event. +Das verhindert, dass nachfolgende Datenevents +die RPN/NRPN-Controller zerstören. +Normalerweise auf 127/127 oder eine unbenutzte +RPN/NRPN-Controllernummer gesetzt. Lo: - + Lo: Null parameter number Low byte - + Null Parameternummer niederwertiges Byte S&ysEx - + S&ysEx SysEx List: - + SysEx-Liste: New SysE&x - + Neuer SysE&x Alt+X - + Alt+X &Help - &Hilfe + &Hilfe new item - + neuer Eintrag What's this? - + Was ist das? EditMetaDialog - Time Position - Position + Position - Meta Type - Meta Typ + Meta Typ - Enter Hex - Hex Eingabe + Hex Eingabe - MusE: Enter Meta Event - MusE: Eingabe von Metaereignissen + MusE: Eingabe von Metaereignissen @@ -5178,24 +4689,20 @@ Typically, set to 127/127, or an unused EditPAfterDialog - Time Position - Position + Position - Pitch - Tonhöhe + Tonhöhe - Pressure - Anschlagsdruck + Anschlagsdruck - MusE: Enter Poly Aftertouch - MusE: Poly Aftertouch eingeben + MusE: Poly Aftertouch eingeben @@ -5273,7 +4780,7 @@ Typically, set to 127/127, or an unused FLUID: open Soundfile - + FLUID: Sounddatei öffnen @@ -5281,17 +4788,17 @@ Typically, set to 127/127, or an unused Form1 - Form1 + Form1 Soundfont - + Soundfont Load - + Laden @@ -5299,17 +4806,17 @@ Typically, set to 127/127, or an unused FLUID Synth - + FLUID Synth Load - + Laden Delete - Löschen + Löschen @@ -5319,103 +4826,103 @@ Typically, set to 127/127, or an unused ID - + ID Fontname - + Name Chnl - + Kanal Soundfont - + Soundfont Drum Chnl - + Drumkanal Level - + Level Width - + Breite Damping - + Dämpfung Room Size - + Raumgröße Reverb - + Reverb CHANNEL SETUP - + KANAL SETUP Sine - + Sinus Triangle - + Dreieck Type - Typ + Typ Number - + Anzahl Speed - + Geschwindigkeit Depth - + Stärke Chorus - + Chorus Gain - + Verstärkung LOADED SOUNDFONTS - + GELADENE SOUNDFONTS @@ -5458,13 +4965,14 @@ Songdata fdialogbuttons - + fdialogbuttons Songdata + Configuration - + Lieddaten + +Konfiguration @@ -5472,7 +4980,7 @@ Configuration Choose soundfont - + Soundfont auswählen @@ -5491,22 +4999,22 @@ Configuration Range - Bereich + Bereich All Events - Alle Ereignisse + Alle Ereignisse Selected Events - Ausgewählte Ereignisse + Ausgewählte Ereignisse Looped Events - Ereignisse innerhalb Schleife + Ereignisse innerhalb Schleife Selected & Looped @@ -5515,47 +5023,47 @@ Configuration MusE: Modify Note Length - + MusE: Notenlänge verändern Selected Looped - + Ausgewählt und innerhalb der Schleife Values - Werte + Werte Rate: - Rate: + Rate: Offset: - Zeitversatz: + Zeitversatz: % - % + % lenNew = (lenOld * rate) + offset - + lenNeu = (lenAlt * rate) + offset OK - Bestätigen + Bestätigen Cancel - Abbrechen + Abbrechen @@ -5709,43 +5217,66 @@ Configuration Use project save dialog - + Benutze Projekt-Speichern-Dialog Some popup menus stay open (else hold Ctrl) - + Manche Popup-Menüs bleiben offen (ansonsten Strg halten) - + Allows some popup menus to stay open. Otherwise, hold Ctrl to keep them open. - + Erlaubt es, dass einige Popup-Menüs offen bleiben. +Ansonsten können Sie auch Strg drücken, um ein +solches Menü offen zu halten. - + + In some areas, the middle mouse button decreases +values, while the right button increases. Users without a +middle mouse button can select this option to make the +left button behave like the middle button in such areas. + In manchen Bereichen vermindert die mittlere Maustaste +Werte, während die rechte erhöht. Benutzer ohne mittlere +Maustaste können diese Option nutzen, damit sich in solchen +Bereichen die linke Maustaste wie die mittlere verhält. + + + + Use left mouse button for decreasing values + Benutze linke Maustaste, um Werte zu erniedrigen + + + + Shift + Right click sets left range marker + Shift + Rechtsklick setzt den linken Bereichs-Marker + + + MDI-subwindowness and sharing menus - + Unterfenster und Menü-Teilen Presets: - + Voreinstellungen: traditional MusE SDI - + traditionelles MusE SDI Cakewalk-like MDI - + Cakewalk-ähnliches MDI Borland-/Mac-like MDI - + Borland-/Mac-ähnliches MDI @@ -5767,7 +5298,7 @@ Otherwise, hold Ctrl to keep them open. Hilfe Browser: - + Application Anwendung @@ -5883,104 +5414,105 @@ Otherwise, hold Ctrl to keep them open. Mixer A - Mixer A + Mixer A Mixer B - Mixer B + Mixer B show "Did you know?" dialog - + Zeige "Wussten Sie?"-Dialog Start song - + Beim Starten geöffnetes Lied min. Slider Val - + min. Schiebereglerwert Enable denormal protection - + Denormal-Schutz aktivieren Enable output limiter - + Aktiviere Ausgangs-Limiter External Waveditor - + Externer Wave-Editor External Waveditor command - + Befehl für externen Wave-Editor Note: External editor opened from the internal editor. - + Hinweis: der externe Editor, der vom internen aus geöffnet wird. Dummy Audio Driver (settings require restart) - + Dummy Audiotreiber (erfordert Neustart) Hz - + Hz Period size (Frames per period): - + Periodengröße (Frames pro Periode): 16 - 16 + 16 Main Window - + Hauptfenster Try to use Jack Freewheel - + Versuche, Jack-Freewheel zu nutzen Speeds bounce operations - + Beschleunigt Abmisch-Operationen Use Jack Freewheel mode if possible. This dramatically speeds bounce operations. - + Benutzt Jack's Freewheel-Modus, wenn möglich. +Das beschleunigt Abmisch-Operationen dramatisch. VST in-place - + VST in-place Enable VST in-place processing (restart required) - + Aktiviere VST-in-place-verarbeitung (Neustart erforderlich) @@ -5988,18 +5520,21 @@ This dramatically speeds bounce operations. VST Ladspa effect rack plugins do not work or feedback loudly, even if they are supposed to be in-place capable. Setting requires a restart. - + Aktiviere VST-in-place-verarbeitung: Schalten Sie das +aus, wenn VST Ladspa Effekt-Rack-Plugins nicht funktionieren +oder laut rückspeisten, selbst wenn sie in-place-fähig +sein sollten. Einstellung erfordert Neustart. Minimum control period - + Minimale Kontroll-Periode Minimum audio controller process period (samples). - + Minimale Audiocontroller-Periode (Samples). @@ -6008,251 +5543,166 @@ Adjusts responsiveness of audio controls and controller graphs. Set a low value for fast, smooth control. If it causes performance problems, set a higher value. - + Minimale Audiocontroller-Periode (Samples). +Beeinflusst die Reaktionszeit von Audiocontrols +und Controller-Graphen. Setzen Sie einen niedrigen +Wert für schnelle, weiche Kontrolle. Wenn das +Geschwindigkeitsprobleme verursacht, benutzen Sie +einen höheren Wert. 1 - 1 + 1 2 - 2 + 2 4 - 4 + 4 8 - 8 + 8 32 - 32 + 32 64 - 64 + 64 128 - 128 + 128 256 - 256 + 256 512 - 512 + 512 Sample rate - + Sampling-Rate Shorter periods give better midi playback resolution. - + Kürzere Perioden führen zu einer besseren Midi-Abspiel-Auflösung. 8192 - 8192 + 8192 16384 - 16384 + 16384 32768 - 32768 + 32768 Midi Resolution (Ticks/Quarternote) - + Midi Auflösung +(Ticks/Viertelnote) Instruments Directory - + Instrumentenverzeichnis Use old-style stop shortcut: - + Benutze altes Stopp-Kürzel: Move single armed track with selection - + Bewege "für Aufnahme scharfschalten" mit Auswahl On Launch - + Beim Start Behavior - + Verhalten LMaster - new tempo - Neues Tempo + Neues Tempo - new signature - Neues Taktmaß + Neues Taktmaß - Meter - Taktposition + Taktposition - Time - Zeitposition + Zeitposition - Type - Typ + Typ - Value - Wert + Wert - MusE: Mastertrack - MusE: Masterspur - - - - Window &Config - + MusE: Masterspur - Undo/Redo tools - Rückgängig/Wiederho + Rückgängig/Wiederho - Tempo - Tempo + Tempo - Timesig - Taktmaß - - - - &Edit - - - - - Insert Tempo - - - - - Insert Signature - - - - - Insert Key - - - - - Edit Positon - - - - - Edit Value - - - - - Delete Event - - - - - Edit tools - - - - - Key - - - - - new key - + Taktmaß - panic - Panik - - - - transport - - - - - Reposition of the initial tempo and signature events is not allowed - - - - - MusE: List Editor - - - - - Input error, conversion not OK or value out of range - - - - - Reposition of tempo and signature events to start position is not allowed! - + Panik @@ -6260,85 +5710,81 @@ Adjusts responsiveness of audio controls and MusE: Legato - + MusE: Legato Range - Bereich + Bereich All Events - Alle Ereignisse + Alle Ereignisse Selected Events - Ausgewählte Ereignisse + Ausgewählte Ereignisse Looped Events - Ereignisse innerhalb Schleife + Ereignisse innerhalb Schleife Selected Looped - + Ausgewählt und innerhalb der Schleife Settings - Einstellungen + Einstellungen ticks - + Ticks Minimum Length - + Minimallänge Allow shortening notes - + Erlaube, Noten zu verkürzen OK - Bestätigen + Bestätigen Cancel - Abbrechen + Abbrechen ListEdit - &Edit - B&earbeiten + B&earbeiten - Cut - Ausschneiden + Ausschneiden - Copy - Kopieren + Kopieren - Paste - Einfügen + Einfügen List Tools @@ -6349,137 +5795,104 @@ Adjusts responsiveness of audio controls and Werkzeuge "Einfügen" - Delete Events - Ereignisse löschen + Ereignisse löschen Insert Note Note einfügen - insert Note - Note einfügen + Note einfügen Insert SysEx SysEx einfügen - insert SysEx - SysEx einfügen + SysEx einfügen Insert Ctrl Ctrl einfügen - insert Ctrl - ctrl einfügen + ctrl einfügen Insert Meta Meta einfügen - insert Meta - Meta einfügen + Meta einfügen Insert Channel Aftertouch Channel Aftertouch einfügen - insert Channel Aftertouch - Channel Aftertouch einfügen + Channel Aftertouch einfügen Insert Key Aftertouch Key Aftertouch einfügen - insert Poly Aftertouch - Poly Aftertouch einfügen - - - - Window &Config - + Poly Aftertouch einfügen - Undo/Redo tools - Rückgängig/Wiederho + Rückgängig/Wiederho - panic - Panik - - - - transport - + Panik - Tick - Tick + Tick - Bar - Takt + Takt Typ Typ - Ch - K + K - Val A - Wert A + Wert A - Val B - Wert B + Wert B - Val C - Wert C + Wert C - Len - Länge + Länge - Comment - Kommentar - - - - Insert tools - + Kommentar - Type - Typ + Typ @@ -6517,269 +5930,52 @@ Adjusts responsiveness of audio controls and kein - Port - Anschluss + Anschluss - GUI - GUI + GUI - Instrument - Instrument + Instrument - Device Name - Gerätename + Gerätename - State - Status + Status unknown unbekannt - I - E + E - O - A - - - - MusE: bad device name - - - - - - Default input connections - - - - - - Are you sure you want to apply to all existing midi tracks now? - - - - - - Default output connections - - - - - - Setting will apply to new midi tracks. -Do you want to apply to all existing midi tracks now? - - - - - please choose a unique device name - - - - - - in - - - - - - out - - - - - Show first aliases - - - - - Show second aliases - - - - - - Toggle all - + A - - - Change all tracks now - - - - - Create - - - - - device - - - - - Port Number - Anschlussnummer - - - - Enable gui - - - - - Enable reading - - - - - Enable writing - - - - - Port instrument - - - - - Midi device name. Click to edit (Jack) - - - - - Connections from Jack Midi outputs - - - - - Connections to Jack Midi inputs - - - - - Auto-connect these channels to new midi tracks - - - - - Auto-connect new midi tracks to these channels - - - - - Auto-connect new midi tracks to this channel - - - - - Auto-connect these channels, on this port, to new midi tracks. - - - - - Connect new midi tracks to these channels, on this port. - - - - - Connect new midi tracks to this channel, on this port. - - - - - Device state - - - - - Enable gui for device - - - - - Enable reading from device - - - - - Enable writing to device - - - - - Name of the midi device associated with this port number. Click to edit Jack midi name. - + Anschlussnummer - Instrument connected to port - Instrument mit Anschluss verbunden - - - - Connections from Jack Midi output ports - - - - - Connections to Jack Midi input ports - + Instrument mit Anschluss verbunden - State: result of opening the device - Status: Ergebnis des Geräteanschlusses - - - - In routes - - - - - Out routes - - - - - Def in ch - - - - - Def out ch - - - - - <unknown> - + Status: Ergebnis des Geräteanschlusses - - <none> - <kein> + <kein> @@ -6827,7 +6023,7 @@ Do you want to apply to all existing midi tracks now? Insert rest (step rec) - + Pause einfügen (StepRec) @@ -6840,68 +6036,48 @@ Do you want to apply to all existing midi tracks now? MarkerView - - Window &Config - - - - Undo/Redo tools - Rückgängig/Wiederho + Rückgängig/Wiederho - panic - Panik - - - - transport - + Panik - Bar:Beat:Tick - Takt:Schlag:Tick + Takt:Schlag:Tick - Hr:Mn:Sc:Fr:Sf - Std:Min:Sek:R:SR + Std:Min:Sek:R:SR - Lock - Sperre + Sperre - Text - Text + Text - Marker Properties - Marker Eigenschaften + Marker Eigenschaften - MusE: Marker - MusE: Marker + MusE: Marker - add marker - Marker hinzufügen + Marker hinzufügen Add Marker Marker hinzufügen - delete marker - Marker löschen + Marker löschen Delete Marker @@ -6912,77 +6088,55 @@ Do you want to apply to all existing midi tracks now? &Datei - &Edit - &Bearbeiten + &Bearbeiten - edit tools - Werkzeuge "Bearbeitung" + Werkzeuge "Bearbeitung" MasterEdit - Cursor - Positionsmarker + Positionsmarker - Snap - Magnet + Magnet - time at cursor position - Zeit an aktuellem Positionsmarker + Zeit an aktuellem Positionsmarker - - Window &Config - - - - Undo/Redo tools - Rückgängig/Wiederho + Rückgängig/Wiederho - panic - Panik - - - - transport - + Panik - tempo at cursor position - Tempo an aktuellem Positionsmarker + Tempo an aktuellem Positionsmarker - CurPos - AktPos + AktPos - tempo at current position - Tempo an aktuellem Positionsmarker + Tempo an aktuellem Positionsmarker - time signature at current position - Taktmaß an aktuellem Positionsmarker + Taktmaß an aktuellem Positionsmarker - MusE: Mastertrack - MusE: Masterspur + MusE: Masterspur edit tools @@ -6993,9 +6147,8 @@ Do you want to apply to all existing midi tracks now? Master aktivieren - Info - Info + Info Off @@ -7003,19 +6156,12 @@ Do you want to apply to all existing midi tracks now? - Enable - Einschalten + Einschalten - Enable usage of master track - Verwendung der Masterspur einschalten - - - - Enable master - + Verwendung der Masterspur einschalten @@ -7023,27 +6169,27 @@ Do you want to apply to all existing midi tracks now? Form - + GroupBox - + MDI subwin - + MDI-Unterfenster Shares menu when subwin - + Teilt das Menü, wenn Unterfenster Shares menu when free - + Teilt das Menü, wenn freies Fenster @@ -7156,37 +6302,37 @@ Do you want to apply to all existing midi tracks now? Choose outputs... - + Wähle Ausgänge... 50 - 50 + 50 % Audio volume - + % Audiolautstärke Hint: Enable metronome in Transportpanel - + Hinweis: Aktivieren Sie das Metronom im Transportpanel Alt+A - Alt+A + Alt+A Alt+O - + Alt+O Alt+C - Alt+C + Alt+C @@ -7501,10 +6647,8 @@ Beachte dass in MusE Tonhöhen- und Programmwechselbefehle wie Midikontroller be MidiInputTransformDialog - - New - Neu + Neu @@ -8164,28 +7308,28 @@ Beachte dass in MusE Tonhöhen- und Programmwechselbefehle wie Midikontroller be Sync receiving and sending - + Synchronisiere Empfangen und Senden Send and receive Jack transport - + Sende und empfange Jack Transport Send and receive Jack transport information, including stop, start and position. - + Sende und empfange Jack Transport Information, einschließlich Stopp, Start und Position. Use Jack transport - + Benutze Jack-Transport Make MusE the Jack transport Timebase Master - + Mache MusE zum Jack-Transport Timebase-Master @@ -8195,17 +7339,22 @@ Allows Jack to show time as MusE will try to become master, but other Jack clients can also take over later. You can always click here again for Master. - + Mache MusE zum Jack-Transport Timebase-Master +Erlaubt es Jack, die Zeit als MusE-Takte, +Schäge und Ticks zu zeigen. +MusE wird versuchen, Master zu werden, aber +andere Jack-Clients können später übernehmen. +Sie können immer hier klicken, um Master wieder zu aktivieren. Jack transport Timebase Master - + Jack Transport Timebase Master Control MusE timing by external midi clock or MTC sync - + Steuere MusE-Timing via externe Midi-Clock oder MTC sync @@ -8214,17 +7363,21 @@ You can always click here again for Master. MusE can sync to midi clock, or MTC quarter frame sync. Enabled inputs in the list will be in effect (RMC, RMMC, RMTC). - + Wenn im Slave-Modus, ist das Tempo +extern gesteuert. +MusE kann zur Midi-Clock oder MTC quarter frame sync synchronisieren. +Aktivierte Eingänge in der Liste werden +Effekt haben (RMC, RMMC, RMTC). Slave to external sync - + Binde an externe sync Send start to first clock delay - + Pause zwischen dem Senden von "Start" bis zum ersten Clock @@ -8232,17 +7385,20 @@ Enabled inputs in the list will to synchronize to MusE. This value is the delay from sending start to sending the first clock. - + Gibt "Slow-Sync"-Geräten Zeit, um sich mit +MusE zu synchronisieren. Dieser Wert ist +die Pause zwischen dem Senden von "Start" +bis zum Senden des ersten Clocks. ms - + ms Send sync delay - + Pause für das Senden von Sync @@ -8283,7 +7439,7 @@ Enabled inputs in the list will iR - iR + iR @@ -8329,17 +7485,17 @@ Enabled inputs in the list will Rec: - + Rec: Prog - + Prog Vol - + Vol @@ -8431,115 +7587,117 @@ Zur Aufnahme können mehrere Kanäle gewählt werden: all midi events are sent to this output channel - + alle MIDI-Events werden zu diesem Ausgangskanal gesendet Out ch - + Aus.Kanal input routing - Eingangs-Signalfluss + Eingangs-Signalfluss output routing - Ausgangs-Signalfluss + Ausgangs-Signalfluss oR - oR + oR input detect - + Eingangserkennung Input detect indicator. Detects all note on-off, controller, aftertouch, program change, and pitchbend (but not sysex or realtime) events on the selected channels, on the selected midi ports. - + Eingangserkennungs-Anzeige. Erkennt alle Note an/aus, Controller, Aftertouch, + Programmänderung und Pitchbend (aber nicht Sysex oder Echtzeit)- + Ereignisse auf den ausgewählten Kanälen auf den gewählten MIDI-Ports. W - + W Midi thru - + MIDI thru Pass input events through ('thru') to output. - + Schleife Eingangsevents durch zum Ausgang. Select instrument patch - + Instrumentenpatch auswählen <unknown> - + <unbekannt> Add all settings to song - + Alle Einstellungen zum Lied hinzufügen All - alle + alle Bank Select MSB. Double-click on/off. - + LSB für Bankauswahl. Doppelklick für an/aus. Bank Select LSB. Double-click on/off. - + MSG für Bankauswahl. Doppelklick für an/aus. Program. Double-click on/off. - + Programm. Doppelklick für an/aus. Add bank + prog settings to song - + Füge Bank und Prog Einstellungen zum Lied hinzu Volume. Double-click on/off. - + Volume. Doppelklick für an/aus. Add vol setting to song - + Füge Lautstärke Einstellungen zum Lied hinzu Change stereo position. Double-click on/off. - + Ändere Stereo-Position. Doppelklick für an/aus. Add pan setting to song - + Füge Pan-Einstellung zum Song hinzu @@ -8891,10 +8049,8 @@ Zur Aufnahme können mehrere Kanäle gewählt werden: MidiTransformerDialog - - New - Neu + Neu @@ -8979,57 +8135,57 @@ Zur Aufnahme können mehrere Kanäle gewählt werden: MusE: Move Notes - + MusE: Verschiebe Noten Range - Bereich + Bereich All Events - Alle Ereignisse + Alle Ereignisse Selected Events - Ausgewählte Ereignisse + Ausgewählte Ereignisse Looped Events - Ereignisse innerhalb Schleife + Ereignisse innerhalb Schleife Selected Looped - + Ausgewählt und innerhalb der Schleife Value - Wert + Wert Move by - + Bewege um ticks - + Ticks OK - Bestätigen + Bestätigen Cancel - Abbrechen + Abbrechen @@ -9717,6427 +8873,11417 @@ failed: MusEApp::MusE - - Failed to start audio! - Audio konnte nicht gestartet werden! + Audio konnte nicht gestartet werden! - Was not able to start audio, check if jack is running. - Audio konnte nicht gestartet werden, überprüfen Sie, ob Jack läuft. + Audio konnte nicht gestartet werden, überprüfen Sie, ob Jack läuft. - Timeout waiting for audio to run. Check if jack is running. - Timeout beim Warten auf Audio. Überprüfen Sie, ob Jack läuft. + Timeout beim Warten auf Audio. Überprüfen Sie, ob Jack läuft. - Und&o - &Rückgängig + &Rückgängig - Re&do - &Wiederholen + &Wiederholen - undo last change to song - Letzte Änderung am Lied rücksetzen + Letzte Änderung am Lied rücksetzen - redo last undo - Letztes Rücksetzen wiederholen + Letztes Rücksetzen wiederholen - Loop - Schleife + Schleife - Punchin - Aufnahme am linken Marker beginnen + Aufnahme am linken Marker beginnen - Punchout - Aufnahme am rechten Marker beenden + Aufnahme am rechten Marker beenden - Start - Start + Start - Rewind - Einen Taktschlag rückwärts + Einen Taktschlag rückwärts - Forward - Einen Taktschlag vorwärts + Einen Taktschlag vorwärts - Stop - Stopp + Stopp - Play - Wiedergabe + Wiedergabe - Record - Aufnahme + Aufnahme - - Panic - Panik + Panik - &New - &Neu + &Neu - &Open - Lied &öffnen + Lied &öffnen - Open &Recent - &Letztes Lied öffnen + &Letztes Lied öffnen - - - &Save - &Speichern + &Speichern - Save &As - Lied &speichern als + Lied &speichern als - Import Midifile - Mididatei importieren + Mididatei importieren - Export Midifile - Mididatei exportieren + Mididatei exportieren - Import Part - Part importieren + Part importieren - - Import Wave File - Wavedatei importieren + Wavedatei importieren - Find unused wave files - Finde ungenutzte Wave-Dateien + Finde ungenutzte Wave-Dateien - &Quit - &Beenden + &Beenden - Song Info - Liedinfo + Liedinfo - Transport Panel - Transportkonsole + Transportkonsole - Bigtime Window - Zeitanzeige groß + Zeitanzeige groß - Mixer A - Mixer A + Mixer A - Mixer B - Mixer B + Mixer B - Cliplist - Cliplist + Cliplist - Marker View - Marker-Fenster + Marker-Fenster - Arranger View - Arranger-Fenster + Arranger-Fenster - Fullscreen - Vollbild + Vollbild - &Plugins - &Plugins + &Plugins - Edit Instrument - Instrument bearbeiten + Instrument bearbeiten - Input Plugins - Eingangs-PlugIns + Eingangs-PlugIns - Transpose - Transponieren + Transponieren - Midi Input Transform - Midi Eingang transformieren + Midi Eingang transformieren - Midi Input Filter - Midi Eingangsfilter + Midi Eingangsfilter - Midi Remote Control - Midi Fernbedienung + Midi Fernbedienung - Rhythm Generator - Rhythmusgenerator + Rhythmusgenerator - Reset Instr. - Rücksetzen Instr. + Rücksetzen Instr. - Init Instr. - Initialisieren Instr. + Initialisieren Instr. - Local Off - Lokal off + Lokal off - Bounce to Track - Auf Spur abmischen + Auf Spur abmischen - Bounce to File - In Datei abmischen + In Datei abmischen - Restart Audio - Audio erneut starten + Audio erneut starten - Mixer Automation - Mischpult Automatisierung + Mischpult Automatisierung - Take Snapshot - Schnappschuss aufnehmen + Schnappschuss aufnehmen - Clear Automation Data - Automatisierungsdaten löschen + Automatisierungsdaten löschen - Cascade - Staffeln + Staffeln - Tile - Kacheln + Kacheln - In rows - In Reihen + In Reihen - In columns - In Spalten + In Spalten - Global Settings - Globale Einstellungen + Globale Einstellungen - Configure Shortcuts - Tastenkürzel einstellen + Tastenkürzel einstellen - Follow Song - Folge dem Lied + Folge dem Lied - Don't Follow Song - Folge dem Lied nicht + Folge dem Lied nicht - Follow Page - Folge dem Lied seitenweise + Folge dem Lied seitenweise - Follow Continuous - Folge dem Lied ständig + Folge dem Lied ständig - Metronome - Metronom + Metronom - Midi Sync - Midi Sync + Midi Sync - Midi File Import/Export - Midi-Datei Import/Export + Midi-Datei Import/Export - Appearance Settings - Erscheinungsbild einstellen + Erscheinungsbild einstellen - Midi Ports / Soft Synth - Midi Anschlüsse / Software Synthesizer + Midi Anschlüsse / Software Synthesizer - &Manual - &Handbuch + &Handbuch - &MusE Homepage - &MusE Webseite + &MusE Webseite - &Report Bug... - &Fehler melden ... + &Fehler melden ... - &About MusE - &Über MusE + &Über MusE - File Buttons - Datei-Knöpfe + Datei-Knöpfe - Undo/Redo - Undo/Redo + Undo/Redo - Transport - Transport + Transport - &File - &Datei + &Datei - &View - &Zeigen + &Zeigen - &Midi - &Midi + &Midi - &Audio - &Audio + &Audio - A&utomation - A&utomation + A&utomation - &Windows - F&enster + F&enster - MusE Se&ttings - MusE Ei&nstellungen + MusE Ei&nstellungen - &Help - &Hilfe + &Hilfe - Cannot read template - Vorlage nicht lesbar + Vorlage nicht lesbar - File open error - Fehler beim Datei öffnen + Fehler beim Datei öffnen - File read error - Fehler beim Datei lesen + Fehler beim Datei lesen - Unknown File Format: - Unbekanntes Dateiformat: + Unbekanntes Dateiformat: - - - MusE: Song: - MusE: Lied: + MusE: Lied: - MusE: load project - Muse: Projekt laden + Muse: Projekt laden - MusE: load template - Muse: Vorlage laden + Muse: Vorlage laden - MusE: Write File failed - MusE: Datei schreiben schlug fehl + MusE: Datei schreiben schlug fehl - The current Project contains unsaved data Save Current Project? - Das aktuelle Projekt enthält ungesicherte Daten + Das aktuelle Projekt enthält ungesicherte Daten Aktuelles Projekt sichern? - - - S&kip - - - - &Cancel - &Abbrechen + &Abbrechen - - MusE: Save As - MusE: Lied speichern als + MusE: Lied speichern als - - Nothing to edit - Es gibt Nichts zu editieren + Es gibt Nichts zu editieren - - - - - MusE: Bounce to Track - MusE: Auf Spur abmischen + MusE: Auf Spur abmischen - No wave tracks found - Keine Wave-Tracks gefunden + Keine Wave-Tracks gefunden - - No audio output tracks found - Keine Audio-Tracks gefunden - - - - Select one audio output track, -and one target wave track - - - - - Select one target wave track - - - - - Select one target wave track, -and one audio output track - + Keine Audio-Tracks gefunden - - MusE: Bounce to File - MusE: In Datei abmischen - - - - Select one audio output track - + MusE: In Datei abmischen - MusE: Bounce - MusE: Abmischen + MusE: Abmischen - set left/right marker for bounce range - Linken/rechten Marker für Abmischbereich einstellen + Linken/rechten Marker für Abmischbereich einstellen - The current Project contains unsaved data Load overwrites current Project: Save Current Project? - Das aktuelle Projekt enthält ungesicherte Daten + Das aktuelle Projekt enthält ungesicherte Daten Neues Lied laden überschreibt das aktuelle Projekt: Aktuelles Projekt sichern? - - &Abort - &Abbrechen + &Abbrechen - MusE: Export Midi - MusE: Midi exportieren + MusE: Midi exportieren - no help found at: - Hilfe wurde nicht gefunden: + Hilfe wurde nicht gefunden: - MusE: Open Help - MusE: Hilfe öffnen - - - - Unable to launch help - - - - - For some reason MusE has to launch the default -browser on your machine. - + MusE: Hilfe öffnen - MusE: Import Midi - MusE: Midi importieren + MusE: Midi importieren - Add midi file to current project? - Mididatei zu aktuellem Lied hinzufügen? + Mididatei zu aktuellem Lied hinzufügen? - &Add to Project - Zu Lied hin&zufügen + Zu Lied hin&zufügen - &Replace - Erset&zen + Erset&zen - reading midifile - Lese Mididatei + Lese Mididatei - failed: - schlug fehl: - - - - Import part is only valid for midi and wave tracks! - - - - - MusE: load part - - - - - No track selected for import - + schlug fehl: - out of - von + von - parts - Parts + Parts - part - Part - - - - could not be imported. -Likely the track is the wrong type. - - - - - to import an audio file you have first to selecta wave track - - - - - Import Wavefile - - - - - This wave file has a samplerate of %1, -as opposed to current setting %2. -Do you still want to import it? - + Part - &Yes - &Ja + &Ja - &No - &Nein + &Nein MusEArranger::Arranger - Enable Recording - Aufnahme einschalten - - - - Mute/Off Indicator - + Aufnahme einschalten - Solo Indicator - Anzeige "Solo" + Anzeige "Solo" - Track Type - Spurtyp + Spurtyp - - Track Name - + Time Lock + Sperre "Zeit" - - Midi output channel number or audio channels - + Notation clef + Notenschlüssel - - Midi output port or synth midi port - + Enable recording. Click to toggle. + Aufnahme einschalten. Klicken zum umschalten. - - Time Lock - Sperre "Zeit" + Arranger + Arrangierer - - Automation parameter selection - + Snap + Magnet - - Notation clef - Notenschlüssel + Len + Länge - - Enable recording. Click to toggle. - Aufnahme einschalten. Klicken zum umschalten. - - - - Mute indicator. Click to toggle. -Right-click to toggle track on/off. -Mute is designed for rapid, repeated action. -On/Off is not! - - - - - Solo indicator. Click to toggle. -Connected tracks are also 'phantom' soloed, - indicated by a dark square. - - - - - Track type. Right-click to change - midi and drum track types. - - - - - Track name. Double-click to edit. -Right-click for more options. - - - - - Midi/drum track: Output channel number. -Audio track: Channels. -Mid/right-click to change. - - - - - Midi/drum track: Output port. -Synth track: Assigned midi port. -Left-click to change. -Right-click to show GUI. - - - - - Time lock - - - - - Notation clef. Select this tracks notation clef. - - - - - Arranger - Arrangierer - - - - Cursor - - - - - Snap - Magnet - - - - Len - Länge - - - - - song length - bars - - - - Type - Typ + Typ - NO - Kein + Kein - GM - GM + GM - GS - GS + GS - XG - XG + XG - - midi song type - Midi Lied Typ - - - - Pitch - + Midi Lied Typ - midi pitch - Midi Tonhöhenänderung + Midi Tonhöhenänderung - global midi pitch shift - Globale Midi Tonhöhenänderung + Globale Midi Tonhöhenänderung - Tempo - Tempo + Tempo - - midi tempo - Midi Tempo + Midi Tempo - N - N + N - TrackInfo - Spurinfo + Spurinfo - R - R + R - M - M + M - S - S + S - C - C + C - Track - Spur - - - - Port - + Spur - Ch - K + K - T - T + T - Automation - Automatisierung - - - - Clef - + Automatisierung MusEArranger::ArrangerView - MusE: Arranger - MusE: Arrangierer + MusE: Arrangierer - Undo/Redo tools - Undo/Redo tools + Undo/Redo tools - panic - Panik - - - - transport - + Panik - C&ut - &Ausschneiden + &Ausschneiden - &Copy - &Kopieren + &Kopieren &Copy in range Im Bereich kopieren - Copy in range - Im Bereich kopieren + Im Bereich kopieren - &Paste - &Einfügen + &Einfügen - Paste (show dialog) - Einfügen (Dialog zeigen) + Einfügen (Dialog zeigen) - Paste c&lone - K&lon Einfügen + K&lon Einfügen - Paste clone (show dialog) - Klon einfügen (Dialog zeigen) + Klon einfügen (Dialog zeigen) - &Insert Empty Measure - Leeren &Takt einfügen + Leeren &Takt einfügen - Delete Selected Tracks - Ausgewählte Spuren löschen + Ausgewählte Spuren löschen - Shrink selected parts - Ausgewählte Parts schrumpfen + Ausgewählte Parts schrumpfen - Expand selected parts - Ausgewählte Parts erweitern + Ausgewählte Parts erweitern - Clean selected parts - Ausgewählte Parts säubern + Ausgewählte Parts säubern - Add Track - Spur hinzufügen + Spur hinzufügen - Select - Auswählen + Auswählen - Select &All - Alles a&uswählen + Alles a&uswählen - &Deselect All - Alles ab&wählen + Alles ab&wählen - Invert &Selection - Auswa&hl umkehren + Auswa&hl umkehren - &Inside Loop - Bereich &innerhalb der Schleife + Bereich &innerhalb der Schleife - &Outside Loop - Bereich außerhalb der Schlei&fe + Bereich außerhalb der Schlei&fe - All &Parts on Track - Alle &Parts der Spur + Alle &Parts der Spur - Score - Partitur + Partitur - all parts in one staff - alle Parts in ein System + alle Parts in ein System - one staff per part - ein System pro Part + ein System pro Part - New score window - Neues Partiturfenster + Neues Partiturfenster - Pianoroll - Pianorollen Editor + Pianorollen Editor - Drums - Schlagzeug Editor + Schlagzeug Editor - - List - Listen Editor + Listen Editor - Wave - Wave-Editor + Wave-Editor - Mastertrack - Masterspur + Masterspur - Graphic - Graphischer Editor + Graphischer Editor - Midi &Transform - Midi &transformieren + Midi &transformieren - Global Cut - Globaler Schnitt + Globaler Schnitt - Global Insert - Globales Einfügen + Globales Einfügen - Global Split - Globales Aufteilen + Globales Aufteilen - &Edit - &Bearbeiten + &Bearbeiten - &Structure - &Struktur + &Struktur - Functions - Funktionen + Funktionen - &Quantize Notes - Noten &quantisieren + Noten &quantisieren - Change note &length - Noten&länge verändern + Noten&länge verändern - Change note &velocity - &Anschlagsdynamik verändern + &Anschlagsdynamik verändern - Crescendo/Decrescendo - Crescendo/Decrescendo + Crescendo/Decrescendo - Transpose - Transponieren + Transponieren - Erase Events (Not Parts) - Events (nicht Parts) löschen + Events (nicht Parts) löschen - Move Events (Not Parts) - Events (nicht Parts) verschieben + Events (nicht Parts) verschieben - Set Fixed Note Length - Feste Notenlänge setzen + Feste Notenlänge setzen - Delete Overlapping Notes - Überlappende Noten entfernen + Überlappende Noten entfernen - Legato - Legato + Legato - Window &Config - Fenster&konfiguration + Fenster&konfiguration - - New - Neu + Neu MusEArranger::PartCanvas - Cannot copy/move/clone to different Track-Type - Kopieren/verschieben/klonen auf anderen Spurtyp nicht möglich + Kopieren/verschieben/klonen auf anderen Spurtyp nicht möglich - C&ut - &Ausschneiden + &Ausschneiden - &Copy - &Kopieren + &Kopieren - s&elect - &wähle + &wähle - clones - Klone + Klone - rename - Umbenennen + Umbenennen - color - Farbe + Farbe - delete - Löschen + Löschen - split - Schnitt + Schnitt - glue - Verbinder + Verbinder - de-clone - Entklonen + Entklonen - - - save part to disk - Speichere Part auf Festplatte + Speichere Part auf Festplatte - wave edit - Wave Editor + Wave Editor - file info - Dateiinfo + Dateiinfo - MusE: save part - MusE: Speichere Part + MusE: Speichere Part - Part name - Partname + Partname - Files - Dateien + Dateien - out of - von + von - parts - Parts + Parts - part igitt - Part + Part - could not be pasted. Likely the selected track is the wrong type. - konnte nicht eingefügt werden. + konnte nicht eingefügt werden. Wahrscheinlich hat dir ausgewählte Spur den falschen Typ. - Cannot paste: multiple tracks selected - Einfügen nicht möglich: mehrere Spuren ausgewählt + Einfügen nicht möglich: mehrere Spuren ausgewählt - Cannot paste: no track selected - Einfügen nicht möglich: keine Spur ausgewählt + Einfügen nicht möglich: keine Spur ausgewählt - Can only paste to midi/drum track - Einfügen möglich nur in Midi/Drum Spur + Einfügen möglich nur in Midi/Drum Spur - Can only paste to wave track - Einfügen möglich nur in Wave Spur + Einfügen möglich nur in Wave Spur - Can only paste to midi or wave track - Einfügen möglich nur in Midi oder Wave Spur + Einfügen möglich nur in Midi oder Wave Spur - Cannot paste: wrong data type - Einfügen nicht möglich: falscher Datentyp + Einfügen nicht möglich: falscher Datentyp MusEArranger::TList - <none> - <kein> + <kein> - no clef - kein Notenschlüssel + kein Notenschlüssel - Treble - Violinschlüssel + Violinschlüssel - Bass - Bassschlüssel + Bassschlüssel - Grand - Beide Schlüssel + Beide Schlüssel - MusE: bad trackname - MusE: ungeeigneter Spurname + MusE: ungeeigneter Spurname - please choose a unique track name - Bitte eindeutigen Spurnamen wählen + Bitte eindeutigen Spurnamen wählen - - Update drummap? - Drumbelegung aktualisieren? + Drumbelegung aktualisieren? - Do you want to use same port for all instruments in the drummap? - Möchten Sie für alle Instrumente der Drumbelegung den selben Anschluss verwenden? + Möchten Sie für alle Instrumente der Drumbelegung den selben Anschluss verwenden? - - &Yes - &Ja + &Ja - - &No - &Nein + &Nein - - show gui - GUI anzeigen + GUI anzeigen - - show native gui - Native GUI anzeigen + Native GUI anzeigen - Treble clef - Violinschlüssel + Violinschlüssel - Bass clef - Bassschlüssel + Bassschlüssel - Grand Staff - Beide Schlüssel + Beide Schlüssel - Viewable automation - Sichtbare Automatisierung + Sichtbare Automatisierung - Delete Track - Spur löschen + Spur löschen - Track Comment - Spur Kommentar + Spur Kommentar - Insert Track - Spur einfügen + Spur einfügen - Midi - Midi + Midi - Drum - Schlagzeug + Schlagzeug - Do you want to use same port and channel for all instruments in the drummap? - Möchten Sie für alle Instrumente der Drumbelegung den selben Anschluss und Kanal verwenden? + Möchten Sie für alle Instrumente der Drumbelegung den selben Anschluss und Kanal verwenden? - MusEDialog::PasteDialog - - - %n quarter(s) - - %n Viertelnote - %n Viertelnoten - + MusECore + + Warning: No output devices! + Warnung: Keine Ausgangsgeräte! - - quarter - Viertelnote + Open midi config... + Öffne MIDI-Konfig... - - quarters - Viertelnoten + Empty ports + Leere Ports - MusEDialog::PasteEventsDialog - - - %n quarter(s) - - %n Viertelnote - %n Viertelnoten - + MusECore::Song + + + Jack shutdown! + Jack heruntergefahren! - - quarter - Viertelnote + + Jack has detected a performance problem which has lead to +MusE being disconnected. +This could happen due to a number of reasons: +- a performance issue with your particular setup. +- a bug in MusE (or possibly in another connected software). +- a random hiccup which might never occur again. +- jack was voluntary stopped by you or someone else +- jack crashed +If there is a persisting problem you are much welcome to discuss it +on the MusE mailinglist. +(there is information about joining the mailinglist on the MusE + homepage which is available through the help menu) + +To proceed check the status of Jack and try to restart it and then . +click on the Restart button. + Jack hat ein Geschwindigkeitsproblem festgestellt, welches +dazu geführt hat, dass MusE von Jack getrennt wurde. +Dies kann aus verschiedenen Gründen passieren: +- ein Geschwindigkeitsproblem in Ihrer Einrichtung +- ein Fehler in MusE oder einer anderen verbundenen Software +- ein zufälliges Verschlucken, das nie wieder passieren könnte +- Jack wurde absichtlich gestoppt +- Jack ist abgestürzt + +Wenn das Problem erneut auftritt, sind Sie sehr willkommen, in der +MusE Mailingliste eine Frage zu stellen. +(Informationen darüber, wie man der Mailingliste beitritt finden sich +auf der MusE-Homepage, die über das Hilfe-Menü erreichbar ist) + +Zum Fortsetzen überprüfen Sie bitten den Zustand von Jack, +versuchen, Jack neu zu starten und klicken dann auf den "Neustart"- +Knopf. - - quarters - Viertelnoten + + + Automation: + Automatisierung: - - - MusEMixer::AudioMixerApp - - &Create - &Erzeugen + + previous event + vorheriges Ereignis - &View - &Zeigen + next event + nächstes Ereignis - - Routing - Signalfluss + + + set event + setze Ereignis - - Show Midi Tracks - Zeige Midi-Spuren + + + add event + füge Ereignis hinzu - - Show Drum Tracks - Zeige Schlagzeug-Spuren + + + erase event + lösche Ereignis - - Show Wave Tracks - Zeige Wave-Spuren + + erase range + Lösche Bereich - - Show Inputs - Zeige Eingänge + + clear automation + Lösche Automatisierung - - Show Outputs - Zeige Ausgänge + + Clear all controller events? + Alle Controller-Ereignisse löschen? - - Show Groups - Zeige Gruppen + + &Ok + &Bestätigen - - Show Auxs - Zeige Aux + + &Cancel + &Abbrechen + + + + MusE - external script failed + MusE - externes Skript fehlgeschlagen - Show Synthesizers - Zeige Synthesizer + MusE was unable to launch the script, error message: +%1 + MusE konnte das Skript nicht starten, Fehlermeldung: +%1 - MusEMixer::AudioStrip - - - panorama - Panorama - - - - aux send level - Aux Send Pegel + MusEDialog::PasteDialog + + %n quarter(s) + + %n Viertelnote + %n Viertelnoten + - - Pan - Pan + quarter + Viertelnote - - 1/2 channel - 1/2 Kanäle + quarters + Viertelnoten - - - Pre - Pre + + + MusEDialog::PasteEventsDialog + + %n quarter(s) + + %n Viertelnote + %n Viertelnoten + - - pre fader - post fader - Vor Regler - nach Regler + quarter + Viertelnote - - dB - dB + quarters + Viertelnoten + + + MusEGui::Appearance - - record - Aufnahme + + Main application font, and default font for any + controls not defined here. + Hauptschriftart, und Standard für alles, was +hier nicht definiert ist. - - mute - stumm + + For small controls like mixer strips. +Also timescale small numbers, arranger part name overlay, + and effects rack. + Für kleine Bedienelemente, wie Mixer-Strips. +Auch die kleinen Timescale-Nummern, Arranger-Partnamen +und der Effekteinschub. - - record downmix - Abmischung aufnehmen + + Midi track info panel. Transport controls. + MIDI Spurinfo. Transportkontrollen. - - - solo mode - Solo Modus + + Controller graph and S/X buttons. Large numbers for time + and tempo scale, and time signature. + Controller-Graph und S/X Knöpfe. Große Zahlen für +Zeit- und Tempo-Skala und Taktsignaturen. - - off - Aus + + Time scale markers. + Zeitskala-Marker. - - iR - iR + + List editor: meta event edit dialog multi-line edit box. + Listeneditor: Metaevent-Bearbeitungsdialog-Box. - - input routing - Eingangs-Signalfluss + + Mixer label font. Auto-font-sizing up to chosen font size. +Word-breaking but only with spaces. + Mixerschriftart. Automatisches Vergrößern bis zur gewählten +Größe. Zeilenumbruch aber nur mit Leerzeichen. - - oR - oR + + Maximum mixer label auto-font-sizing font size. + Maximale Mixer-Schriftgröße. - output routing - Ausgangs-Signalfluss + Global opacity (opposite of transparency). + Globale Durchsichtigkeit. - - Off - Aus + + Standard + Standard - - Read - Lesen + + Custom + Benutzerdefiniert - - Touch - Berühren + + MusE: load image + MusE: Bild laden - - Write - Schreiben + + Select style sheet + Formatvorlage auswählen - - automation type - Automatisationstyp + + Qt style sheets (*.qss) + QT-Formatvorlagen (*.qss) - MusEMixer::EffectRack - - - effect rack - Effekteinschub - + MusEGui::Arranger - - new - neu + + Enable Recording + Aufnahme einschalten - change - ändern + Mute/Off Indicator + Mute/Off Anzeige - move up - Nach oben bewegen + Solo Indicator + Solo-Anzeige - move down - Nach unten bewegen + Track Type + Spurtyp - remove - entfernen + Track Name + Spurname - bypass - übergehen + Midi output channel number or audio channels + Midi-Ausgangskanalnummer oder Audiokanäle - show gui - GUI anzeigen + Midi output port or synth midi port + Midi-Ausgangsport oder Synth-Midi-Port - show native gui - Native GUI anzeigen + Time Lock + Sperre "Zeit" - save preset - Preset speichern + Automation parameter selection + Automatisierungsparameterauswahl - - MusE: Save Preset - MusE: Preset speichern + + Notation clef + Notenschlüssel - - Replace effect - Effekt ersetzen + + Enable recording. Click to toggle. + Aufnahme einschalten. Klicken zum umschalten. - - Do you really want to replace the effect %1? - Möchten Sie wirklich den Effekt %1 ersetzen? + + Mute indicator. Click to toggle. +Right-click to toggle track on/off. +Mute is designed for rapid, repeated action. +On/Off is not! + Mute-Anzeige. Klicken zum umschalten. +Rechtsklick um Track an/aus umzuschalten. +"Mute" ist für schnelles, wiederholtes Umschalten. +An/aus nicht! - - - MusEMixer::MidiStrip - - - - off - + + Solo indicator. Click to toggle. +Connected tracks are also 'phantom' soloed, + indicated by a dark square. + Solo-Anzeige. Klicken zum umschalten. +Verbundene Spuren sind auch "Phantom-"Solo-geschalten, +angezeigt durch ein dunkles Quadrat. - - - double click on/off - + + Track type. Right-click to change + midi and drum track types. + Spurtyp. Rechtsklick, um Midi und +Schlagzeug Spurtypen umzuschalten. - - VariationSend - VariationSend + + Track name. Double-click to edit. +Right-click for more options. + Spurname. Doppelklick zum bearbeiten. +Rechtsklick für mehr Optionen. - - Var - Var + + Midi/drum track: Output channel number. +Audio track: Channels. +Mid/right-click to change. + Midi-/Schlagzeugspur: Ausgangskanalnummer. +Audiospur: Kanäle. +Mittel/Rechtsklick zum Ändern. - ReverbSend - ReverbSend + Midi/drum track: Output port. +Synth track: Assigned midi port. +Left-click to change. +Right-click to show GUI. + Midi/Schlagzeugspur: Ausgangsport. +Synth-Spur: Zugewiesener MIDI-Port. +Linksklick zum ändern. +Rechtsklick, um die GUI zu zeigen. - - Rev - Rev + + Time lock + Zeitsperre - ChorusSend - ChorusSend + Notation clef. Select this tracks notation clef. + Notenschlüssel. Wählt den Schlüssel dieser Spur aus. - - Cho - Cho + + Arranger + Arrangierer - - dB - dB + + Cursor + Zeiger - - Pan/Balance - Pan/Balance + + Off + Aus - Pan - - - - - record - Aufnahme + Bar + Takt - - mute - still + + Snap + Magnet - - solo mode - Solo Modus + + Len + Länge - - iR - iR + + + song length - bars + Liedlänge - Takte - - input routing - Eingangs-Signalfluss + + Type + Typ - - oR - oR + + NO + Kein - - output routing - Ausgangs-Signalfluss + + GM + GM - - - MusEWidget::BigTime - - format display - + + GS + GS - - bar - + + XG + XG + - beat - + midi song type + Midi Lied Typ - - tick - + Pitch + Tonhöhe - - minute - Minute + + midi pitch + Midi Tonhöhenänderung - second - Sekunde + global midi pitch shift + Globale Midi Tonhöhenänderung - - - frame - Rahmen + + Tempo + Tempo - - subframe - Subrahmen + + + midi tempo + Midi Tempo - - MusE: Bigtime - MusE: Zeitanzeige groß + + N + N - - - MusEWidget::EditToolBar - - Edit Tools - Werkzeuge bearbeiten + + TrackInfo + Spurinfo - - - MusEWidget::GlobalSettingsConfig - - Selects instruments directory - + + R + R - - - MusEWidget::Header - - Track Info Columns - + + M + M - - - MusEWidget::MTScale - - bar scale - + + S + S - - - MusEWidget::MTScaleFlo - - bar scale - + + C + C - - - MusEWidget::MidiSyncConfig - - - Port Number - Anschlussnummer + + Track + Spur - - - Name of the midi device associated with this port number - Name des Midi Gerätes an dieser Anschlussnummer + + Port + Port - - Midi clock input detected - + + Ch + K - - Midi tick input detected - + T + T - - Midi real time input detected - + + Automation + Automatisierung - MMC input detected - + Clef + Schlüssel + + + MusEGui::ArrangerView - - MTC input detected - + + MusE: Arranger + MusE: Arrangierer - - Detected SMPTE format - + + Undo/Redo tools + Rückgängig/Wiederholen-Werkzeuge - - Receive id number. 127 = Global. Double click to edit. - + + panic + Panik - - Accept midi clock input - + + transport + Transport - - Accept midi real time input - + + C&ut + &Ausschneiden - Accept MMC input - + &Copy + &Kopieren - Accept MTC input - + Copy in range + Im Bereich kopieren - Receive start rewinds before playing - + &Paste + &Einfügen - Transmit id number. 127 = Global. Double click to edit. - + Paste (show dialog) + Einfügen (Dialog zeigen) - Send midi clock output - + Paste c&lone + K&lon Einfügen - Send midi realtime output - + Paste clone (show dialog) + Klon einfügen (Dialog zeigen) - - Send MMC output - + &Insert Empty Measure + Leeren &Takt einfügen - - - Send MTC output - + + Delete Selected Tracks + Ausgewählte Spuren löschen - - Midi clock input detected. -Current port actually used is red. -Click to force a port to be used. - + + Shrink selected parts + Ausgewählte Parts schrumpfen - - Midi realtime input detected, including - start/stop/continue, and song position. - + + Expand selected parts + Ausgewählte Parts erweitern - MMC input detected, including stop/play/deferred play, and locate. - + Clean selected parts + Ausgewählte Parts säubern - - MTC input detected, including forward quarter-frame sync and full-frame locate. -Current port actually used is red. Click to force a port to be current. - + + Add Track + Spur hinzufügen - Detected SMPTE format: 24fps, 25fps, 30fps drop frame, or 30fps non-drop -Detects format of MTC quarter and full frame, and MMC locate. - + Select + Auswählen - - Receive id number. 127 = global receive all, even if not global. - + + Select &All + Alles a&uswählen - Accept midi clock input. Only one input is used for clock. -Auto-acquire: If two or more port realtime inputs are enabled, - the first clock detected is used, until clock is lost, - then another can take over. Best if each turns off its clock - at stop, so MusE can re-acquire the clock from another port. -Click on detect indicator to force another. - + &Deselect All + Alles ab&wählen - - Accept midi realtime input, including - start/stop/continue, and song position. -Non-clock events (start,stop etc) are - accepted by ALL enabled ports. -This means you may have several master - devices connected, and muse will accept - input from them. - + + Invert &Selection + Auswa&hl umkehren - - Accept MMC input, including stop/play/deferred play, and locate. - + + &Inside Loop + Bereich &innerhalb der Schleife - Accept MTC input, including forward quarter-frame sync and full-frame locate. -See 'rc' column for more help. - + &Outside Loop + Bereich außerhalb der Schlei&fe - - When start is received, rewind before playing. -Note: It may be impossible to rewind fast - enough to synchronize with the external device. - + + All &Parts on Track + Alle &Parts der Spur - Transmit id number. 127 = global transmit to all. - + Score + Partitur - - Send midi clock output. If 'Slave to External Sync' is chosen, - muse can re-transmit clock to any other chosen ports. - + + all parts in one staff + alle Parts in ein System - - Send midi realtime output, including start/stop/continue, - and song position. If 'Slave to external sync' is chosen, - muse can re-transmit midi realtime input messages to any - other chosen ports. This means you may have several slave - devices connected, and muse can re-send realtime messages - to any or all of them. - + + one staff per part + ein System pro Part - - Port - + + New score window + Neues Partiturfenster - Device Name - Gerätename + Pianoroll + Pianorollen Editor - c - + Drums + Schlagzeug Editor - k - + + List + Listen Editor - - r - + + Wave + Wave-Editor - - m - min + + Mastertrack + Masterspur - - t - + + Graphic + Graphischer Editor - - type - + + Midi &Transform + Midi &transformieren - - rid - + + Global Cut + Globaler Schnitt - rc - + Global Insert + Globales Einfügen - rr - + Global Split + Globales Aufteilen - - rm - + + &Edit + &Bearbeiten - - rt - + + &Structure + &Struktur - - rw - + + Functions + Funktionen - tid - + &Quantize Notes + Noten &quantisieren - tc - + Change note &length + Noten&länge verändern - tr - + Change note &velocity + &Anschlagsdynamik verändern - tm - + Crescendo/Decrescendo + Crescendo/Decrescendo - tt - + Transpose + Transponieren - - MusE - MusE + + Erase Events (Not Parts) + Events (nicht Parts) löschen - Settings have changed -Apply sync settings? - + Move Events (Not Parts) + Events (nicht Parts) verschieben - - &Apply - &Anwenden + + Set Fixed Note Length + Feste Notenlänge setzen - - &No - &Nein + + Delete Overlapping Notes + Überlappende Noten entfernen - - &Abort - &Abbrechen + + Legato + Legato - - <none> - <kein> + + Window &Config + Fenster&konfiguration - - - MusEWidget::MidiTrackInfo - - - <unknown> - + + + New + Neu - MusEWidget::MixdownFileDialog + MusEGui::AudioMixerApp - - Wave Files (*.wav);;All Files (*) - Wave Dateien (*.wav);;Alle Dateien (*) + + &Create + &Erzeugen - - - MusEWidget::NoteInfo - - Note Info - Noteninformation + + &View + &Zeigen - - Start - Start + + Routing + Signalfluss - - Len - Länge + + Show Midi Tracks + Zeige Midi-Spuren - - Pitch - + + Show Drum Tracks + Zeige Schlagzeug-Spuren - - Velo On - Velo an + + Show Wave Tracks + Zeige Wave-Spuren - - Velo Off - Velo aus + + Show Inputs + Zeige Eingänge - - - MusEWidget::RoutePopupMenu - - - - - - - - - Channel - Kanal + + Show Outputs + Zeige Ausgänge - - - - Soloing chain - + + Show Groups + Zeige Gruppen - - - Audio returns - + + Show Auxs + Zeige Aux - - Warning: No midi input devices! - + + Show Synthesizers + Zeige Synthesizer + + + MusEGui::AudioStrip - - Open midi config... - + + panorama + Panorama - - - <none> - <kein> + + aux send level + Aux Send Pegel - - Toggle all - + + Pan + Pan - - More... - + + 1/2 channel + 1/2 Kanäle - - Audio sends - + + Pre + Pre - - Midi port sends - + + pre fader - post fader + Vor Regler - nach Regler - - - MusEWidget::ScrollScale - - next page - Nächste Seite + + dB + dB - - previous page - Vorherige Seite + + record + Aufnahme - - current page number - Aktuelle Seitennummer + + mute + stumm - - - MusEWidget::ShortcutCaptureDialog - - Ok - Bestätigen + + record downmix + Abmischung aufnehmen - - Cancel - Abbrechen + + + solo mode + Solo Modus - - Shortcut conflicts with - + + off + Aus - - Undefined - unbestimmt + + iR + iR - - - MusEWidget::SigScale - - signature scale - Skala Taktmaß + + input routing + Eingangs-Signalfluss - - - MusEWidget::Toolbar1 - - Solo - Solo + + oR + oR - - Cursor - + + output routing + Ausgangs-Signalfluss - - Snap - Magnet + + Off + Aus - - - MusEWidget::TrackComment - - MusE: Track Comment - MusE: Spur Kommentar + + Read + Lesen - - Track Comment: - Spur Kommentar: + + Touch + Berühren - - - MusEWidget::VisibleTracks - - Visible track types - Sichtbare Spurtypen + + Write + Schreiben + + + + automation type + Automatisierungstyp - NoteInfo + MusEGui::BigTime - Start - Start + + format display + Formatanzeige - Len - Länge + + bar + Takt - Pitch - Tonhöhe + + beat + Schlag - Velo On - Velo an + + + tick + Tick - Velo Off - Velo aus + + minute + Minute - Note Info - Noteninformation + + second + Sekunde - - - OrganGuiBase - - MusE: Organ - + + + frame + Frame - - Drawbars - + + subframe + Subframe - - 16' - 16' + + MusE: Bigtime + MusE: Große Zeitanzeige + + + MusEGui::ClipListEdit - - 4' - 4' + + MusE: Clip List Editor + MusE: Clip-Listen-Editor - - 2 2/3' - 2 2/3' + + Undo/Redo tools + Rückgängig/Wiederholen-Werkzeuge - - 2' - 2' + + panic + Panik - - 5 1/3' - 5 1/3' + + transport + Transport - - 8' - 8' + + Window &Config + Fenster&konfiguration + + + MusEGui::ComboQuant - - Envelope Hi - + + + + Off + Aus + + + MusEGui::CtrlPanel - - - Release - + + S + S - - - Sustain - + + select controller + Controller wählen - - - Decay - + + X + X - - - Attack - + + remove panel + Kontrolleransicht schließen - - - - - - - ms - + + manual adjust + Manuelles Einstellen - - - cB - + + double click on/off + Doppelklick an/aus - - Envelope Lo - + + off + aus - - O-1 - + + + Velocity + Anschlagsdynamik - - Oscillator - + + add new ... + Neuen Kontroller hinzufügen ... - - Brass - + + + Instrument-defined + Instrumenten-definiert - - Reed - + + + Add ... + Hinzufügen ... - - Flute - + + Others + Andere - - Velocity - Velocity + + Edit instrument ... + Instrument bearbeiten ... - - - PageSettings - Track Name - Spur Name + + Common Controls + Gemeinsame Controller - PartCanvas + MusEGui::DrumEdit - C&ut - &Ausschneiden + + + mute instrument + Instrument stummschalten - &Copy - &Kopieren + + + sound name + Klangname - rename - Umbenennen + + + volume percent + Lautstärke Prozent - delete - Löschen + + + quantisation + Quantisierung - split - Schnitt + + + this input note triggers the sound + Diese Eingangsnote löst den Klang aus - glue - Verbinder + + + note length + Notenlänge - pianoroll - Pianorollen Editor + + + this is the note which is played + Das ist die Note, die gespielt wird - list - Listen Editor + + output channel (hold ctl to affect all rows) + Ausgangskanal (halten Sie CTRL, um alle Reihen zu beeinflussen) - drums - Schlagzeug Editor + + output port (hold ctl to affect all rows) + Ausgangsport (halten Sie CTRL, um alle Reihen zu beeinflussen) - Cannot copy/move/clone to different Track-Type - Kopieren/verschieben/klonen auf anderen Spurtyp nicht möglich + + + shift + control key: draw velocity level 1 + Shift + Ctrl: Zeichne Dynamiklevel 1 - color - Farbe + + + control key: draw velocity level 2 + Ctrl: Zeichne Dynamiklevel 2 - de-clone - Entklonen + + + shift key: draw velocity level 3 + Shift: Zeichne Dynamiklevel 3 - wave edit - Wave Editor + + + draw velocity level 4 + Zeichne Dynamiklevel 4 - Cannot paste: multiple tracks selected - Einfügen nicht möglich: mehrere Spuren ausgewählt + + output channel (ctl: affect all rows) + Ausgangskanal (CTRL, um alle Reihen zu beeinflussen) - Cannot paste: no track selected - Einfügen nicht möglich: keine Spur ausgewählt + + output port (ctl: affect all rows) + Ausgangskanal (CTRL, um alle Reihen zu beeinflussen) - Cannot paste: wrong data type - Einfügen nicht möglich: falscher Datentyp + + &File + &Datei - Can only paste to midi/drum track - Einfügen möglich nur in Midi/Drum Spur + + Load Map + Schlagzeugbelegung laden - Can only paste to wave track - Einfügen möglich nur in Wave Spur - - - - PasteDialog - - %n quarter(s) - - %n Viertelnote - %n Viertelnoten - + + Save Map + Schlagzeugbelegung Sichern - quarter - Viertelnote + + Reset GM Map + Auf GM-Belegung zurücksetzen - quarters - Viertelnoten + + &Edit + B&earbeiten - - - PasteDialogBase - - MusE: Paste Parts - + + Cut + Ausschneiden - - Number and raster - + + Copy + Kopieren - - insert - + + Copy events in range + Kopiere Events im Bereich - - times - + + Paste + Einfügen - - raster - + + Paste (with Dialog) + Einfügen (Dialog zeigen) - - ticks - + + Delete Events + Events entfernen - - Move, Merge, Clone - + + &Select + &Auswählen - - Move everything to the right - + + Select All + Alles auswählen - - Move only affected parts to the right - + + Select None + Nichts auswählen - - Put everything into a single track - + + Invert + Auswahl umkehren - - Merge with existing parts - + + Inside Loop + Innerhalb der Schleife - - Insert as clones (where possible) - + + Outside Loop + Ausserhalb der Schleife - - OK - Bestätigen + + Previous Part + Vorheriger Part - - Cancel - Abbrechen + + Next Part + Nächster Part - - - PasteEventsDialogBase - - MusE: Paste Events - + + Fu&nctions + Fu&nktionen - - Number and raster - + + Re-order list + Liste neu sortieren - - insert - + + Set Fixed Length + Länge festlegen - - times - + + Modify Velocity + Velocity ändern - - raster - + + Crescendo/Decrescendo + Crescendo/Decrescendo - - - ticks - + + Quantize + Quantisieren - - Paste options - + + Erase Event + Events löschen - - Always into existing parts - + + Move Notes + Noten verschieben - - Never into existing parts - + + Delete Overlaps + Überlappungen entfernen - - Into existing parts if part has not -to be expanded by more than - + + &Plugins + &Plugins - - Put everything into the (selected) part - + + Window &Config + Fenster&konfiguration - - OK - Bestätigen + + Drum tools + Schlagzeug-Werkzeuge - - Cancel - Abbrechen + + Load Drummap + Schlagzeugbelegung laden - - - PatchBay - MusE: ALSA MIDI Patch Bay - MusE: ALSA Midi Verbindungsübersicht + + Store Drummap + Schlagzeugbelegung sichern - - - PatchBayBase - ALSA Patch Bay - ALSA Verbindungsübersicht + + Step Record + Aufnahme taktschlagweise - - - PianoRoll - - &Edit - &Bearbeiten + + Midi Input + Midi Eingang - Cut - Ausschneiden + + cursor tools + Cursor-Werkzeug - Copy - Kopieren + + Set step size for cursor edit + Schrittweite für Cursor-Modus einstellen - Paste - Einfügen + + panic + Panik - Delete Events - Ereignisse löschen + + transport + Transport - Select All - Alle auswählen + + ctrl + ctrl - Select None - Nichts auswählen + + Add Controller View + Controlleransicht hinzufügen - Invert - Auswahl umkehren + + M + M - Inside Loop - Auswahl innerhalb Schleife + + Sound + Klang - Outside Loop - Auswahl außerhalb Schleife + + Vol + Vol - - &Select - &Auswählen + + QNT + QNT - blue - Farbe blau + + E-Note + E-Note - pitch colors - Farbe nach Tonhöhe + + Len + Länge - velocity colors - Farbe nach Anschlagsstärke + + A-Note + A-Note - &Config - &Einstellen + + Ch + K - event color - Ereignisfarbe + + Port + Port - &Functions - &Funktionen + + LV1 + LV1 - Over Quantize - Überquantisieren + + LV2 + LV2 - Note On Quantize - Wert "Note an" quantisieren + + LV3 + LV3 - Note On/Off Quantize - Wert "Note an/aus" quantisieren + + LV4 + LV4 - Iterative Quantize - Iteratives quantisieren + + Muse: Load Drum Map + MusE: Schlagzeugbelegung laden - Pianoroll Tools - Werkzeug "Pianorollen Editor" + + MusE: Store Drum Map + MusE: Schlagzeugbelegung speichern - - Step Record - Aufnahme taktschlagweise + + Drum map + Schlagzeugbelegung - - Midi Input - Midi Eingang + + Reset the drum map with GM defaults? + Die Schlagzeugbelegung auf die GM-Standardwerte zurücksetzen? + + + MusEGui::EditCAfterDialog - - Play Events - Ereignisse abspielen + + MusE: Enter Channel Aftertouch + MusE: Channel Aftertouch festlegen - - Add Controller View - Kontrolleransicht hinzufügen + + Time Position + Position - Config Quant... - Quantisierung einstellen ... + + Pressure + Anschlagsdruck + + + MusEGui::EditEventDialog - Modify Gate Time - Gate Zeit ändern + + Ok + Bestätigen - - Modify Velocity - Velocity ändern + + Cancel + Abbrechen + + + MusEGui::EditInstrument - Crescendo - Crescendo + + + MusE: Create file failed + MusE: Erzeugen der Datei schlug fehl - - Transpose - Transponieren + + MusE: Write File failed + MusE: Datei schreiben schlug fehl - Thin Out - Ausdünnen + + + + + MusE: + MusE: - Erase Event - Ereignis löschen + + + The user instrument directory +%1 +does not exist yet. Create it now? + + Das Benutzerinstrumentenverzeichnis +%1 +existiert nicht. Jetzt erzeugen? - Note Shift - Note verschieben + + + (You can change the user instruments directory at Settings->Global Settings->Midi) + (Sie können das Benutzer-Instrumentenversuchnis unter Einstellungen -> Globale Einstellungen -> Midi ändern) - Move Clock - Zeitposition verschieben + + + Unable to create user instrument directory '%1' + Konnte das Benutzer-Instrumentenverzeichnis "%1" nicht anlegen - Copy Measure - Taktmaß kopieren + + + MusE: Save Instrument Definition + MusE: Instrumentendefinition speichern - Erase Measure - Taktmaß löschen + + + Instrument Definition (*.idf) + Instrumentendefinition (*.idf) - Delete Measure - Taktmaß löschen + + + MusE: Save instrument as + MusE: Instrument speichern unter - Create Measure - Taktmaß erzeugen + + Enter a new unique instrument name: + Geben Sie einen neuen einzigartigen Instrumentennamen ein: - - ctrl - Ktrl + + The user instrument '%1' already exists. This will overwrite its .idf instrument file. +Are you sure? + Das Benutzerinstrument "%1" existiert bereits. Dies wird seine .idf Instrumentendatei überschreiben. +Sind Sie sicher? - - C&ut - &Ausschneiden + + MusE: Bad instrument name + MusE: Ungeeigneter Instrumentenname - - &Copy - &Kopieren + + Please choose a unique instrument name. +(The name might be used by a hidden instrument.) + Bitte wählen Sie einen einzigartigen Instrumentennamen. +(Der Name darf von einem versteckten Instrument benutzt werden.) - - Copy events in range - + + MusE: Bad patch name + MusE: Ungeeigneter Patch-Name - - &Paste - + + Please choose a unique patch name + Bitte eindeutigen Patchnamen wählen - - &Paste (with dialog) - + + MusE: Bad patchgroup name + MusE: Ungeeigneter Patchgruppen-Name - - Delete &Events - + + Please choose a unique patchgroup name + Bitte eindeutigen Patchgruppennamen wählen - - Select &All - Alles a&uswählen + + MusE: Bad controller name + MusE: Ungeeigneter Controllername - - &Deselect All - Alles ab&wählen + + Please choose a unique controller name + Bitte eindeutigen Controllernamen wählen - - Invert &Selection - Auswa&hl umkehren + + + MusE: Cannot add common controller + MusE: Kann gemeinsamen Controller nicht hinzufügen - - &Inside Loop - Bereich &innerhalb der Schleife + + A controller named '%1' already exists. + Ein Controller namens "%1" existiert bereits. - - &Outside Loop - Bereich außerhalb der Schlei&fe + + A controller number %1 already exists. + Die Controllernummer %1 existiert bereits. - - &Previous Part - + + + MusE + MusE + - &Next Part - + The current Instrument contains unsaved data +Save Current Instrument? + Das momentane Instrument enthält ungespeicherte Daten. +Instrument speichern? - - Fu&nctions - + + + &Save + &Speichern - - Window &Config - + + + &Nosave + &Nicht speichern - - &Event Color - + + &Abort + &Abbrechen + + + MusEGui::EditMetaDialog - - &Blue - + + MusE: Enter Meta Event + MusE: Meta-Event eingeben - - &Pitch colors - + + Time Position + Position - - &Velocity colors - + + Meta Type + Meta Typ - - Quantize - Quantisieren + + Enter Hex + Hex eingeben + + + MusEGui::EditPAfterDialog - - Modify Note Length - + + MusE: Enter Poly Aftertouch + MusE: Poly Aftertouch eingeben - - Crescendo/Decrescendo - Crescendo/Decrescendo + + Time Position + Position - - Erase Events - + + Pitch + Tonhöhe - - Move Notes - Noten verschieben + + Pressure + Anschlagsdruck + + + MusEGui::EditToolBar - - Set Fixed Length - Länge festlegen + + select Pointer Tool: +with the pointer tool you can: + select parts + move parts + copy parts + Werkzeug "Zeiger": +Dieses Werkzeug kann: + Parts auswählen + Parts verschieben + Parts kopieren - - Delete Overlaps - Überlappungen entfernen + + select Pencil Tool: +with the pencil tool you can: + create new parts + modify length of parts + Werkzeug "Zeichenstift": +Dieses Werkzeug kann: + Neue Parts erzeugen + Die Länge einzelner Parts ändern - Legato - Legato + select Delete Tool: +with the delete tool you can delete parts + Werkzeug "Radierer": + mit diesem Werkzeug werden Parts gelöscht - - &Plugins - &Plugins + + select Cut Tool: +with the cut tool you can split a part + Werkzeug "Schnitt": + mit diesem Werkzeug werden Parts geteilt - - Pianoroll tools - + + select Glue Tool: +with the glue tool you can glue two parts + Werkzeug "Verbinder": + mit diesem Werkzeug werden zwei einzelne Parts zu einem verbunden - - panic - Panik + + select Score Tool: + + Werkzeug "Notensatz": - - transport - + + select Quantize Tool: +insert display quantize event + Werkzeug "Quantisierung": + mit diesem Werkzeug werden quantisierte Ereignisse eingefügt - - - PluginDialog - - Ok - Bestätigen + + select Drawing Tool + Werkzeug "Zeichenstift" + + + + select Muting Tool: +click on part to mute/unmute + Werkzeug "Stille": + Klicken Sie auf einen Part um diesen stumm bzw. laut zu schalten - Cancel - Abbrechen + Manipulate automation + Automatisierung manipulieren - - MusE: select plugin - MusE: PlugIn wählen + + Cursor tool + Zeiger-Werkzeug - - Lib - Lib + + pointer + Zeiger - Label - Beschriftung + pencil + Zeichenstift - Name - Name + eraser + Radierer - AI - Al + cutter + Schnitt - AO - AO + score + Notensatz - CI - Cl + glue + Verbinder - CO - CO + quantize + Quantisierung - IP - IP + draw + Zeichenstift - id - id + mute parts + Schalte Parts stumm - Maker - Erzeuger + edit automation + Automatisierung bearbeiten - Copyright - Copyright + cursor + Zeiger - Select which types of plugins should be visible in the list,<br>beware that 'all' includes plugins that probably are not usable by MusE. - Typen in Liste dargestellter PlugIns auswählen, "all" beinhaltet auch in MusE womöglich nicht nutzbare PlugIns. + + Edit Tools + Werkzeuge bearbeiten + + + MusEGui::EffectRack - Stereo and Mono - Stereo und Mono + + effect rack + Effekteinschub - - Stereo - Stereo + + new + Neu - - Mono - Mono + + change + ändern - All - alle + + move up + Nach oben bewegen - - Mono and Stereo - + + move down + Nach unten bewegen - - Show All - + + remove + entfernen - - Select which types of plugins should be visible in the list.<br>Note that using mono plugins on stereo tracks is not a problem, two will be used in parallell.<br>Also beware that the 'all' alternative includes plugins that probably not are usable by MusE. - + + bypass + übergehen - - Search in 'Label' and 'Name': - + + show gui + GUI anzeigen - - - PluginGui - - - bypass plugin - Signalfluss PlugIn umleiten + + show native gui + Native GUI anzeigen - - MusE: load preset - MusE: Vorlage laden + + save preset + Preset speichern - - MusE: save preset - MusE: Vorlage sichern + + MusE: Save Preset + MusE: Preset speichern - - File Buttons - Schaltfläche Datei + + Replace effect + Effekt ersetzen - - Load Preset - + + Do you really want to replace the effect %1? + Möchten Sie wirklich den Effekt %1 ersetzen? + + + MusEGui::GlobalSettingsConfig - - Save Preset - Speicher Preset + + Selects instruments directory + Wählt Instrumentenverzeichnis aus + + + MusEGui::Header - - Error reading preset. Might not be right type for this plugin - + + Track Info Columns + Spur-Info Spalten - ProjectCreate + MusEGui::LMaster - - Create Project - + + MusE: Mastertrack + MusE: Masterspur - - Project Name: - + + &Edit + &Bearbeiten - - Project Path to song file: - + + Insert Tempo + Tempo einfügen - - Create project folder (recommended for audio projects) - + + Insert Signature + Taktmaß einfügen - - Browse - + + Insert Key + Tonart einfügen - - Song information: - + + Edit Positon + Position bearbeiten - - - QHeader - Port Number - Anschlussnummer + + Edit Value + Wert bearbeiten - enable gui for device - GUI für Gerät einschalten + + Delete Event + Event löschen - Instrument connected to port - Instrument mit Anschluss verbunden + + Window &Config + Fenster&konfiguration - State: result of opening the device - Status: Ergebnis des Geräteanschlusses + + Undo/Redo tools + Rückgängig/Wiederholen-Werkzeuge - mute instrument - Instrument still schalten + + Edit tools + - sound name - Klangname + + Tempo + Tempo - quantisation -currently not used - Quantisierung -gegenwärtig nicht benutzt + + Timesig + Taktmaß - this input note triggers the sound - Diese Eingangsnote löst den Klang aus + + Key + Tonart - note length - Notenlänge + + new tempo + Neues Tempo - this note is send for the sound - Diese Note wird für den Klang verwendet + + new signature + Neues Taktmaß - output channel -currently not used - Ausgangskanal -gegenwärtig nicht benutzt + + new key + Neue Tonart - output port -currently not used - Ausgangsanschluss -gegenwärtig nicht benutzt + + panic + Panik - velocity level 1 - Velocity Pegel 1 + + transport + Transport - velocity level 2 - Velocity Pegel 2 + + Meter + Taktposition - velocity level 3 - Velocity Pegel 3 + + Time + Zeit - velocity level 4 - Velocity Pegel 4 + + Type + Typ - quantisation - Quantisierung + + Value + Wert - output channel - Ausgangskanal + + Reposition of the initial tempo and signature events is not allowed + Das Verschieben der initialen Tempo- und Taktmaß-Events ist nicht erlaubt - output port - Ausgangsanschluss + + MusE: List Editor + MusE: Listeneditor - Enable Recording - Aufnahme einschalten + + Input error, conversion not OK or value out of range + Eingabefehler, Umwandlung nicht in Ordnung oder Wert außerhalb des zulässigen Bereichs - Mute Indicator - Anzeige "Stille" + + Reposition of tempo and signature events to start position is not allowed! + Das Verschieben von Tempo- und Taktmaß-Events an die Startposition ist nicht erlaubt! + + + MusEGui::ListEdit - Solo Indicator - Anzeige "Solo" + + insert Note + Note einfügen - Track Type - Spurtyp + + insert SysEx + SysEx einfügen - Track Name - Spurname + + insert Ctrl + Ctrl einfügen - Output Channel Number - Ausgangskanalnummer + + insert Meta + Meta einfügen - Output Port - Ausgangsanschluss + + insert Channel Aftertouch + Channel Aftertouch einfügen - Time Lock - Sperre "Zeit" + + insert Poly Aftertouch + Poly Aftertouch einfügen - Solo/Pre Fader Listening - Solo/Vor Regler Abhöre + + &Edit + B&earbeiten - Name of the midi device associated with this port number - Name des Midi Gerätes an dieser Anschlussnummer - - - enables reading from device - Auslesen vom Gerät ermöglichen + + Cut + Ausschneiden - enables writing to device - Schreiben zum Gerät ermöglichen + + Copy + Kopieren - - - QObject - - Other - + + Paste + Einfügen - - - Error - + + Delete Events + Events löschen - - - Please first select the range for crescendo with the loop markers. - + + Window &Config + Fenster&konfiguration - - - QWidget - - - Cannot convert sysex string - Sysex Kette nicht umwandelbar + + Undo/Redo tools + Rückgängig/Wiederholen-Werkzeuge - - - Hex String too long (2048 bytes limit) - Hex Kette ist zu lang (Grenze 2048 Bytes) + + Insert tools + Werkzeuge "Einfügen" - - new - Neu + + panic + Panik - - create peakfile for - Pegelspitzendatei erzeugen für + + transport + Transport - - MusE: get file name - MusE: Dateinamen übermitteln + + Tick + Tick - the directory - - Das Verzeichnis + + Bar + Takt - -does not exist -create? - Es besteht nicht -Erzeugen? + + Type + Typ - &Create - &Erzeugen + + Ch + K - Cancel - Abbrechen + + Val A + Wert A - - MusE: create directory - MusE: Verzeichnis erzeugen + + Val B + Wert B - creating dir failed - Verzeichnis erzeugen schlug fehl + Val C + Wert C - - File - - Datei + + Len + Länge - -exists - besteht + + Comment + Kommentar + + + MusEGui::MPConfig - - MusE: write - MusE: schreiben + + + Default input connections + Standard-Eingangsverbindungen - Overwrite - Überschreiben + + + Are you sure you want to apply to all existing midi tracks now? + Sind Sie sicher, dass Sie das auf alle existierenden MIDI-Spuren anwenden wollen? - Quit - Beenden + + + Default output connections + Standard-Ausgangsverbindungen - - Open File - - Datei öffnen + + + Setting will apply to new midi tracks. +Do you want to apply to all existing midi tracks now? + Die Einstellung wird auf neue MIDI-Spuren angewendet werden. +Möchten Sie sie jetzt auf alle existierende MIDI-Spuren anwenden? - - -failed: - schlug fehl: + + MusE: bad device name + MusE: ungeeigneter Gerätename - - MusE: Open File - MusE: Datei öffnen + + please choose a unique device name + Bitte wählen Sie einen einzigartigen Gerätenamen - - - None - Kein + + + in + ein - - generic midi - General Midi + + + out + aus - - No selection. Ignoring - + + Show first aliases + Zeige erste Aliase - - The directory - - + + Show second aliases + Zeige zweite Aliase - - -does not exist. -Create it? - + + + Toggle all + Alle umschalten - - -exists. Overwrite? - + + + Change all tracks now + Alle Spuren jetzt ändern - - - QuantBase - - MusE: Quantize - + Create + Erstellen - - Range - Bereich + device + Gerät - - All Events - Alle Ereignisse + + Create Jack device + Jack-Gerät erstellen - - Selected Events - Ausgewählte Ereignisse + + + Port Number + Anschlussnummer - - Looped Events - Ereignisse innerhalb Schleife + + Enable gui + GUI aktivieren - - Selected Looped - + + Enable reading + Lesen aktivieren - - Values - Werte + + Enable writing + Schreiben aktivieren - - Strength: - + + Port instrument + Anschluss-Instrument - - % - % + + Midi device name. Click to edit (Jack) + Midigerätename. Klicken zum bearbeiten (Jack) - - Threshold (ticks): - + + Connections from Jack Midi outputs + Verbindungen von Jack Midi Ausgängen - - Quantize Len - + + Connections to Jack Midi inputs + Verbindungen zu Jack Midi Eingängen - - Raster - + + Auto-connect these channels to new midi tracks + Verbinde diese Kanäle automatisch mit neuen Midispuren - - Whole - + + Auto-connect new midi tracks to these channels + Verbinde neue Midispuren automatisch mit diesen Kanälen - - Half - + + Auto-connect new midi tracks to this channel + Verbinde neue Midispuren automatisch mit diesem Kanal - - Quarter - + + Device state + Gerätestatus - - 8th - + + Enable gui for device + GUI für Gerät aktivieren - - 16th - + + Enable reading from device + Lesen vom Gerät aktivieren - - 32th - + + Enable writing to device + Schreiben zum Gerät aktivieren - - Swing: - - - - - If the proposed change in tick or length is smaller than threshold, nothing is done. -If swing=0, this is normal -If swing is 33, you get a 2:1-rhythm. -If swing is -33, you get a 1:2-rhythm. - - + + Name of the midi device associated with this port number. Click to edit Jack midi name. + Name des MIDI-Gerätes, welches mit dieser Anschlussnummer verknüpft ist. Klicken Sie, um den Jack Midi Namen zu ändern. - - OK - Bestätigen + + Instrument connected to port + Instrument mit Anschluss verbunden - - Cancel - Abbrechen + + Connections from Jack Midi output ports + Verbindungen von Jack Midi Ausgangsports - - - QuantConfig - Config Quantize - Quantisierung einstellen + + Connections to Jack Midi input ports + Verbindungen zu Jack Midi Eingangsports - Strength - Stärke + + Auto-connect these channels, on this port, to new midi tracks. + Verbinde diese Kanäle auf diesem Port automatisch mit neuen MIDI-Spuren. - Don´t Quantize - Nicht quantisieren + + Connect new midi tracks to these channels, on this port. + Verbinde neue MIDI-Spuren mit diesen Kanälen auf diesem Port. - Quant Len - Länge quantisieren + + Connect new midi tracks to this channel, on this port. + Verbinde neue MIDI-Spuren mit diesem Kanal auf diesem Port. - MusE: Config Quantize - MusE: Quantisierung einstellen + + State: result of opening the device + Status: Ergebnis vom Öffnen des Gerätes - - - RemoveBase - - MusE: Erase Notes - + + Port + Anschluss - - Range - Bereich + + GUI + GUI - - All Events - Alle Ereignisse + + I + E - - Selected Events - Ausgewählte Ereignisse + + O + A - - Looped Events - Ereignisse innerhalb Schleife + + Instrument + Instrument - - Selected Looped - + + Device Name + Gerätename - - Thresholds - + + In routes + Eingangssignalfluss - - ticks - + + Out routes + Ausgangssignalfluss - - Velocity - + + Def in ch + Standard Ein-Kanal - - Length - Länge + + Def out ch + Standard Aus-Kanal - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:7px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If nothing is checked, everything is removed.</p> -<p style=" margin-top:0px; margin-bottom:7px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If velocity is checked, only notes with velo &lt; threshold are removed.</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If both are checked, notes with velo &lt; threshold OR with length &lt; threshold are removed.</p></body></html> - + + State + Status - - OK - Bestätigen + + <unknown> + <unbekannt> - - Cancel - Abbrechen + + + <none> + <kein> - RhythmBase + MusEGui::MTScale - MusE: Random Rhythm Generator - MusE: Rhythmus Zufallsgenerator + + bar scale + Taktskala + + + MusEGui::MTScaleFlo - Instrument Properties - Instrumenteigenschaften + + bar scale + Taktskala + + + MusEGui::MarkerView - counts/bar - Schläge/Takt + + MusE: Marker + MusE: Marker - steps/count - Schritte/Schlag + + add marker + Marker hinzufügen - # bars - # Takte + + delete marker + Marker löschen - test - testen + + &Edit + B&earbeiten - contrib - beitragen + + Window &Config + Fenster&konfiguration - randomize - zufällig anordnen + + Undo/Redo tools + Rückgängig/Wiederholen-Werkzeuge - Group 1 - Gruppe 1 + + edit tools + Werkzeuge "Bearbeiten" - Group 2 - Gruppe 2 + + panic + Panik - Group 3 - Gruppe 3 + + transport + Transport - Group 4 - Gruppe 4 + + Bar:Beat:Tick + Takt:Schlag:Tick - Group 5 - Gruppe 5 + + Hr:Mn:Sc:Fr:Sf + Std:Min:Sek:Fr:SFr - listen - vorhören + + Lock + Sperre - Instrument - Instrument + + Text + Text - Group - Gruppe + + Marker Properties + Marker Eigenschaften + + + MusEGui::MasterEdit - &New - &Neu + + MusE: Mastertrack + MusE: Masterspur - create new entry - Neuen Eintrag erzeugen + + Window &Config + Fenster&konfiguration - pressing the New button you create a new entry -in the MusE list of defined controllers - Schaltfläche "Neu" klicken um einen neuen Eintrag -in der MusE Liste definierter Kontroller zu erzeugen + + Undo/Redo tools + Rückgängig/Wiederholen-Werkzeuge - &Delete - &Löschen + + panic + Panik - delete selected entry - Ausgewählten Eintrag löschen + + transport + Transport - Up - Nach oben + + Enable master + Master einschalten - Down - Nach unten + + Enable + Einschalten - Instrument - Instrument + + Enable usage of master track + Verwendung der Masterspur einschalten - steps/count - Schritte/Schlag + + Info + Info - list of defined controllers - Liste definierter Kontroller + + Cursor + Positionsmarker - This is the MusE list of defined controllers. - Dies ist die MusE Liste definierter Kontroller. + + time at cursor position + Zeit an aktuellem Positionsmarker - &File - &Datei - - - &Edit - &Bearbeiten + + tempo at cursor position + Tempo an aktuellem Positionsmarker - &Help - &Hilfe + + Off + Aus - Tools - Werkzeuge + + Bar + Takt - New - Neu + + Snap + Magnet - Open - Öffnen + + CurPos + AktPos - &Open... - &Öffnen ... + + tempo at current position + Tempo an aktuellem Positionsmarker - Save - Sichern + + time signature at current position + Taktmaß an aktuellem Positionsmarker + + + MusEGui::MidiInputTransformDialog - &Save - &Sichern + + + New + Neu + + + MusEGui::MidiStrip - Save As - Sichern als + + + + off + aus - Save &As... - S&ichern als ... + + + double click on/off + Doppelklick an/aus - Print - Drucken + + VariationSend + VariationSend - &Print... - &Drucken ... + + Var + Var - Exit - Beenden + + ReverbSend + ReverbSend - E&xit - Bee&nden + + Rev + Rev - Undo - Rckgängig + + ChorusSend + ChorusSend - &Undo - &Rückgängig + + Cho + Cho - Redo - Wiederherstellen + + dB + dB - &Redo - &Wiederherstellen + + Pan/Balance + Pan/Balance - Cut - Ausschneiden + + Pan + Pan - &Cut - A&usschneiden + + record + Aufnahme - Copy - Kopieren + + mute + Stumm - C&opy - Ko&pieren + + solo mode + Solo Modus - Paste - Einfügen + + iR + iR - &Paste - Ein&fügen + + input routing + Eingangs-Signalfluss - Find - Suchen + + oR + oR - &Find... - &Suchen ... + + output routing + Ausgangs-Signalfluss + + + MusEGui::MidiSyncConfig - Contents - Inhalte + + + Port Number + Portnummer - &Contents... - &Inhalte ... + + + Name of the midi device associated with this port number + Name des Midi Gerätes an dieser Portnummer - Index - Verzeichnis + + Midi clock input detected + Midi-Uhr Eingang erkannt - &Index... - &Verzeichnis ... + + + Midi tick input detected + Midi-Tick Eingang erkannt - About - Über + + Midi real time input detected + Midi Echtzeiteingang erkannt - &About... - &Über ... + + MMC input detected + MMC Eingang erkannt - <b>Notice!</b><br> -Random Rhythm Generator is not enabled yet! - Merke! -Rhythmus Zufallsgenerator noch nicht eingeführt! + + MTC input detected + MTC Eingang erkannt - Ctrl+N - Strg+N + + Detected SMPTE format + SMPTE-Format erkannt - Ctrl+O - Strg+O + + Receive id number. 127 = Global. Double click to edit. + - Ctrl+S - Strg+S + + Accept midi clock input + Akzeptiere Midi-Uhr-Eingang - Ctrl+P - Strg+P + + Accept midi real time input + Akzeptiere Midi-Echtzeit-Eingang - Ctrl+Z - Strg+Z + + Accept MMC input + Akzeptiere MMC-Eingang - Ctrl+Y - Strg+Y + + Accept MTC input + Akzeptiere MTC-Eingang - Ctrl+X - Strg+X + + Receive start rewinds before playing + Das Empfangen von "Start" spult vor dem Abspielen zurück - Ctrl+C - Strg+C + + Transmit id number. 127 = Global. Double click to edit. + - Ctrl+V - Strg+V + + Send midi clock output + - Ctrl+F - Strg+F + + Send midi realtime output + - - - RhythmGenerator - Form3 - Form3 + + + Send MMC output + - Instrument Settings: - Instrument Einstellungen + + + Send MTC output + - Instrument - Instrument + + Midi clock input detected. +Current port actually used is red. +Click to force a port to be used. + Midi-Uhr-Eingang erkannt. +Der momentan verwendete Anschluss ist rot. +Klicken Sie, um einen anderen Anschluss zu erzwingen. - add - Zufgen + + Midi realtime input detected, including + start/stop/continue, and song position. + Midi-Echtzeit-Eingang erkannt, einschließlich +Start/Stopp/Fortsetzen und Liedposition. - delete - Entfernen + + MMC input detected, including stop/play/deferred play, and locate. + MMC-Eingang erkannt, einschließlich Stopp/Play/Verzögertes Play und Position. - steps/count - Schritte/Schlag + + MTC input detected, including forward quarter-frame sync and full-frame locate. +Current port actually used is red. Click to force a port to be current. + MTC-Eingang erkannt, einschließlich Vorwärts-Viertel-Frame-Synchronisation und +Voll-Frame-Positionserkennung. Der momentan verwendete Anschluss ist rot. +Klicken Sie, um einen anderen Anschluss zu erzwingen. - # bars - # Takte + + Detected SMPTE format: 24fps, 25fps, 30fps drop frame, or 30fps non-drop +Detects format of MTC quarter and full frame, and MMC locate. + - Group - Gruppe + + Receive id number. 127 = global receive all, even if not global. + - Group 1 - Gruppe 1 + + Accept midi clock input. Only one input is used for clock. +Auto-acquire: If two or more port realtime inputs are enabled, + the first clock detected is used, until clock is lost, + then another can take over. Best if each turns off its clock + at stop, so MusE can re-acquire the clock from another port. +Click on detect indicator to force another. + Midi-Uhr-Eingang akzeptieren. Nur ein Eingang wird für die +Uhr benutzt. Auto-Benutzen: Wenn mehr als ein Echtzeiteingang +aktiviert ist, wird die erste erkannte Uhr genutzt, bis sie verloren +geht. Dann übernimmt eine andere. Es ist am besten, wenn jeder +seine Uhr beim Stopp ausschaltet, damit MusE die Uhr von einem +anderen Anschluss benutzen kann. Klicken Sie auf den Erkennungs- +Indikator, um eine andere zu erzwingen. - Group 2 - Gruppe 2 + + Accept midi realtime input, including + start/stop/continue, and song position. +Non-clock events (start,stop etc) are + accepted by ALL enabled ports. +This means you may have several master + devices connected, and muse will accept + input from them. + Akzeptiere MIDI-Echtzeit-Eingänge, einschließlich +Start/Stopp/Fortsetzen und Liedposition. +Nicht-Uhr-Ereignisse (Start/Stopp etc.) werden von +ALLEN aktivierten Anschlüssen angenommen. +Das bedeutet, dass Sie mehrere Master-Geräte +verbinden können, und MusE wird deren Daten +annehmen. - Group 3 - Gruppe 3 + + Accept MMC input, including stop/play/deferred play, and locate. + Akzeptiere MMC-Eingang, einschließlich Stopp/Play/Verzögertes Play und Position. - Group 4 - Gruppe 4 + + Accept MTC input, including forward quarter-frame sync and full-frame locate. +See 'rc' column for more help. + MTC-Eingang erkannt, einschließlich Vorwärts-Viertel-Frame-Synchronisation und +Voll-Frame-Positionserkennung. Siehe die "rc"-Spalte für mehr Hilfe. - Group 5 - Gruppe 5 + + When start is received, rewind before playing. +Note: It may be impossible to rewind fast + enough to synchronize with the external device. + Wenn Start empfangen wird, wird vor dem Abspielen +zurückgespult. +Hinweis: Es könnte unmöglich sein, schnell genug +zurückzuspulen, um mit dem externen Gerät synchron +zu bleiben. - contrib - beitragen + + Transmit id number. 127 = global transmit to all. + - listen - vorhören + + Send midi clock output. If 'Slave to External Sync' is chosen, + muse can re-transmit clock to any other chosen ports. + Sende Midi-Uhr-Ausgang. Wenn "Binde an Externe Sync" gewählt ist, +kann MusE das Uhr-Signal an andere ausgewählte Anschlüsse +weiterleiten. - Save - Sichern + + Send midi realtime output, including start/stop/continue, + and song position. If 'Slave to external sync' is chosen, + muse can re-transmit midi realtime input messages to any + other chosen ports. This means you may have several slave + devices connected, and muse can re-send realtime messages + to any or all of them. + Sende Midi-Echtzeit Ausgang, einschließlich Start/Stopp/ +Fortsetzen und Liedposition. Wenn "Binde an externe Sync." +aktiviert ist, kann MusE Midi Echtzeit-Eingangsnachrichten an +andere ausgewählte Anschlüsse weiterleiten. Das bedeutet, +dass Sie mehrere "Sklaven"-Geräte verbinden können, und MusE +Echtzeitnachrichten an einige oder alle weiterleiten kann. - - Rhythmusgenerator + + Port + Anschluss - - - RouteDialogBase - - MusE: Routing - MusE: Signalfluss + + Device Name + Gerätename - - Add Route - Signalfluss hinzufügen + + c + c - - Source: - Quelle: + + k + k - - Destination: - Ziel: + + r + r - - Connect - Verbinden + + m + m - - connect source to destination - Quelle mit Ziel verbinden + + t + t - - Current Routes - Aktueller Signalfluss + + type + Typ - - Source - Quelle + + rid + rid - - Destination - Ziel + + rc + rc - - Remove - Entfernen + + rr + rr - - remove selected route - Ausgewählten Signalfluss entfernen + + rm + rm - - - RoutePopupMenu - Channel - Kanal + + rt + rt - <none> - <kein> + + rw + rw - - - SS_PluginChooserBase - - SimpleDrums - Ladspa Plugin Chooser - + + tid + tid - - Name - Name + + tc + tc - - Label - Beschriftung + + tr + tr - - Inports - + + tm + tm - - Outports - + + tt + tt - - Creator - + + MusE + MusE - - &Cancel - + + Settings have changed +Apply sync settings? + Einstellungen wurden geändert. +Sync-Einstellungen anwenden? - - Alt+C - Alt+C + + &Apply + &Anwenden - - &OK - &Bestätigen + + &No + &Nein - - Alt+O - + + &Abort + A&bbrechen - - - SS_PluginFront - - Clear and unload effect - + + <none> + <kein> + + + MusEGui::MidiTrackInfo - - Load effect - + + + <unknown> + <unbekannt> + + + MusEGui::MidiTransformerDialog - - Toggle display of effect parameters - + + + New + Neu + + + MusEGui::MixdownFileDialog - - Turn effect on/off - + + Wave Files (*.wav);;All Files (*) + Wave Dateien (*.wav);;Alle Dateien (*) - ScoreCanvas + MusEGui::MusE - - Treble - Violinschlüssel + + + Failed to start audio! + Audio konnte nicht gestartet werden! - - Bass - Bassschlüssel + + Was not able to start audio, check if jack is running. + + Audio konnte nicht gestartet werden, überprüfen Sie, ob Jack läuft. - - Grand Staff - Beide Schlüssel + + Timeout waiting for audio to run. Check if jack is running. + + Timeout beim Warten auf Audio. Überprüfen Sie, ob Jack läuft. - - Remove staff - + + Und&o + &Rückgängig - - Ambiguous part - + + Re&do + &Wiederholen - - There are two or more possible parts you could add the note to, but none matches the selected part. Please select the destination part by clicking on any note belonging to it and try again, or add a new stave containing only the destination part. - + + undo last change to song + Letzte Änderung am Lied rückgängig machen - - No part - + + redo last undo + Letztes Rückgängigmachen wiederholen - - There are no parts you could add the note to. - + + Loop + Schleife - - - ScoreEdit - - Undo/Redo tools - Rückgängig/Wiederho + + loop between left mark and right mark + Schleife zwischen linkem und rechtem Marker - - Step recording tools - + + Punchin + Aufnahme am linken Marker beginnen - Step Record - Aufnahme taktschlagweise - - - - panic - Panik + record starts at left mark + Aufnahme am linken Marker beginnen - transport - - - - - Note settings - + Punchout + Aufnahme am rechten Marker beenden - Note length: - + record stops at right mark + Aufnahme am rechten Marker beenden - last - + Start + Start - - Velocity: - + + rewind to start position + Zur Startposition springen - - Off-Velocity: - + + Rewind + Einen Taktschlag rückwärts - - Quantisation settings - + + rewind current position + Einen Taktschlag rückwärts + + + + Forward + Einen Taktschlag vorwärts - Quantisation: - + move current position + Einen Taktschlag vorwärts - - Pixels per whole: - + + Stop + Stopp - - &Edit - + + stop sequencer + Wiedergabe beenden - C&ut - &Ausschneiden + Play + Wiedergabe - - &Copy - &Kopieren + + start sequencer play + Wiedergabe beginnen - - Copy events in range - + + Record + Aufnahme - - &Paste - + + to record press record and then play + Zur Aufnahme erst die Schaltfläche "Aufnahme" und dann "Wiedergabe" klicken - Paste (with dialog) - + + Panic + Panik - - Delete &Events - + + send note off to all midi channels + Panik - "Note aus" Befehl an alle Midikanäle senden - - &Select - &Auswählen + + &New + &Neu + + + + + Create New Song + Neues Lied erzeugen - Select &All - Alles a&uswählen + &Open + Lied &öffnen - - &Deselect All - Alles ab&wählen + + + Click this button to open a <em>new song</em>.<br>You can also select the <b>Open command</b> from the File menu. + Auf diese Schaltfläche klicken um ein <em>Neues Lied</em> zu öffnen.<br> Alternativ den Befehl <b>Neues Lied</b> des Menüs "Datei" auswählen. - - Invert &Selection - Auswa&hl umkehren + + Open &Recent + &Letztes Lied öffnen - - &Inside Loop - Bereich &innerhalb der Schleife + + + + &Save + &Speichern - - &Outside Loop - Bereich außerhalb der Schlei&fe + + + Click this button to save the song you are editing. You will be prompted for a file name. +You can also select the Save command from the File menu. + Auf diese Schaltfläche klicken um das gerade bearbeitete Lied zu sichern mit der automatischen Aufforderung einen Dateinamen anzugeben. +Alternativ das Lied mit dem Befehl "Sichern" im Menü "Datei" sichern. - - Fu&nctions - + + Save &As + Speichern &unter - &Quantize - + Import Midifile + Mididatei importieren - Change note &length - Notenlänge verändern + Export Midifile + Mididatei exportieren - Change note &velocity - Anschlagsdynamik verändern + Import Part + Part importieren - - Crescendo/Decrescendo - Crescendo/Decrescendo + + + Import Wave File + Wavedatei importieren - Transpose - Transponieren + Find unused wave files + Finde ungenutzte Wave-Dateien - - Erase Events - + + &Quit + &Beenden - - Move Notes - Noten verschieben + + Song Info + Liedinfo - - Set Fixed Length - Länge festlegen + + Transport Panel + Transportkonsole - - Delete Overlaps - Überlappungen entfernen + + Bigtime Window + Große Zeitanzeige - - Legato - Legato + + Mixer A + Mixer A - - Window &Config - + + Mixer B + Mixer B - Note head &colors - + Cliplist + Cliplist - &Black - + Marker View + Marker-Fenster - - &Velocity - + + Arranger View + Arranger-Fenster - - &Part - + + Fullscreen + Vollbild - - Set up &preamble - + + &Plugins + &Plugins - Display &key signature - + Edit Instrument + Instrument bearbeiten - Display &time signature - + Input Plugins + Eingangs-PlugIns - - Set Score &name - + + Transpose + Transponieren - - Enter the new score title - + Midi Input Transform + Midi Eingang transformieren - - Error - + + Midi Input Filter + Midi Eingangsfilter - - Changing score title failed: -the selected title is not unique - + + Midi Remote Control + Midi Fernbedienung - - - ScrollScale - next page - Nächste Seite + + Rhythm Generator + Rhythmusgenerator - previous page - Vorherige Seite + + Reset Instr. + Instr. zurücksetzen - current page number - Aktuelle Seitennummer + + Init Instr. + Instr. initialisieren - - - SetlenBase - - MusE: Set Note Length - + + Local Off + Lokal aus - - Range - Bereich + + Bounce to Track + Auf Spur abmischen - - All Events - Alle Ereignisse + + Bounce to File + In Datei abmischen - - Selected Events - Ausgewählte Ereignisse + + Restart Audio + Audio erneut starten - - Looped Events - Ereignisse innerhalb Schleife + + Mixer Automation + Mischpult Automatisierung - - Selected Looped - + + Take Snapshot + Schnappschuss aufnehmen - - Value - Wert + + Clear Automation Data + Automatisierungsdaten löschen - - New length - + + Cascade + Staffeln - - ticks - + + Tile + Kacheln - - OK - Bestätigen + + In rows + In Reihen - - Cancel - Abbrechen + + In columns + In Spalten - - - ShortcutCaptureDialog - Ok - Bestätigen + + Global Settings + Globale Einstellungen - Cancel - Abbrechen + + Configure Shortcuts + Tastenkürzel einstellen - Undefined - unbestimmt + + Follow Song + Folge dem Lied - - - ShortcutCaptureDialogBase - - Enter shortcut sequence - Folge von Tastenkürzeln eingeben + + Don't Follow Song + Folge dem Lied nicht - - Press keys to enter shortcut sequence! - Tasten drücken um Folge von Tastenkürzeln einzugeben! + + Follow Page + Folge dem Lied seitenweise - - Old shortcut: - Altes Tastenkürzel: + + Follow Continuous + Folge dem Lied ständig - - - Undefined - unbestimmt + + Metronome + Metronom - - New shortcut: - Neues Tastenkürzel: + + Midi Sync + Midi Sync - - OK - Bestätigen + + Midi File Import/Export + Midi-Datei Import/Export - - Cancel - Abbrechen + + Appearance Settings + Erscheinungsbild einstellen - - - ShortcutConfigBase - - Configure Keyboard Shortcuts - Tastenkürzel einstellen + + Midi Ports / Soft Synth + Midi Anschlüsse / Software Synthesizer - - Shortcut Category - Kategorie Tastenkürzel + + &Manual + &Handbuch - - Description - Beschreibung + + &MusE Homepage + &MusE Webseite - - Shortcut - Tastenkürzel + + &Report Bug... + &Fehler melden ... - - &Clear - &Löschen + + &About MusE + &Über MusE - - Alt+C - Alt+C + + File Buttons + Datei-Knöpfe - - &Define - &Bestimmen + + Undo/Redo + Rückgängig/Wiederholen - - Alt+D - Alt+D + + Transport + Transport - - &Apply - &Anwenden + + &File + &Datei - - Alt+A - Alt+A + + &View + &Zeigen - - - SigScale - signature scale - Skala Taktmaß + + &Midi + &Midi - - - SimpleDrumsGuiBase - - DrumSynth 0.1 - + + &Audio + &Audio - - - SimpleSynthGui - - &Load setup - + + A&utomation + A&utomatisierung - - &Save setup - + + &Windows + F&enster - - Load sample dialog - + + MusE Se&ttings + MusE Ei&nstellungen - - - Song - - Jack shutdown! - + + &Help + &Hilfe - - Jack has detected a performance problem which has lead to -MusE being disconnected. -This could happen due to a number of reasons: -- a performance issue with your particular setup. -- a bug in MusE (or possibly in another connected software). -- a random hiccup which might never occur again. -- jack was voluntary stopped by you or someone else -- jack crashed -If there is a persisting problem you are much welcome to discuss it -on the MusE mailinglist. -(there is information about joining the mailinglist on the MusE - homepage which is available through the help menu) + + Cannot read template + Vorlage nicht lesbar + + + + File open error + Fehler beim Datei öffnen + + + + File read error + Fehler beim Datei lesen + + + + Unknown File Format: %1 + Unbekanntes Dateiformat: %1 + + + + + + MusE: Song: %1 + MusE: Lied: %1 + + + + MusE: load project + Muse: Projekt laden + + + + MusE: load template + Muse: Vorlage laden + + + + MusE: Write File failed + MusE: Datei schreiben schlug fehl + + + + The current Project contains unsaved data +Save Current Project? + Das aktuelle Projekt enthält ungesicherte Daten +Aktuelles Projekt sichern? + + + + + S&kip + &Überspringen + + + + &Cancel + &Abbrechen + + + + + MusE: Save As + MusE: Speichern unter + + + + + Nothing to edit + Es gibt nichts zu editieren + + + + + + + + MusE: Bounce to Track + MusE: Auf Spur abmischen + + + + No wave tracks found + Keine Wave-Tracks gefunden + + + + + No audio output tracks found + Keine Audio-Tracks gefunden + + + + Select one audio output track, +and one target wave track + Wählen Sie eine Audio-Ausgangsspur +und eine Ziel-Wave-Spur + + + + Select one target wave track + Wählen Sie eine Ziel-Wave-Spur + + + + Select one target wave track, +and one audio output track + Wählen Sie eine Ziel-Wave-Spur +und eine Audio-Ausgangs-Spur + + + + + MusE: Bounce to File + MusE: In Datei abmischen + + + + Select one audio output track + Wählen Sie eine Audio-Ausgangs-Spur + + + + MusE: Bounce + MusE: Abmischen + + + + set left/right marker for bounce range + Linken/rechten Marker für Abmischbereich einstellen + + + + The current Project contains unsaved data +Load overwrites current Project: +Save Current Project? + Das aktuelle Projekt enthält ungesicherte Daten +Neues Lied laden überschreibt das aktuelle Projekt: +Aktuelles Projekt sichern? + + + + + &Abort + &Abbrechen + + + + MusE: Export Midi + MusE: Midi exportieren + + + + no help found at: + Hilfe wurde nicht gefunden: + + + + MusE: Open Help + MusE: Hilfe öffnen + + + + Unable to launch help + Konnte Hilfe nicht starten + + + + For some reason MusE has to launch the default +browser on your machine. + Aus irgendeinem Grund muss MusE den Standardbrowser auf Ihrem System starten. + + + + MusE: Import Midi + MusE: Midi importieren + + + + Add midi file to current project? + + Mididatei zu aktuellem Lied hinzufügen? + + + + &Add to Project + Zu Lied hin&zufügen + + + + &Replace + Erset&zen + + + + reading midifile + + Lese Mididatei + + + + + +failed: + +schlug fehl: + + + + Import part is only valid for midi and wave tracks! + Part importieren ist nur möglich für MIDI und WAVE-Spuren! + + + + MusE: load part + MusE: Part laden + + + + No track selected for import + Keine Spur ist für den Import ausgewählt + + + + %n part(s) out of %1 could not be imported. +Likely the selected track is the wrong type. + + %n Part von insgesamt %1 konnte nicht eingefügt werden. +Wahrscheinlich hat die ausgewählte Spur den falschen Typ. + %n Parts von insgesamt %1 konnten nicht eingefügt werden. +Wahrscheinlich hat die ausgewählte Spur den falschen Typ. + + + + + %n part(s) could not be imported. +Likely the selected track is the wrong type. + + %n Part konnte nicht eingefügt werden. +Wahrscheinlich hat die ausgewählte Spur den falschen Typ. + %n Parts konnten nicht eingefügt werden. +Wahrscheinlich hat die ausgewählte Spur den falschen Typ. + + + + + to import an audio file you have first to selecta wave track + um eine Audio-Datei zu importieren müssen Sie erst ein Wave-Spur auswählen + + + + Import Wavefile + Wavedatei importieren + + + + This wave file has a samplerate of %1, +as opposed to current setting %2. +Do you still want to import it? + Diese Wavedatei hat eine samplerate von %1, +im Gegensatz zur momentanen Einstellung %2. +Möchten Sie sie dennoch importieren? + + + + &Yes + &Ja + + + + &No + &Nein + + + + MusEGui::NoteInfo + + + Note Info + Noteninformation + + + + Start + Start + + + + Len + Länge + + + + Pitch + Tonhöhe + + + + Velo On + Velo an + + + + Velo Off + Velo aus + + + + MusEGui::PartCanvas + + + Cannot copy/move/clone to different Track-Type + Kopieren/verschieben/klonen auf anderen Spurtyp nicht möglich + + + + C&ut + &Ausschneiden + + + + &Copy + &Kopieren + + + + s&elect + &wähle + + + + clones + Klone + + + + rename + Umbenennen + + + + color + Farbe + + + + delete + löschen + + + + split + Schnitt + + + + glue + Verbinder + + + + de-clone + Entklonen + + + + + + save part to disk + Speichere Part auf Festplatte + + + + wave edit + Wave Editor + + + + file info + Dateiinfo + + + + MusE: save part + MusE: Speichere Part + + + + Part name: %1 +Files: + Part Name: %1 +Dateien: + + + + %n part(s) out of %1 could not be pasted. +Likely the selected track is the wrong type. + + %n Part von insgesamt %1 konnte nicht eingefügt werden. +Wahrscheinlich hat die ausgewählte Spur den falschen Typ. + %n Parts von insgesamt %1 konnten nicht eingefügt werden. +Wahrscheinlich hat die ausgewählte Spur den falschen Typ. + + + + + %n part(s) could not be pasted. +Likely the selected track is the wrong type. + + %n Part konnte nicht eingefügt werden. +Wahrscheinlich hat die ausgewählte Spur den falschen Typ. + %n Parts konnten nicht eingefügt werden. +Wahrscheinlich hat die ausgewählte Spur den falschen Typ. + + + + + Cannot paste: multiple tracks selected + Einfügen nicht möglich: mehrere Spuren ausgewählt + + + + Cannot paste: no track selected + Einfügen nicht möglich: keine Spur ausgewählt + + + + Can only paste to midi/drum track + Einfügen möglich nur in Midi/Drum Spur + + + + Can only paste to wave track + Einfügen möglich nur in Wave Spur + + + + Can only paste to midi or wave track + Einfügen möglich nur in Midi oder Wave Spur + + + + Cannot paste: wrong data type + Einfügen nicht möglich: falscher Datentyp + + + + MusEGui::PasteDialog + + + %n quarter(s) + + %n Viertelnote + %n Viertelnoten + + + + + %1 quarter + for floating-point arguments like 1.5 + %1 Viertelnote + + + + %1 quarters + for floating-point arguments like 1.5 + %1 Viertelnoten + + + + MusEGui::PasteEventsDialog + + + %n quarter(s) + + %n Viertelnote + %n Viertelnoten + + + + + %1 quarter + for floating-point arguments like 1.5 + %1 Viertelnote + + + + %1 quarters + for floating-point arguments like 1.5 + %1 Viertelnoten + + + + MusEGui::PianoRoll + + + &Edit + &Bearbeiten + + + + C&ut + &Ausschneiden + + + + &Copy + &Kopieren + + + + Copy events in range + Kopiere Events im Bereich + + + + &Paste + &Einfügen + + + &Paste (with dialog) + Einfügen (Dialog zeigen) + + + + Paste (with dialog) + Einfügen (Dialog zeigen) + + + + Delete &Events + &Events löschen + + + + &Select + &Auswählen + + + + Select &All + Alles a&uswählen + + + + &Deselect All + Alles ab&wählen + + + + Invert &Selection + Auswa&hl umkehren + + + + &Inside Loop + Bereich &innerhalb der Schleife + + + + &Outside Loop + Bereich außerhalb der Schlei&fe + + + + &Previous Part + Vorheriger &Part + + + + &Next Part + &Nächster Part + + + + Fu&nctions + &Funktionen + + + + Quantize + Quantisieren + + + + Modify Note Length + Notenlänge verändern + + + + Modify Velocity + Anschlagsdynamik ändern + + + + Crescendo/Decrescendo + Crescendo/Decrescendo + + + + Transpose + Transponieren + + + + Erase Events + Events löschen + + + + Move Notes + Noten verschieben + + + + Set Fixed Length + Länge festlegen + + + + Delete Overlaps + Überlappungen entfernen + + + + Legato + Legato + + + + &Plugins + &Plugins + + + + Window &Config + Fenster&konfiguration + + + + &Event Color + &Eventfarbe + + + + &Blue + &Blau + + + + &Pitch colors + Farme nach &Tonhöhe + + + + &Velocity colors + Farbe nach &Anschlagsdynamik + + + + Pianoroll tools + Werkzeug "Pianorollen Editor" + + + + Step Record + Aufnahme taktschlagweise + + + + Midi Input + Midi Eingang + + + + Play Events + Ereignisse abspielen + + + + panic + Panik + + + + transport + Transport + + + + ctrl + Ctrl + + + + Add Controller View + Controlleransicht hinzufügen + + + + MusEGui::PluginDialog + + + MusE: select plugin + MusE: PlugIn wählen + + + + Lib + Lib + + + + Label + Beschriftung + + + + Name + Name + + + + AI + Al + + + + AO + AO + + + + CI + Cl + + + + CO + CO + + + + IP + IP + + + + id + id + + + + Maker + Erzeuger + + + + Copyright + Copyright + + + + Ok + Bestätigen + + + + Cancel + Abbrechen + + + + Mono and Stereo + Mono und Stereo + + + + Stereo + Stereo + + + + Mono + Mono + + + + Show All + Zeige alle + + + + Select which types of plugins should be visible in the list.<br>Note that using mono plugins on stereo tracks is not a problem, two will be used in parallell.<br>Also beware that the 'all' alternative includes plugins that probably not are usable by MusE. + Wählen Sie aus, welche Plugintypen in der Liste sichtbar sein sollen.<br>Das Benutzen von Mono-Plugins auf Stereospuren ist kein Problem, zwei werden parallel benutzt werden.<br>Beachten Sie, dass die "alle"-Alternative Plugings enthält, die wahrscheinlich nicht von MusE benutzt werden können. + + + + Search in 'Label' and 'Name': + Suche in "Beschriftung" und "Name": + + + + MusEGui::PluginGui + + + File Buttons + Datei-Knöpfe + + + + Load Preset + Vorlage laden + + + + Save Preset + Speicher Preset + + + + + bypass plugin + Signalfluss PlugIn überspringen + + + + MusE: load preset + MusE: Vorlage laden + + + + Error reading preset. Might not be right type for this plugin + Fehler beim Lesen der Vorlage. Könnte der falsche Typ für dieses Plugin sein + + + + MusE: save preset + MusE: Vorlage sichern + + + + MusEGui::RoutePopupMenu + + + + + + + + + + Channel + Kanal + + + + + + Soloing chain + Solo-Kette + + + + + Audio returns + Audio-Rückkanäle + + + + Warning: No input devices! + Warnung: Keine Eingangsgeräte! + + + + Open midi config... + Öffne MIDI-Konfig... + + + + + <none> + <kein> + + + + Toggle all + Alles umwählen + + + + More... + Mehr... + + + + Audio sends + Audio-Sender + + + + Midi port sends + Midiport-Sender + + + + MusEGui::ScoreCanvas + + + Treble + Violinschlüssel + + + + Bass + Bassschlüssel + + + + Grand Staff + Beide Schlüssel + + + + Remove staff + Notenzeile entfernen + + + + Ambiguous part + Unklarer Part + + + + There are two or more possible parts you could add the note to, but none matches the selected part. Please select the destination part by clicking on any note belonging to it and try again, or add a new stave containing only the destination part. + Es gibt zwei oder mehr mögliche Parts, zu denen man die Note hinzufügen könnte, aber keiner ist der ausgewählte. Bitte wählen Sie den Ziel-Part aus, indem Sie auf eine beliebige Note, die zu ihm gehört, klicken, und versuchen Sie es erneut, oder fügen Sie eine neue Notenzeile hinzu, die nur den Zielpart enthält. + + + + No part + Kein Part + + + + There are no parts you could add the note to. + Es gibt keine Parts, zu denen man die Note hinzufügen könnte. + + + + MusEGui::ScoreEdit + + + Undo/Redo tools + Rückgängig/Wiederholen-Werkzeuge + + + + Step recording tools + "Taktschlagweise Aufnahme"-Werkzeuge + + + + Step Record + Aufnahme taktschlagweise + + + + panic + Panik + + + + transport + Transport + + + + Note settings + Noteneinstellungen + + + + Note length: + Notenlänge: + + + + last + letzte + + + + + + Apply to new notes: + Für neue Noten: + + + + + Apply to selected notes: + Für markierte Noten: + + + + Velocity: + Dynamik: + + + + Off-Velocity: + Loslassdynamik: + + + + Quantisation settings + Quantisierungseinstellungen + + + + Quantisation: + Quantisierung: + + + + Pixels per whole: + Pixel pro ganze Note: + + + + &Edit + &Bearbeiten + + + + C&ut + &Ausschneiden + + + + &Copy + &Kopieren + + + + Copy events in range + Kopiere Events im Bereich + + + + &Paste + &Einfügen + + + + Paste (with dialog) + Einfügen (Dialog zeigen) + + + + Delete &Events + &Events löschen + + + + &Select + &Auswählen + + + + Select &All + Alles a&uswählen + + + + &Deselect All + Alles ab&wählen + + + + Invert &Selection + Auswa&hl umkehren + + + + &Inside Loop + Bereich &innerhalb der Schleife + + + + &Outside Loop + Bereich außerhalb der Schlei&fe + + + + Fu&nctions + Fu&nktionen + + + + &Quantize + &Quantisieren + + + + Change note &length + Noten&länge verändern + + + + Change note &velocity + &Anschlagsdynamik verändern + + + + Crescendo/Decrescendo + Crescendo/Decrescendo + + + + Transpose + Transponieren + + + + Erase Events + Events löschen + + + + Move Notes + Noten verschieben + + + + Set Fixed Length + Feste Notenlänge setzen + + + + Delete Overlaps + Überlappungen entfernen + + + + Legato + Legato + + + + Window &Config + Fenster&konfiguration + + + + Note head &colors + Notenkopf-&Farben + + + + &Black + &Schwarz + + + + &Velocity + Je nach &Dynamik + + + + &Part + Je nach &Part + + + + Set up &preamble + &Preambel einstellen + + + + Display &key signature + &Vorzeichen anzeigen + + + + Display &time signature + &Takt anzeigen + + + + Set Score &name + Partitur&name setzen + + + + + Enter the new score title + Geben Sie den neuen Titel ein + + + + Error + Fehler + + + + Changing score title failed: +the selected title is not unique + Das Ändern des Titels ist fehl- +geschlagen: Der eingegebene +Titel ist nicht einzigartig + + + + MusEGui::ScrollScale + + + next page + Nächste Seite + + + + previous page + Vorherige Seite + + + + current page number + Aktuelle Seitennummer + + + + MusEGui::ShortcutCaptureDialog + + + Ok + Bestätigen + + + + Cancel + Abbrechen + + + + Shortcut conflicts with %1 + Tastenkürzel überschneidet sich mit %1 + + + + Undefined + Unbestimmt + + + + MusEGui::SigScale + + + signature scale + Taktmaß-Skala + + + + MusEGui::TList + + + <none> + <kein> + + + + no clef + kein Notenschlüssel + + + + Treble + Violinschlüssel + + + + Bass + Bassschlüssel + + + + Grand + Beide Schlüssel + + + + MusE: bad trackname + MusE: ungeeigneter Spurname + + + + please choose a unique track name + Bitte eindeutigen Spurnamen wählen + + + + + Update drummap? + Drumbelegung aktualisieren? + + + + Do you want to use same port for all instruments in the drummap? + Möchten Sie für alle Instrumente der Drumbelegung den selben Anschluss verwenden? + + + + + &Yes + &Ja + + + + + &No + &Nein + + + + + show gui + GUI anzeigen + + + + + show native gui + Native GUI anzeigen + + + + Treble clef + Violinschlüssel + + + + Bass clef + Bassschlüssel + + + + Grand Staff + Beide Schlüssel + + + + Viewable automation + Sichtbare Automatisierung + + + + Delete Track + Spur löschen + + + + Track Comment + Spur Kommentar + + + + Insert Track + Spur einfügen + + + + Midi + Midi + + + + Drum + Schlagzeug + + + + Do you want to use same port and channel for all instruments in the drummap? + Möchten Sie für alle Instrumente der Drumbelegung den selben Anschluss und Kanal verwenden? + + + + MusEGui::TempoSig + + + Tempo/Sig + Tempo/Taktmaß + + + + MusEGui::Toolbar1 + + + + + Off + Aus + + + + Solo + Solo + + + + Cursor + Cursor + + + + Snap + Magnet + + + + MusEGui::TopWin + + + As subwindow + Als Unterfenster + + + + Shares tools and menu + Teilt sich Toolbar und Menü + + + + Fullscreen + Vollbild + + + + Piano roll + Pianoroll + + + + List editor + Listeneditor + + + + Drum editor + Schlagzeugeditor + + + + Master track editor + Masterspur-Editor + + + + Master track list editor + Masterspur-Listeneditor + + + + Wave editor + Wave-Editor + + + + Clip list + Cliplist + + + + Marker view + Marker-Fenster + + + + Score editor + Partitureditor + + + + Arranger + Arrangierer + + + + <unknown toplevel type> + <unbekannter Fenstertyp> + + + + MusEGui::TrackComment + + + MusE: Track Comment + MusE: Spur-Kommentar + + + + Track Comment: + Spur-Kommentar: + + + + MusEGui::Transport + + + Overdub + Überschreiben + + + + + Replace + Ersetzen + + + + Rec Mode + Modus "Aufnahme" + + + + Normal + Normal + + + + Mix + Mischen + + + + Cycle Rec + Aufnahme in Schleife + + + + punchin + Aufnahme am linken Marker beginnen + + + + loop + Schleife + + + + punchout + Aufnahme am rechten Marker beenden + + + + + Punch In + Aufnahme am linken Marker beginnen + + + + + Loop + Schleife + + + + + Punch Out + Aufnahme am rechten Marker beenden + + + + Left Mark + Linker Marker + + + + Right Mark + Rechter Marker + + + + rewind to start + Zum Start zurück + + + + Click this button to rewind to start position + Klicken Sie auf diese Schaltfläche, um zur Startposition zurückzukehren + + + + rewind + Einen Taktschlag rückwärts + + + + Click this button to rewind + Klicken Sie auf diese Schaltfläche, um einen Taktschlag rückwärts zu springen + + + + forward + Einen Taktschlag vorwärts + + + + Click this button to forward current play position + Klicken Sie auf diese Schaltfläche, um einen Taktschlag vorwärts zu springen + + + + stop + Stopp + + + + Click this button to stop playback + Klicken Sie auf diese Schaltfläche, um die Wiedergabe zu stoppen + + + + play + Wiedergabe + + + + Click this button to start playback + Klicken Sie auf diese Schaltfläche, um die Wiedergabe zu starten + + + + record + Aufnahme + + + + Click this button to enable recording + Klicken Sie auf diese Schaltfläche, um in den Modus "Aufnahme" zu gelangen + + + + AC + AC + + + + quantize during record + Während Aufnahme quantisieren + + + + Click + Klick + + + + metronom click on/off + Metronom Klick an/aus + + + + Sync + Sync + + + + external sync on/off + Externer Sync an/aus + + + + Jack + Jack + + + + Jack transport sync on/off + Jack-Transport-Synchronisation an/aus + + + + Master + Master + + + + use master track + Masterspur einschalten + + + + MusEGui::VisibleTracks + + + + Show wave tracks + Zeige Wave-Spuren + + + + + Show group tracks + Zeige Gruppen-Spuren + + + + + Show aux tracks + Zeige Aux-Spuren + + + + + Show input tracks + Zeige Eingangs-Spuren + + + + + Show output tracks + Zeige Ausgangs-Spuren + + + + + Show midi tracks + Zeige Midi-Spuren + + + + + Show synth tracks + Zeige Synth-Spuren + + + + Visible track types + Sichtbare Spurtypen + + + + MusEGui::WaveEdit + + + &Edit + &Bearbeiten + + + + Func&tions + &Funktionen + + + + &Gain + &Verstärkung + + + 200% + 200% + + + 150% + 150% + + + 75% + 75% + + + 50% + 50% + + + 25% + 25% + + + + Other + Andere + + + + &Copy + &Kopieren + + + + C&ut + &Ausschneiden + + + + &Paste + &Einfügen + + + + Edit in E&xternal Editor + In e&xternem Editor bearbeiten + + + + Mute Selection + Auswahl stummschalten + + + + Normalize Selection + Auswahl normalisieren + + + + Fade In Selection + Auswahl einblenden + + + + Fade Out Selection + Auswahl ausblenden + + + + Reverse Selection + Auswahl umkehren + + + + Select + Auswählen + + + + Select &All + Alles a&uswählen + + + + &Deselect All + Alles ab&wählen + + + + Window &Config + Fenster&konfiguration + + + + Wave edit tools + Werkzeuge "Wave-Edit" + + + + transport + Transport + + + + WaveEdit tools + Werkzeuge "Wave-Edit" + + + + Solo + Solo + + + + Cursor + Cursor + + + + MusEGui::WaveView + + + MusE - external editor failed + MusE - externer Editor fehlgeschlagen + + + + MusE was unable to launch the external editor +check if the editor setting in: +Global Settings->Audio:External Waveditor +is set to a valid editor. + MusE konnte den externen Editor nicht starten. +Überprüfen Sie, ob die Editor-Einstellung in: +Globale Einstellungen -> Audio:Externer Waveeditor +stimmt. + + + + MusE - file size changed + MusE - Dateigröße geändert + + + + When editing in external editor - you should not change the filesize +since it must fit the selected region. -To proceed check the status of Jack and try to restart it and then . -click on the Restart button. - +Missing data is muted + Wenn Sie im externen Editor editieren, sollten Sie die Dateigröße +nicht verändern, weil die es in den ausgewählten Bereich passen muss. + +Fehlende Daten werden stummgeschaltet + + + + MusEMixer::AudioMixerApp + + &Create + &Erzeugen + + + &View + &Zeigen + + + Routing + Signalfluss + + + Show Midi Tracks + Zeige Midi-Spuren + + + Show Drum Tracks + Zeige Schlagzeug-Spuren + + + Show Wave Tracks + Zeige Wave-Spuren + + + Show Inputs + Zeige Eingänge + + + Show Outputs + Zeige Ausgänge + + + Show Groups + Zeige Gruppen + + + Show Auxs + Zeige Aux + + + Show Synthesizers + Zeige Synthesizer + + + + MusEMixer::AudioStrip + + panorama + Panorama + + + aux send level + Aux Send Pegel + + + Pan + Pan + + + 1/2 channel + 1/2 Kanäle + + + Pre + Pre + + + pre fader - post fader + Vor Regler - nach Regler + + + dB + dB + + + record + Aufnahme + + + mute + stumm + + + record downmix + Abmischung aufnehmen + + + solo mode + Solo Modus + + + off + Aus + + + iR + iR + + + input routing + Eingangs-Signalfluss + + + oR + oR + + + output routing + Ausgangs-Signalfluss + + + Off + Aus + + + Read + Lesen + + + Touch + Berühren + + + Write + Schreiben + + + automation type + Automatisationstyp + + + + MusEMixer::EffectRack + + effect rack + Effekteinschub + + + new + neu + + + change + ändern + + + move up + Nach oben bewegen + + + move down + Nach unten bewegen + + + remove + entfernen + + + bypass + übergehen + + + show gui + GUI anzeigen + + + show native gui + Native GUI anzeigen + + + save preset + Preset speichern + + + MusE: Save Preset + MusE: Preset speichern + + + Replace effect + Effekt ersetzen + + + Do you really want to replace the effect %1? + Möchten Sie wirklich den Effekt %1 ersetzen? + + + + MusEMixer::MidiStrip + + VariationSend + VariationSend + + + Var + Var + + + ReverbSend + ReverbSend + + + Rev + Rev + + + ChorusSend + ChorusSend + + + Cho + Cho + + + dB + dB + + + Pan/Balance + Pan/Balance + + + record + Aufnahme + + + mute + still + + + solo mode + Solo Modus + + + iR + iR + + + input routing + Eingangs-Signalfluss + + + oR + oR + + + output routing + Ausgangs-Signalfluss + + + + MusEWidget::BigTime + + minute + Minute + + + second + Sekunde + + + frame + Rahmen + + + subframe + Subrahmen + + + MusE: Bigtime + MusE: Zeitanzeige groß + + + + MusEWidget::EditToolBar + + Edit Tools + Werkzeuge bearbeiten + + + + MusEWidget::MidiSyncConfig + + Port Number + Anschlussnummer + + + Name of the midi device associated with this port number + Name des Midi Gerätes an dieser Anschlussnummer + + + Device Name + Gerätename + + + m + min + + + MusE + MusE + + + &Apply + &Anwenden + + + &No + &Nein + + + &Abort + &Abbrechen + + + <none> + <kein> + + + + MusEWidget::MixdownFileDialog + + Wave Files (*.wav);;All Files (*) + Wave Dateien (*.wav);;Alle Dateien (*) + + + + MusEWidget::NoteInfo + + Note Info + Noteninformation + + + Start + Start + + + Len + Länge + + + Velo On + Velo an + + + Velo Off + Velo aus + + + + MusEWidget::RoutePopupMenu + + Channel + Kanal + + + <none> + <kein> + + + + MusEWidget::ScrollScale + + next page + Nächste Seite + + + previous page + Vorherige Seite + + + current page number + Aktuelle Seitennummer + + + + MusEWidget::ShortcutCaptureDialog + + Ok + Bestätigen + + + Cancel + Abbrechen + + + Undefined + unbestimmt + + + + MusEWidget::SigScale + + signature scale + Skala Taktmaß + + + + MusEWidget::Toolbar1 + + Solo + Solo + + + Snap + Magnet + + + + MusEWidget::TrackComment + + MusE: Track Comment + MusE: Spur Kommentar + + + Track Comment: + Spur Kommentar: + + + + MusEWidget::VisibleTracks + + Visible track types + Sichtbare Spurtypen + + + + NoteInfo + + Start + Start + + + Len + Länge + + + Pitch + Tonhöhe + + + Velo On + Velo an + + + Velo Off + Velo aus + + + Note Info + Noteninformation + + + + OrganGuiBase + + + MusE: Organ + MusE: Orgel + + + + Drawbars + Register + + + + 16' + 16' + + + + 4' + 4' + + + + 2 2/3' + 2 2/3' + + + + 2' + 2' + + + + 5 1/3' + 5 1/3' + + + + 8' + 8' + + + + Envelope Hi + Hüllkurve Hoch + + + + + Release + Release + + + + + Sustain + Sustain + + + + + Decay + Decay + + + + + Attack + Attack + + + + + + + + + ms + ms + + + + + cB + cB + + + + Envelope Lo + Hüllkurve Niedrig + + + + O-1 + O-1 + + + + Oscillator + Oszillator + + + + Brass + Blech + + + + Reed + Holz + + + + Flute + Flöte + + + + Velocity + Dynamik + + + + PageSettings + + Track Name + Spur Name + + + + PartCanvas + + C&ut + &Ausschneiden + + + &Copy + &Kopieren + + + rename + Umbenennen + + + delete + Löschen + + + split + Schnitt + + + glue + Verbinder + + + pianoroll + Pianorollen Editor + + + list + Listen Editor + + + drums + Schlagzeug Editor + + + Cannot copy/move/clone to different Track-Type + Kopieren/verschieben/klonen auf anderen Spurtyp nicht möglich + + + color + Farbe + + + de-clone + Entklonen + + + wave edit + Wave Editor + + + Cannot paste: multiple tracks selected + Einfügen nicht möglich: mehrere Spuren ausgewählt + + + Cannot paste: no track selected + Einfügen nicht möglich: keine Spur ausgewählt + + + Cannot paste: wrong data type + Einfügen nicht möglich: falscher Datentyp + + + Can only paste to midi/drum track + Einfügen möglich nur in Midi/Drum Spur + + + Can only paste to wave track + Einfügen möglich nur in Wave Spur + + + + PasteDialog + + %n quarter(s) + + %n Viertelnote + %n Viertelnoten + + + + quarter + Viertelnote + + + quarters + Viertelnoten + + + + PasteDialogBase + + + MusE: Paste Parts + MusE: Parts einfügen + + + + Number and raster + Anzahl und Raster + + + + insert + füge + + + + times + mal ein + + + + raster + Raster + + + + ticks + Ticks + + + + Move, Merge, Clone + Verschieben, Vereinigen, Klonen + + + + Move everything to the right + Alles nach rechts verschieben + + + + Move only affected parts to the right + Nur betroffene Parts nach +rechts verschieben + + + + Put everything into a single track + Alles in einzelne Spur einfügen + + + + Merge with existing parts + Mit existierenden Parts vereinigen + + + + Insert as clones (where possible) + Als Klone einfügen (wenn möglich) + + + + OK + Bestätigen + + + + Cancel + Abbrechen + + + + PasteEventsDialogBase + + + MusE: Paste Events + MusE: Events einfügen + + + + Number and raster + Anzahl und Raster + + + + insert + füge + + + + times + mal ein + + + + raster + Raster + + + + + ticks + Ticks + + + + Paste options + Optionen fürs Einfügen + + + + Always into existing parts + Immer in existierende Parts + + + + Never into existing parts + Nie in existierende Parts + + + + Into existing parts if part has not +to be expanded by more than + In existierende Parts, wenn der Part +erweitert werden muss um nicht mehr als + + + + Put everything into the (selected) part + Alles in den (ausgewählten) Part einfügen + + + + OK + Bestätigen + + + + Cancel + Abbrechen + + + + PatchBay + + MusE: ALSA MIDI Patch Bay + MusE: ALSA Midi Verbindungsübersicht + + + + PatchBayBase + + ALSA Patch Bay + ALSA Verbindungsübersicht + + + + PianoRoll + + &Edit + &Bearbeiten + + + Cut + Ausschneiden + + + Copy + Kopieren + + + Paste + Einfügen + + + Delete Events + Ereignisse löschen + + + Select All + Alle auswählen + + + Select None + Nichts auswählen + + + Invert + Auswahl umkehren + + + Inside Loop + Auswahl innerhalb Schleife + + + Outside Loop + Auswahl außerhalb Schleife + + + &Select + &Auswählen + + + blue + Farbe blau + + + pitch colors + Farbe nach Tonhöhe + + + velocity colors + Farbe nach Anschlagsstärke + + + &Config + &Einstellen + + + event color + Ereignisfarbe + + + &Functions + &Funktionen + + + Over Quantize + Überquantisieren + + + Note On Quantize + Wert "Note an" quantisieren + + + Note On/Off Quantize + Wert "Note an/aus" quantisieren + + + Iterative Quantize + Iteratives quantisieren + + + Pianoroll Tools + Werkzeug "Pianorollen Editor" + + + Step Record + Aufnahme taktschlagweise + + + Midi Input + Midi Eingang + + + Play Events + Ereignisse abspielen + + + Add Controller View + Kontrolleransicht hinzufügen + + + Config Quant... + Quantisierung einstellen ... + + + Modify Gate Time + Gate Zeit ändern + + + Modify Velocity + Velocity ändern + + + Crescendo + Crescendo + + + Transpose + Transponieren + + + Thin Out + Ausdünnen + + + Erase Event + Ereignis löschen + + + Note Shift + Note verschieben + + + Move Clock + Zeitposition verschieben + + + Copy Measure + Taktmaß kopieren + + + Erase Measure + Taktmaß löschen + + + Delete Measure + Taktmaß löschen + + + Create Measure + Taktmaß erzeugen + + + ctrl + Ktrl + + + C&ut + &Ausschneiden + + + &Copy + &Kopieren + + + Select &All + Alles a&uswählen + + + &Deselect All + Alles ab&wählen + + + Invert &Selection + Auswa&hl umkehren + + + &Inside Loop + Bereich &innerhalb der Schleife + + + &Outside Loop + Bereich außerhalb der Schlei&fe + + + Quantize + Quantisieren + + + Crescendo/Decrescendo + Crescendo/Decrescendo + + + Move Notes + Noten verschieben + + + Set Fixed Length + Länge festlegen + + + Delete Overlaps + Überlappungen entfernen + + + Legato + Legato + + + &Plugins + &Plugins + + + panic + Panik + + + + PluginDialog + + Ok + Bestätigen + + + Cancel + Abbrechen + + + MusE: select plugin + MusE: PlugIn wählen + + + Lib + Lib + + + Label + Beschriftung + + + Name + Name + + + AI + Al + + + AO + AO + + + CI + Cl + + + CO + CO + + + IP + IP + + + id + id + + + Maker + Erzeuger + + + Copyright + Copyright + + + Select which types of plugins should be visible in the list,<br>beware that 'all' includes plugins that probably are not usable by MusE. + Typen in Liste dargestellter PlugIns auswählen, "all" beinhaltet auch in MusE womöglich nicht nutzbare PlugIns. + + + Stereo and Mono + Stereo und Mono + + + Stereo + Stereo + + + Mono + Mono + + + All + alle + + + + PluginGui + + bypass plugin + Signalfluss PlugIn umleiten + + + MusE: load preset + MusE: Vorlage laden + + + MusE: save preset + MusE: Vorlage sichern + + + File Buttons + Schaltfläche Datei + + + Save Preset + Speicher Preset + + + + ProjectCreate + + + Create Project + Projekt erzeugen + + + + Project Name: + Projekt-Name: + + + + Project Path to song file: + Projektpfad zur Lieddatei: + + + + Create project folder (recommended for audio projects) + Erzeuge Projektverzeichnis (empfohlen für Audioprojekte) + + + + Browse + Durchsuchen + + + + Song information: + Lied-Information: + + + + QHeader + + Port Number + Anschlussnummer + + + enable gui for device + GUI für Gerät einschalten + + + Instrument connected to port + Instrument mit Anschluss verbunden + + + State: result of opening the device + Status: Ergebnis des Geräteanschlusses + + + mute instrument + Instrument still schalten + + + sound name + Klangname + + + quantisation +currently not used + Quantisierung +gegenwärtig nicht benutzt + + + this input note triggers the sound + Diese Eingangsnote löst den Klang aus + + + note length + Notenlänge + + + this note is send for the sound + Diese Note wird für den Klang verwendet + + + output channel +currently not used + Ausgangskanal +gegenwärtig nicht benutzt + + + output port +currently not used + Ausgangsanschluss +gegenwärtig nicht benutzt + + + velocity level 1 + Velocity Pegel 1 + + + velocity level 2 + Velocity Pegel 2 + + + velocity level 3 + Velocity Pegel 3 + + + velocity level 4 + Velocity Pegel 4 + + + quantisation + Quantisierung + + + output channel + Ausgangskanal + + + output port + Ausgangsanschluss + + + Enable Recording + Aufnahme einschalten + + + Mute Indicator + Anzeige "Stille" + + + Solo Indicator + Anzeige "Solo" + + + Track Type + Spurtyp + + + Track Name + Spurname + + + Output Channel Number + Ausgangskanalnummer + + + Output Port + Ausgangsanschluss + + + Time Lock + Sperre "Zeit" + + + Solo/Pre Fader Listening + Solo/Vor Regler Abhöre + + + Name of the midi device associated with this port number + Name des Midi Gerätes an dieser Anschlussnummer + + + enables reading from device + Auslesen vom Gerät ermöglichen + + + enables writing to device + Schreiben zum Gerät ermöglichen + + + + QObject + + + Other + Andere + + + + + Error + Fehler + + + + + Please first select the range for crescendo with the loop markers. + Bitte wählen Sie erst den Bereich für das Crescendo mit den Bereichsmarkern aus. + + + + QWidget + + + + Cannot convert sysex string + Sysex Kette nicht umwandelbar + + + + + Hex String too long (2048 bytes limit) + Hex Kette ist zu lang (Grenze 2048 Bytes) + + + + new + Neu + + + + create peakfile for + Pegelspitzendatei erzeugen für + + + + MusE: get file name + MusE: Dateinamen übermitteln + + + the directory + + Das Verzeichnis + + + +does not exist +create? + Es besteht nicht +Erzeugen? + + + &Create + &Erzeugen + + + Cancel + Abbrechen + + + + The directory +%1 +does not exist. +Create it? + Das Verzeichnis +%1 +existiert nicht. +Erzeugen? + + + + MusE: create directory + MusE: Verzeichnis erzeugen + + + + creating dir failed + Verzeichnis erzeugen schlug fehl + + + + File +%1 +exists. Overwrite? + Die Datei +%1 +existiert. Überschreiben? + + + + Open File +%1 +failed: %2 + Die Datei "%1" konnte nicht geöffnet werden: %2 + + + File + + Datei + + + +exists + besteht + + + + MusE: write + MusE: schreiben + + + Overwrite + Überschreiben + + + Quit + Beenden + + + Open File + + Datei öffnen + + + +failed: + schlug fehl: + + + + MusE: Open File + MusE: Datei öffnen + + + + + None + Kein + + + + generic midi + General Midi + + + + No selection. Ignoring + Keine Auswahl. Ignoriert + + + + QuantBase + + + MusE: Quantize + MusE: Quantisieren + + + + Range + Bereich + + + + All Events + Alle Ereignisse + + + + Selected Events + Ausgewählte Ereignisse + + + + Looped Events + Ereignisse innerhalb Schleife + + + + Selected Looped + Ausgewählt und innerhalb der Schleife + + + + Values + Werte + + + + Strength: + Stärke: + + + + % + % + + + + Threshold (ticks): + Schwellwert (Ticks): + + + + Quantize Len + Länge quantisieren + + + + Raster + Raster + + + + Whole + Ganze + + + + Half + Halbe + + + + 4th + Viertel + + + + 4th Triplet + Triolenviertel + + + + 8th + Achtel + + + + 8th Triplet + Triolenachtel + + + + 16th + Sechzehntel + + + + 16th Triplet + Triolensechzehntel + + + + 32th + 32tel + + + + 32th Triplet + Triolen-32tel + + + + Swing: + Swing: + + + + If the proposed change in tick or length is smaller than threshold, nothing is done. +If swing=0, this is normal +If swing is 33, you get a 2:1-rhythm. +If swing is -33, you get a 1:2-rhythm. + + Wenn die Änderung der Position oder der Länge kleiner als Schwelle ist, wird nichts getan. +Wenn Swing=0, wird normal quantisiert. +Wenn Swing=33, erhalten Sie einen 2:1-Rhythmus. +Wenn Swing=-33, erhalten Sie einen 1:2-Rhythmus. + + + + OK + Bestätigen + + + + Cancel + Abbrechen + + + + QuantConfig + + Config Quantize + Quantisierung einstellen + + + Strength + Stärke + + + Don´t Quantize + Nicht quantisieren + + + Quant Len + Länge quantisieren + + + MusE: Config Quantize + MusE: Quantisierung einstellen + + + + RemoveBase + + + MusE: Erase Notes + MusE: Noten löschen + + + + Range + Bereich + + + + All Events + Alle Ereignisse + + + + Selected Events + Ausgewählte Ereignisse + + + + Looped Events + Ereignisse innerhalb Schleife + + + + Selected Looped + Ausgewählt und innerhalb der Schleife + + + + Thresholds + Schwellenwerte + + + + ticks + Ticks + + + + Velocity + Dynamik + + + + Length + Länge + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:7px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If nothing is checked, everything is removed.</p> +<p style=" margin-top:0px; margin-bottom:7px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If velocity is checked, only notes with velo &lt; threshold are removed.</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If both are checked, notes with velo &lt; threshold OR with length &lt; threshold are removed.</p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:7px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Wenn nichts ausgewählt ist, wird alles gelöscht.</p> +<p style=" margin-top:0px; margin-bottom:7px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Wenn "Dynamik" ausgewählt ist, werden nur Noten mit Dynamik &lt; Schwelle gelöscht.</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Wenn beide ausgewählt sind, werden Noten mit Dynamik &lt; Schwelle ODER Länge &lt; Schwelle gelöscht.</p></body></html> + + + + OK + Bestätigen + + + + Cancel + Abbrechen + + + + RhythmBase + + MusE: Random Rhythm Generator + MusE: Rhythmus Zufallsgenerator + + + Instrument Properties + Instrumenteigenschaften + + + counts/bar + Schläge/Takt + + + steps/count + Schritte/Schlag + + + # bars + # Takte + + + test + testen + + + contrib + beitragen + + + randomize + zufällig anordnen + + + Group 1 + Gruppe 1 + + + Group 2 + Gruppe 2 + + + Group 3 + Gruppe 3 + + + Group 4 + Gruppe 4 + + + Group 5 + Gruppe 5 + + + listen + vorhören + + + Instrument + Instrument + + + Group + Gruppe + + + &New + &Neu + + + create new entry + Neuen Eintrag erzeugen + + + pressing the New button you create a new entry +in the MusE list of defined controllers + Schaltfläche "Neu" klicken um einen neuen Eintrag +in der MusE Liste definierter Kontroller zu erzeugen + + + &Delete + &Löschen + + + delete selected entry + Ausgewählten Eintrag löschen + + + Up + Nach oben + + + Down + Nach unten + + + Instrument + Instrument + + + steps/count + Schritte/Schlag + + + list of defined controllers + Liste definierter Kontroller + + + This is the MusE list of defined controllers. + Dies ist die MusE Liste definierter Kontroller. + + + &File + &Datei + + + &Edit + &Bearbeiten + + + &Help + &Hilfe + + + Tools + Werkzeuge + + + New + Neu + + + Open + Öffnen + + + &Open... + &Öffnen ... + + + Save + Sichern + + + &Save + &Sichern + + + Save As + Sichern als + + + Save &As... + S&ichern als ... + + + Print + Drucken + + + &Print... + &Drucken ... + + + Exit + Beenden + + + E&xit + Bee&nden + + + Undo + Rckgängig + + + &Undo + &Rückgängig + + + Redo + Wiederherstellen + + + &Redo + &Wiederherstellen + + + Cut + Ausschneiden + + + &Cut + A&usschneiden + + + Copy + Kopieren + + + C&opy + Ko&pieren + + + Paste + Einfügen + + + &Paste + Ein&fügen + + + Find + Suchen + + + &Find... + &Suchen ... + + + Contents + Inhalte + + + &Contents... + &Inhalte ... + + + Index + Verzeichnis + + + &Index... + &Verzeichnis ... + + + About + Über + + + &About... + &Über ... + + + <b>Notice!</b><br> +Random Rhythm Generator is not enabled yet! + Merke! +Rhythmus Zufallsgenerator noch nicht eingeführt! + + + Ctrl+N + Strg+N + + + Ctrl+O + Strg+O + + + Ctrl+S + Strg+S + + + Ctrl+P + Strg+P + + + Ctrl+Z + Strg+Z + + + Ctrl+Y + Strg+Y + + + Ctrl+X + Strg+X + + + Ctrl+C + Strg+C + + + Ctrl+V + Strg+V + + + Ctrl+F + Strg+F + + + + RhythmGenerator + + Form3 + Form3 + + + Instrument Settings: + Instrument Einstellungen + + + Instrument + Instrument + + + add + Zufgen + + + delete + Entfernen + + + steps/count + Schritte/Schlag + + + # bars + # Takte + + + Group + Gruppe + + + Group 1 + Gruppe 1 + + + Group 2 + Gruppe 2 + + + Group 3 + Gruppe 3 + + + Group 4 + Gruppe 4 + + + Group 5 + Gruppe 5 + + + contrib + beitragen + + + listen + vorhören + + + Save + Sichern + + + + Rhythmusgenerator + + + + RouteDialogBase + + + MusE: Routing + MusE: Signalfluss + + + + Add Route + Signalfluss hinzufügen + + + + Source: + Quelle: + + + + Destination: + Ziel: + + + + Connect + Verbinden + + + + connect source to destination + Quelle mit Ziel verbinden + + + + Current Routes + Aktueller Signalfluss + + + + Source + Quelle + + + + Destination + Ziel + + + + Remove + Entfernen + + + + remove selected route + Ausgewählten Signalfluss entfernen + + + + RoutePopupMenu + + Channel + Kanal + + + <none> + <kein> + + + + SS_PluginChooserBase + + + SimpleDrums - Ladspa Plugin Chooser + SimpleDrums - Ladspa Plugin Wähler + + + + Name + Name + + + + Label + Beschriftung + + + + Inports + Eingangsports + + + + Outports + Ausgangsports + + + + Creator + Ersteller + + + + &Cancel + &Abbrechen + + + + Alt+C + Alt+C + + + + &OK + &Bestätigen + + + + Alt+O + Alt+O + + + + SS_PluginFront + + + Clear and unload effect + Lösche und entlade den Effekt + + + + Load effect + Lade Effekt + + + + Toggle display of effect parameters + Schalte Anzeige von Effektparametern um + + + + Turn effect on/off + Schalte Effekt an/aus + + + + ScoreCanvas + + Treble + Violinschlüssel + + + Bass + Bassschlüssel + + + Grand Staff + Beide Schlüssel + + + + ScoreEdit + + Undo/Redo tools + Rückgängig/Wiederho + + + Step Record + Aufnahme taktschlagweise + + + panic + Panik + + + C&ut + &Ausschneiden + + + &Copy + &Kopieren + + + &Select + &Auswählen + + + Select &All + Alles a&uswählen + + + &Deselect All + Alles ab&wählen + + + Invert &Selection + Auswa&hl umkehren + + + &Inside Loop + Bereich &innerhalb der Schleife + + + &Outside Loop + Bereich außerhalb der Schlei&fe + + + Change note &length + Notenlänge verändern + + + Change note &velocity + Anschlagsdynamik verändern + + + Crescendo/Decrescendo + Crescendo/Decrescendo + + + Transpose + Transponieren + + + Move Notes + Noten verschieben + + + Set Fixed Length + Länge festlegen + + + Delete Overlaps + Überlappungen entfernen + + + Legato + Legato + + + + ScrollScale + + next page + Nächste Seite + + + previous page + Vorherige Seite + + + current page number + Aktuelle Seitennummer + + + + SetlenBase + + + MusE: Set Note Length + MusE: Feste Notenlänge setzen + + + + Range + Bereich + + + + All Events + Alle Ereignisse + + + + Selected Events + Ausgewählte Ereignisse + + + + Looped Events + Ereignisse innerhalb Schleife + + + + Selected Looped + Ausgewählt und innerhalb der Schleife + + + + Value + Wert + + + + New length + Neue Länge + + + + ticks + Ticks + + + + OK + Bestätigen + + + + Cancel + Abbrechen + + + + ShortcutCaptureDialog + + Ok + Bestätigen + + + Cancel + Abbrechen + + + Undefined + unbestimmt + + + + ShortcutCaptureDialogBase + + + Enter shortcut sequence + Folge von Tastenkürzeln eingeben + + + + Press keys to enter shortcut sequence! + Tasten drücken um Folge von Tastenkürzeln einzugeben! + + + + Old shortcut: + Altes Tastenkürzel: + + + + + Undefined + unbestimmt + + + + New shortcut: + Neues Tastenkürzel: + + + + OK + Bestätigen + + + + Cancel + Abbrechen + + + + ShortcutConfigBase + + + Configure Keyboard Shortcuts + Tastenkürzel einstellen + + + + Shortcut Category + Kategorie Tastenkürzel + + + + Description + Beschreibung + + + + Shortcut + Tastenkürzel + + + + &Clear + &Löschen + + + + Alt+C + Alt+C + + + + &Define + &Bestimmen + + + + Alt+D + Alt+D + + + + &Apply + &Anwenden + + + + Alt+A + Alt+A + + + + SigScale + + signature scale + Skala Taktmaß + + + + SimpleDrumsGuiBase + + + DrumSynth 0.1 + DrumSynth 0.1 + + + + SimpleSynthGui + + + &Load setup + Setup &laden + + + + &Save setup + Setup &speichern + + + + Load sample dialog + Sample-Laden-Dialog + + + + Song + + &Ok + &Bestätigen + + + + SongInfo + + + Song Information + Lied-Information + + + + Show on song load + Zeige beim Laden + + + + &Cancel + &Abbrechen + + + + Alt+C + Alt+C + + + + &Ok + &Bestätigen + + + + Alt+O + Alt+O + + + + SynthConfigBase + + + MusE: Synth Configuration + MusE: Synth Einstellung + + + + Soft Synthesizer + Software-Synthesizer + + + + File + Datei + + + + Instances + Instanzen + + + + + Name + Name + + + + list of available software synthesizers + Liste verfügbarer Software-Synthesizer + + + + Add Instance + Instanz hinzufügen + + + + Remove Instance + Instanz entfernen + + + + Midi Port + Midi Anschluss + + + + Midi connections + Midi Verbindungen + + + + Inst + Inst + + + + Version + Version + + + + Description + Beschreibung + + + + TList + + Midi + Midi + + + Drum + Drum + + + Delete Track + Spur löschen + + + Track Comment + Spur Kommentar + + + Show Gui + Zeige GUI + + + Add Midi Track + Midi Spur hinzufügen + + + Add Drum Track + Drum Spur hinzufügen + + + Add Wave Track + Wave Spur hinzufügen + + + MusE: bad trackname + MusE: ungeeigneter Spurname + + + please choose a unique track name + Bitte eindeutigen Spurnamen wählen + + + show gui + GUI anzeigen + + + Add Output + Ausgang hinzufügen + + + Add Group + Gruppe hinzufügen + + + Add Input + Eingang hinzufügen + + + Add Aux Send + Aux Send hinzufügen + + + Update drummap? + Drumbelegung aktualisieren? + + + Do you want to use same port for all instruments in the drummap? + Möchten Sie für alle Instrumente der Drumbelegung den selben Anschluss verwenden? + + + &Yes + &Ja + + + &No + &Nein + + + Do you want to use same port and channel for all instruments in the drummap? + Möchten Sie für alle Instrumente der Drumbelegung den selben Anschluss und Kanal verwenden? + + + <none> + <kein> + + + + TempoSig + + Tempo/Sig + Tempo/Taktmaß + + + + TimeCanvas + + Add Controller View + Kontrolleransicht hinzufügen + + + + Toolbar1 + + Solo + Solo + + + Snap + Magnet + + + Quantize + Quantisieren + + + To + Zu + + + All Events + Alle Ereignisse + + + Looped Ev. + Ereignisse innerhalb Schleife. + + + Selected Ev. + Ausgewählte Ereignisse. + + + Looped+Sel. + Innerhalb Schleife + augewählt. + + + Cursor + Positionsmarker + + + + TopWin + + Fullscreen + Vollbild + + + Arranger + Arrangierer + + + + TrackComment + + MusE: Track Comment + MusE: Spur Kommentar + + + Track Comment: + Spur Kommentar: + + + + Transport + + Punch In + Aufnahme am linken Marker beginnen + + + Loop + Schleife + + + Punch Out + Aufnahme am rechten Marker beenden + + + Left Mark + Linker Marker + + + Right Mark + Rechter Marker + + + Overdub + Überschreiben + + + Replace + Ersetzen + + + Rec Mode + Modus "Aufnahme" + + + Normal + Normal + + + Mix + Mischen + + + Cycle Rec + Aufnahme in Schleife + + + punchin + Aufnahme am linken Marker geginnen + + + loop + Schleife + + + punchout + Aufnahme am rechten Marker beenden + + + rewind to start + Zum Start zurück + + + rewind + Einen Taktschlag rückwärts + + + forward + Einen Taktschlag vorwärts + + + stop + Stopp + + + play + Wiedergabe + + + record + Aufnahme + + + AC + AC + + + quantize during record + Während Aufnahme quantisieren + + + Click + Klick + + + metronom click on/off + Metronom Klick an/aus + + + Sync + Sync + + + external sync on/off + Externer Sync an/aus + + + Master + Master + + + use master track + Masterspur einschalten + + + + TransposeBase + + + MusE: Transpose + MusE: Transponieren + + + + Range + Bereich + + + + All Events + Alle Ereignisse + + + + Selected Events + Ausgewählte Ereignisse + + + + Looped Events + Ereignisse innerhalb Schleife + + + + Selected Looped + Ausgewählt und innerhalb der Schleife + + + + Value + Wert + + + + Halftone-steps + Halbtonschritte + + + + OK + Bestätigen + + + + Cancel + Abbrechen + + + + TransposeDialogBase + + MusE: Midi Transpose + MusE: Midi transponieren + + + Value + Wert + + + halftones + Halbtonschritte + + + Time + Zeit + + + all + alle + + + between markers + Zwischen Markern + + + Parts + Parts + + + all in selected tracks + Alles in ausgewählter Spur + + + OK + Bestätigen + + + Cancel + Abbrechen + + + + UnusedWaveFiles + + + Dialog + Dialog + + + + List of unused audio files in current project directory: + Liste aller unbenutzen Audiodateien im Projektverzeichnis: + + + + Current project + Momentanes Projekt - - previous event + + All .med files +in current + directory + Alle .med-Dateien +im momentanen +Verzeichnis + + + + Move files to 'unused' subdir + Verschiebe Dateien ins "unused"-Unterverzeichnis + + + + Cancel + Abbrechen + + + + VAMGui + + + MusE: Load VAM Presets + MusE: VAM-Voreinstellungen laden + + + + + MusE: Save VAM Presets + MusE: VAM-Voreinstellungen speichern + + + + VAMGuiBase + + + Virtual Analogue for MusE + Virtueller Analoger für MusE + + + + LFO + LFO + + + + Freq + Freq + + + + + + Waveform + Wellenform + + + + + + Sine + Sinus + + + + + + Pulse + Rechteck + + + + + + Saw + Sägezahn + + + + + + Triangle + Dreieck + + + + Filter + Filter + + + + EnvMod + EnvMod + + + + + + Attack + Attack + + + + + + Decay + Decay + + + + + + Sustain + Sustain + + + + + + Release + Release + + + + Cutoff + Filterfrequenz + + + + Resonance + Resonanz + + + + Invert + Invertieren + + + + KeyTrack - - next event - + + Presets + Voreinstellungen + + + + Set + Set + + + + load preset list + Voreinstellungsliste laden + + + + save preset list + Voreinstellungsliste speichern + + + + save preset list to a new file + Voreinstellungsliste in einer neuen Datei speichern + + + + delete preset + Voreinstellung löschen + + + + DCO 1 + DCO 1 + + + + + Pitch + Tonhöhe + + + + + Detune + Verstimmung + + + + + PWM + PWM + + + + + FM + FM + + + + + PW + PW + + + + DCO 2 + DCO2 + + + + On + An + + + + VAM 1.0beta3 +Virtual Analog for MusE +Released under GPL. +Copyright(C) 2002 +Jotsif Lindman Hörnlund +( jotsif@linux.nu ) +Copyright(C) 2005 +Robert Jonsson +(rj@spamatica.se) + VAM 1.0beta3 +Virtual Analog for MusE +Veröffentlicht unter der GPL. +Copyright(C) 2002 +Jotsif Lindman Hörnlund +( jotsif@linux.nu ) +Copyright(C) 2005 +Robert Jonsson +(rj@spamatica.se) + + + + VelocityBase + + + MusE: Modify Velocity + MusE: Anschlagsdynamik ändern + + + + Range + Bereich + + + + All Events + Alle Ereignisse + + + + Selected Events + Ausgewählte Ereignisse + + + + Looped Events + Ereignisse innerhalb Schleife + + + Selected & Looped + Ausgewählt & innerhalb Schleife + + + + Values + Werte + + + + Rate: + Rate: + + + + Offset: + Offset: + + + + % + % + + + + Selected Looped + Ausgewählt und innerhalb der Schleife + + + + veloNew = (veloOld * rate) + offset + dynNeu = (dynAlt * rate) + offset + + + + OK + Bestätigen - - - set event - + + Cancel + Abbrechen + + + WTScale - - - add event - + bar scale + Taktskala + + + WaveEdit - - - erase event - + Normalize + Normalisieren - - erase range - + weTools + Werkzeug "we" - - clear automation - + Solo + Solo - - Clear all controller events? - + Cursor + Positionsmarker - - &Ok - &Bestätigen + &File + &Datei - - &Cancel - + Functions + Funktionen - - MusE - external script failed - + 200% + 200% - - MusE was unable to launch the script, error message: - - + 150% + 150% - - Automation: - + 75% + 75% - - - SongInfo - - Song Information - + 50% + 50% - - Show on song load - + 25% + 25% - - &Cancel - + &Copy + &Kopieren - - Alt+C - Alt+C + C&ut + &Ausschneiden - - &Ok - &Bestätigen + Select + Auswählen - - Alt+O - + Select &All + Alles a&uswählen + + + &Deselect All + Alles ab&wählen - SynthConfigBase + WaveTrackInfoBase - - MusE: Synth Configuration - MusE: Synth Einstellung + MusE: TrackInfo + MusE: Spurinfo - - Soft Synthesizer - Software-Synthesizer + Track Info + Spurinfo - - File - Datei + Track Name + Spurname - - Instances - Instanzen + Output Route: + Ausgangssignalfluss: - - - Name - Name + Input Route: + Eingangssignalfluss: - - list of available software synthesizers - Liste verfügbarer Software-Synthesizer + Ports: + Anschlüsse: - - Add Instance - Instanz hinzufügen + Mono + Mono - - Remove Instance - Instanz entfernen + Stereo + Stereo + + + file_patterns - - Midi Port - Midi Anschluss + + Midi/Kar (*.mid *.MID *.kar *.KAR *.mid.gz *.mid.bz2) + Midi/Kar (*.mid *.MID *.kar *.KAR *.mid.gz *.mid.bz2) - - Midi connections - Midi Verbindungen + + Midi (*.mid *.MID *.mid.gz *.mid.bz2) + Midi (*.mid *.MID *.mid.gz *.mid.bz2) - - Inst - Inst + + Karaoke (*.kar *.KAR *.kar.gz *.kar.bz2) + Karaoke (*.kar *.KAR *.kar.gz *.kar.bz2) - - Version - Version + + + + + + + + + + + + + All Files (*) + Alle Dateien (*) - - Description - Beschreibung + + Midi (*.mid) + Midi (*.mid) - - - TList - Midi - Midi + + Karaoke (*.kar) + Karaoke (*.kar) - Drum - Drum + + all known files (*.med *.med.gz *.med.bz2 *.mid *.midi *.kar) + Alle bekannten Dateien (*.med *.med.gz *.med.bz2 *.mid *.midi *.kar) - Delete Track - Spur löschen + + med Files (*.med *.med.gz *.med.bz2) + med Files (*.med *.med.gz *.med.bz2) - Track Comment - Spur Kommentar + + + Uncompressed med Files (*.med) + Unkomprimierte med-Dateien (*.med) - Show Gui - Zeige GUI + + + gzip compressed med Files (*.med.gz) + Mit gzip komprimierte med-Dateien (*.med.gz) - Add Midi Track - Midi Spur hinzufügen + + + bzip2 compressed med Files (*.med.bz2) + Mit bzip2 komprimierte med-Dateien (*.med.bz2) - Add Drum Track - Drum Spur hinzufügen + + mid Files (*.mid *.midi *.kar *.MID *.MIDI *.KAR) + Midi-Dateien (*.mid *.midi *.kar *.MID *.MIDI *.KAR) - Add Wave Track - Wave Spur hinzufügen + + (*.jpg *.gif *.png) + (*.jpg *.gif *.png) - MusE: bad trackname - MusE: ungeeigneter Spurname + + (*.jpg) + (*.jpg) - please choose a unique track name - Bitte eindeutigen Spurnamen wählen + + (*.gif) + (*.gif) - show gui - GUI anzeigen + + (*.png) + (*.png) - Add Output - Ausgang hinzufügen + + part Files (*.mpt *.mpt.gz *.mpt.bz2) + Part-Dateien (*.mpt *.mpt.gz *.mpt.bz2) - Add Group - Gruppe hinzufügen + + part Files (*.mpt) + Part-Dateien (*.mpt) - Add Input - Eingang hinzufügen + + gzip compressed part Files (*.mpt.gz) + Mit gzip komprimierte Part-Dateien (*.mpt.gz) - Add Aux Send - Aux Send hinzufügen + + bzip2 compressed part Files (*.mpt.bz2) + Mit bzip2 komprimierte Part-Dateien (*.mpt.bz2) - Update drummap? - Drumbelegung aktualisieren? + + Presets (*.pre *.pre.gz *.pre.bz2) + Voreinstellungen (*.pre *.pre.gz *.pre.bz2) - Do you want to use same port for all instruments in the drummap? - Möchten Sie für alle Instrumente der Drumbelegung den selben Anschluss verwenden? + + Presets (*.pre) + Voreinstellungen (*.pre) - &Yes - &Ja + + gzip compressed presets (*.pre.gz) + mit gzip komprimierte Voreinstellungen (*.pre.gz) - &No - &Nein + + bzip2 compressed presets (*.pre.bz2) + mit bzip2 komprimierte Voreinstellungen (*.pre.bz2) - Do you want to use same port and channel for all instruments in the drummap? - Möchten Sie für alle Instrumente der Drumbelegung den selben Anschluss und Kanal verwenden? + + Presets (*.map *.map.gz *.map.bz2) + Schlagzeugbelegungen (*.map *.map.gz *.map.bz2) - <none> - <kein> + + Presets (*.map) + Schlagzeugbelegungen (*.map) - - - TempoSig - - Tempo/Sig - Tempo/Taktmaß + + gzip compressed presets (*.map.gz) + mit gzip komprimierte Schlagzeugbelegungen (*.map.gz) - - - TimeCanvas - Add Controller View - Kontrolleransicht hinzufügen + + bzip2 compressed presets (*.map.bz2) + mit bzip2 komprimierte Schlagzeugbelegungen (*.map.bz2) + + + + Wave/Binary (*.wav *.ogg *.bin) + Wave/Binär (*.wav *.ogg *.bin) - - - Toolbar1 - Solo - Solo + + Wave (*.wav *.ogg) + Wave (*.wav *.ogg) - Snap - Magnet + + Binary (*.bin) + Binär (*.bin) + + + freeverb - Quantize - Quantisieren + + FreeVerb + FreeVerb - To - Zu + + Room Size + Raumgröße - All Events - Alle Ereignisse + + Damping + Dämpfung - Looped Ev. - Ereignisse innerhalb Schleife. + + Wet Level + Effektstärke - Selected Ev. - Ausgewählte Ereignisse. + + Tap-Reverberator + Tap-Reverberator - Looped+Sel. - Innerhalb Schleife + augewählt. + + Decay [ms] + Abschwellzeit [ms] - Cursor - Positionsmarker + + + dB + dB - - - TopWin - - As subwindow - + + Dry Level [dB] + Lautstärke des +unmodifizierten +Signals (Dry Level) [dB] - - Shares tools and menu - + + Wet Level [dB] + Lautstärke des +modifizierten +Signals (Wet Level) [dB] - - Fullscreen - Vollbild + + Preset: + Vorlage: - - Piano roll - + + AfterBurn + AfterBurn - - List editor - + + AfterBurn (Long) + AfterBurn (Lang) - - Drum editor - + + Ambience + Ambience - - Master track editor - + + Ambience (Thick) + Ambience (Fett) - - Master track list editor - + + Ambience (Thick) - HD + Ambience (Fett) - HD - - Wave editor - + + Cathedral + Kathedrale - - Clip list - + + Cathedral - HD + Kathedrale - HD - - Marker view - + + Drum Chamber + Schlagzeugraum - - Score editor - + + Garage + Garage - - Arranger - Arrangierer + + Garage (Bright) + Garage (Hell) - - <unknown toplevel type> - + + Gymnasium + Sporthalle - - - TrackComment - MusE: Track Comment - MusE: Spur Kommentar + + Gymnasium (Bright) + Sporthalle (Hell) - Track Comment: - Spur Kommentar: + + Gymnasium (Bright) - HD + Sporthalle (Hell) -HD - - - Transport - - - Punch In - Aufnahme am linken Marker beginnen + + Hall (Small) + Halle (Klein) - - - Loop - Schleife + + Hall (Medium) + Halle (Mittel) - - - Punch Out - Aufnahme am rechten Marker beenden + + Hall (Large) + Halle (Groß) - - Left Mark - Linker Marker + + Hall (Large) - HD + Halle (Groß) - HD - - Right Mark - Rechter Marker + + Plate (Small) + Plate (Klein) - - Overdub - Überschreiben + + Plate (Medium) + Plate (Mittel) - - - Replace - Ersetzen + + Plate (Large) + Plate (Groß) - - Rec Mode - Modus "Aufnahme" + + Plate (Large) - HD + Plate (Groß) - HD - - Normal - Normal + + Pulse Chamber + - - Mix - Mischen + + Pulse Chamber (Reverse) + - - Cycle Rec - Aufnahme in Schleife + + Resonator (96 ms) + - - punchin - Aufnahme am linken Marker geginnen + + Resonator (152 ms) + - - loop - Schleife + + Resonator (208 ms) + - - punchout - Aufnahme am rechten Marker beenden + + Room (Small) + Raum (Klein) - - rewind to start - Zum Start zurück + + Room (Medium) + Raum (Mittel) - - rewind - Einen Taktschlag rückwärts + + Room (Large) + Raum (Groß) - - forward - Einen Taktschlag vorwärts + + Room (Large) - HD + Raum (Groß) - HD - - stop - Stopp + + Slap Chamber + - - play - Wiedergabe + + Slap Chamber - HD + - - record - Aufnahme + + Slap Chamber (Bright) + - - AC - AC + + Slap Chamber (Bright) HD + - - quantize during record - Während Aufnahme quantisieren + + Smooth Hall (Small) + - - Click - Klick + + Smooth Hall (Medium) + - - metronom click on/off - Metronom Klick an/aus + + Smooth Hall (Large) + - - Sync - Sync + + Smooth Hall (Large) - HD + - - external sync on/off - Externer Sync an/aus + + Vocal Plate + - - Master - Master + + Vocal Plate - HD + - - use master track - Masterspur einschalten + + Warble Chamber + - - Jack + + Warehoouse - - Jack transport sync on/off + + Warehouse - HD - - - TransposeBase - - MusE: Transpose + + Comb Filters - - Range - Bereich + + Allpass Filters + - - All Events - Alle Ereignisse + + Bandpass Filters + - Selected Events - Ausgewählte Ereignisse + Enhanced Stereo + Erweitertes Stereo + + + shortcuts - - Looped Events - Ereignisse innerhalb Schleife + + Transport: Start playback from current location + Transport: Abspielen ab momentaner Position - - Selected Looped - + + Transport: Toggle metronome + Transport: Metronom ein-/ausschalten - - Value - Wert + + Transport: Stop Playback + Transport: Stopp - - Halftone-steps - + + Transport: Goto Start + Transport: Zum Anfang gehen - - OK - Bestätigen + + Transport: Play, Stop, Rewind + Transport: Start, Stopp, Zurückspulen - - Cancel - Abbrechen + + Transport: Goto left marker + Transport: Zum linken Marker gehen - - - TransposeDialogBase - MusE: Midi Transpose - MusE: Midi transponieren + + Transport: Goto right marker + Transport: zum rechten Marker gehen - Value - Wert + + Transport: Toggle Loop section + Transport: Schleife umschalten - halftones - Halbtonschritte + + Transport: Toggle Record + Transport: Aufnahme ein-/ausschalten - Time - Zeit + + Transport: Clear all rec enabled tracks + Transport: Alle Aufnahmemarkierungen zurücksetzen - all - alle + + Toggle fullscreen + Vollbild umschalten - between markers - Zwischen Markern + + Edit: Copy + Bearbeiten: Kopieren - Parts - Parts + + Edit: Copy in range + Bearbeiten: Im Bereich kopieren - all in selected tracks - Alles in ausgewählter Spur + + Edit: Undo + Bearbeiten: Rückgängig - OK - Bestätigen + + Edit: Redo + Bearbeiten: Wiederholen - Cancel - Abbrechen + + Edit: Cut + Bearbeiten: Ausschneiden - - - UnusedWaveFiles - - Dialog - + + Edit: Paste + Bearbeiten: Einfügen - - List of unused audio files in current project directory: - + + Edit: Paste (with dialog) + Bearbeiten: Einfügen (Dialog zeigen) - - Current project - + + Edit: Delete + Bearbeiten: Löschen - - All .med files -in current - directory - + + File: New project + Datei: Neues Projekt - - Move files to 'unused' subdir - + + File: Open from disk + Datei: Öffnen - - Cancel - Abbrechen + + File: Save project + Datei: Speichern - - - VAMGui - - MusE: Load VAM Presets - + + File: Open recent file + Datei: Letzt Datei öffnen - - - MusE: Save VAM Presets - + + File: Save as + Datei: Speichern unter - - - VAMGuiBase - - Virtual Analogue for MusE - + + File: Load template + Datei: als Vorlage laden - - LFO - + + File: Import midi file + Datei: MIDI-Datei importieren - - Freq - + + File: Export midi file + Datei: MIDI-Datei exportieren - - - - Waveform - + + File: Import midi part + Datei: Midipart importieren - - - - Sine - + + File: Import audio file + Datei: Audiodatei importieren - - - - Pulse - + + File: Quit MusE + Datei: Beenden - - - - Saw - + + Edit: Select parts on track + Bearbeiten: Parts auf der Spur auswählen - - - - Triangle - + + Open pianoroll + Piano Roll öffnen - - Filter - Filter + + Open drumeditor + Schlagzeugeditor öffnen - - EnvMod - + + Open listeditor + Listeneditor öffnen - - - - Attack - + + Open waveeditor + Wave-Editor öffnen - - - - Decay - + + Open graphical mastertrack editor + Graphischen Masterspureditor öffnen - - - - Sustain - + + Open list mastertrack editor + Listen-Masterspureditor öffnen - - - - Release - + + Open midi transformer + Midi-Transformer öffnen - - Cutoff - + + Add midi track + Midispur hinzufügen - - Resonance - + + Add drum track + Schlagzeugspur hinzufügen - - Invert - + + Add wave track + Wavespur hinzufügen - - KeyTrack - + + Add audio output + Audioausgang hinzufügen - - Presets - + + Add audio group + Audiogruppe hinzufügen - - Set - + + Add audio input + Audioeingang hinzufügen - - load preset list - + + Add audio aux + Audio Aux hinzufügen - - save preset list - + + Structure: Global cut + Struktur: Globaler Schnitt + + + + Structure: Global insert + Struktur: Globales Einfügen - - save preset list to a new file - + + Structure: Global split + Struktur: Globales Teilen - - delete preset - Vorlage löschen + + Structure: Cut events + Struktur: Events ausschneiden - - DCO 1 - + + View: Open mixer #1 window + Zeigen: Mixerfenster 1 anzeigen - - - Pitch - + + View: Open mixer #2 window + Zeigen: Mixerfenster 2 anzeigen - - - Detune - + + View: Toggle transport window + Zeigen: Transportfenster umschalten - - - PWM - + + View: Toggle bigtime window + Zeigen: Große Zeitanzeige umschalten - - - FM - + + View: Open marker window + Zeigen: Markerfenster umschalten - - - PW - + + Settings: Follow song by page + Einstellungen: Dem Lied seitenweise folgen - - DCO 2 - + + Settings: Follow song off + Einstellungen: Dem Lied nicht folgen - - On - An + + Settings: Follow song continuous + Einstellungen: Dem Lied ständig folgen - - - VAM 1.0beta3 -Virtual Analog for MusE -Released under GPL. -Copyright(C) 2002 -Jotsif Lindman Hörnlund -( jotsif@linux.nu ) -Copyright(C) 2005 -Robert Jonsson -(rj@spamatica.se) - + + + Settings: Global configuration + Einstellungen: Globale Konfiguration - - - VelocityBase - - MusE: Modify Velocity - MusE: Velocity ändern + + Settings: Configure shortcuts + Einstellungen: Tastenkürzel einstellen - - Range - Bereich + + Settings: Configure metronome + Einstellungen: Metronom einstellen - - All Events - Alle Ereignisse + + Settings: Midi sync configuration + Einstellungen: Midi Sync Konfiguration - - Selected Events - Ausgewählte Ereignisse + + Settings: Midi file import/export configuration + Einstellungen: Midi Import/Export-Konfiguration - - Looped Events - Ereignisse innerhalb Schleife + + Settings: Appearance settings + Einstellungen: Erscheinungsbild einstellen - Selected & Looped - Ausgewählt & innerhalb Schleife + + Settings: Midi ports / Soft Synth + Einstellungen: Midianschlüsse / Software Synthesizer - - Values - Werte + + Settings: Audio subsystem configuration + Einstellungen: Audiosystem einstellen - - Rate: - Rate: + + Midi: Edit midi instruments + Midi: Midiinstrumente bearbeiten - - Offset: - Zeitversatz: + + Midi: Open midi input transform + Midi: Midi-Eingangstransformation öffnen - - % - % + + Midi: Open midi input filter + Midi: Midi-Eingangsfilter öffnen - - Selected Looped - + + Midi: Midi input transpose + Midi: Midieingang transponieren - - veloNew = (veloOld * rate) + offset - + + Midi: Midi remote control + Midi: Midi-Fernbedienung - - OK - Bestätigen + + Midi: Random rhythm generator + Midi: Zufälliger-Rhythmus-Generator - - Cancel - Abbrechen + + Midi: Reset midi + Midi: Zurücksetzen - - - WTScale - bar scale - Taktskala + + Midi: Init midi + Midi: Initialisieren - - - WaveEdit - Normalize - Normalisieren + + Midi: Midi local off + Midi: Lokal aus - weTools - Werkzeug "we" + + Audio: Bounce audio to track + Audio: Auf Spur abmischen - - Solo - Solo + + Audio: Bounce audio to file + Audio: In Datei abmischen - - Cursor - Positionsmarker + + Audio: Restart audio + Audio: Neustarten - &File - &Datei + + Automation: Mixer automation + Automatisierung: Mixerautomatisierung - Functions - Funktionen + + Automation: Take mixer snapshot + Automatisierung: Mixer-Schnappschuss aufnehmen - - &Edit - + + Automation: Clear mixer automation + Automatisierung: Mixerautomatisierung löschen - - Func&tions - + + Help: Open Manual + Hilfe: Handbuch öffnen - - &Gain - + + Help: Toggle whatsthis mode + Hilfe: "Was ist das?" - 200% - 200% + Edit: Edit selected part + Bearbeiten: Markierten Part bearbeiten - - 150% - 150% + + Edit: Select nearest part on track above + Bearbeiten: Nächsten Part auf vorheriger Spur markieren - - 75% - 75% + + Edit: Add nearest part on track above + Bearbeiten: Nächsten Part auf vorheriger Spur hinzufügen - - 50% - 50% + + Edit: Select nearest part on track below + Bearbeiten: Nächsten Part auf nächster Spur markieren - - 25% - 25% + + Edit: Add nearest part on track below + Bearbeiten: Nächsten Part auf nächster Spur hinzufügen - - Other - + + Edit: Insert empty measure + Bearbeiten: Leeren Takt einfügen - - &Copy - &Kopieren + + Edit: Paste as clones + Bearbeiten: Als Klone einfügen - - C&ut - &Ausschneiden + + Edit: Paste as clones (with dialog) + Bearbeiten: Als Klone einfügen (Dialog zeigen) - - &Paste - + + Select track above + Vorherige Spur auswählen - - Edit in E&xternal Editor - + + Select track below + Nächste Spur auswählen - Mute Selection - + Midi: Transpose + Midi: Transponieren - Normalize Selection - + Edit: Select all + Bearbeiten: Alles auswählen - - Fade In Selection - + + Edit: Select none + Bearbeiten: Nichts auswählen - - Fade Out Selection - + + Edit: Invert Selection + Bearbeiten: Auswahl invertieren - - Reverse Selection - + + Edit: Select events/parts inside locators + Bearbeiten: Alles im Bereich auswählen - - Select - Auswählen + + Edit: Select events/parts outside locators + Bearbeiten: Alles außerhalb des Bereichs auswählen - - Select &All - Alles a&uswählen + + Edit: Select previous part + Bearbeiten: Vorherigen Part auswählen - - &Deselect All - Alles ab&wählen + + Edit: Select next part + Bearbeiten: Nächsten Part auswählen - - Window &Config - + + Edit: Select nearest part/event to the left or move cursor + Bearbeiten: Nächsten Part / nächstes Event links auswählen, oder Cursor verschieben - - Wave edit tools - + + Edit: Add nearest part/event to the left to selection + Bearbeiten: Nächsten Part / nächstes Event links zur Auswahl hinzufügen - - transport - + + Edit: Select nearest part/event to the right or move cursor + Bearbeiten: Nächsten Part / nächstes Event rechts auswählen, oder Cursor verschieben - - WaveEdit tools - + + Edit: Add nearest part/event to the right to selection + Bearbeiten: Nächsten Part / nächstes Event rechts zur Auswahl hinzufügen - - - WaveTrackInfoBase - MusE: TrackInfo - MusE: Spurinfo + + Edit: Set locators to selection + Bearbeiten: Bereich von Auswahl setzen - Track Info - Spurinfo + + Edit: Increase pitch + Bearbeiten: Tonhöhe erhöhen - Track Name - Spurname + + Edit: Decrease pitch + Bearbeiten: Tonhöhe erniedrigen - Output Route: - Ausgangssignalfluss: + + Edit: Increase event position + Bearbeiten: Eventposition erhöhen - Input Route: - Eingangssignalfluss: + + Edit: Decrease event position + Bearbeiten: Eventposition erniedrigen - Ports: - Anschlüsse: + + View: Zoom in + Zeigen: Hereinzoomen - Mono - Mono + + View: Zoom out + Zeigen: Herauszoomen - Stereo - Stereo + + View: Goto Current Position + Zeigen: Zur momentanen Position gehen - - - WaveView - - MusE - external editor failed - + + + View: Scroll left + Zeigen: Nach links scrollen - - MusE was unable to launch the external editor -check if the editor setting in: -Global Settings->Audio:External Waveditor -is set to a valid editor. - + + Edit: Set Fixed Length on Midi Events + Bearbeiten: feste Länge für Midi-Events setzen - - MusE - file size changed - + + Quantize + Quantisieren - When editing in external editor - you should not change the filesize -since it must fit the selected region. - -Missing data is muted - + Modify Note Length + Notenlänge verändern - - - freeverb - - FreeVerb - + + Modify Velocity + Anschlagsdynamik ändern - - Room Size - + + Edit: Crescendo + Bearbeiten: Crescendo - - Damping - + + Edit: Thin Out + Bearbeiten: Ausdünnen - - Wet Level - + + Edit: Erase Event + Bearbeiten: Event löschen - - Tap-Reverberator - + + Edit: Delete Overlaps + Bearbeiten: Überlappende Noten entfernen - - Decay [ms] - + + Edit: Note Shift + Bearbeiten: Noten verschieben - - - dB - dB + + Edit: Move Clock + Bearbeiten: Uhr verschieben - - Dry Level [dB] - + + Edit: Copy Measure + Bearbeiten: Takt kopieren - - Wet Level [dB] - + + Edit: Erase Measure + Bearbeiten: Takt löschen - - Preset: - + + Edit: Delete Measure + Bearbeiten: Takt löschen - - AfterBurn - + + Edit: Create Measure + Bearbeiten: Takt erstellen - - AfterBurn (Long) - + + Edit: Change Event Color + Bearbeiten: Eventfarbe ändern - Ambience - + Tool: Pointer + Werkzeug: Zeiger - - Ambience (Thick) - + + Tool: Pencil + Werkzeug: Stift - - Ambience (Thick) - HD - + + Tool: Eraser + Werkzeug: Radierer - - Cathedral - + + Tool: Line Draw + Werkzeug: Linie - - Cathedral - HD - + + Tool: Cursor + Werkzeug: Cursor - - Drum Chamber - + + Add note velocity 1 + Note mit Anschlagsdynamik 1 hinzufügen - - Garage - + + Add note velocity 2 + Note mit Anschlagsdynamik 2 hinzufügen - - Garage (Bright) - + + Add note velocity 3 + Note mit Anschlagsdynamik 3 hinzufügen - - Gymnasium - + + Add note velocity 4 + Note mit Anschlagsdynamik 4 hinzufügen - - Gymnasium (Bright) - + + Cursor step size: larger + Cursorschrittweite: größer - - Gymnasium (Bright) - HD - + + Cursor step size: smaller + Cursorschrittweite: kleiner - - Hall (Small) - + + Instrument/Cursor up + Instrument/Cursor nach oben - - Hall (Medium) - + + Instrument/Cursor down + Instrument/Cursor nach unten - - Hall (Large) - + + Tool: Scissor + Werkzeug: Schere - - Hall (Large) - HD - + + Tool: Glue + Werkzeug: Kleber - - Plate (Small) - + + Tool: Mute + Werkzeug: Stummschalten - - Plate (Medium) - + + Transport: Increase current position + Transport: Momentane Position erhöhen - - Plate (Large) - + + Transport: Decrease current position + Transport: Momentane Position erniedrigen - - Plate (Large) - HD - + + Transport: Increase current position, no snap + Transport: Momentane Position erhöhen, kein Einrasten - - Pulse Chamber - + + Transport: Decrease current position, no snap + Transport: Momentane Position erniedrigen, kein Einrasten - - Pulse Chamber (Reverse) - + + Quantize: Set quantize to 1/1 note + Quantisieren: Ganze Noten - - Resonator (96 ms) - + + Quantize: Set quantize to 1/2 note + Quantisieren: Halbe Noten - - Resonator (152 ms) - + + Quantize: Set quantize to 1/4 note + Quantisieren: Viertelnoten - - Resonator (208 ms) - + + Quantize: Set quantize to 1/8 note + Quantisieren: Achtelnoten - - Room (Small) - + + Quantize: Set quantize to 1/16 note + Quantisieren: 16telnoten - - Room (Medium) - + + Quantize: Set quantize to 1/32 note + Quantisieren: 32telnoten - - Room (Large) - + + Quantize: Set quantize to 1/64 note + Quantisieren: 64telnoten - - Room (Large) - HD - + + Quantize: Toggle triol quantization + Quantisieren: Triolenquantisierung umschalten - - Slap Chamber - + + Quantize: Toggle punctuation quantization + Quantisieren: punktierte Quantisierung umschalten - - Slap Chamber - HD - + + Quantize: Toggle punctuation quantization (2) + Quantisieren: punktierte Quantisierung umschalten (2) - - Slap Chamber (Bright) - + + Edit: Insert at location + Bearbeiten: Bei Position einfügen - - Slap Chamber (Bright) HD - + + Edit: Increase length + Bearbeiten: Länge erhöhen - - Smooth Hall (Small) - + + Edit: Decrease length + Bearbeiten: Länge erniedrigen - - Smooth Hall (Medium) - + + Insert Note + Note einfügen - - Smooth Hall (Large) - + + Insert SysEx + SysEx einfügen - - Smooth Hall (Large) - HD - + + Insert Ctrl + Ctrl einfügen - - Vocal Plate - + + Insert Meta + Meta einfügen - - Vocal Plate - HD - + + Insert Channel Aftertouch + Channel Aftertouch einfügen - - Warble Chamber - + + Insert Key Aftertouch + Key Aftertouch einfügen - Warehoouse - + Insert Tempo + Tempo einfügen - - Warehouse - HD - + + Insert Signature + Taktmaß einfügen - - Comb Filters - + + Change Event Position + Eventposition verändern - - Allpass Filters - + + Edit Event Value + Eventwert bearbeiten - - Bandpass Filters - + + Insert Key + Tonart einfügen - - Enhanced Stereo - + + Goto Next Marker + Zum nächsten Marker gehen + + + + Goto Prev Marker + Zum vorherigen Marker gehen diff --git a/muse2/share/locale/muse_en.ts b/muse2/share/locale/muse_en.ts index e01374b1..c6e38689 100644 --- a/muse2/share/locale/muse_en.ts +++ b/muse2/share/locale/muse_en.ts @@ -4,8248 +4,9516 @@ @default - - Click this button to open a <em>new song</em>.<br>You can also select the <b>Open command</b> from the File menu. - - - - - Click this button to save the song you are editing. You will be prompted for a file name. -You can also select the Save command from the File menu. + + Add Midi Track - - Create New Song + + Add Drum Track - - loop between left mark and right mark + + Add Wave Track - - record starts at left mark + + Add Audio Output - - record stops at right mark + + Add Audio Group - - rewind to start position + + Add Audio Input - - rewind current position + + Add Aux Send - - move current position + + Add Synth - - stop sequencer + + Route - - start sequencer play + + dest - - to record press record and then play + + name="%1"/ - - send note off to all midi channels + + Warning: No output devices! - - - - - - - - - Off + + Open midi config... - - Bar + + Empty ports - - MESS + + <none> - - DSSI + + channelMask="%1" + + + AboutBox - - FST + + AboutBox - - Add Midi Track + + Version 2 pre-alpha - - Add Drum Track + + (C) Copyright 1999-2010 Werner Schweer and others. +See http://www.muse-sequencer.org for new versions and +more information. + +Published under the GNU Public License - - Add Wave Track + + &Keep On Rocking! - - Add Audio Output + + Alt+K + + + AppearanceDialogBase - - Add Audio Group + + MusE: Appearance settings - - Add Audio Input + + Arranger - - Add Aux Send + + Parts - - Add Synth + + show names - - Jack + + show events - - ALSA: + + show Cakewalk Style - - SYNTH: + + y-stretch - - JACK: + + Events - - - - - - - Route + + note on - - - - - channel="%1" + + poly pressure - - - - - - dest + + controller - - - devtype="%1" + + aftertouch - - - - - - type="%1" + + pitch bend - - - - - - - - name="%1"/ + + program change - - - source + + special - - Velocity + + Background picture - - <none> + + add - - - - channelMask="%1" + + remove - - dssi_synth + + clear - - ladspa_efx + + show snap grid - - channels="%1" + + Colors - - remch="%1" + + Items - - mport="%1"/ + + Palette - - Click this button to enable recording + + add to palette - - Click this button to stop playback + + B - - Click this button to start playback + + S - - Click this button to rewind to start position + + H - - Click this button to rewind + + V - - Click this button to forward current play position + + G - - select Pointer Tool: -with the pointer tool you can: - select parts - move parts - copy parts + + R - - select Pencil Tool: -with the pencil tool you can: - create new parts - modify length of parts + + Color name: - - select Delete Tool: -with the delete tool you can delete parts + + Global opacity - - select Cut Tool: -with the cut tool you can split a part + + Style/Fonts - - select Glue Tool: -with the glue tool you can glue two parts + + QT Theme - - select Score Tool: - + + Windows - - select Quantize Tool: -insert display quantize event + + MusE - - select Drawing Tool + + Metal - - select Muting Tool: -click on part to mute/unmute + + Norwegian Wood - - Manipulate automation + + Platinum - - Cursor tool + + CDE - - pointer + + Motif - - pencil + + Motif Plus - - eraser + + Style Sheet: - - cutter + + + + + + + + + + ... - - score + + Fonts - - glue + + Family - - quantize + + Size - - draw + + Font 1 - - mute parts + + Font 2 - - edit automation + + Font 3 - - cursor + + Font 0 - - - Show wave tracks - - - - - - Show group tracks + + + + + + + + Bold - - - Show aux tracks + + + + + + + + Italic - - - Show input tracks + + Font 4 - - - Show output tracks + + Font 5 - - - Show midi tracks + + Font 6 - - - Show synth tracks + + Apply - - - AboutBox - - AboutBox + + Ok - - Version 2 pre-alpha + + Cancel + + + Awl::MidiVolEntry - - (C) Copyright 1999-2010 Werner Schweer and others. -See http://www.muse-sequencer.org for new versions and -more information. - -Published under the GNU Public License + + off - - &Keep On Rocking! + + db + + + Awl::VolEntry - - Alt+K + + off - Appearance + ClipListEditorBase - - Main application font, and default font for any - controls not defined here. + + MusE: ClipList - - For small controls like mixer strips. -Also timescale small numbers, arranger part name overlay, - and effects rack. + + Name - - Midi track info panel. Transport controls. + + Refs - - Controller graph and S/X buttons. Large numbers for time - and tempo scale, and time signature. + + Start - - Time scale markers. + + Len - - List editor: meta event edit dialog multi-line edit box. + + Data - - Mixer label font. Auto-font-sizing up to chosen font size. -Word-breaking but only with spaces. + + Clip Properties - - Maximum mixer label auto-font-sizing font size. + + Pos: - - Global opacity (opposite of transparency). + + Len: + + + CommentBase - - Standard + + Form1 - - Custom + + Track Comment - - MusE: load image + + Track 1 + + + ConfigMidiFileBase - - Select style sheet + + MusE: Config Midi File Import/Export - - Qt style sheets (*.qss) + + Import: - - - AppearanceDialogBase - - MusE: Appearance settings + + Split tracks into &parts - - Arranger + + Alt+P - - Parts + + Split tracks into parts, or one single part - - show names + + Export: - - show events + + 96 - - show Cakewalk Style + + 192 - - y-stretch + + 384 - - Events + + Enable extended smf format (currently not implemented) - - note on + + Use &2-byte time signatures instead of standard 4 - - poly pressure + + Alt+2 - - controller + + Copyright: - - aftertouch + + Format: - - pitch bend + + Note: Format 0 uses the FIRST midi track's name/comment in the arranger - - program change + + Division: - - special + + Save space by replacing note-offs with &zero velocity note-ons - - Background picture + + Alt+Z - - add + + 0 (single track) - - remove + + 1 (multiple tracks) - - clear + + &OK - - show snap grid + + &Cancel + + + CrescendoBase - - Colors + + MusE: Crescendo/Decrescendo - - Items + + Range - - Palette + + Looped Events - - add to palette + + Selected Looped - - B + + Values - - S + + Start velocity - - H + + + % - - V + + End velocity - - G + + Absolute - - R + + Relative - - Color name: + + OK - - Global opacity + + Cancel + + + DeicsOnzeGui - - Style/Fonts + + Save configuration - - QT Theme + + + + + + + + + + + Critical Error - - Windows + + + + + + Cannot open file %1 - - MusE + + + + + + Parsing error for file %1 - - Metal + + + Load category dialog - - Norwegian Wood + + Load set dialog - - Platinum + + Save set dialog - - CDE + + New category - - Motif + + + Delete category - - Motif Plus + + Load category - - Style Sheet: + + Save category - - - - - - - - - - ... + + Load set - - Fonts + + Save set - - Family + + Delete set - - Size + + New subcategory - - Font 1 + + + Delete subcategory - - Font 2 + + Load subcategory - - Font 3 + + Save subcategory - - Font 0 + + New preset - - - - - - - - Bold + + + Delete preset - - - - - - - - Italic + + Load preset - - Font 4 + + Save preset - - Font 5 + + No more category supported - - Font 6 + + You can not add more categories - - Apply + + + + Do you really want to delete %1 ? - - Ok + + + + &Yes - - Cancel + + + + &No - - - Awl::MidiVolEntry - - off + + + No category selected - - db + + + You must first select a category. - - - Awl::VolEntry - - off + + + + Replace or add - - - ClipListEdit - - MusE: Clip List Editor + + %1 is supposed to be affected to the hbank number %2, but there is already one on this slot. + Do you want to replace it or to add it in the next free slot ? - - Undo/Redo tools + + + + &Replace - - panic + + + + &Add - - transport + + + + Download error - - Window &Config + + There is no more free category slot. - - - ClipListEditorBase - - MusE: ClipList + + Save category dialog - - Name + + No more subcategory supported - - Refs + + You can not add more subcategories - - Start + + + No subcategory selected - - Len + + + You must first select a subcategory. - - Data + + Load subcategory dialog - - Clip Properties + + %1 is supposed to be affected to the lbank number %2, but there is already one on this slot. + Do you want to replace it or to add it in the next free slot ? - - Pos: + + There is no more free subcategory slot. - - Len: + + Save subcategory dialog - - - CommentBase - - Form1 + + No more preset supported - - Track Comment + + You can not add more presets - - Track 1 + + + + No preset selected - - - ConfigMidiFileBase - - MusE: Config Midi File Import/Export + + + + You must first select a preset. - - Import: + + Load preset dialog - - Split tracks into &parts + + %1 is supposed to be affected to the prog number %2, but there is already one on this slot. + Do you want to replace it or to add it in the next free slot ? - - Alt+P + + There is no more free preset slot. - - Split tracks into parts, or one single part + + Save preset dialog - - Export: + + Browse set dialog - - 96 + + Browse image dialog + + + DeicsOnzeGuiBase - - 192 + + DeicsOnze - - 384 + + &Preset - - Enable extended smf format (currently not implemented) + + Program numerous - - Use &2-byte time signatures instead of standard 4 + + INITVOICE - - Alt+2 + + LBank - - Copyright: + + Subcategory - - Format: + + + Bank numerous - - Division: + + + NONE - - Save space by replacing note-offs with &zero velocity note-ons + + HBank - - Alt+Z + + Category - - 0 (single track) + + Prog - - 1 (multiple tracks) + + Preset - - &OK + + DeicsOnze v0.5.5 Copyright (c) 2004-2006 Nil Geisweiller. Published under GPL licence. - - &Cancel + + &Global - - - CrescendoBase - - MusE: Crescendo/Decrescendo - - - - - Range - - - - - Looped Events + + Pitch Envelope - - Selected Looped + + PL3 - - Values + + PL2 - - Start velocity + + PL1 - - - % + + PR1 - - End velocity + + PR2 - - Absolute + + PR3 - - Relative + + + + + + + + Pitch modulation depth - - OK + + LFO - - Cancel + + LFO Sync - - - CtrlPanel - - S + + Pitch modulation sensitivity - - select controller + + Pitch Modulation Sensitivity - - X + + LFO Delay - - remove panel + + LFO delay - - manual adjust + + LFO speed - - double click on/off + + Amplitude modulation depth - - off + + Amplitude modulation sensitivity - - - Velocity + + Amplitude Modulation Sensitivity - - add new ... + + AMS - - - Instrument-defined + + LFO Waveform - - - Add ... + + + Pitch Modulation Depth - - Others + + PMD - - Edit instrument ... + + LFO Speed - - Common Controls + + AMD - - - DeicsOnzeGui - - Save configuration + + Speed - - - - - - - - - - - Critical Error + + Delay - - - - - - Cannot open file %1 + + PMS - - - - - - Parsing error for file %1 + + + Modulation Matrix - - - Load category dialog + + <b>Algorithm 1</b> : <i>Op 1</i> modulated by <i>Op 2</i> modulated by <i>Op 3</i> modulated by <i>Op 4</i><br> +<b>Algorithm 2</b> : <i>Op 1</i> modulated by <i>Op 2</i> modulated by both <i>Op 3</i> and <i>Op 4</i><br> +<b>Algorithm 3</b> : <i>Op 1</i> modulated by both <i>Op 4</i> and <i>Op 2</i> modulated by <i>Op 3</i><br> +<b>Algorithm 4</b> : <i>Op 1</i> modulated by both <i>Op 2</i> and <i>Op 3</i> modulated by <i>Op 4</i><br> +<b>Algorithm 5</b> : (<i>Op 1</i> modulated by <i>Op 2</i>) add to (<i>Op 3</i> modulated by <i>Op 4</i>) <br> +<b>Algorithm 6</b> : addition of the three <i>Op 1, 2, 3</i> all modulated by <i>Op 4</i><br> +<b>Algorithm 7</b> : addition of the three <i>Op 1, 2, 3</i> with <i>Op 3</i> modulated by <i>Op 4</i><br> +<b>Algorithm 8</b> : addition of the four <i>Op 1, 2, 3, 4</i> - - Load set dialog + + Op4 Feedback - - Save set dialog + + + Feedback level of the operator 4 - - New category + + + + Transpose - - - Delete category + + Op &1 - - Load category + + Scaling 1 - - Save category + + LS1 - - Load set + + RS1 - - Save set + + + + + + + + + Rate Scaling - - Delete set + + + + + + + + + + + + + Attack Rate of the operator 1 - - New subcategory + + + + + + + + + Level Scaling - - - Delete subcategory + + Amplitude Envelope 1 - - Load subcategory + + RR1 - - Save subcategory + + D1R1 - - New preset + + D1L1 - - - Delete preset + + D2R1 - - Load preset + + + + + Release Rate - - - Save preset + + + + + + 2° Decay Rate - - - No more category supported + + + + + + 1° Decay Level - - - You can not add more categories + + + + + + 1° Decay Rate - - - - Do you really want to delete %1 ? + + + + + Attack Rate - - - - &Yes + + AR1 - - - - &No + + Detune, OSCWave, EGShift 1 - - - No category selected + + DET1 - - - You must first select a category. + + + + + + + + + + Detune - - - - Replace or add + + + + + EG Shift - - %1 is supposed to be affected to the hbank number %2, but there is already one on this slot. - Do you want to replace it or to add it in the next free slot ? + + + + + 96dB - - - - &Replace + + + + + 48dB - - - - &Add + + + + + 24dB - - - - Download error + + + + + 12dB - - There is no more free category slot. + + + + + Wave form - - Save category dialog + + + + + Wave form 1 = <i>sin(<b>t</b>)</i><br> +Wave form 2 = <i>sin(<b>t</b>)*abs(sin(<b>t</b>))</i><br> +Wave form 3 = <i>if <b>t</b>&#060 pi then sin(<b>t</b>) else 0</i><br> +Wave form 4 = <i>if <b>t</b>&#060 pi then sin(<b>t</b>)*abs(sin(<b>t</b>)) else 0</i><br> +Wave form 5 = <i>if <b>t</b>&#060 pi then sin(2*<b>t</b>) else 0</i><br> +Wave form 6 = <i>if <b>t</b>&#060 pi then sin(2*<b>t</b>)*abs(sin(2*<b>t</b>)) else 0</i><br> +Wave form 7 = <i>if <b>t</b>&#060 pi then abs(sin(2*<b>t</b>)) else 0</i><br> +Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t</b>)*sin(2*<b>t</b>) else 0</i> - - No more subcategory supported + + Sensitivity 1 - - You can not add more subcategories + + KVS1 - - - No subcategory selected + + + + + Amplitude Modulation Enable - - - You must first select a subcategory. + + AME1 - - Load subcategory dialog + + + + + Keyboard Velocity Sensitivity - - %1 is supposed to be affected to the lbank number %2, but there is already one on this slot. - Do you want to replace it or to add it in the next free slot ? + + + + + Key Velocity Sensitivity - - There is no more free subcategory slot. + + EBS1 - - Save subcategory dialog + + + + + EG Bias Sensitivity - - No more preset supported + + + + + Eg Bias Sensitivity - - You can not add more presets + + Frequency 1 - - - - No preset selected + + Coarse 1 - - - - You must first select a preset. + + + + + Coarse Ratio - - Load preset dialog + + Fine 1 - - %1 is supposed to be affected to the prog number %2, but there is already one on this slot. - Do you want to replace it or to add it in the next free slot ? + + + + + Fine Ratio - - There is no more free preset slot. + + Freq 1 - - Save preset dialog + + + + + Fixed Frequency - - Browse set dialog + + + + + Toggle Fix Frequency - - Browse image dialog + + + + + FIX - - - DeicsOnzeGuiBase - - DeicsOnze + + OUT 1 - - &Preset + + + + + Output Volume - - Program numerous + + + + + + + Volume - - INITVOICE + + Op &2 - - LBank + + Amplitude Envelope 2 - - Subcategory + + D1R2 - - - Bank numerous + + D1L2 - - - NONE + + D2R2 - - HBank + + RR2 - - Category + + AR2 - - Prog + + Frequency 2 - - Preset + + Coarse 2 - - DeicsOnze v0.5.5 Copyright (c) 2004-2006 Nil Geisweiller. Published under GPL licence. + + Fine 2 - - &Global + + Freq 2 - - Pitch Envelope + + Scaling 2 - - PL3 + + LS2 - - PL2 + + RS2 - - PL1 + + OUT 2 - - PR1 + + Detune, OSCWave, EGShift 2 - - PR2 + + DET2 - - PR3 + + Sensitivity 2 - - - - - - - - Pitch modulation depth + + EBS2 - - LFO + + KVS2 - - LFO Sync + + AME2 - - Pitch modulation sensitivity + + Op &3 - - Pitch Modulation Sensitivity + + Amplitude Envelope 3 - - LFO Delay + + D1R3 - - LFO delay + + D1L3 - - LFO speed + + D2R3 - - Amplitude modulation depth + + RR3 - - Amplitude modulation sensitivity + + AR3 - - Amplitude Modulation Sensitivity + + Scaling 3 - - AMS + + LS3 - - LFO Waveform + + RS3 - - - Pitch Modulation Depth + + OUT 3 - - PMD + + Frequency 3 - - LFO Speed + + Coarse 3 - - AMD + + Fine 3 - - Speed + + Freq 3 - - Delay + + Detune, OSCWave, EGShift 3 - - PMS + + DET3 - - - Modulation Matrix + + Sensitivity 3 - - <b>Algorithm 1</b> : <i>Op 1</i> modulated by <i>Op 2</i> modulated by <i>Op 3</i> modulated by <i>Op 4</i><br> -<b>Algorithm 2</b> : <i>Op 1</i> modulated by <i>Op 2</i> modulated by both <i>Op 3</i> and <i>Op 4</i><br> -<b>Algorithm 3</b> : <i>Op 1</i> modulated by both <i>Op 4</i> and <i>Op 2</i> modulated by <i>Op 3</i><br> -<b>Algorithm 4</b> : <i>Op 1</i> modulated by both <i>Op 2</i> and <i>Op 3</i> modulated by <i>Op 4</i><br> -<b>Algorithm 5</b> : (<i>Op 1</i> modulated by <i>Op 2</i>) add to (<i>Op 3</i> modulated by <i>Op 4</i>) <br> -<b>Algorithm 6</b> : addition of the three <i>Op 1, 2, 3</i> all modulated by <i>Op 4</i><br> -<b>Algorithm 7</b> : addition of the three <i>Op 1, 2, 3</i> with <i>Op 3</i> modulated by <i>Op 4</i><br> -<b>Algorithm 8</b> : addition of the four <i>Op 1, 2, 3, 4</i> + + EBS3 - - Op4 Feedback + + KVS3 - - - Feedback level of the operator 4 + + AME3 - - - - Transpose + + Op &4 - - Op &1 + + amplitude Envelope 4 - - Scaling 1 + + AR4 - - LS1 + + D1R4 - - RS1 + + D1L4 - - - - - - - - - Rate Scaling + + D2R4 - - - - - - - - - - - - - Attack Rate of the operator 1 + + RR4 - - - - - - - - - Level Scaling + + Frequency 4 - - Amplitude Envelope 1 + + Coarse 4 - - RR1 + + Fine 4 - - D1R1 + + Freq 4 - - D1L1 + + Scaling 4 - - D2R1 + + LS4 - - - - - Release Rate + + RS4 - - - - - - 2° Decay Rate + + + OUT 4 - - - - - - 1° Decay Level + + + Detune, OSCWave, EGShift 4 - - - - - - 1° Decay Rate + + + DET4 - - - - - Attack Rate + + Sensitivity 4 - - AR1 + + EBS4 - - Detune, OSCWave, EGShift 1 + + KVS4 - - DET1 + + AME4 - - - - - - - - - - Detune + + &Func - - - - - EG Shift + + Delay Pan Depth - - - - - 96dB + + Delay Pan LFO Freq + + + + + Delay Ch Send Level + + + + + + + Channel Chorus + + + + + Delay Feedback + + + + + Delay On/Off, Return Level + + + + + + + On + + + + + Delay Beat Ratio + + + + + Delay BPM + + + + + Foot Control + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pitch Bend Range + + + + + + + + Pitch + + + + + + + + Amplitude + + + + + Modulation Wheel + + + + + Breath Control + + + + + + Pitch Bias + + + + + + Envelope Bias + + + + + After Touch + + + + + Phony Mode + + + + + POLY + + + + + MONO + + + + + Potamento + + + + + Portamento Mode + + + + + FINGER + + + + + FULL + + + + + PT + + + + + + Portamento Time + + + + + C&horus + + + + + Chorus Parameters + + + + + + Channel send level + + + + + + On/Off and Return level + + + + + + Select LADSPA plugin + + + + + + Change plugin + + + + + &Reverb + + + + + Reverb Parameters + + + + + &Config + + + + + Font Size + + + + + Quality + + + + + High + + + + + Middle + + + + + Low + + + + + Ultra low + + + + + Filter + + + + + Save Mode (into the song) + + + + + Save only the used presets + + + + + Save the entire set + + + + + Save the configuration + + + + + Configuration File + + + + + Save... + + + + + Load... + + + + + Save as default + + + + + Colors + + + + + Text + + + + + Background + + + + + Edit Text + + + + + Edit Background + + + + + + + Red + + + + + + + Blue + + + + + + + Green + + + + + Set Path + + + + + Image in the background : + + + + + + Browse... + + + + + Load the set at the initialization : + + + + + Set Brightness, Detune, Attack and Release of the current channel to default + + + + + Res. Ctrl + + + + + Cut all notes off + + + + + Panic! + + + + + Number of Voices + + + + + Number of voices + + + + + Enable + + + + + Channel + + + + + Vol + + + + + Channel Ctrl + + + + + Release + + + + + Attack + + + + + Brightness + + + + + Modulation + + + + + Pan + + + + + DelOverlapsBase + + + MusE: Delete Overlaps + + + + + Range + + + + + All Events + + + + + Selected Events + + + + + Looped Events + + + + + Selected Looped + + + + + OK + + + + + Cancel + + + + + DidYouKnow + + + Did you know? + + + + + Don't show on startup + + + + + Next tip + + + + + Close + + + + + EditCtrlBase + + + MusE: Edit Controller Event + + + + + Time Position + + + + + Available Controller: + + + + + Create New Controller + + + + + textLabel3 + + + + + Value + + + + + Controller + + + + + H-Bank + + + + + L-Bank + + + + + Program + + + + + + off + + + + + pushButton4 + + + + + &OK + + + + + &Cancel + + + + + EditGainBase + + + MusE: Modify gain + + + + + Gain + + + + + 200% + + + + + 100% + + + + + 0% + + + + + &Reset + + + + + Alt+R + + + + + &Apply + + + + + Alt+A + + + + + &Cancel + + + + + Alt+C + + + + + EditInstrumentBase + + + MusE: Instrument Editor + + + + + Instrument Name: + + + + + Selected instrument name. + + + + + List of defined instruments. + + + + + Pa&tches + + + + + List of groups and patches. + + + + + Group/Patch + + + + + + Properties + + + + + + + Name: + + + + + + Group or patch name + + + + + High Bank: + + + + + Patch high bank number + + + + + Patch high bank number. --- means don't care. + + + + + --- + dont care + + + + + Low Bank: + + + + + Patch low bank number + + + + + Patch low bank number. --- means don't care. + + + + + --- + + + + + Program: + + + + + + Patch program number + + + + + Drum patch + + + + + If set, the patch is available only for drum channels. + + + + + Drum + + + + + GM patch + + + + + If set, the patch is available in a 'GM' or 'NO' midi song type. + + + + + GM + + + + + GS patch + + + + + If set, the patch is available in a 'GS' or 'NO' midi song type. + + + + + GS + + + + + XG patch + + + + + If set, the patch is available in an 'XG' or 'NO' midi song type. + + + + + XG + + + + + Delete group or patch + + + + + + + &Delete + + + + + + + Alt+D + + + + + New patch + + + + + New &Patch + + + + + Alt+P + + + + + New group + + + + + New &Group + + + + + Alt+G + + + + + Contro&ller + + + + + Common: + + + + + This is a list of commonly used midi controllers. +Note that in MusE pitch and program changes are +handled like normal controllers. + + + + + List of defined controllers + + + + + List of defined controllers. + + + + + Name + + + + + Type + + + + + + H-Ctrl + + + + + + L-Ctrl + + + + + Min + + + + + Max + + + + + Def + + + + + Midi controller name + + + + + Type: + + + + + + Midi controller type + + + + + Control7 + + + + + Control14 + + + + + RPN + + + + + NRPN + + + + + RPN14 + + + + + NRPN14 + + + + + Pitch + + + + + Program + + + + + + Midi controller number high byte + + + + + Midi controller number low byte (* means drum controller) + + + + + Midi controller number low byte. +If low byte is * then the controller is a + 'drum controller'. For drum tracks and + GS/XG type songs and instruments. +Allows controllers for each instrument in + Muse's drum map. The low byte will be + replaced by the 'ANote' in the drum map. +Examples: The GS and XG instruments' + Drum controllers. + + + + + * + wild card + + + + + Range: + + + + + Min + + + + + Minimum value. If negative, auto-translate. + + + + + Minimum value. If the minimum value + is negative, the range will automatically + be translated to a positive range. + +Useful for controllers which should be + displayed with zero bias. For example, +'Pan': Minimum: -64 Maximum: 63 +True range: Min: 0 Max: 127 (bias = 64) +'CoarseTuning': Min: -24 Max: 23 +True range: Min: 40 Max: 87 (bias = 64) + +Bias is determined from controller type: +7-bit Controller7 / RPN: Bias = 64 +14-bit Controller14 / RPN14: Bias = 8192 + +Type 'Pitch' is the exception. It is biased + at zero, even with a negative minimum: +'Pitch': Min: -8192 Max: 8191 +True range: Min: -8192 Max: 8191 (bias 0) + + + + + Max + + + + + + Maximum value + + + + + Default: + + + + + L-Bank + + + + + + + + + off + + + + + Progr. + + + + + ??? + + + + + H-Bank + + + + + Default value. Off: No default. + + + + + Default (initial) value. Off means no default. + +If a default value is chosen, the value will be sent + to the controller when the controller is added to + the song (in piano roll or event editor). When + the song is re-loaded, the value is sent again. +Otherwise the controller remains at its last value. +Controllers are also automatically added to a + song upon reception of a midi controller event. + +Caution! Watch out for controllers such as + 'Sustain' and 'ResetAllController' with default + values. You should probably turn 'off' their + default (in piano roll or drum edit, and + instrument editor). + + + + + off + dont care - - - - - 48dB + + Add common controller - - - - - 24dB + + &Add - - - - - 12dB + + Alt+A - - - - - Wave form + + Delete controller - - - - - Wave form 1 = <i>sin(<b>t</b>)</i><br> -Wave form 2 = <i>sin(<b>t</b>)*abs(sin(<b>t</b>))</i><br> -Wave form 3 = <i>if <b>t</b>&#060 pi then sin(<b>t</b>) else 0</i><br> -Wave form 4 = <i>if <b>t</b>&#060 pi then sin(<b>t</b>)*abs(sin(<b>t</b>)) else 0</i><br> -Wave form 5 = <i>if <b>t</b>&#060 pi then sin(2*<b>t</b>) else 0</i><br> -Wave form 6 = <i>if <b>t</b>&#060 pi then sin(2*<b>t</b>)*abs(sin(2*<b>t</b>)) else 0</i><br> -Wave form 7 = <i>if <b>t</b>&#060 pi then abs(sin(2*<b>t</b>)) else 0</i><br> -Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t</b>)*sin(2*<b>t</b>) else 0</i> + + Create a new controller - - Sensitivity 1 + + New &Controller - - KVS1 + + Alt+C - - - - - Amplitude Modulation Enable + + Null Param Hi: + + + + + Null parameter number High byte + + + + + + If set, these 'null' parameter numbers will + be sent after each RPN/NRPN event. +This prevents subsequent 'data' events + from corrupting the RPN/NRPN controller. +Typically, set to 127/127, or an unused + RPN/NRPN controller number. + + + + + Lo: + + + + + Null parameter number Low byte + + + + + S&ysEx + + + + + SysEx List: + + + + + Hex Entry: + + + + + New SysE&x + + + + + Alt+X + + + + + Tools + + + + + &File + + + + + &Help + + + + + &New + + + + + New + + + + + Ctrl+N + + + + + &Open... + + + + + Open + + + + + Ctrl+O + + + + + &Save + + + + + Save + + + + + Ctrl+S + + + + + Save &As... + + + + + Save As + + + + + E&xit + + + + + Exit + + + + + + new item + + + + + + What's this? + + + + + EditNoteDialogBase + + + MusE: Enter Note + + + + + OK + + + + + Cancel + + + + + Length: + + + + + Time Position: + + + + + Pitch: + + + + + Velocity On: + + + + + Velocity Off: + + + + + EditSysexDialogBase + + + MusE: Enter SysEx - - AME1 + + TimePosition: - - - - - Keyboard Velocity Sensitivity + + Comment: - - - - - Key Velocity Sensitivity + + OK - - EBS1 + + Cancel + + + FLUIDGui - - - - - EG Bias Sensitivity + + FLUID: open Soundfile + + + FLUIDGuiBase - - - - - Eg Bias Sensitivity + + Form1 - - Frequency 1 + + Soundfont - - Coarse 1 + + Load + + + FLUIDSynthGuiBase - - - - - Coarse Ratio + + FLUID Synth - - Fine 1 + + Load - - - - - Fine Ratio + + Delete - - Freq 1 + + Dump Info - - - - - Fixed Frequency + + ID - - - - - Toggle Fix Frequency + + Fontname - - - - - FIX + + Chnl - - OUT 1 + + Soundfont - - - - - Output Volume + + Drum Chnl - - - - - - - Volume + + + Level - - Op &2 + + Width - - Amplitude Envelope 2 + + Damping - - D1R2 + + Room Size - - D1L2 + + Reverb - - D2R2 + + CHANNEL SETUP - - RR2 + + Sine - - AR2 + + Triangle - - Frequency 2 + + Type - - Coarse 2 + + Number - - Fine 2 + + Speed - - Freq 2 + + Depth - - Scaling 2 + + Chorus - - LS2 + + Gain - - RS2 + + LOADED SOUNDFONTS + + + FileDialogButtons - - OUT 2 + + fdialogbuttons - - Detune, OSCWave, EGShift 2 + + Global - - DET2 + + User - - Sensitivity 2 + + Project - - EBS2 + + Songdata + +Configuration - - KVS2 + + only +Songdata + + + FluidSynthGui - - AME2 + + Choose soundfont + + + GateTimeBase - - Op &3 + + MusE: Modify Note Length - - Amplitude Envelope 3 + + Range - - D1R3 + + All Events - - D1L3 + + Selected Events - - D2R3 + + Looped Events - - RR3 + + Selected Looped - - AR3 + + Values - - Scaling 3 + + Rate: - - LS3 + + Offset: - - RS3 + + % - - OUT 3 + + lenNew = (lenOld * rate) + offset - - Frequency 3 + + OK - - Coarse 3 + + Cancel + + + GlobalSettingsDialogBase - - Fine 3 + + MusE: Global Settings - - Freq 3 + + Application - - Detune, OSCWave, EGShift 3 + + Views - - DET3 + + + + + + y-pos - - Sensitivity 3 + + + + + show - - EBS3 + + + + + + x-pos - - KVS3 + + + + + height - - AME3 + + + + + width - - Op &4 + + Mixer A - - amplitude Envelope 4 + + Mixer B - - AR4 + + Big Time - - D1R4 + + Main Window - - D1L4 + + Transport - - D2R4 + + + + + + set current values - - RR4 + + + + + + Cur - - Frequency 4 + + Start Muse - - Coarse 4 + + start song: - - Fine 4 + + Start song - - Freq 4 + + start with last song - - Scaling 4 + + start with template: default.med - - LS4 + + start with song - - RS4 + + On Launch - - OUT 4 + + show splash screen - - Detune, OSCWave, EGShift 4 + + show "Did you know?" dialog - - DET4 + + Audio - - Sensitivity 4 + + Mixer - - EBS4 + + + dB - - KVS4 + + min. Meter Value - - AME4 + + min. Slider Val - - &Func + + Try to use Jack Freewheel - - Delay Pan Depth + + Speeds bounce operations - - Delay Pan LFO Freq + + Use Jack Freewheel mode if possible. +This dramatically speeds bounce operations. - - Delay Ch Send Level + + Enable denormal protection - - - - Channel Chorus + + Enable output limiter - - Delay Feedback + + VST in-place - - Delay On/Off, Return Level + + Enable VST in-place processing (restart required) - - - - On + + Enable VST in-place processing. Turn this off if + VST Ladspa effect rack plugins do not work or + feedback loudly, even if they are supposed to + be in-place capable. Setting requires a restart. - - Delay Beat Ratio + + Minimum control period - - Delay BPM + + Minimum audio controller process period (samples). + - - Foot Control + + Minimum audio controller process period (samples). +Adjusts responsiveness of audio controls and + controller graphs. Set a low value for fast, smooth + control. If it causes performance problems, set a + higher value. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Pitch Bend Range + + 1 - - - - - Pitch + + 2 - - - - - - - Amplitude + + + + 4 - - Modulation Wheel + + 8 - - Breath Control + + + 16 - - - Pitch Bias + + + 32 - - - Envelope Bias + + + 64 - - After Touch + + + 128 - - Phony Mode + + + 256 - - POLY + + + 512 - - MONO + + + + 1024 - - Potamento + + + + 2048 - - Portamento Mode + + External Waveditor - - FINGER + + External Waveditor command - - FULL + + Note: External editor opened from the internal editor. - - PT + + Dummy Audio Driver (settings require restart) - - - Portamento Time + + Sample rate - - C&horus + + Hz - - Chorus Parameters + + Period size (Frames per period): - - - Channel send level + + Shorter periods give better midi playback resolution. - - - On/Off and Return level + + Midi - - - Select LADSPA plugin + + Ticks - - - Change plugin + + RTC Resolution +(Ticks/Sec) - - &Reverb + + 4096 - - Reverb Parameters + + 8192 - - &Config + + 16384 - - Font Size + + 32768 - - Quality + + Midi Resolution +(Ticks/Quarternote) - - High + + + 48 - - Middle + + + 96 - - Low + + + 192 - - Ultra low + + + 384 - - Filter + + + 768 - - Save Mode (into the song) + + + 1536 - - Save only the used presets + + + 3072 - - Save the entire set + + + 6144 - - Save the configuration + + + 12288 - - Configuration File + + Displayed Resolution +(Ticks/Quarternote) - - Save... + + Instruments Directory - - Load... + + GUI - - Save as default + + Behavior - - Colors + + GUI Refresh Rate - - Text + + /sec - - Background + + Use old-style stop shortcut: - - Edit Text + + Move single armed track with selection - - Edit Background + + Use project save dialog - - - - Red + + Some popup menus stay open (else hold Ctrl) - - - - Blue + + Allows some popup menus to stay open. +Otherwise, hold Ctrl to keep them open. - - - - Green + + In some areas, the middle mouse button decreases +values, while the right button increases. Users without a +middle mouse button can select this option to make the +left button behave like the middle button in such areas. - - Set Path + + Use left mouse button for decreasing values - - Image in the background : + + Shift + Right click sets left range marker - - - Browse... + + MDI-subwindowness and sharing menus - - Load the set at the initialization : + + Presets: - - Set Brightness, Detune, Attack and Release of the current channel to default + + traditional MusE SDI - - Res. Ctrl + + Cakewalk-like MDI - - Cut all notes off + + Borland-/Mac-like MDI - - Panic! + + &Apply - - Number of Voices + + &Ok - - Number of voices + + &Cancel + + + LegatoBase - - Enable + + MusE: Legato - - Channel + + Range - - Vol + + All Events - - Channel Ctrl + + Selected Events - - Release + + Looped Events - - Attack + + Selected Looped - - Brightness + + Settings - - Modulation + + ticks - - Pan + + Minimum Length - - - DelOverlapsBase - - MusE: Delete Overlaps + + Allow shortening notes - - Range + + OK - - All Events + + Cancel + + + MITTransposeBase - - Selected Events + + MusE: Midi Input Plugin: Transpose - - Looped Events + + On - - Selected Looped + + TriggerKey - - OK + + Transpose: - - Cancel + + +0 - DidYouKnow + MRConfigBase - - Did you know? + + MusE: Midi Input Plugin: Remote Control - - Don't show on startup + + Activate - - Next tip + + On - - Close + + Actions - - - DrumEdit - - - mute instrument + + Stop - - - sound name + + Record - - - volume percent + + Goto Left Mark - - - quantisation + + Play - - - this input note triggers the sound + + Insert rest (step rec) + + + MdiSettingsBase - - - note length + + Form - - - this is the note which is played + + GroupBox - - output channel (hold ctl to affect all rows) + + MDI subwin - - - output port + + Shares menu when subwin - - - shift + control key: draw velocity level 1 + + Shares menu when free + + + MetronomeConfigBase - - - control key: draw velocity level 2 + + MusE: Metronome Config - - - shift key: draw velocity level 3 + + Metronome - - - draw velocity level 4 + + Audio Beep - - output channel (ctl: affect all rows) + + Choose outputs... - - &File + + 50 - - Load Map + + % Audio volume - - Save Map + + MIDI Click - - Reset GM Map + + Midi Channel - - &Edit + + Measure Note - - Cut + + Measure Velocity - - Copy + + Beat Velocity - - Copy events in range + + Beat Note - - Paste + + Midi Port - - Paste (with Dialog) + + Precount - - Delete Events + + enable - - &Select + + Bars - - Select All + + From Mastertrack - - Select None + + / - - Invert + + Signature - - Inside Loop + + Prerecord - - Outside Loop + + Preroll - - Previous Part + + Hint: Enable metronome in Transportpanel - - Next Part + + &Apply - - Fu&nctions + + Alt+A - - Re-order list + + &OK - - Set Fixed Length + + Alt+O - - Modify Velocity + + &Cancel - - Crescendo/Decrescendo + + Alt+C + + + MidiFilterConfigBase - - Quantize + + MusE: Midi Input Filter - - Erase Event + + Record Filter - - Move Notes + + + Note On - - Delete Overlaps + + + Poly Pressure - - &Plugins + + + Controller - - Window &Config + + + Program Change - - Drum tools + + + After Touch - - Load Drummap + + + Pitch Bend - - Store Drummap + + + Sysex - - Step Record + + Thru Filter - - Midi Input + + Controller Filter - - cursor tools + + Channel Filter - - Set step size for cursor edit + + 14 - - panic + + 10 - - transport + + 6 - - ctrl + + 12 - - Add Controller View + + 4 - - M + + 2 - - Sound + + 9 - - Vol + + 8 - - QNT + + 3 - - E-Note + + 13 - - Len + + 15 - - A-Note + + 16 - - Ch + + 7 - - Port + + 11 - - LV1 + + 5 - - LV2 + + 1 + + + MidiInputTransformDialogBase - - LV3 + + MusE: Midi Input Transformator - - LV4 + + Filter - - Muse: Load Drum Map + + All - - MusE: Store Drum Map + + + + + + Equal - - Drum map + + + + + + Unequal - - Reset the drum map with GM defaults? + + Note - - - EditCAfterDialog - - MusE: Enter Channel Aftertouch + + + Poly Pressure - - Time Position + + + Control Change - - Pressure + + + Aftertouch - - - EditCtrlBase - - MusE: Edit Controller Event + + + Pitch Bend - - Time Position + + + NRPN - - Available Controller: + + + RPN - - Create New Controller + + + + Value 2 - - textLabel3 + + + + + + Value 1 - - Value + + + Event Type - - Controller + + + + + Ignore - - H-Bank + + + + + Higher - - L-Bank + + + + + Lower - - Program + + + + + Inside - - - off + + + + + Outside - - pushButton4 + + + Channel - - &OK + + + Port - - &Cancel + + Processing - - - EditEventDialog - - Ok + + + + + + Keep - - Cancel + + + + + + Fix - - - EditGainBase - - MusE: Modify gain + + + + + Plus - - - Gain + + + + + + Minus - - 200% + + + + + Multiply - - 100% + + + + + Divide - - 0% + + + + + Invert - - &Reset + + ScaleMap - - Alt+R + + Flip - - &Apply + + + + + Dyn - - Alt+A + + + + + Random - - &Cancel + + Modules - - Alt+C + + 1 - - - EditInstrument - - - MusE: Create file failed + + 2 - - MusE: Write File failed + + 3 - - - - - MusE: + + 4 - - - The user instrument directory - + + enable modul 1 - - - -does not exist yet. Create it now? - + + enable modul 2 - - - (You can change the user instruments directory at Settings->Global Settings->Midi) + + enable modul 3 - - - Unable to create user instrument directory - + + enable modul 4 - - - MusE: Save Instrument Definition + + Preset - - - Instrument Definition (*.idf) + + Name: - - - MusE: Save instrument as + + Comment: - - Enter a new unique instrument name: + + Function - - The user instrument: - + + create new preset - - -already exists. This will overwrite its .idf instrument file. -Are you sure? + + &New - - MusE: Bad instrument name + + delete preset - - Please choose a unique instrument name. -(The name might be used by a hidden instrument.) + + &Delete - - MusE: Bad patch name + + &Dismiss - - Please choose a unique patch name + + PresetList + + + MidiSyncConfigBase - - MusE: Bad patchgroup name + + MusE: Midi Sync - - Please choose a unique patchgroup name + + Apply - - MusE: Bad controller name + + Ok - - Please choose a unique controller name + + Cancel - - - MusE: Cannot add common controller + + MTC - - A controller named + + Type: - - - already exists. + + 24 - - A controller number + + 25 - - - MusE + + 30D - - - The current Instrument contains unsaved data -Save Current Instrument? + + 30N - - - &Save + + Offset: - - - &Nosave + + hour - - &Abort + + h - - - EditInstrumentBase - - MusE: Instrument Editor + + minute - - Instrument Name: + + m - - Selected instrument name. + + second - - List of defined instruments. + + s - - Pa&tches + + frame - - List of groups and patches. + + f - - Group/Patch + + subframe - - - Properties + + Sync receiving and sending - - - - Name: + + Send and receive Jack transport - - - Group or patch name + + Send and receive Jack transport information, + including stop, start and position. - - High Bank: + + Use Jack transport - - Patch high bank number + + Make MusE the Jack transport Timebase Master - - Patch high bank number. --- means don't care. + + Make MusE the Jack transport Timebase Master. +Allows Jack to show time as + MusE Bars, Beats, and Ticks. +MusE will try to become master, but other + Jack clients can also take over later. +You can always click here again for Master. - - --- - dont care + + Jack transport Timebase Master - - Low Bank: + + Control MusE timing by external midi clock or MTC sync - - Patch low bank number + + When in slave mode, tempo is + controlled externally. +MusE can sync to midi clock, or MTC quarter frame sync. +Enabled inputs in the list will + be in effect (RMC, RMMC, RMTC). - - Patch low bank number. --- means don't care. + + Slave to external sync - - --- + + Send start to first clock delay - - Program: + + Allows 'slow sync' devices time + to synchronize to MusE. This value is the + delay from sending start to sending + the first clock. - - - Patch program number + + ms - - Drum patch + + Send sync delay + + + MidiTrackInfoBase - - If set, the patch is available only for drum channels. + + MusE: TrackInfo - - Drum + + output port - - GM patch + + output channel - - If set, the patch is available in a 'GM' or 'NO' midi song type. + + all midi events are sent to this output channel - - GM + + Out ch - - GS patch + + input routing - - If set, the patch is available in a 'GS' or 'NO' midi song type. + + iR - - GS + + output routing - - XG patch + + oR - - If set, the patch is available in an 'XG' or 'NO' midi song type. + + input detect - - XG + + Input detect indicator. Detects all note on-off, controller, aftertouch, + program change, and pitchbend (but not sysex or realtime) events + on the selected channels, on the selected midi ports. - - Delete group or patch + + W - - - - &Delete + + Midi thru - - - - Alt+D + + Pass input events through ('thru') to output. - - New patch + + + + + + + + off - - New &Patch + + Transp. - - Alt+P + + Delay - - New group + + + % - - New &Group + + Length - - Alt+G + + Velocity - - Contro&ller + + Compr. - - Common: + + Channel Info - - This is a list of commonly used midi controllers. -Note that in MusE pitch and program changes are -handled like normal controllers. + + Select instrument patch - - List of defined controllers + + <unknown> - - List of defined controllers. + + Rec: - - Name + + Add all settings to song - - Type + + All - - - H-Ctrl + + Bank Select MSB. Double-click on/off. - - - L-Ctrl + + H-Bank - - Min + + Bank Select LSB. Double-click on/off. - - Max + + L-Bank - - Def + + Program. Double-click on/off. - - Midi controller name + + Add bank + prog settings to song - - Type: + + Prog - - - Midi controller type + + Volume. Double-click on/off. - - Control7 + + Add vol setting to song - - Control14 + + Vol - - RPN + + + Change stereo position. Double-click on/off. - - NRPN + + Add pan setting to song - - RPN14 + + Pan + + + MidiTransformDialogBase - - NRPN14 + + MusE: Midi Transformator - - Pitch + + &New - - Program + + &Delete - - - Midi controller number high byte + + &Apply - - Midi controller number low byte (* means drum controller) + + &OK - - Midi controller number low byte. -If low byte is * then the controller is a - 'drum controller'. For drum tracks and - GS/XG type songs and instruments. -Allows controllers for each instrument in - Muse's drum map. The low byte will be - replaced by the 'ANote' in the drum map. -Examples: The GS and XG instruments' - Drum controllers. + + &Cancel - - * - wild card + + PresetList - - Range: + + Processing - - Min + + + Event Type - - - Minimum value. If negative, auto-translate. + + + + + + + Keep - - Minimum value. If the minimum value - is negative, the range will automatically - be translated to a positive range. - -Useful for controllers which should be - displayed with zero bias. For example, -'Pan': Minimum: -64 Maximum: 63 -True range: Min: 0 Max: 127 (bias = 64) -'CoarseTuning': Min: -24 Max: 23 -True range: Min: 40 Max: 87 (bias = 64) - -Bias is determined from controller type: -7-bit Controller7 / RPN: Bias = 64 -14-bit Controller14 / RPN14: Bias = 8192 - -Type 'Pitch' is the exception. It is biased - at zero, even with a negative minimum: -'Pitch': Min: -8192 Max: 8191 -True range: Min: -8192 Max: 8191 (bias 0) + + + + + Fix - - Max + + + Note - - - Maximum value + + + Poly Pressure - - Default: + + + Control Change - - L-Bank + + + Aftertouch - - - - - - off + + + Pitch Bend - - Progr. + + + NRPN - - ??? + + + RPN - - H-Bank + + + + + Plus - - Default value. Off: No default. + + + + + Minus - - Default (initial) value. Off means no default. - -If a default value is chosen, the value will be sent - to the controller when the controller is added to - the song (in piano roll or event editor). When - the song is re-loaded, the value is sent again. -Otherwise the controller remains at its last value. -Controllers are also automatically added to a - song upon reception of a midi controller event. - -Caution! Watch out for controllers such as - 'Sustain' and 'ResetAllController' with default - values. You should probably turn 'off' their - default (in piano roll or drum edit, and - instrument editor). + + + + + Multiply - - off - dont care + + + + + Divide - - Add common controller + + + + Value 2 - - &Add + + + Invert - - Alt+A + + ScaleMap - - Delete controller + + Flip - - Create a new controller + + + Dyn - - New &Controller + + + Random - - Alt+C + + + + Value 1 - - Null Param Hi: + + + Length - - Null parameter number High byte + + Position - - - If set, these 'null' parameter numbers will - be sent after each RPN/NRPN event. -This prevents subsequent 'data' events - from corrupting the RPN/NRPN controller. -Typically, set to 127/127, or an unused - RPN/NRPN controller number. + + Filter - - Lo: + + All - - Null parameter number Low byte + + + + + + Equal - - S&ysEx + + + + + + Unequal - - SysEx List: + + + + + Ignore - - Hex Entry: + + + + + Higher - - New SysE&x + + + + + Lower - - Alt+X + + + + + Inside - - Tools + + + + + Outside - - &File + + Bar Range - - &Help + + Preset - - &New + + Name: - - New + + Comment: - - Ctrl+N + + Range - - &Open... + + process all events - - Open + + selected tracks - - Ctrl+O + + inside loop - - &Save + + Function - - Save + + Select - - Ctrl+S + + Quantize - - Save &As... + + Delete - - Save As + + Transform - - E&xit + + Insert - - Exit + + Copy - - - new item + + Extract - - - What's this? + + Quantize Value - EditMetaDialog + MixdownFileDialogBase - - MusE: Enter Meta Event + + MusE: Set Mixdown Wavefile - - Time Position + + &OK - - Meta Type + + &Cancel - - Enter Hex + + File Path - - - EditNoteDialogBase - - MusE: Enter Note + + Channel - - OK + + Stereo - - Cancel + + Mono - - Length: + + 5.1 - - Time Position: + + wav,16 Bit - - Pitch: + + wav, 24 Bit - - Velocity On: + + wav, 32 Bit (float) - - Velocity Off: + + Format - EditPAfterDialog + MoveBase - - MusE: Enter Poly Aftertouch + + MusE: Move Notes - - Time Position + + Range - - Pitch + + All Events - - Pressure + + Selected Events - - - EditSysexDialogBase - - MusE: Enter SysEx + + Looped Events - - TimePosition: + + Selected Looped - - Comment: + + Value - + + Move by + + + + + ticks + + + + OK - + Cancel - FLUIDGui + MusECore::Song - - FLUID: open Soundfile + + Jack shutdown! - - - FLUIDGuiBase - - Form1 + + Jack has detected a performance problem which has lead to +MusE being disconnected. +This could happen due to a number of reasons: +- a performance issue with your particular setup. +- a bug in MusE (or possibly in another connected software). +- a random hiccup which might never occur again. +- jack was voluntary stopped by you or someone else +- jack crashed +If there is a persisting problem you are much welcome to discuss it +on the MusE mailinglist. +(there is information about joining the mailinglist on the MusE + homepage which is available through the help menu) + +To proceed check the status of Jack and try to restart it and then . +click on the Restart button. - - Soundfont + + + Automation: - - Load + + previous event - - - FLUIDSynthGuiBase - - FLUID Synth + + next event - - Load + + + set event - - Delete + + + add event - - Dump Info + + + erase event - - ID + + erase range - - Fontname + + clear automation - - Chnl + + Clear all controller events? - - Soundfont + + &Ok - - Drum Chnl + + &Cancel - - - Level + + MusE - external script failed - - Width + + MusE was unable to launch the script, error message: +%1 + + + MusEDialog::PasteDialog + + %n quarter(s) + + %n quarter + %n quarters + + - - Damping - + quarter + quarter - - Room Size - + quarters + quarters + + + + MusEDialog::PasteEventsDialog + + %n quarter(s) + + %n quarter + %n quarters + - - Reverb + quarter + quarter + + + quarters + quarters + + + + MusEGui::Appearance + + + Main application font, and default font for any + controls not defined here. - - CHANNEL SETUP + + For small controls like mixer strips. +Also timescale small numbers, arranger part name overlay, + and effects rack. - - Sine + + Midi track info panel. Transport controls. - - Triangle + + Controller graph and S/X buttons. Large numbers for time + and tempo scale, and time signature. - - Type + + Time scale markers. - - Number + + List editor: meta event edit dialog multi-line edit box. - - Speed + + Mixer label font. Auto-font-sizing up to chosen font size. +Word-breaking but only with spaces. - - Depth + + Maximum mixer label auto-font-sizing font size. - - Chorus + + Global opacity (opposite of transparency). - - Gain + + Standard - - LOADED SOUNDFONTS + + Custom - - - FileDialogButtons - - fdialogbuttons + + MusE: load image - - Global + + Select style sheet - - User + + Qt style sheets (*.qss) + + + MusEGui::Arranger - - Project + + Enable Recording - - Songdata + -Configuration + + Mute/Off Indicator - - only -Songdata + + Solo Indicator - - - FluidSynthGui - - Choose soundfont + + Track Type - - - GateTimeBase - - MusE: Modify Note Length + + Track Name - - Range + + Midi output channel number or audio channels - - All Events + + Midi output port or synth midi port - - Selected Events + + Time Lock - - Looped Events + + Automation parameter selection - - Selected Looped + + Notation clef - - Values + + Enable recording. Click to toggle. - - Rate: + + Mute indicator. Click to toggle. +Right-click to toggle track on/off. +Mute is designed for rapid, repeated action. +On/Off is not! - - Offset: + + Solo indicator. Click to toggle. +Connected tracks are also 'phantom' soloed, + indicated by a dark square. - - % + + Track type. Right-click to change + midi and drum track types. - - lenNew = (lenOld * rate) + offset + + Track name. Double-click to edit. +Right-click for more options. - - OK + + Midi/drum track: Output channel number. +Audio track: Channels. +Mid/right-click to change. - - Cancel + + Midi/drum track: Output port. +Synth track: Assigned midi port. +Left-click to change. +Right-click to show GUI. - - - GlobalSettingsDialogBase - - MusE: Global Settings + + Time lock - - Application + + Notation clef. Select this tracks notation clef. - - Views + + Arranger - - - - - - y-pos + + Cursor - - - - - show + + Off - - - - - - x-pos + + Bar - - - - - height + + Snap - - - - - width + + Len - - Mixer A + + + song length - bars - - Mixer B + + Type - - Big Time + + NO - - Main Window + + GM - - Transport + + GS - - - - - - set current values + + XG - - - - - - Cur + + + midi song type - - Start Muse + + Pitch - - start song: + + midi pitch - - Start song + + global midi pitch shift - - start with last song + + Tempo - - start with template: default.med + + + midi tempo - - start with song + + N - - On Launch + + TrackInfo - - show splash screen + + R - - show "Did you know?" dialog + + M - - Audio + + S - - Mixer + + C - - - dB + + Track - - min. Meter Value + + Port - - min. Slider Val + + Ch - - Try to use Jack Freewheel + + T - - Speeds bounce operations + + Automation - - Use Jack Freewheel mode if possible. -This dramatically speeds bounce operations. + + Clef + + + MusEGui::ArrangerView - - Enable denormal protection + + MusE: Arranger - - Enable output limiter + + Undo/Redo tools - - VST in-place + + panic - - Enable VST in-place processing (restart required) + + transport - - Enable VST in-place processing. Turn this off if - VST Ladspa effect rack plugins do not work or - feedback loudly, even if they are supposed to - be in-place capable. Setting requires a restart. + + C&ut - - Minimum control period + + &Copy - - Minimum audio controller process period (samples). - + + Copy in range - - Minimum audio controller process period (samples). -Adjusts responsiveness of audio controls and - controller graphs. Set a low value for fast, smooth - control. If it causes performance problems, set a - higher value. + + &Paste - - 1 + + Paste (show dialog) - - 2 + + Paste c&lone - - 4 + + Paste clone (show dialog) - - 8 + + &Insert Empty Measure - - - 16 + + Delete Selected Tracks - - - 32 + + Shrink selected parts - - - 64 + + Expand selected parts - - - 128 + + Clean selected parts - - - 256 + + Add Track - - - 512 + + Select - - - - 1024 + + Select &All - - - - 2048 + + &Deselect All - - External Waveditor + + Invert &Selection - - External Waveditor command + + &Inside Loop - - Note: External editor opened from the internal editor. + + &Outside Loop - - Dummy Audio Driver (settings require restart) + + All &Parts on Track - - Sample rate + + Score - - Hz + + all parts in one staff - - Period size (Frames per period): + + one staff per part - - Shorter periods give better midi playback resolution. + + New score window - - Midi + + Pianoroll - - Ticks + + Drums - - RTC Resolution -(Ticks/Sec) + + + List - - 4096 + + Wave - - 8192 + + Mastertrack - - 16384 + + Graphic - - 32768 + + Midi &Transform - - Midi Resolution -(Ticks/Quarternote) + + Global Cut - - - 48 + + Global Insert - - - 96 + + Global Split - - - 192 + + &Edit - - - 384 + + &Structure - - - 768 + + Functions - - - 1536 + + &Quantize Notes - - - 3072 + + Change note &length - - - 6144 + + Change note &velocity - - - 12288 + + Crescendo/Decrescendo - - Displayed Resolution -(Ticks/Quarternote) + + Transpose - - Instruments Directory + + Erase Events (Not Parts) - - GUI + + Move Events (Not Parts) - - Behavior + + Set Fixed Note Length - - GUI Refresh Rate + + Delete Overlapping Notes - - /sec + + Legato - - Use old-style stop shortcut: + + Window &Config - - Move single armed track with selection + + + New + + + MusEGui::AudioMixerApp - - Use project save dialog + + &Create - - Some popup menus stay open (else hold Ctrl) + + &View - - Allows some popup menus to stay open. -Otherwise, hold Ctrl to keep them open. + + Routing - - MDI-subwindowness and sharing menus + + Show Midi Tracks - - Presets: + + Show Drum Tracks - - traditional MusE SDI + + Show Wave Tracks - - Cakewalk-like MDI + + Show Inputs - - Borland-/Mac-like MDI + + Show Outputs - - &Apply + + Show Groups - - &Ok + + Show Auxs - - &Cancel + + Show Synthesizers - LMaster + MusEGui::AudioStrip - - MusE: Mastertrack + + panorama - - &Edit + + aux send level - - Insert Tempo + + Pan - - Insert Signature + + 1/2 channel - - Insert Key + + Pre - - Edit Positon + + pre fader - post fader - - Edit Value + + dB - - Delete Event + + record - - Window &Config + + mute - - Undo/Redo tools + + record downmix - - Edit tools + + + solo mode - - Tempo + + off - - Timesig + + iR - - Key + + input routing - - new tempo + + oR - - new signature + + output routing - - new key + + Off - - panic + + Read - - transport + + Touch - - Meter + + Write - - Time + + automation type + + + MusEGui::BigTime - - Type + + format display - - Value + + bar - - Reposition of the initial tempo and signature events is not allowed + + beat - - MusE: List Editor + + + tick - - Input error, conversion not OK or value out of range + + minute - - Reposition of tempo and signature events to start position is not allowed! + + second - - - LegatoBase - - MusE: Legato + + + frame - - Range + + subframe - - All Events + + MusE: Bigtime + + + MusEGui::ClipListEdit - - Selected Events + + MusE: Clip List Editor - - Looped Events + + Undo/Redo tools - - Selected Looped + + panic - - Settings + + transport - - ticks + + Window &Config + + + MusEGui::ComboQuant - - Minimum Length + + + + Off + + + MusEGui::CtrlPanel - - Allow shortening notes + + S - - OK + + select controller - - Cancel + + X - - - ListEdit - - insert Note + + remove panel - - insert SysEx + + manual adjust - - insert Ctrl + + double click on/off - - insert Meta + + off - - insert Channel Aftertouch + + + Velocity - - insert Poly Aftertouch + + add new ... - - &Edit + + + Instrument-defined - - Cut + + + Add ... - - Copy + + Others - - Paste + + Edit instrument ... - - Delete Events + + Common Controls + + + MusEGui::DrumEdit - - Window &Config + + + mute instrument - - Undo/Redo tools + + + sound name - - Insert tools + + + volume percent - - panic + + + quantisation - - transport + + + this input note triggers the sound - - Tick + + + note length - - Bar + + + this is the note which is played - - Type + + output channel (hold ctl to affect all rows) - - Ch + + output port (hold ctl to affect all rows) - - Val A + + + shift + control key: draw velocity level 1 - - Val B + + + control key: draw velocity level 2 - - Val C + + + shift key: draw velocity level 3 - - Len + + + draw velocity level 4 + + + + + output channel (ctl: affect all rows) - - Comment + + output port (ctl: affect all rows) - - - MITTransposeBase - - MusE: Midi Input Plugin: Transpose + + &File - - On + + Load Map - - TriggerKey + + Save Map - - Transpose: + + Reset GM Map - - +0 + + &Edit - - - MPConfig - - - Default input connections + + Cut - - - Are you sure you want to apply to all existing midi tracks now? + + Copy - - - Default output connections + + Copy events in range - - - Setting will apply to new midi tracks. -Do you want to apply to all existing midi tracks now? + + Paste - - MusE: bad device name + + Paste (with Dialog) - - please choose a unique device name + + Delete Events - - - in + + &Select - - - out + + Select All - - Show first aliases + + Select None - - Show second aliases + + Invert - - - Toggle all + + Inside Loop - - - Change all tracks now + + Outside Loop - - Create + + Previous Part - - device + + Next Part - - - Port Number + + Fu&nctions - - Enable gui + + Re-order list - - Enable reading + + Set Fixed Length - - Enable writing + + Modify Velocity - - Port instrument + + Crescendo/Decrescendo - - Midi device name. Click to edit (Jack) + + Quantize - - Connections from Jack Midi outputs + + Erase Event - - Connections to Jack Midi inputs + + Move Notes - - Auto-connect these channels to new midi tracks + + Delete Overlaps - - Auto-connect new midi tracks to these channels + + &Plugins - - Auto-connect new midi tracks to this channel + + Window &Config - - Device state + + Drum tools - - Enable gui for device + + Load Drummap - - Enable reading from device + + Store Drummap - - Enable writing to device + + Step Record - - Name of the midi device associated with this port number. Click to edit Jack midi name. + + Midi Input - - Instrument connected to port + + cursor tools - - Connections from Jack Midi output ports + + Set step size for cursor edit - - Connections to Jack Midi input ports + + panic - - Auto-connect these channels, on this port, to new midi tracks. + + transport - - Connect new midi tracks to these channels, on this port. + + ctrl - - Connect new midi tracks to this channel, on this port. + + Add Controller View - - State: result of opening the device + + M - - Port + + Sound - - GUI + + Vol - - I + + QNT - - O + + E-Note - - Instrument + + Len - - Device Name + + A-Note - - In routes + + Ch - - Out routes + + Port - - Def in ch + + LV1 - - Def out ch + + LV2 - - State + + LV3 - - <unknown> + + LV4 - - - <none> + + Muse: Load Drum Map - - - MRConfigBase - - MusE: Midi Input Plugin: Remote Control + + MusE: Store Drum Map - - Activate + + Drum map - - On + + Reset the drum map with GM defaults? + + + MusEGui::EditCAfterDialog - - Actions + + MusE: Enter Channel Aftertouch - - Stop + + Time Position - - Record + + Pressure + + + MusEGui::EditEventDialog - - Goto Left Mark + + Ok - - Play + + Cancel + + + MusEGui::EditInstrument - - Insert rest (step rec) + + + MusE: Create file failed - - - MarkerView - - MusE: Marker + + MusE: Write File failed - - add marker + + + + + MusE: - - delete marker + + + The user instrument directory +%1 +does not exist yet. Create it now? + - - &Edit + + + (You can change the user instruments directory at Settings->Global Settings->Midi) - - Window &Config + + + Unable to create user instrument directory '%1' - - Undo/Redo tools + + + MusE: Save Instrument Definition - - edit tools + + + Instrument Definition (*.idf) - - panic + + + MusE: Save instrument as - - transport + + Enter a new unique instrument name: - - Bar:Beat:Tick + + The user instrument '%1' already exists. This will overwrite its .idf instrument file. +Are you sure? - - Hr:Mn:Sc:Fr:Sf + + MusE: Bad instrument name - - Lock + + Please choose a unique instrument name. +(The name might be used by a hidden instrument.) - - Text + + MusE: Bad patch name - - Marker Properties + + Please choose a unique patch name - - - MasterEdit - - MusE: Mastertrack + + MusE: Bad patchgroup name - - Window &Config + + Please choose a unique patchgroup name - - Undo/Redo tools + + MusE: Bad controller name - - panic + + Please choose a unique controller name - - transport + + + MusE: Cannot add common controller - - Enable master + + A controller named '%1' already exists. - - Enable + + A controller number %1 already exists. - - Enable usage of master track + + + MusE - - Info + + + The current Instrument contains unsaved data +Save Current Instrument? - - Cursor + + + &Save - - time at cursor position + + + &Nosave - - tempo at cursor position + + &Abort + + + MusEGui::EditMetaDialog - - Snap + + MusE: Enter Meta Event - - CurPos + + Time Position - - tempo at current position + + Meta Type - - time signature at current position + + Enter Hex - MdiSettingsBase - - - Form - - + MusEGui::EditPAfterDialog - - GroupBox + + MusE: Enter Poly Aftertouch - - MDI subwin + + Time Position - - Shares menu when subwin + + Pitch - - Shares menu when free + + Pressure - MetronomeConfigBase + MusEGui::EditToolBar - - MusE: Metronome Config + + select Pointer Tool: +with the pointer tool you can: + select parts + move parts + copy parts - - Metronome + + select Pencil Tool: +with the pencil tool you can: + create new parts + modify length of parts - - Audio Beep + + select Delete Tool: +with the delete tool you can delete parts - - Choose outputs... + + select Cut Tool: +with the cut tool you can split a part - - 50 + + select Glue Tool: +with the glue tool you can glue two parts - - % Audio volume + + select Score Tool: + - - MIDI Click + + select Quantize Tool: +insert display quantize event - - Midi Channel + + select Drawing Tool - - Measure Note + + select Muting Tool: +click on part to mute/unmute - - Measure Velocity + + Manipulate automation - - Beat Velocity + + Cursor tool - - Beat Note + + pointer - - Midi Port + + pencil - - Precount + + eraser - - enable + + cutter - - Bars + + score - - From Mastertrack + + glue - - / + + quantize - - Signature + + draw - - Prerecord + + mute parts - - Preroll + + edit automation - - Hint: Enable metronome in Transportpanel + + cursor - - &Apply + + Edit Tools + + + MusEGui::EffectRack - - Alt+A + + effect rack - - &OK + + new - - Alt+O + + change - - &Cancel + + move up - - Alt+C + + move down - - - MidiFilterConfigBase - - MusE: Midi Input Filter + + remove - - Record Filter + + bypass - - - Note On + + show gui - - - Poly Pressure + + show native gui - - - Controller + + save preset - - - Program Change + + MusE: Save Preset - - - After Touch + + Replace effect - - - Pitch Bend + + Do you really want to replace the effect %1? + + + MusEGui::GlobalSettingsConfig - - - Sysex + + Selects instruments directory + + + MusEGui::Header - - Thru Filter + + Track Info Columns + + + MusEGui::LMaster - - Controller Filter + + MusE: Mastertrack - - Channel Filter + + &Edit - - 14 + + Insert Tempo - - 10 + + Insert Signature - - 6 + + Insert Key - - - 12 + + + Edit Positon - - 4 + + Edit Value - - 2 + + Delete Event - - 9 + + Window &Config - - 8 + + Undo/Redo tools - - 3 + + Edit tools - - 13 + + Tempo - - 15 + + Timesig - - 16 + + Key - - 7 + + new tempo - - 11 + + new signature - - 5 + + new key - - 1 + + panic - - - MidiInputTransformDialog - - - New + + transport - - - MidiInputTransformDialogBase - - MusE: Midi Input Transformator + + Meter - - Filter + + Time - - All + + Type - - - - - - Equal + + Value - - - - - - Unequal + + Reposition of the initial tempo and signature events is not allowed - - Note + + MusE: List Editor - - - Poly Pressure + + Input error, conversion not OK or value out of range - - - Control Change + + Reposition of tempo and signature events to start position is not allowed! + + + MusEGui::ListEdit - - - Aftertouch + + insert Note - - - Pitch Bend + + insert SysEx - - - NRPN + + insert Ctrl - - - RPN + + insert Meta - - - - Value 2 + + insert Channel Aftertouch - - - - - - Value 1 + + insert Poly Aftertouch - - - Event Type + + &Edit - - - - - Ignore + + Cut - - - - - Higher + + Copy - - - - - Lower + + Paste - - - - - Inside + + Delete Events - - - - - Outside + + Window &Config - - - Channel + + Undo/Redo tools - - - Port + + Insert tools - - Processing + + panic - - - - - - Keep + + transport - - - - - - Fix + + Tick - - - - - Plus + + Bar - - - - - Minus + + Type - - - - - Multiply + + Ch - - - - - Divide + + Val A - - - - - Invert + + Val B - - ScaleMap + + Val C - - Flip + + Len - - - - - Dyn + + Comment + + + MusEGui::MPConfig - - - - - Random + + + Default input connections - - Modules + + + Are you sure you want to apply to all existing midi tracks now? - - 1 + + + Default output connections - - 2 + + + Setting will apply to new midi tracks. +Do you want to apply to all existing midi tracks now? - - 3 + + MusE: bad device name - - 4 + + please choose a unique device name - - enable modul 1 + + + in - - enable modul 2 + + + out - - enable modul 3 + + Show first aliases - - enable modul 4 + + Show second aliases - - Preset + + + Toggle all - - Name: + + + Change all tracks now - - Comment: + + Create Jack device - - Function + + + Port Number - - create new preset + + Enable gui - - &New + + Enable reading - - delete preset + + Enable writing - - &Delete + + Port instrument - - &Dismiss + + Midi device name. Click to edit (Jack) - - PresetList + + Connections from Jack Midi outputs - - - MidiSyncConfigBase - - MusE: Midi Sync + + Connections to Jack Midi inputs - - Apply + + Auto-connect these channels to new midi tracks - - Ok + + Auto-connect new midi tracks to these channels - - Cancel + + Auto-connect new midi tracks to this channel - - MTC + + Device state - - Type: + + Enable gui for device - - 24 + + Enable reading from device - - 25 + + Enable writing to device - - 30D + + Name of the midi device associated with this port number. Click to edit Jack midi name. - - 30N + + Instrument connected to port - - Offset: + + Connections from Jack Midi output ports - - hour + + Connections to Jack Midi input ports - - h + + Auto-connect these channels, on this port, to new midi tracks. - - minute + + Connect new midi tracks to these channels, on this port. - - m + + Connect new midi tracks to this channel, on this port. - - second + + State: result of opening the device - - s + + Port - - frame + + GUI - - f + + I - - subframe + + O - - Sync receiving and sending + + Instrument - - Send and receive Jack transport + + Device Name - - Send and receive Jack transport information, - including stop, start and position. + + In routes - - Use Jack transport + + Out routes - - Make MusE the Jack transport Timebase Master + + Def in ch - - Make MusE the Jack transport Timebase Master. -Allows Jack to show time as - MusE Bars, Beats, and Ticks. -MusE will try to become master, but other - Jack clients can also take over later. -You can always click here again for Master. + + Def out ch - - Jack transport Timebase Master + + State - - Control MusE timing by external midi clock or MTC sync + + <unknown> - - When in slave mode, tempo is - controlled externally. -MusE can sync to midi clock, or MTC quarter frame sync. -Enabled inputs in the list will - be in effect (RMC, RMMC, RMTC). + + + <none> + + + MusEGui::MTScale - - Slave to external sync + + bar scale + + + MusEGui::MTScaleFlo - - Send start to first clock delay + + bar scale + + + MusEGui::MarkerView - - Allows 'slow sync' devices time - to synchronize to MusE. This value is the - delay from sending start to sending - the first clock. + + MusE: Marker - - ms + + add marker - - Send sync delay + + delete marker - - - MidiTrackInfoBase - - MusE: TrackInfo + + &Edit - - output port + + Window &Config - - output channel + + Undo/Redo tools - - all midi events are sent to this output channel + + edit tools - - Out ch + + panic - - input routing + + transport - - iR + + Bar:Beat:Tick - - output routing + + Hr:Mn:Sc:Fr:Sf - - oR + + Lock - - input detect + + Text - - Input detect indicator. Detects all note on-off, controller, aftertouch, - program change, and pitchbend (but not sysex or realtime) events - on the selected channels, on the selected midi ports. + + Marker Properties + + + MusEGui::MasterEdit - - W + + MusE: Mastertrack - - Midi thru + + Window &Config - - Pass input events through ('thru') to output. + + Undo/Redo tools - - - - - - - - off + + panic - - Transp. + + transport - - Delay + + Enable master - - - % + + Enable - - Length + + Enable usage of master track - - Velocity + + Info - - Compr. + + Cursor - - Channel Info + + time at cursor position - - Select instrument patch + + tempo at cursor position - - <unknown> + + Off - - Rec: + + Bar - - Add all settings to song + + Snap - - All + + CurPos - - Bank Select MSB. Double-click on/off. + + tempo at current position - - H-Bank + + time signature at current position + + + MusEGui::MidiInputTransformDialog - - Bank Select LSB. Double-click on/off. + + + New + + + MusEGui::MidiStrip - - L-Bank + + + + off - - Program. Double-click on/off. + + + double click on/off - - Add bank + prog settings to song + + VariationSend - - Prog + + Var - - Volume. Double-click on/off. + + ReverbSend - - Add vol setting to song + + Rev - - Vol + + ChorusSend - - - Change stereo position. Double-click on/off. + + Cho - - Add pan setting to song + + dB - - Pan + + Pan/Balance - - - MidiTransformDialogBase - - MusE: Midi Transformator + + Pan - - &New + + record - - &Delete + + mute - - &Apply + + solo mode - - &OK + + iR - - &Cancel + + input routing - - PresetList + + oR - - Processing + + output routing + + + MusEGui::MidiSyncConfig - - - Event Type + + + Port Number - - - - - - Keep + + + Name of the midi device associated with this port number - - - - - Fix + + Midi clock input detected - - - Note + + + Midi tick input detected - - - Poly Pressure + + Midi real time input detected - - - Control Change + + MMC input detected - - - Aftertouch + + MTC input detected - - - Pitch Bend + + Detected SMPTE format - - - NRPN + + Receive id number. 127 = Global. Double click to edit. - - - RPN + + Accept midi clock input - - - - - Plus + + Accept midi real time input - - - - - Minus + + Accept MMC input - - - - - Multiply + + Accept MTC input - - - - - Divide + + Receive start rewinds before playing - - - - Value 2 + + Transmit id number. 127 = Global. Double click to edit. - - - Invert + + Send midi clock output - - ScaleMap + + Send midi realtime output - - Flip + + + Send MMC output - - - Dyn + + + Send MTC output - - - Random + + Midi clock input detected. +Current port actually used is red. +Click to force a port to be used. - - - - Value 1 + + Midi realtime input detected, including + start/stop/continue, and song position. - - - Length + + MMC input detected, including stop/play/deferred play, and locate. - - Position + + MTC input detected, including forward quarter-frame sync and full-frame locate. +Current port actually used is red. Click to force a port to be current. - - Filter + + Detected SMPTE format: 24fps, 25fps, 30fps drop frame, or 30fps non-drop +Detects format of MTC quarter and full frame, and MMC locate. - - All + + Receive id number. 127 = global receive all, even if not global. - - - - - - Equal + + Accept midi clock input. Only one input is used for clock. +Auto-acquire: If two or more port realtime inputs are enabled, + the first clock detected is used, until clock is lost, + then another can take over. Best if each turns off its clock + at stop, so MusE can re-acquire the clock from another port. +Click on detect indicator to force another. - - - - - - Unequal + + Accept midi realtime input, including + start/stop/continue, and song position. +Non-clock events (start,stop etc) are + accepted by ALL enabled ports. +This means you may have several master + devices connected, and muse will accept + input from them. - - - - - Ignore + + Accept MMC input, including stop/play/deferred play, and locate. - - - - - Higher + + Accept MTC input, including forward quarter-frame sync and full-frame locate. +See 'rc' column for more help. - - - - - Lower + + When start is received, rewind before playing. +Note: It may be impossible to rewind fast + enough to synchronize with the external device. - - - - - Inside + + Transmit id number. 127 = global transmit to all. - - - - - Outside + + Send midi clock output. If 'Slave to External Sync' is chosen, + muse can re-transmit clock to any other chosen ports. - - Bar Range + + Send midi realtime output, including start/stop/continue, + and song position. If 'Slave to external sync' is chosen, + muse can re-transmit midi realtime input messages to any + other chosen ports. This means you may have several slave + devices connected, and muse can re-send realtime messages + to any or all of them. - - Preset + + Port - - Name: + + Device Name - - Comment: + + c - - Range + + k - - process all events + + r - - selected tracks + + m - - inside loop + + t - - Function + + type - - Select + + rid - - Quantize + + rc - - Delete + + rr - - Transform + + rm - - Insert + + rt - - Copy + + rw - - Extract + + tid - - Quantize Value + + tc - - - MidiTransformerDialog - - - New + + tr - - - MixdownFileDialogBase - - MusE: Set Mixdown Wavefile + + tm - - &OK + + tt - - &Cancel + + MusE - - File Path + + Settings have changed +Apply sync settings? - - Channel + + &Apply - - Stereo + + &No - - Mono + + &Abort - - 5.1 + + <none> + + + MusEGui::MidiTrackInfo - - wav,16 Bit + + + <unknown> + + + MusEGui::MidiTransformerDialog - - wav, 24 Bit + + + New + + + MusEGui::MixdownFileDialog - - wav, 32 Bit (float) + + Wave Files (*.wav);;All Files (*) + + + MusEGui::MusE - - Format + + + Failed to start audio! - - - MoveBase - - MusE: Move Notes + + Was not able to start audio, check if jack is running. + - - Range + + Timeout waiting for audio to run. Check if jack is running. + - - All Events + + Und&o - - Selected Events + + Re&do - - Looped Events + + undo last change to song - - Selected Looped + + redo last undo - - Value + + Loop - - Move by + + loop between left mark and right mark - - ticks + + Punchin - - OK + + record starts at left mark - - Cancel + + Punchout - - - MusEApp::MusE - - - Failed to start audio! + + record stops at right mark - - Was not able to start audio, check if jack is running. - + + Start - - Timeout waiting for audio to run. Check if jack is running. - + + rewind to start position - - Und&o + + Rewind - - Re&do + + rewind current position - - undo last change to song + + Forward - - redo last undo + + move current position - - Loop + + Stop - - Punchin + + stop sequencer - - Punchout + + Play - - Start + + start sequencer play - - Rewind + + Record - - Forward + + to record press record and then play - - Stop + + + Panic - - Play + + send note off to all midi channels - - Record + + &New - - - Panic + + + Create New Song - - &New + + &Open - - &Open + + + Click this button to open a <em>new song</em>.<br>You can also select the <b>Open command</b> from the File menu. - + Open &Recent - - - + + + &Save - + + + Click this button to save the song you are editing. You will be prompted for a file name. +You can also select the Save command from the File menu. + + + + Save &As - + Import Midifile - + Export Midifile - + Import Part - - + + Import Wave File - + Find unused wave files - + &Quit - + Song Info - + Transport Panel - + Bigtime Window - + Mixer A - + Mixer B - + Cliplist - + Marker View - + Arranger View - + Fullscreen - + &Plugins - + Edit Instrument - + Input Plugins - + Transpose - + Midi Input Transform - + Midi Input Filter - + Midi Remote Control - + Rhythm Generator - + Reset Instr. - + Init Instr. - + Local Off - + Bounce to Track - + Bounce to File - + Restart Audio - + Mixer Automation - + Take Snapshot - + Clear Automation Data - + Cascade - + Tile - + In rows - + In columns - + Global Settings - + Configure Shortcuts - + Follow Song - + Don't Follow Song - + Follow Page - + Follow Continuous - + Metronome - + Midi Sync - + Midi File Import/Export - + Appearance Settings - + Midi Ports / Soft Synth - + &Manual - + &MusE Homepage - + &Report Bug... - + &About MusE - + File Buttons - + Undo/Redo - + Transport - + &File - + &View - + &Midi - + &Audio - + A&utomation - + &Windows - + MusE Se&ttings - + &Help - + Cannot read template - + File open error - + File read error - - Unknown File Format: + + Unknown File Format: %1 - - - - MusE: Song: + + + + MusE: Song: %1 - + MusE: load project - + MusE: load template - + MusE: Write File failed - + The current Project contains unsaved data Save Current Project? - - + + S&kip - + &Cancel - - + + MusE: Save As - - + + Nothing to edit - - - - - + + + + + MusE: Bounce to Track - + No wave tracks found - - + + No audio output tracks found - + Select one audio output track, and one target wave track - + Select one target wave track - + Select one target wave track, and one audio output track - - + + MusE: Bounce to File - + Select one audio output track - + MusE: Bounce - + set left/right marker for bounce range - + The current Project contains unsaved data Load overwrites current Project: Save Current Project? - + &Abort - + MusE: Export Midi @@ -8318,1828 +9586,1655 @@ failed: No track selected for import - + - out of - - - - - parts - + %n part(s) out of %1 could not be imported. +Likely the selected track is the wrong type. + + %n part out of %1 could not be imported. +Likely the selected track is the wrong type. + %n parts out of %1 could not be imported. +Likely the selected track is the wrong type. + - + - part - - - - - could not be imported. -Likely the track is the wrong type. - - - - - to import an audio file you have first to selecta wave track - - - - - Import Wavefile - - - - - This wave file has a samplerate of %1, -as opposed to current setting %2. -Do you still want to import it? - - - - - &Yes - - - - - &No - - - - - MusEArranger::Arranger - - - Enable Recording - - - - - Mute/Off Indicator - - - - - Solo Indicator - - - - - Track Type - - - - - Track Name - - - - - Midi output channel number or audio channels - - - - - Midi output port or synth midi port - - - - - Time Lock - - - - - Automation parameter selection - - - - - Notation clef - - - - - Enable recording. Click to toggle. - - - - - Mute indicator. Click to toggle. -Right-click to toggle track on/off. -Mute is designed for rapid, repeated action. -On/Off is not! - - - - - Solo indicator. Click to toggle. -Connected tracks are also 'phantom' soloed, - indicated by a dark square. - - - - - Track type. Right-click to change - midi and drum track types. - - - - - Track name. Double-click to edit. -Right-click for more options. - - - - - Midi/drum track: Output channel number. -Audio track: Channels. -Mid/right-click to change. - - - - - Midi/drum track: Output port. -Synth track: Assigned midi port. -Left-click to change. -Right-click to show GUI. - - - - - Time lock - - - - - Notation clef. Select this tracks notation clef. - - - - - Arranger - - - - - Cursor - - - - - Snap - - - - - Len - - - - - - song length - bars - - - - - Type - + %n part(s) could not be imported. +Likely the selected track is the wrong type. + + %n part could not be imported. +Likely the selected track is the wrong type. + %n parts could not be imported. +Likely the selected track is the wrong type. + - - NO + + to import an audio file you have first to selecta wave track - - GM + + Import Wavefile - - GS + + This wave file has a samplerate of %1, +as opposed to current setting %2. +Do you still want to import it? - - XG + + &Yes - - - midi song type + + &No + + + MusEGui::NoteInfo - - Pitch + + Note Info - - midi pitch + + Start - - global midi pitch shift + + Len - - Tempo + + Pitch - - - midi tempo + + Velo On - - N + + Velo Off + + + MusEGui::PartCanvas - - TrackInfo + + Cannot copy/move/clone to different Track-Type - - R + + C&ut - - M + + &Copy - - S + + s&elect - - C + + clones - - Track + + rename - - Port + + color - - Ch + + delete - - T + + split - - Automation + + glue - - Clef + + de-clone - - - MusEArranger::ArrangerView - - MusE: Arranger + + + + save part to disk - - Undo/Redo tools + + wave edit - - panic + + file info - - transport + + MusE: save part - - C&ut + + Part name: %1 +Files: - - - &Copy - + + + %n part(s) out of %1 could not be pasted. +Likely the selected track is the wrong type. + + %n part out of %1 could not be pasted. +Likely the selected track is the wrong type. + %n parts out of %1 could not be pasted. +Likely the selected track is the wrong type. + - - - Copy in range - + + + %n part(s) could not be pasted. +Likely the selected track is the wrong type. + + %n part could not be pasted. +Likely the selected track is the wrong type. + %n parts could not be pasted. +Likely the selected track is the wrong type. + - - &Paste + + Cannot paste: multiple tracks selected - - Paste (show dialog) + + Cannot paste: no track selected - - Paste c&lone + + Can only paste to midi/drum track - - Paste clone (show dialog) + + Can only paste to wave track - - &Insert Empty Measure + + Can only paste to midi or wave track - - Delete Selected Tracks + + Cannot paste: wrong data type - - - Shrink selected parts - + + + MusEGui::PasteDialog + + + %n quarter(s) + + %n quarter + %n quarters + - - Expand selected parts + + %1 quarter + for floating-point arguments like 1.5 - - Clean selected parts + + %1 quarters + for floating-point arguments like 1.5 + + + MusEGui::PasteEventsDialog + + + %n quarter(s) + + %n quarter + %n quarters + + - - Add Track + + %1 quarter + for floating-point arguments like 1.5 - - Select + + %1 quarters + for floating-point arguments like 1.5 + + + MusEGui::PianoRoll - - Select &All + + &Edit - - &Deselect All + + C&ut - - Invert &Selection + + &Copy - - &Inside Loop + + Copy events in range - - &Outside Loop + + &Paste - - All &Parts on Track + + Paste (with dialog) - - Score + + Delete &Events - - all parts in one staff + + &Select - - one staff per part + + Select &All - - New score window + + &Deselect All - - Pianoroll + + Invert &Selection - - Drums + + &Inside Loop - - - List + + &Outside Loop - - Wave + + &Previous Part - - Mastertrack + + &Next Part - - Graphic + + Fu&nctions - - Midi &Transform + + Quantize - - Global Cut + + Modify Note Length - - Global Insert + + Modify Velocity - - Global Split + + Crescendo/Decrescendo - - &Edit + + Transpose - - &Structure + + Erase Events - - Functions + + Move Notes - - &Quantize Notes + + Set Fixed Length - - Change note &length + + Delete Overlaps - - Change note &velocity + + Legato - - Crescendo/Decrescendo + + &Plugins - - Transpose + + Window &Config - - Erase Events (Not Parts) + + &Event Color - - Move Events (Not Parts) + + &Blue - - Set Fixed Note Length + + &Pitch colors - - Delete Overlapping Notes + + &Velocity colors - - Legato + + Pianoroll tools - - Window &Config + + Step Record - - - New + + Midi Input - - - MusEArranger::PartCanvas - - Cannot copy/move/clone to different Track-Type + + Play Events - - C&ut + + panic - - &Copy + + transport - - s&elect + + ctrl - - clones + + Add Controller View + + + MusEGui::PluginDialog - - rename + + MusE: select plugin - - color + + Lib - - delete + + Label - - split + + Name - - glue + + AI - - de-clone + + AO - - - - save part to disk + + CI - - wave edit + + CO - - file info + + IP - - MusE: save part + + id - - Part name + + Maker - - Files + + Copyright - - out of + + Ok - - parts + + Cancel - - part + + Mono and Stereo - - could not be pasted. -Likely the selected track is the wrong type. + + Stereo - - Cannot paste: multiple tracks selected + + Mono - - Cannot paste: no track selected + + Show All - - Can only paste to midi/drum track + + Select which types of plugins should be visible in the list.<br>Note that using mono plugins on stereo tracks is not a problem, two will be used in parallell.<br>Also beware that the 'all' alternative includes plugins that probably not are usable by MusE. - - Can only paste to wave track + + Search in 'Label' and 'Name': + + + MusEGui::PluginGui - - Can only paste to midi or wave track + + File Buttons - - Cannot paste: wrong data type + + Load Preset - - - MusEArranger::TList - - <none> + + Save Preset - - no clef + + + bypass plugin - - Treble + + MusE: load preset - - Bass + + Error reading preset. Might not be right type for this plugin - - Grand + + MusE: save preset + + + MusEGui::RoutePopupMenu - - MusE: bad trackname + + + + + + + + + Channel - - please choose a unique track name + + + + Soloing chain - - - Update drummap? + + + Audio returns - - Do you want to use same port for all instruments in the drummap? + + Warning: No input devices! - - - &Yes + + Open midi config... - - - &No + + + <none> - - - show gui + + Toggle all - - - show native gui + + More... - - Treble clef + + Audio sends - - Bass clef + + Midi port sends + + + MusEGui::ScoreCanvas - - Grand Staff + + Treble - - Viewable automation + + Bass - - Delete Track + + Grand Staff - - Track Comment + + Remove staff - - Insert Track + + Ambiguous part - - Midi + + There are two or more possible parts you could add the note to, but none matches the selected part. Please select the destination part by clicking on any note belonging to it and try again, or add a new stave containing only the destination part. - - Drum + + No part - - Do you want to use same port and channel for all instruments in the drummap? + + There are no parts you could add the note to. - MusEDialog::PasteDialog - - - %n quarter(s) - - %n quarter - %n quarters - - + MusEGui::ScoreEdit - - quarter - quarter + + Undo/Redo tools + - - quarters - quarters + + Step recording tools + - - - MusEDialog::PasteEventsDialog - - - %n quarter(s) - - %n quarter - %n quarters - + + + Step Record + - - quarter - quarter + + panic + - - quarters - quarters + + transport + - - - MusEMixer::AudioMixerApp - - &Create + + Note settings - - &View + + Note length: - - Routing + + last - - Show Midi Tracks + + + + Apply to new notes: - - Show Drum Tracks + + + Apply to selected notes: - - Show Wave Tracks + + Velocity: - - Show Inputs + + Off-Velocity: - - Show Outputs + + Quantisation settings - - Show Groups + + Quantisation: - - Show Auxs + + Pixels per whole: - - Show Synthesizers + + &Edit - - - MusEMixer::AudioStrip - - panorama + + C&ut - - aux send level + + &Copy - - Pan + + Copy events in range - - 1/2 channel + + &Paste - - Pre + + Paste (with dialog) - - pre fader - post fader + + Delete &Events - - dB + + &Select - - record + + Select &All - - mute + + &Deselect All - - record downmix + + Invert &Selection - - - solo mode + + &Inside Loop - - off + + &Outside Loop - - iR + + Fu&nctions - - input routing + + &Quantize - - oR + + Change note &length - - output routing + + Change note &velocity + + + + + Crescendo/Decrescendo - - Off + + Transpose - - Read + + Erase Events - - Touch + + Move Notes - - Write + + Set Fixed Length - - automation type + + Delete Overlaps - - - MusEMixer::EffectRack - - effect rack + + Legato - - new + + Window &Config - - change + + Note head &colors - - move up + + &Black - - move down + + &Velocity - - remove + + &Part - - bypass + + Set up &preamble - - show gui + + Display &key signature - - show native gui + + Display &time signature - - save preset + + Set Score &name - - MusE: Save Preset + + + Enter the new score title - - Replace effect + + Error - - Do you really want to replace the effect %1? + + Changing score title failed: +the selected title is not unique - MusEMixer::MidiStrip + MusEGui::ScrollScale - - - - off + + next page - - - double click on/off + + previous page - - VariationSend + + current page number + + + MusEGui::ShortcutCaptureDialog - - Var + + Ok - - ReverbSend + + Cancel - - Rev + + Shortcut conflicts with %1 - - ChorusSend + + Undefined + + + MusEGui::SigScale - - Cho + + signature scale + + + MusEGui::TList - - dB + + <none> - - Pan/Balance + + no clef - - Pan + + Treble - - record + + Bass - - mute + + Grand - - solo mode + + MusE: bad trackname - - iR + + please choose a unique track name - - input routing + + + Update drummap? - - oR + + Do you want to use same port for all instruments in the drummap? - - output routing + + + &Yes - - - MusEWidget::BigTime - - format display + + + &No - - bar + + + show gui - - beat + + + show native gui - - - tick + + Treble clef - - minute + + Bass clef - - second + + Grand Staff - - - frame + + Viewable automation - - subframe + + Delete Track - - MusE: Bigtime + + Track Comment - - - MusEWidget::EditToolBar - - Edit Tools + + Insert Track - - - MusEWidget::GlobalSettingsConfig - - Selects instruments directory + + Midi - - - MusEWidget::Header - - Track Info Columns + + Drum - - - MusEWidget::MTScale - - bar scale + + Do you want to use same port and channel for all instruments in the drummap? - MusEWidget::MTScaleFlo + MusEGui::TempoSig - - bar scale + + Tempo/Sig - MusEWidget::MidiSyncConfig - - - - Port Number - - - - - - Name of the midi device associated with this port number - - + MusEGui::Toolbar1 - - Midi clock input detected + + + + Off - - - Midi tick input detected + + Solo - - Midi real time input detected + + Cursor - - MMC input detected + + Snap + + + MusEGui::TopWin - - MTC input detected + + As subwindow - - Detected SMPTE format + + Shares tools and menu - - Receive id number. 127 = Global. Double click to edit. + + Fullscreen - - Accept midi clock input + + Piano roll - - Accept midi real time input + + List editor - - Accept MMC input + + Drum editor - - Accept MTC input + + Master track editor - - Receive start rewinds before playing + + Master track list editor - - Transmit id number. 127 = Global. Double click to edit. + + Wave editor - - Send midi clock output + + Clip list - - Send midi realtime output + + Marker view - - - Send MMC output + + Score editor - - - Send MTC output + + Arranger - - Midi clock input detected. -Current port actually used is red. -Click to force a port to be used. + + <unknown toplevel type> + + + MusEGui::TrackComment - - Midi realtime input detected, including - start/stop/continue, and song position. + + MusE: Track Comment - - MMC input detected, including stop/play/deferred play, and locate. + + Track Comment: + + + MusEGui::Transport - - MTC input detected, including forward quarter-frame sync and full-frame locate. -Current port actually used is red. Click to force a port to be current. + + Overdub - - Detected SMPTE format: 24fps, 25fps, 30fps drop frame, or 30fps non-drop -Detects format of MTC quarter and full frame, and MMC locate. + + + Replace - - Receive id number. 127 = global receive all, even if not global. + + Rec Mode - - Accept midi clock input. Only one input is used for clock. -Auto-acquire: If two or more port realtime inputs are enabled, - the first clock detected is used, until clock is lost, - then another can take over. Best if each turns off its clock - at stop, so MusE can re-acquire the clock from another port. -Click on detect indicator to force another. + + Normal - - Accept midi realtime input, including - start/stop/continue, and song position. -Non-clock events (start,stop etc) are - accepted by ALL enabled ports. -This means you may have several master - devices connected, and muse will accept - input from them. + + Mix - - Accept MMC input, including stop/play/deferred play, and locate. + + Cycle Rec - - Accept MTC input, including forward quarter-frame sync and full-frame locate. -See 'rc' column for more help. + + punchin - - When start is received, rewind before playing. -Note: It may be impossible to rewind fast - enough to synchronize with the external device. + + loop - - Transmit id number. 127 = global transmit to all. + + punchout - - Send midi clock output. If 'Slave to External Sync' is chosen, - muse can re-transmit clock to any other chosen ports. + + + Punch In - - Send midi realtime output, including start/stop/continue, - and song position. If 'Slave to external sync' is chosen, - muse can re-transmit midi realtime input messages to any - other chosen ports. This means you may have several slave - devices connected, and muse can re-send realtime messages - to any or all of them. + + + Loop - - Port + + + Punch Out - - Device Name + + Left Mark - - c + + Right Mark - - k + + rewind to start - - r + + Click this button to rewind to start position - - m + + rewind - - t + + Click this button to rewind - - type + + forward - - rid + + Click this button to forward current play position - - rc + + stop - - rr + + Click this button to stop playback - - rm + + play - - rt + + Click this button to start playback - - rw + + record - - tid + + Click this button to enable recording - - tc + + AC - - tr + + quantize during record - - tm + + Click - - tt + + metronom click on/off - - MusE + + Sync - - Settings have changed -Apply sync settings? + + external sync on/off - - &Apply + + Jack - - &No + + Jack transport sync on/off - - &Abort + + Master - - <none> + + use master track - MusEWidget::MidiTrackInfo + MusEGui::VisibleTracks - - - <unknown> + + + Show wave tracks - - - MusEWidget::MixdownFileDialog - - Wave Files (*.wav);;All Files (*) + + + Show group tracks - - - MusEWidget::NoteInfo - - Note Info + + + Show aux tracks - - Start + + + Show input tracks - - Len + + + Show output tracks - - Pitch + + + Show midi tracks - - Velo On + + + Show synth tracks - - Velo Off + + Visible track types - MusEWidget::RoutePopupMenu + MusEGui::WaveEdit - - - - - - - - - Channel + + &Edit - - - - Soloing chain + + Func&tions - - - Audio returns + + &Gain - - Warning: No midi input devices! + + Other - - Open midi config... + + &Copy - - - <none> + + C&ut - - Toggle all + + &Paste - - More... + + Edit in E&xternal Editor - - Audio sends + + Mute Selection - - Midi port sends + + Normalize Selection - - - MusEWidget::ScrollScale - - next page + + Fade In Selection - - previous page + + Fade Out Selection - - current page number + + Reverse Selection - - - MusEWidget::ShortcutCaptureDialog - - Ok + + Select - - Cancel + + Select &All - - Shortcut conflicts with + + &Deselect All - - Undefined + + Window &Config + + + + + Wave edit tools + + + + + transport - - - MusEWidget::SigScale - - signature scale + + WaveEdit tools - - - MusEWidget::Toolbar1 - + Solo - + Cursor + + + MusEGui::WaveView - - Snap + + MusE - external editor failed - - - MusEWidget::TrackComment - - MusE: Track Comment + + MusE was unable to launch the external editor +check if the editor setting in: +Global Settings->Audio:External Waveditor +is set to a valid editor. - - Track Comment: + + MusE - file size changed - - - MusEWidget::VisibleTracks - - Visible track types + + When editing in external editor - you should not change the filesize +since it must fit the selected region. + +Missing data is muted @@ -10428,2558 +11523,2470 @@ to be expanded by more than - PianoRoll - - - &Edit - - - - - C&ut - - - - - &Copy - - - - - Copy events in range - - + ProjectCreate - - &Paste + + Create Project - - &Paste (with dialog) + + Project Name: - - Delete &Events + + Project Path to song file: - - &Select + + Create project folder (recommended for audio projects) - - Select &All + + Browse - - &Deselect All + + Song information: + + + QObject - - Invert &Selection + + Other - - &Inside Loop + + + Error - - &Outside Loop + + + Please first select the range for crescendo with the loop markers. + + + QWidget - - &Previous Part + + + Cannot convert sysex string - - &Next Part + + + Hex String too long (2048 bytes limit) - - Fu&nctions + + generic midi - - Quantize + + new - - Modify Note Length + + + None - - Modify Velocity + + create peakfile for - - Crescendo/Decrescendo + + No selection. Ignoring - - Transpose + + MusE: get file name - - Erase Events + + The directory +%1 +does not exist. +Create it? - - Move Notes + + MusE: create directory - - Set Fixed Length + + creating dir failed - - Delete Overlaps + + File +%1 +exists. Overwrite? - - Legato + + Open File +%1 +failed: %2 - - &Plugins + + MusE: write - - Window &Config + + MusE: Open File + + + QuantBase - - &Event Color + + MusE: Quantize - - &Blue + + Range - - &Pitch colors + + All Events - - &Velocity colors + + Selected Events - - Pianoroll tools + + Looped Events - - Step Record + + Selected Looped - - Midi Input + + Values - - Play Events + + Strength: - - panic + + % - - transport + + Threshold (ticks): - - ctrl + + Quantize Len - - Add Controller View + + Raster - - - PluginDialog - - MusE: select plugin + + Whole - - Lib + + Half - - Label + + 4th - - Name + + 4th Triplet - - AI + + 8th - - AO + + 8th Triplet - - CI + + 16th - - CO + + 16th Triplet - - IP + + 32th - - id + + 32th Triplet - - Maker + + Swing: - - Copyright + + If the proposed change in tick or length is smaller than threshold, nothing is done. +If swing=0, this is normal +If swing is 33, you get a 2:1-rhythm. +If swing is -33, you get a 1:2-rhythm. + - - Ok + + OK - + Cancel + + + RemoveBase - - Mono and Stereo - - - - - Stereo - - - - - Mono + + MusE: Erase Notes - - Show All + + Range - - Select which types of plugins should be visible in the list.<br>Note that using mono plugins on stereo tracks is not a problem, two will be used in parallell.<br>Also beware that the 'all' alternative includes plugins that probably not are usable by MusE. + + All Events - - Search in 'Label' and 'Name': + + Selected Events - - - PluginGui - - File Buttons + + Looped Events - - Load Preset + + Selected Looped - - Save Preset + + Thresholds - - - bypass plugin + + ticks - - MusE: load preset + + Velocity - - Error reading preset. Might not be right type for this plugin + + Length - - MusE: save preset + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:7px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If nothing is checked, everything is removed.</p> +<p style=" margin-top:0px; margin-bottom:7px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If velocity is checked, only notes with velo &lt; threshold are removed.</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If both are checked, notes with velo &lt; threshold OR with length &lt; threshold are removed.</p></body></html> - - - ProjectCreate - - Create Project + + OK - - Project Name: + + Cancel + + + RouteDialogBase - - Project Path to song file: + + MusE: Routing - - Create project folder (recommended for audio projects) + + Add Route - - Browse + + Source: - - Song information: + + Destination: - - - QObject - - Other + + connect source to destination - - - Error + + Connect - - - Please first select the range for crescendo with the loop markers. + + Current Routes - - - QWidget - - - Cannot convert sysex string + + Source - - - Hex String too long (2048 bytes limit) + + Destination - - generic midi + + remove selected route - - new + + Remove + + + SS_PluginChooserBase - - - None + + SimpleDrums - Ladspa Plugin Chooser - - create peakfile for + + Name - - No selection. Ignoring + + Label - - MusE: get file name + + Inports - - The directory - + + Outports - - -does not exist. -Create it? + + Creator - - MusE: create directory + + &Cancel - - creating dir failed + + Alt+C - - File - + + &OK - - -exists. Overwrite? + + Alt+O + + + SS_PluginFront - - MusE: write + + Clear and unload effect - - Open File - + + Load effect - - -failed: + + Toggle display of effect parameters - - MusE: Open File + + Turn effect on/off - QuantBase + SetlenBase - - MusE: Quantize + + MusE: Set Note Length - + Range - + All Events - + Selected Events - + Looped Events - + Selected Looped - - Values - - - - - Strength: + + Value - - % + + New length - - Threshold (ticks): + + ticks - - Quantize Len + + OK - - Raster + + Cancel + + + ShortcutCaptureDialogBase - - Whole + + Enter shortcut sequence - - Half + + Press keys to enter shortcut sequence! - - Quarter + + Old shortcut: - - 8th + + + Undefined - - 16th + + New shortcut: - - 32th + + OK - - Swing: + + Cancel + + + ShortcutConfigBase - - If the proposed change in tick or length is smaller than threshold, nothing is done. -If swing=0, this is normal -If swing is 33, you get a 2:1-rhythm. -If swing is -33, you get a 1:2-rhythm. - + + Configure Keyboard Shortcuts - - OK + + Shortcut Category - - Cancel + + Shortcut - - - RemoveBase - - MusE: Erase Notes + + Description - - Range + + &Clear - - All Events + + Alt+C - - Selected Events + + &Define - - Looped Events + + Alt+D - - Selected Looped + + &Apply - - Thresholds + + Alt+A + + + SimpleDrumsGuiBase - - ticks + + DrumSynth 0.1 + + + SimpleSynthGui - - Velocity + + &Load setup - - Length + + &Save setup - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:7px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If nothing is checked, everything is removed.</p> -<p style=" margin-top:0px; margin-bottom:7px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If velocity is checked, only notes with velo &lt; threshold are removed.</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If both are checked, notes with velo &lt; threshold OR with length &lt; threshold are removed.</p></body></html> + + Load sample dialog + + + SongInfo - - OK + + Song Information - - Cancel + + Show on song load - - - RouteDialogBase - - MusE: Routing + + &Cancel - - Add Route + + Alt+C - - Source: + + &Ok - - Destination: + + Alt+O + + + SynthConfigBase - - connect source to destination + + MusE: Synth Configuration - - Connect + + Instances - - Current Routes + + + Name - - Source + + Midi Port - - Destination + + Remove Instance - - remove selected route + + Midi connections - - Remove + + Soft Synthesizer - - - SS_PluginChooserBase - - SimpleDrums - Ladspa Plugin Chooser + + Add Instance - - Name + + list of available software synthesizers - - Label + + File - - Inports + + Inst - - Outports + + Version - - Creator + + Description + + + TransposeBase - - &Cancel + + MusE: Transpose - - Alt+C + + Range - - &OK + + All Events - - Alt+O + + Selected Events - - - SS_PluginFront - - Clear and unload effect + + Looped Events - - Load effect + + Selected Looped - - Toggle display of effect parameters + + Value - - Turn effect on/off + + Halftone-steps - - - ScoreCanvas - - Treble + + OK - - Bass + + Cancel + + + UnusedWaveFiles - - Grand Staff + + Dialog - - Remove staff + + List of unused audio files in current project directory: - - Ambiguous part + + Current project - - There are two or more possible parts you could add the note to, but none matches the selected part. Please select the destination part by clicking on any note belonging to it and try again, or add a new stave containing only the destination part. + + All .med files +in current + directory - - No part + + Move files to 'unused' subdir - - There are no parts you could add the note to. + + Cancel - ScoreEdit - - - Undo/Redo tools - - + VAMGui - - Step recording tools + + MusE: Load VAM Presets - - Step Record + + + MusE: Save VAM Presets + + + VAMGuiBase - - panic + + Virtual Analogue for MusE - - transport + + LFO - - Note settings + + Freq - - Note length: + + + + Waveform - - last + + + + Sine - - Velocity: + + + + Pulse - - Off-Velocity: + + + + Saw - - Quantisation settings + + + + Triangle - - Quantisation: + + Filter - - Pixels per whole: + + EnvMod - - &Edit + + + + Attack - - C&ut + + + + Decay - - &Copy + + + + Sustain - - Copy events in range + + + + Release - - &Paste + + Cutoff - - Paste (with dialog) + + Resonance - - Delete &Events + + Invert - - &Select + + KeyTrack - - Select &All + + Presets - - &Deselect All + + Set - - Invert &Selection + + load preset list - - &Inside Loop + + save preset list - - &Outside Loop + + save preset list to a new file - - Fu&nctions + + delete preset - - &Quantize + + DCO 1 - - Change note &length + + + Pitch - - Change note &velocity + + + Detune - - Crescendo/Decrescendo + + + PWM - - Transpose + + + FM - - Erase Events + + + PW - - Move Notes + + DCO 2 - - Set Fixed Length + + On - - - Delete Overlaps + + + VAM 1.0beta3 +Virtual Analog for MusE +Released under GPL. +Copyright(C) 2002 +Jotsif Lindman Hörnlund +( jotsif@linux.nu ) +Copyright(C) 2005 +Robert Jonsson +(rj@spamatica.se) + + + VelocityBase - - Legato + + MusE: Modify Velocity - - Window &Config + + Range - - Note head &colors + + All Events - - &Black + + Selected Events - - &Velocity + + Looped Events - - &Part + + Selected Looped - - Set up &preamble + + Values - - Display &key signature + + Rate: - - Display &time signature + + % - - Set Score &name + + Offset: - - - Enter the new score title + + veloNew = (veloOld * rate) + offset - - Error + + OK - - Changing score title failed: -the selected title is not unique + + Cancel - SetlenBase - - - MusE: Set Note Length - - + file_patterns - - Range + + Midi/Kar (*.mid *.MID *.kar *.KAR *.mid.gz *.mid.bz2) - - All Events + + Midi (*.mid *.MID *.mid.gz *.mid.bz2) - - Selected Events + + Karaoke (*.kar *.KAR *.kar.gz *.kar.bz2) - - Looped Events + + + + + + + + + + + + + All Files (*) - - Selected Looped + + Midi (*.mid) - - Value + + Karaoke (*.kar) - - New length + + all known files (*.med *.med.gz *.med.bz2 *.mid *.midi *.kar) - - ticks + + med Files (*.med *.med.gz *.med.bz2) - - OK + + + Uncompressed med Files (*.med) - - Cancel + + + gzip compressed med Files (*.med.gz) - - - ShortcutCaptureDialogBase - - Enter shortcut sequence + + + bzip2 compressed med Files (*.med.bz2) - - Press keys to enter shortcut sequence! + + mid Files (*.mid *.midi *.kar *.MID *.MIDI *.KAR) - - Old shortcut: + + (*.jpg *.gif *.png) - - - Undefined + + (*.jpg) - - New shortcut: + + (*.gif) - - OK + + (*.png) - - Cancel + + part Files (*.mpt *.mpt.gz *.mpt.bz2) - - - ShortcutConfigBase - - Configure Keyboard Shortcuts + + part Files (*.mpt) - - Shortcut Category + + gzip compressed part Files (*.mpt.gz) - - Shortcut + + bzip2 compressed part Files (*.mpt.bz2) - - Description + + Presets (*.pre *.pre.gz *.pre.bz2) - - &Clear + + Presets (*.pre) - - Alt+C + + gzip compressed presets (*.pre.gz) - - &Define + + bzip2 compressed presets (*.pre.bz2) - - Alt+D + + Presets (*.map *.map.gz *.map.bz2) - - &Apply + + Presets (*.map) - - Alt+A + + gzip compressed presets (*.map.gz) - - - SimpleDrumsGuiBase - - DrumSynth 0.1 + + bzip2 compressed presets (*.map.bz2) - - - SimpleSynthGui - - &Load setup + + Wave/Binary (*.wav *.ogg *.bin) - - &Save setup + + Wave (*.wav *.ogg) - - Load sample dialog + + Binary (*.bin) - Song + freeverb - - Jack shutdown! + + FreeVerb - - Jack has detected a performance problem which has lead to -MusE being disconnected. -This could happen due to a number of reasons: -- a performance issue with your particular setup. -- a bug in MusE (or possibly in another connected software). -- a random hiccup which might never occur again. -- jack was voluntary stopped by you or someone else -- jack crashed -If there is a persisting problem you are much welcome to discuss it -on the MusE mailinglist. -(there is information about joining the mailinglist on the MusE - homepage which is available through the help menu) - -To proceed check the status of Jack and try to restart it and then . -click on the Restart button. + + Room Size - - Automation: + + Damping - - previous event + + Wet Level - - next event + + Tap-Reverberator - - - set event + + Decay [ms] - - - add event + + + dB - - - erase event + + Dry Level [dB] - - erase range + + Wet Level [dB] - - clear automation + + Preset: - - Clear all controller events? + + AfterBurn - - &Ok + + AfterBurn (Long) - - &Cancel + + Ambience - - MusE - external script failed + + Ambience (Thick) - - MusE was unable to launch the script, error message: - + + Ambience (Thick) - HD - - - SongInfo - - Song Information + + Cathedral - - Show on song load + + Cathedral - HD - - &Cancel + + Drum Chamber - - Alt+C + + Garage - - &Ok + + Garage (Bright) - - Alt+O + + Gymnasium - - - SynthConfigBase - - MusE: Synth Configuration + + Gymnasium (Bright) - - Instances + + Gymnasium (Bright) - HD - - - Name + + Hall (Small) - - Midi Port + + Hall (Medium) - - Remove Instance + + Hall (Large) - - Midi connections + + Hall (Large) - HD - - Soft Synthesizer + + Plate (Small) - - Add Instance + + Plate (Medium) - - list of available software synthesizers + + Plate (Large) - - File + + Plate (Large) - HD - - Inst + + Pulse Chamber - - Version + + Pulse Chamber (Reverse) - - Description + + Resonator (96 ms) - - - TempoSig - - Tempo/Sig + + Resonator (152 ms) - - - TopWin - - As subwindow + + Resonator (208 ms) - - Shares tools and menu + + Room (Small) - - Fullscreen + + Room (Medium) - - Piano roll + + Room (Large) - - List editor + + Room (Large) - HD - - Drum editor + + Slap Chamber - - Master track editor + + Slap Chamber - HD - - Master track list editor + + Slap Chamber (Bright) - - Wave editor + + Slap Chamber (Bright) HD - - Clip list + + Smooth Hall (Small) - - Marker view + + Smooth Hall (Medium) - - Score editor + + Smooth Hall (Large) - - Arranger + + Smooth Hall (Large) - HD - - <unknown toplevel type> + + Vocal Plate - - - Transport - - Overdub + + Vocal Plate - HD - - - Replace + + Warble Chamber - - Rec Mode + + Warehoouse - - Normal + + Warehouse - HD - - Mix + + Comb Filters - - Cycle Rec + + Allpass Filters - - punchin + + Bandpass Filters - - loop + + Enhanced Stereo + + + shortcuts - - punchout + + Transport: Start playback from current location - - - Punch In + + Transport: Toggle metronome - - - Loop + + Transport: Stop Playback - - - Punch Out + + Transport: Goto Start - - Left Mark + + Transport: Play, Stop, Rewind - - Right Mark + + Transport: Goto left marker - - rewind to start + + Transport: Goto right marker - - rewind + + Transport: Toggle Loop section - - forward + + Transport: Toggle Record - - stop + + Transport: Clear all rec enabled tracks - - play + + Toggle fullscreen - - record + + Edit: Copy - - AC + + Edit: Copy in range - - quantize during record + + Edit: Undo - - Click + + Edit: Redo - - metronom click on/off + + Edit: Cut - - Sync + + Edit: Paste - - external sync on/off + + Edit: Paste (with dialog) - - Jack + + Edit: Delete - - Jack transport sync on/off + + File: New project - - Master + + File: Open from disk - - use master track + + File: Save project - - - TransposeBase - - MusE: Transpose + + File: Open recent file - - Range + + File: Save as - - All Events + + File: Load template - - Selected Events + + File: Import midi file - - Looped Events + + File: Export midi file - - Selected Looped + + File: Import midi part - - Value + + File: Import audio file - - Halftone-steps + + File: Quit MusE - - OK + + Edit: Select parts on track - - Cancel + + Open pianoroll - - - UnusedWaveFiles - - Dialog + + Open drumeditor - - List of unused audio files in current project directory: + + Open listeditor - - Current project + + Open waveeditor - - All .med files -in current - directory + + Open graphical mastertrack editor - - Move files to 'unused' subdir + + Open list mastertrack editor - - Cancel + + Open midi transformer - - - VAMGui - - MusE: Load VAM Presets + + Add midi track - - - MusE: Save VAM Presets + + Add drum track - - - VAMGuiBase - - Virtual Analogue for MusE + + Add wave track - - LFO + + Add audio output - - Freq + + Add audio group - - - - Waveform + + Add audio input - - - - Sine + + Add audio aux - - - - Pulse + + Structure: Global cut - - - - Saw + + Structure: Global insert - - - - Triangle + + Structure: Global split - - Filter + + Structure: Cut events - - EnvMod + + View: Open mixer #1 window - - - - Attack + + View: Open mixer #2 window - - - - - Decay + + + View: Toggle transport window - - - - Sustain + + View: Toggle bigtime window - - - - Release + + View: Open marker window - - Cutoff + + Settings: Follow song by page - - Resonance + + Settings: Follow song off - - Invert + + Settings: Follow song continuous - - KeyTrack + + Settings: Global configuration - - Presets + + Settings: Configure shortcuts - - Set + + Settings: Configure metronome - - load preset list + + Settings: Midi sync configuration - - save preset list + + Settings: Midi file import/export configuration - - save preset list to a new file + + Settings: Appearance settings - - delete preset + + Settings: Midi ports / Soft Synth - - DCO 1 + + Settings: Audio subsystem configuration - - - Pitch + + Midi: Edit midi instruments - - - Detune + + Midi: Open midi input transform - - - PWM + + Midi: Open midi input filter - - - FM + + Midi: Midi input transpose - - - PW + + Midi: Midi remote control - - DCO 2 + + Midi: Random rhythm generator - - On + + Midi: Reset midi - - - VAM 1.0beta3 -Virtual Analog for MusE -Released under GPL. -Copyright(C) 2002 -Jotsif Lindman Hörnlund -( jotsif@linux.nu ) -Copyright(C) 2005 -Robert Jonsson -(rj@spamatica.se) + + + Midi: Init midi - - - VelocityBase - - MusE: Modify Velocity + + Midi: Midi local off - - Range + + Audio: Bounce audio to track - - All Events + + Audio: Bounce audio to file - - Selected Events + + Audio: Restart audio - - Looped Events + + Automation: Mixer automation - - Selected Looped + + Automation: Take mixer snapshot - - Values + + Automation: Clear mixer automation - - Rate: + + Help: Open Manual - - % + + Help: Toggle whatsthis mode - - Offset: + + Edit: Edit selected part - - veloNew = (veloOld * rate) + offset + + Edit: Select nearest part on track above - - OK + + Edit: Add nearest part on track above - - Cancel + + Edit: Select nearest part on track below - - - WaveEdit - - &Edit + + Edit: Add nearest part on track below - - Func&tions + + Edit: Insert empty measure - - &Gain + + Edit: Paste as clones - - 200% + + Edit: Paste as clones (with dialog) - - 150% + + Select track above - - 75% + + Select track below - - 50% + + Midi: Transpose - - 25% + + Edit: Select all - - Other + + Edit: Select none - - &Copy + + Edit: Invert Selection - - C&ut + + Edit: Select events/parts inside locators - - &Paste + + Edit: Select events/parts outside locators - - Edit in E&xternal Editor + + Edit: Select previous part - - Mute Selection + + Edit: Select next part - - Normalize Selection + + Edit: Select nearest part/event to the left or move cursor - - Fade In Selection + + Edit: Add nearest part/event to the left to selection - - Fade Out Selection + + Edit: Select nearest part/event to the right or move cursor - - Reverse Selection + + Edit: Add nearest part/event to the right to selection - - Select + + Edit: Set locators to selection - - Select &All + + Edit: Increase pitch - - &Deselect All + + Edit: Decrease pitch - - Window &Config + + Edit: Increase event position - - Wave edit tools + + Edit: Decrease event position - - transport + + View: Zoom in - - WaveEdit tools + + View: Zoom out - - Solo + + View: Goto Current Position - - Cursor + + + View: Scroll left - - - WaveView - - MusE - external editor failed + + Edit: Set Fixed Length on Midi Events - - MusE was unable to launch the external editor -check if the editor setting in: -Global Settings->Audio:External Waveditor -is set to a valid editor. + + Quantize - - MusE - file size changed + + Modify Note Length - - When editing in external editor - you should not change the filesize -since it must fit the selected region. - -Missing data is muted + + Modify Velocity - - - freeverb - - FreeVerb + + Edit: Crescendo - - Room Size + + Edit: Thin Out - - Damping + + Edit: Erase Event - - Wet Level + + Edit: Delete Overlaps - - Tap-Reverberator + + Edit: Note Shift - - Decay [ms] + + Edit: Move Clock - - - dB + + Edit: Copy Measure - - Dry Level [dB] + + Edit: Erase Measure - - Wet Level [dB] + + Edit: Delete Measure - - Preset: + + Edit: Create Measure - - AfterBurn + + Edit: Change Event Color - - AfterBurn (Long) + + Tool: Pointer - - Ambience + + Tool: Pencil - - Ambience (Thick) + + Tool: Eraser - - Ambience (Thick) - HD + + Tool: Line Draw - - Cathedral + + Tool: Cursor - - Cathedral - HD + + Add note velocity 1 - - Drum Chamber + + Add note velocity 2 - - Garage + + Add note velocity 3 - - Garage (Bright) + + Add note velocity 4 - - Gymnasium + + Cursor step size: larger - - Gymnasium (Bright) + + Cursor step size: smaller - - Gymnasium (Bright) - HD + + Instrument/Cursor up - - Hall (Small) + + Instrument/Cursor down - - Hall (Medium) + + Tool: Scissor - - Hall (Large) + + Tool: Glue - - Hall (Large) - HD + + Tool: Mute - - Plate (Small) + + Transport: Increase current position - - Plate (Medium) + + Transport: Decrease current position - - Plate (Large) + + Transport: Increase current position, no snap - - Plate (Large) - HD + + Transport: Decrease current position, no snap - - Pulse Chamber + + Quantize: Set quantize to 1/1 note - - Pulse Chamber (Reverse) + + Quantize: Set quantize to 1/2 note - - Resonator (96 ms) + + Quantize: Set quantize to 1/4 note - - Resonator (152 ms) + + Quantize: Set quantize to 1/8 note - - Resonator (208 ms) + + Quantize: Set quantize to 1/16 note - - Room (Small) + + Quantize: Set quantize to 1/32 note - - Room (Medium) + + Quantize: Set quantize to 1/64 note - - Room (Large) + + Quantize: Toggle triol quantization - - Room (Large) - HD + + Quantize: Toggle punctuation quantization - - Slap Chamber + + Quantize: Toggle punctuation quantization (2) - - Slap Chamber - HD + + Edit: Insert at location - - Slap Chamber (Bright) + + Edit: Increase length - - Slap Chamber (Bright) HD + + Edit: Decrease length - - Smooth Hall (Small) + + Insert Note - - Smooth Hall (Medium) + + Insert SysEx - - Smooth Hall (Large) + + Insert Ctrl - - Smooth Hall (Large) - HD + + Insert Meta - - Vocal Plate + + Insert Channel Aftertouch - - Vocal Plate - HD + + Insert Key Aftertouch - - Warble Chamber + + Insert Tempo - - Warehoouse + + Insert Signature - - Warehouse - HD + + Change Event Position - - Comb Filters + + Edit Event Value - - Allpass Filters + + Insert Key - - Bandpass Filters + + Goto Next Marker - - Enhanced Stereo + + Goto Prev Marker diff --git a/muse2/share/locale/muse_es.ts b/muse2/share/locale/muse_es.ts index 38e5954d..1cb5f695 100644 --- a/muse2/share/locale/muse_es.ts +++ b/muse2/share/locale/muse_es.ts @@ -1,12 +1,11 @@ - + @default - Click this button to enable recording - Pulsa este botón para habilitar la captura + Pulsa este botón para habilitar la captura sets amount of quantization: @@ -17,59 +16,50 @@ 100 - sobrecuantizado - select Pointer Tool: with the pointer tool you can: select parts move parts copy parts - selecciona la Herramienta de Puntero: + selecciona la Herramienta de Puntero: con la herramienta de puntero puedes: seleccionar partes mover partes copiar partes - Click this button to open a <em>new song</em>.<br>You can also select the <b>Open command</b> from the File menu. - Pulsa este botón para abrir una <em>nueva canción</em>Puedes usar también el comando <b>Abrir</b> del me de archivo + Pulsa este botón para abrir una <em>nueva canción</em>Puedes usar también el comando <b>Abrir</b> del me de archivo - Click this button to save the song you are editing. You will be prompted for a file name. You can also select the Save command from the File menu. - Pulsa este botón para guardar la canción que está editando. Se te preguntará por un nombre de archivo. + Pulsa este botón para guardar la canción que está editando. Se te preguntará por un nombre de archivo. Puedes seleccionar también el comando Guardar del men de Archivo - Create New Song - Crea una nueva canción + Crea una nueva canción - Click this button to stop playback - Pulsa este botón para detener la reproducción + Pulsa este botón para detener la reproducción - Click this button to start playback - Pulsa este botón para iniciar la reproducción + Pulsa este botón para iniciar la reproducción - Click this button to rewind to start position - Pulsa este botón para regresar al principio + Pulsa este botón para regresar al principio - Click this button to rewind - Pulsa este botón para ir hacia atrás + Pulsa este botón para ir hacia atrás - Click this button to forward current play position - Pulsa este botón para adelantar la posición de reproducción + Pulsa este botón para adelantar la posición de reproducción don't quantize notes above this tick limit @@ -80,188 +70,134 @@ Puedes seleccionar también el comando Guardar del men de Archivo cuantiza también la longitud de la nota al valor por defecto - loop between left mark and right mark - hace un bucle entre las marcas de izquierda y derecha + hace un bucle entre las marcas de izquierda y derecha - record starts at left mark - la captura comienza en la marca izquierda + la captura comienza en la marca izquierda - record stops at right mark - la captura termina en la merca derecha + la captura termina en la merca derecha - rewind to start position - retrocede a la posición de inicio + retrocede a la posición de inicio - rewind current position - retrasa la posición actual + retrasa la posición actual - move current position - mueve la posición actual + mueve la posición actual - stop sequencer - para el secuenciador + para el secuenciador - start sequencer play - inicia el secuenciador + inicia el secuenciador - to record press record and then play - para grabar pulsa grabar y después reproducir + para grabar pulsa grabar y después reproducir - send note off to all midi channels - envia un apagado de nota (note off) a todos los canales midi + envia un apagado de nota (note off) a todos los canales midi - select Pencil Tool: with the pencil tool you can: create new parts modify length of parts - selecciona la Herramienta de Lápiz: + selecciona la Herramienta de Lápiz: con la herramienta de lápiz puedes: crear nuevas partes modificar la longitud de las partes - select Delete Tool: with the delete tool you can delete parts - selecciona la Herramienta de Borrado: + selecciona la Herramienta de Borrado: con la herramienta de borrado puedes borrar partes - select Cut Tool: with the cut tool you can split a part - selecciona la Herramienta de Corte: + selecciona la Herramienta de Corte: con la herramienta de core puedes partir una parte - select Glue Tool: with the glue tool you can glue two parts - selecciona la Herramienta de Pegado: + selecciona la Herramienta de Pegado: con la herramienta de pegado puedes unir dos partes - select Score Tool: - selecciona la Herramienta de Partitura: + selecciona la Herramienta de Partitura: - select Quantize Tool: insert display quantize event - selecciona la Herramianta de Cuantización: + selecciona la Herramianta de Cuantización: inserta un evento de cuantización de visualización - select Drawing Tool - selecciona la Herramienta de Dibujo + selecciona la Herramienta de Dibujo - select Muting Tool: click on part to mute/unmute - selecciona la Herramienta de Silenciar: + selecciona la Herramienta de Silenciar: haz click en una parte para silenciar/des-silenciar - - Manipulate automation - - - - - Cursor tool - - - - pointer - puntero + puntero - pencil - lápiz - - - - edit automation - - - - - cursor - + lápiz rubber goma - cutter - cortador + cortador - score - partitura + partitura - glue - pegamento + pegamento - quantize - cuantizador + cuantizador - draw - dibujar + dibujar - mute parts - silenciar partes + silenciar partes - - - - - - - - Off - Apagar + Apagar presets (*.pre *.pre.gz *.pre.bz2) @@ -272,231 +208,87 @@ haz click en una parte para silenciar/des-silenciar Todos los archivos (*) - - MESS - - - - - DSSI - - - - - FST - - - - + Add Midi Track - Agregar pista MIDI + Agregar pista MIDI Add Drum Track - Agregar pista de percusión + Agregar pista de percusión Add Wave Track - Agregar pista de audio + Agregar pista de audio - + Add Audio Output - + Add Audio Group - + Add Audio Input - + Add Aux Send - - eraser - - - - + Add Synth - - Bar - - - - - Jack - - - - - ALSA: - - - - - SYNTH: - - - - - JACK: - - - - - - - - - + Route - - - - - channel="%1" - - - - - - - - + dest - - - - devtype="%1" - - - - - - - - - type="%1" - - - - - - - - name="%1"/ - - - source - - - - Velocity - Velocidad - - - - <none> - - - - - - - channelMask="%1" - - - - - dssi_synth - - - - - ladspa_efx - - - - - channels="%1" - - - - - remch="%1" - - - - - mport="%1"/ - - - - - - Show wave tracks - - - - - - Show group tracks - + Velocidad - - - Show aux tracks + + Warning: No output devices! - - - Show input tracks + + Open midi config... - - - Show output tracks + + Empty ports - - - Show midi tracks + + <none> - - - Show synth tracks + + channelMask="%1" @@ -535,9 +327,8 @@ Published under the GNU Public License Appearance - MusE: load image - MusE: carga imagen + MusE: carga imagen handle of transport window @@ -559,176 +350,106 @@ Published under the GNU Public License waveedit background color color de fondo de edición de onda + + + AppearanceDialogBase - - Main application font, and default font for any - controls not defined here. - + MusE: Appearance Settings + MusE: Configuración de apariencia - - For small controls like mixer strips. -Also timescale small numbers, arranger part name overlay, - and effects rack. - + + Apply + Aplicar - - Midi track info panel. Transport controls. - + + Ok + Aceptar - - Controller graph and S/X buttons. Large numbers for time - and tempo scale, and time signature. - + + Cancel + Cancelar - - Time scale markers. - + + Arranger + Arreglador - - List editor: meta event edit dialog multi-line edit box. - + + Parts + Partes - - Mixer label font. Auto-font-sizing up to chosen font size. -Word-breaking but only with spaces. - + show frames + mostrar frames - - Maximum mixer label auto-font-sizing font size. - + + show names + mostrar nombres - - Global opacity (opposite of transparency). - + + show events + mostrar eventos - - Standard - + + show Cakewalk Style + mostrar al estilo de Cakewalk - - Custom + + y-stretch - - Select style sheet - - - - - Qt style sheets (*.qss) - - - - - AppearanceDialogBase - - MusE: Appearance Settings - MusE: Configuración de apariencia - - - - Apply - Aplicar - - - - Ok - Aceptar - - - - Cancel - Cancelar - - - - Arranger - Arreglador - - - - Parts - Partes - - - show frames - mostrar frames - - - - show names - mostrar nombres - - - - show events - mostrar eventos - - - - show Cakewalk Style - mostrar al estilo de Cakewalk - - - - y-stretch - - - - - Events - Eventos + + Events + Eventos note on - nota on + nota on poly pressure - presión polifónica + presión polifónica controller - controlador + controlador aftertouch - aftertouch + aftertouch pitch bend - pitch bend + pitch bend program change - cambio de programa + cambio de programa special - especial + especial Background picture - Imagen de fondo + Imagen de fondo bg @@ -741,17 +462,17 @@ Word-breaking but only with spaces. show snap grid - muestra la rejilla de captura + muestra la rejilla de captura Colors - Colores + Colores Items - Objetos + Objetos selected @@ -772,87 +493,87 @@ Word-breaking but only with spaces. Style/Fonts - Estilo/Tipografía + Estilo/Tipografía QT Theme - tema QT + tema QT Windows - Ventanas + Ventanas MusE - MusE + MusE Metal - Metal + Metal Norwegian Wood - Madera Noruega + Madera Noruega Platinum - Platino + Platino CDE - CDE + CDE Motif - Motif + Motif Motif Plus - Motif Plus + Motif Plus Fonts - Tipografía + Tipografía Family - Familia + Familia Size - Tamaño + Tamaño Font 1 - Tipografía 1 + Tipografía 1 Font 2 - Tipografía 2 + Tipografía 2 Font 3 - Tipografía 3 + Tipografía 3 Font 0 - Tipografía 0 + Tipografía 0 @@ -863,7 +584,7 @@ Word-breaking but only with spaces. Bold - Negrita + Negrita @@ -874,7 +595,7 @@ Word-breaking but only with spaces. Italic - Cursiva + Cursiva @@ -887,7 +608,7 @@ Word-breaking but only with spaces. ... - ... + ... @@ -902,12 +623,12 @@ Word-breaking but only with spaces. Font 4 - Tipografía 4 + Tipografía 4 Font 5 - Tipografía 5 + Tipografía 5 @@ -922,12 +643,12 @@ Word-breaking but only with spaces. add - Agregar + Agregar remove - quitar + quitar @@ -942,7 +663,7 @@ Word-breaking but only with spaces. S - S + S @@ -962,7 +683,7 @@ Word-breaking but only with spaces. R - R + R @@ -977,7 +698,7 @@ Word-breaking but only with spaces. Font 6 - + Tipografía 6 @@ -1508,12 +1229,12 @@ Word-breaking but only with spaces. off - apagado + apagado db - + dB @@ -1521,7 +1242,7 @@ Word-breaking but only with spaces. off - apagado + apagado @@ -1550,29 +1271,12 @@ Word-breaking but only with spaces. ClipListEdit - MusE: Clip List Editor - MusE: Editor de lista de clips - - - - Undo/Redo tools - + MusE: Editor de lista de clips - panic - pánico - - - - transport - - - - - Window &Config - + pánico @@ -1580,47 +1284,47 @@ Word-breaking but only with spaces. MusE: ClipList - MusE: Lista de Clips + MusE: Lista de Clips Name - Nombre + Nombre Refs - Referencias + Referencias Start - Inicio + Inicio Len - Longitud + Longitud Data - Datos + Datos Clip Properties - Propiedades del Clip + Propiedades del Clip Pos: - Posición: + Posición: Len: - Longitud: + Longitud: @@ -1628,30 +1332,30 @@ Word-breaking but only with spaces. Form1 - Form1 + Form1 Track Comment - Comentario de la pista + Comentario de la pista Track 1 - Pista 1 + Pista 1 ConfigMidiFileBase - + &OK - + &OK &Cancel - &Cancelar + &Cancelar @@ -1664,32 +1368,32 @@ Word-breaking but only with spaces. - + Format: 96 - 96 + 96 192 - 192 + 192 384 - 384 + 384 - + Division: - + Copyright: @@ -1698,17 +1402,17 @@ Word-breaking but only with spaces. Habilita el formato extendido de smf - + MusE: Config Midi File Import/Export - + Import: - + Split tracks into &parts @@ -1718,12 +1422,12 @@ Word-breaking but only with spaces. - + Split tracks into parts, or one single part - + Export: @@ -1743,7 +1447,12 @@ Word-breaking but only with spaces. - + + Note: Format 0 uses the FIRST midi track's name/comment in the arranger + + + + Save space by replacing note-offs with &zero velocity note-ons @@ -1763,7 +1472,7 @@ Word-breaking but only with spaces. Range - Rango + Rango @@ -1778,7 +1487,7 @@ Word-breaking but only with spaces. Values - Valores + Valores @@ -1809,25 +1518,23 @@ Word-breaking but only with spaces. OK - Aceptar + Aceptar Cancel - Cancelar + Cancelar CtrlPanel - select controller - selecciona controlador + selecciona controlador - remove panel - quitar panel + quitar panel other ... @@ -1842,77 +1549,26 @@ Word-breaking but only with spaces. x - - Velocity - Velocidad + Velocidad Pitch Tono - - add new ... - - - - S - S - - - - X - - - - - manual adjust - - - - - double click on/off - + S - off - apagado - - - - - Instrument-defined - - - - - - Add ... - - - - - Others - - - - - Edit instrument ... - - - - - Common Controls - + apagado DeicsOnzeGui - + Save configuration @@ -2290,7 +1946,7 @@ Word-breaking but only with spaces. Preset - Preselección + Preselección @@ -2351,7 +2007,7 @@ Word-breaking but only with spaces. LFO - LFO + LFO @@ -2432,12 +2088,12 @@ Word-breaking but only with spaces. Speed - Velocidad + Velocidad Delay - Delay + Delay @@ -2478,7 +2134,7 @@ Word-breaking but only with spaces. Transpose - Transponer + Transponer @@ -2837,7 +2493,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Volume - Volumen + Volumen @@ -3287,7 +2943,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t After Touch - After Touch + After Touch @@ -3462,12 +3118,12 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Colors - Colores + Colores Text - Texto + Texto @@ -3564,7 +3220,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Channel - Canal + Canal @@ -3579,12 +3235,12 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Release - Relajación + Relajación Attack - Ataque + Ataque @@ -3612,17 +3268,17 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Range - Rango + Rango All Events - Todos los eventos + Todos los eventos Selected Events - Eventos seleccionados + Eventos seleccionados @@ -3637,12 +3293,12 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t OK - Aceptar + Aceptar Cancel - Cancelar + Cancelar @@ -3665,412 +3321,205 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Close - Cerrar + Cerrar DrumEdit - Load Map - Carga Mapa + Carga Mapa - Save Map - Guarda Mapa + Guarda Mapa - &Edit - &Editar + &Editar - Cut - Cortar + Cortar - Copy - Copiar + Copiar - Paste - Pegar + Pegar - Delete Events - Borrar Eventos + Borrar Eventos - Select All - Seleccionar todo + Seleccionar todo - Select None - Deseleccionar + Deseleccionar - Invert - Invertir + Invertir - Inside Loop - Bucle interior + Bucle interior - Outside Loop - Bucle exterior + Bucle exterior - &Select - &Seleccionar + &Seleccionar - Step Record - Parar captura + Parar captura - Midi Input - Entrada MIDI + Entrada MIDI - Add Controller View - Agregar Controlador + Agregar Controlador - M - M + M - Sound - Sonido + Sonido - QNT - QNT + QNT - E-Note - Nota-E + Nota-E - Len - Longitud + Longitud - A-Note - Nota-A + Nota-A - Ch - Ch + Ch - Port - Puerto + Puerto - LV1 - VL1 + VL1 - LV2 - VL2 + VL2 - LV3 - VL3 + VL3 - LV4 - VL4 + VL4 - &File - &Fichero + &Fichero - Load Drummap - Cargar mapa de percusión + Cargar mapa de percusión - Store Drummap - Guardar mapa de percusión + Guardar mapa de percusión - ctrl - control + control drummaps mapas de percusión - Muse: Load Drum Map - MusE: Cargar mapa de percusión + MusE: Cargar mapa de percusión - MusE: Store Drum Map - MusE: Guardar mapa de percusión + MusE: Guardar mapa de percusión &Functions &Funciones - - Modify Velocity - - - - - mute instrument - silenciar instrumento + silenciar instrumento - - sound name - nombre del sonido - - - - - volume percent - + nombre del sonido - - quantisation - cuantización + cuantización - - this input note triggers the sound - ensta nota de entrada dispara el sonido + ensta nota de entrada dispara el sonido - - note length - longitud de nota + longitud de nota - - - this is the note which is played - + output port + puerto de salida - - output channel (hold ctl to affect all rows) - + Quantize + Cuantizar - - - output port - puerto de salida + panic + pánico + + + EditCAfterDialog - - - shift + control key: draw velocity level 1 - + Time Position + Posición de tiempo - - - control key: draw velocity level 2 - + Pressure + Presión - - - shift key: draw velocity level 3 - + MusE: Enter Channel Aftertouch + MusE: Introduce el AfterTouch del canal - - - - draw velocity level 4 - - - - - output channel (ctl: affect all rows) - - - - - Reset GM Map - - - - - Copy events in range - - - - - Paste (with Dialog) - - - - - Previous Part - - - - - Next Part - - - - - Fu&nctions - - - - - Re-order list - - - - - Set Fixed Length - - - - - Crescendo/Decrescendo - - - - - Quantize - Cuantizar - - - - Erase Event - - - - - Move Notes - - - - - Delete Overlaps - - - - - &Plugins - - - - - Window &Config - - - - - Drum tools - - - - - cursor tools - - - - - Set step size for cursor edit - - - - - panic - pánico - - - - transport - - - - - Vol - - - - - Drum map - - - - - Reset the drum map with GM defaults? - - - - - EditCAfterDialog - - - Time Position - Posición de tiempo - - - - Pressure - Presión - - - - MusE: Enter Channel Aftertouch - MusE: Introduce el AfterTouch del canal - - - - EditCtrl14Dialog + + + EditCtrl14Dialog Time Position Posición de tiempo @@ -4152,7 +3601,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Time Position - Posición de tiempo + Posición de tiempo @@ -4172,22 +3621,22 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Value - Valor + Valor Controller - Controlador + Controlador H-Bank - Banco-H + Banco-H L-Bank - Banco-L + Banco-L @@ -4198,7 +3647,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t off - apagado + apagado @@ -4213,20 +3662,18 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t &Cancel - &Cancelar + &Cancelar EditEventDialog - Ok - Aceptar + Aceptar - Cancel - Cancelar + Cancelar @@ -4239,7 +3686,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Gain - Ganancia + Ganancia @@ -4269,7 +3716,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t &Apply - &Aplicar + &Aplicar @@ -4279,7 +3726,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t &Cancel - &Cancelar + &Cancelar @@ -4290,258 +3737,102 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t EditInstrument - - - MusE: Create file failed - + MusE: Write File failed + MusE: La captura del archivo ha fallado - - MusE: Write File failed - MusE: La captura del archivo ha fallado + MusE + MusE - - - - - MusE: - + &Save + &Guardar - - - The user instrument directory - - + &Nosave + &No Guardar - - - -does not exist yet. Create it now? - - + &Abort + &Abortar + + + EditInstrumentBase - - - (You can change the user instruments directory at Settings->Global Settings->Midi) + + MusE: Instrument Editor - - - Unable to create user instrument directory - + + High Bank: - - - MusE: Save Instrument Definition + + Low Bank: - - - Instrument Definition (*.idf) + + Program: - - - MusE: Save instrument as - + + + + &Delete + &Borrar - - Enter a new unique instrument name: + + + + Alt+D - - The user instrument: - - + + Drum + Percusión - - -already exists. This will overwrite its .idf instrument file. -Are you sure? - + + GM + GM - - MusE: Bad instrument name - + + GS + GS - - Please choose a unique instrument name. -(The name might be used by a hidden instrument.) - + + XG + XG - - MusE: Bad patch name - + Controller + Controlador - - Please choose a unique patch name + + This is a list of commonly used midi controllers. +Note that in MusE pitch and program changes are +handled like normal controllers. - - MusE: Bad patchgroup name - + + + Properties + Propiedades - - Please choose a unique patchgroup name - - - - - MusE: Bad controller name - - - - - Please choose a unique controller name - - - - - - MusE: Cannot add common controller - - - - - A controller named - - - - - - already exists. - - - - - A controller number - - - - - - MusE - MusE - - - - - The current Instrument contains unsaved data -Save Current Instrument? - - - - - - &Save - &Guardar - - - - - &Nosave - &No Guardar - - - - &Abort - &Abortar - - - - EditInstrumentBase - - - MusE: Instrument Editor - - - - - High Bank: - - - - - Low Bank: - - - - - Program: - - - - - - - &Delete - &Borrar - - - - - - Alt+D - - - - - Drum - Percusión - - - - GM - GM - - - - GS - GS - - - - XG - XG - - - Controller - Controlador - - - - This is a list of commonly used midi controllers. -Note that in MusE pitch and program changes are -handled like normal controllers. - - - - - - Properties - Propiedades - - - Name - Nombre + Name + Nombre Type @@ -4550,27 +3841,27 @@ handled like normal controllers. Control7 - Control7 :-? + Control7 Control14 - Control14 + Control14 RPN - RPN + RPN NRPN - NRPN + NRPN Pitch - Tono + Tono @@ -4581,13 +3872,13 @@ handled like normal controllers. H-Ctrl - Control-H + Control-H L-Ctrl - Control-L + Control-L @@ -4602,12 +3893,12 @@ handled like normal controllers. Name - Nombre + Nombre Type - Tipo + Tipo SysEx @@ -4626,7 +3917,7 @@ handled like normal controllers. Tools - Herramientas + Herramientas @@ -4636,7 +3927,7 @@ handled like normal controllers. &New - &Nuevo + &Nuevo @@ -4646,12 +3937,12 @@ handled like normal controllers. Open - Abrir + Abrir &Open... - &Abrir... + &Abrir... @@ -4661,12 +3952,12 @@ handled like normal controllers. Save - Guardar + Guardar &Save - &Guardar + &Guardar @@ -4676,22 +3967,22 @@ handled like normal controllers. Save As - Guardar como + Guardar como Save &As... - Guardar &Como... + Guardar &Como... Exit - Salir + Salir E&xit - &Salir + &Salir @@ -4728,7 +4019,7 @@ handled like normal controllers. Name: - Nombre: + Nombre: @@ -4891,7 +4182,7 @@ handled like normal controllers. Type: - Tipo: + Tipo: @@ -4986,7 +4277,7 @@ True range: Min: -8192 Max: 8191 (bias 0) L-Bank - Banco-L + Banco-L @@ -4995,22 +4286,22 @@ True range: Min: -8192 Max: 8191 (bias 0) off - apagado + apagado Progr. - Progr. + Progr. ??? - ??? + ??? H-Bank - Banco-H + Banco-H @@ -5040,7 +4331,7 @@ Caution! Watch out for controllers such as off dont care - apagado + apagado @@ -5131,7 +4422,7 @@ Typically, set to 127/127, or an unused &Help - A&yuda + A&yuda @@ -5149,24 +4440,20 @@ Typically, set to 127/127, or an unused EditMetaDialog - Time Position - Posición de tiempo + Posición de tiempo - Meta Type - Tipo de Meta + Tipo de Meta - Enter Hex - Introduzca en Hexadecimal + Introduzca en Hexadecimal - MusE: Enter Meta Event - MusE: Introduzca evento Meta + MusE: Introduzca evento Meta @@ -5205,65 +4492,61 @@ Typically, set to 127/127, or an unused MusE: Enter Note - MusE: Escribe Nota + MusE: Escribe Nota OK - Aceptar + Aceptar Cancel - Cancelar + Cancelar Length: - Longitud: + Longitud: Time Position: - Posición de tiempo + Posición de tiempo: Pitch: - Tono: + Tono: Velocity On: - Velocidad On: + Velocidad On: Velocity Off: - Velocidad Off: + Velocidad Off: EditPAfterDialog - Time Position - Posición de tiempo + Posición de tiempo - Pitch - Tono + Tono - Pressure - Presión + Presión - MusE: Enter Poly Aftertouch - Muse: Escribe el aftertouch polifónico + Muse: Escribe el aftertouch polifónico @@ -5286,27 +4569,27 @@ Typically, set to 127/127, or an unused MusE: Enter SysEx - MusE: Introduce el sistema exclusivo + MusE: Introduce el sistema exclusivo TimePosition: - Posición de tiempo: + Posición de tiempo: Comment: - Comentario: + Comentario: OK - Aceptar + Aceptar Cancel - Cancelar + Cancelar @@ -5364,17 +4647,17 @@ Typically, set to 127/127, or an unused Form1 - Formulario1 + Formulario1 Soundfont - Fuente de sonido + Fuente de sonido Load - Cargar + Cargar @@ -5387,12 +4670,12 @@ Typically, set to 127/127, or an unused Load - Cargar + Cargar Delete - Borrar + Borrar @@ -5417,7 +4700,7 @@ Typically, set to 127/127, or an unused Soundfont - Fuente de sonido + Fuente de sonido @@ -5428,27 +4711,27 @@ Typically, set to 127/127, or an unused Level - Nivel + Nivel Width - Anchura + Anchura Damping - Amortiguamiento + Amortiguamiento Room Size - Tamaño sala + Tamaño sala Reverb - Reverberación + Reverberación @@ -5458,42 +4741,42 @@ Typically, set to 127/127, or an unused Sine - Seno + Seno Triangle - Triángulo + Triángulo Type - Tipo + Tipo Number - Número + Número Speed - Velocidad + Velocidad Depth - Profundidad + Profundidad Chorus - Coro ;-) + Coro ;-) Gain - Ganancia + Ganancia @@ -5510,17 +4793,17 @@ Typically, set to 127/127, or an unused Global - Global + Global User - Usuario + Usuario Project - Proyecto + Proyecto @@ -5564,22 +4847,22 @@ Configuration Range - Rango + Rango All Events - Todos los eventos + Todos los eventos Selected Events - Eventos seleccionados + Eventos seleccionados Looped Events - Eventos en bucle + Eventos en bucle Selected & Looped @@ -5598,7 +4881,7 @@ Configuration Values - Valores + Valores @@ -5613,7 +4896,7 @@ Configuration % - % + % @@ -5623,12 +4906,12 @@ Configuration OK - Aceptar + Aceptar Cancel - Cancelar + Cancelar @@ -5636,28 +4919,28 @@ Configuration MusE: Global Settings - MusE: Valores globales + MusE: Valores globales Audio - Audio + Audio Mixer - Mezclador + Mezclador dB - dB + dB min. Meter Value - valor mínimo del vumeter + valor mínimo del vumeter min.Slider Val @@ -5666,31 +4949,31 @@ Configuration Midi - MIDI + MIDI Ticks - Ticks + Ticks 1024 - 1024 + 1024 2048 - 2048 + 2048 4096 - 4096 + 4096 8172 @@ -5700,84 +4983,84 @@ Configuration Displayed Resolution (Ticks/Quarternote) - Resolución mostrada + Resolución mostrada (ticks/negra) 48 - 48 + 48 96 - 96 + 96 192 - 192 + 192 384 - 384 + 384 768 - 768 + 768 1536 - 1536 + 1536 3072 - 3072 + 3072 6144 - 6144 + 6144 12288 - 12288 + 12288 RTC Resolution (Ticks/Sec) - Resolución del reloj + Resolución del reloj (Ticks/segundo) GUI - GUI + GUI /sec - /seg + /seg GUI Refresh Rate - Velocidad de refresco del GUI + Velocidad de refresco del GUI @@ -5790,13 +5073,31 @@ Configuration - + Allows some popup menus to stay open. Otherwise, hold Ctrl to keep them open. - + + In some areas, the middle mouse button decreases +values, while the right button increases. Users without a +middle mouse button can select this option to make the +left button behave like the middle button in such areas. + + + + + Use left mouse button for decreasing values + + + + + Shift + Right click sets left range marker + + + + MDI-subwindowness and sharing menus @@ -5823,24 +5124,24 @@ Otherwise, hold Ctrl to keep them open. &Apply - &Aplicar + &Aplicar &Ok - Ac&eptar + Ac&eptar &Cancel - &Cancelar + &Cancelar Help Browser: Navegador de ayuda: - + Application @@ -5923,7 +5224,7 @@ Otherwise, hold Ctrl to keep them open. Transport - Transporte + Transporte @@ -6022,7 +5323,7 @@ Otherwise, hold Ctrl to keep them open. 16 - 16 + 16 @@ -6086,52 +5387,52 @@ Adjusts responsiveness of audio controls and 1 - 1 + 1 2 - 2 + 2 4 - 4 + 4 8 - 8 + 8 32 - 32 + 32 64 - 64 + 64 128 - 128 + 128 256 - 256 + 256 512 - 512 + 512 @@ -6146,17 +5447,17 @@ Adjusts responsiveness of audio controls and 8192 - 5 1/3' {8192?} + 5 1/3' {8192?} 16384 - 5 1/3' {16384?} + 5 1/3' {16384?} 32768 - 5 1/3' {32768?} + 5 1/3' {32768?} @@ -6291,139 +5592,48 @@ Adjusts responsiveness of audio controls and LMaster - new tempo - nuevo tempo + nuevo tempo - new signature - nuevo compás + nuevo compás - Meter - Metrónomo + Metrónomo - Time - Tiempo + Tiempo - Type - Tipo + Tipo - Value - Valor + Valor - MusE: Mastertrack - MusE: Pista maestra - - - - Window &Config - - - - - Undo/Redo tools - + MusE: Pista maestra - Tempo - Tempo + Tempo - Timesig - compás + compás - &Edit - &Editar - - - - Insert Tempo - - - - - Insert Signature - - - - - Insert Key - - - - - Edit Positon - - - - - Edit Value - - - - - Delete Event - - - - - Edit tools - - - - - Key - - - - - new key - + &Editar - panic - pánico - - - - transport - - - - - Reposition of the initial tempo and signature events is not allowed - - - - - MusE: List Editor - - - - - Input error, conversion not OK or value out of range - - - - - Reposition of tempo and signature events to start position is not allowed! - + pánico @@ -6436,17 +5646,17 @@ Adjusts responsiveness of audio controls and Range - Rango + Rango All Events - Todos los eventos + Todos los eventos Selected Events - Eventos seleccionados + Eventos seleccionados @@ -6481,35 +5691,31 @@ Adjusts responsiveness of audio controls and OK - Aceptar + Aceptar Cancel - Cancelar + Cancelar ListEdit - &Edit - &Editar + &Editar - Cut - Cortar + Cortar - Copy - Copiar + Copiar - Paste - Pegar + Pegar List Tools @@ -6520,45 +5726,40 @@ Adjusts responsiveness of audio controls and Insertar herramientas - Delete Events - Borrar eventos + Borrar eventos Insert Note Insertar nota - insert Note - insertar Nota + insertar Nota Insert SysEx Insertar sistema exclusivo - insert SysEx - insertar sistema exclusivo + insertar sistema exclusivo Insert Ctrl Insertar controlador - insert Ctrl - insertar controlador + insertar controlador Insert Meta Insertar Meta - insert Meta - insertar Meta + insertar Meta Insert Pitch @@ -6573,92 +5774,60 @@ Adjusts responsiveness of audio controls and Insertar AfterTouch de canal - insert Channel Aftertouch - insertar AfterTouch de canal + insertar AfterTouch de canal Insert Key Aftertouch Insertar AfterTouch de tecla - insert Poly Aftertouch - insertar AfterTouch Polifónico - - - - Window &Config - - - - - Undo/Redo tools - + insertar AfterTouch Polifónico - panic - pánico - - - - transport - + pánico - Tick - Tick + Tick - Bar - Compás + Compás Typ Tip - Ch - Cn + Cn - Val A - Val A + Val A - Val B - Val B + Val B - Val C - Val C + Val C - Len - Lon + Lon - Comment - Comentario + Comentario - - Insert tools - - - - Type - Tipo + Tipo @@ -6666,27 +5835,27 @@ Adjusts responsiveness of audio controls and MusE: Midi Input Plugin: Transpose - MusE: Plugin de entrada MIDI : Transposición + MusE: Plugin de entrada MIDI : Transposición On - Encendido + Encendido TriggerKey - Tecla de salto + Tecla de salto Transpose: - Trasponer: + Trasponer: +0 - +0 + +0 @@ -6704,524 +5873,229 @@ Adjusts responsiveness of audio controls and MusE: Tabla de puertos MIDI - Port - Puerto + Puerto - GUI - GUI + GUI Rec Grabar - Instrument - Instrumento + Instrumento - Device Name - Nombre de dispositivo + Nombre de dispositivo - State - Estado + Estado unknown desconocido - - I - + Port Number + Número de puerto - - O - + Instrument connected to port + Instrumento conectado al puerto - - MusE: bad device name - + State: result of opening the device + Estado: resultado de abrir el puerto + + + MRConfigBase - - - Default input connections - + + MusE: Midi Input Plugin: Remote Control + MusE: Pluginde entrada MIDI : Control remoto - - - Are you sure you want to apply to all existing midi tracks now? - + + Activate + Activar - - - Default output connections - + + On + Encendido - - - Setting will apply to new midi tracks. -Do you want to apply to all existing midi tracks now? - + + Actions + Acciones - - please choose a unique device name - + + Stop + Parar - - - in - + + Record + Grabar - - - out - + + Goto Left Mark + Ir ala marca izquierda - - Show first aliases - + + Play + Reproducir - - Show second aliases + + Insert rest (step rec) + + + MTScale - - - Toggle all - + bar scale + escala de compases + + + MTScaleFlo - - - Change all tracks now - + bar scale + escala de compases + + + MarkerView - - Create - + panic + pánico - - device - + Bar:Beat:Tick + Barra:Golpe:Tick - - - Port Number - Número de puerto + Hr:Mn:Sc:Fr:Sf + Hr:Mn:Sg:Fr:Sf - - Enable gui - + Lock + Bloquear - - Enable reading - + Text + Texto - - Enable writing - + Marker Properties + Propiedades del marcador - - Port instrument - + MusE: Marker + MusE: Marcador - - Midi device name. Click to edit (Jack) - + add marker + Agregar marcador - - Connections from Jack Midi outputs - + Add Marker + Agregar marcador - - Connections to Jack Midi inputs - + delete marker + borrar marcador - - Auto-connect these channels to new midi tracks - + Delete Marker + Borrar Marcador - - Auto-connect new midi tracks to these channels - + &File + &Archivo - - Auto-connect new midi tracks to this channel - + &Edit + &Editar - - Auto-connect these channels, on this port, to new midi tracks. - + edit tools + editar herramientas + + + MasterEdit - - Connect new midi tracks to these channels, on this port. - + Cursor + Cursor - - Connect new midi tracks to this channel, on this port. - + Snap + Snap - - Device state - + time at cursor position + tiempo en la posición del cursor - - Enable gui for device - + panic + pánico - - Enable reading from device - + tempo at cursor position + tempo en la posición del cursor - - Enable writing to device - + CurPos + Posición del cursor - - Name of the midi device associated with this port number. Click to edit Jack midi name. - + tempo at current position + tempo en la posición actual - - Instrument connected to port - Instrumento conectado al puerto + time signature at current position + compás en la posición actual - - Connections from Jack Midi output ports - + Master + Maestro - - Connections to Jack Midi input ports - + MusE: Mastertrack + Muse: Pista Maestra - - State: result of opening the device - Estado: resultado de abrir el puerto + edit tools + editar herramientas - - In routes - + EnableMaster + Habilitar maestro - - Out routes - + use master track + usar pista maestra - - Def in ch - - - - - Def out ch - - - - - <unknown> - - - - - - <none> - - - - - MRConfigBase - - - MusE: Midi Input Plugin: Remote Control - MusE: Pluginde entrada MIDI : Control remoto - - - - Activate - Activar - - - - On - Encendido - - - - Actions - Acciones - - - - Stop - Parar - - - - Record - Grabar - - - - Goto Left Mark - Ir ala marca izquierda - - - - Play - Reproducir - - - - Insert rest (step rec) - - - - - MTScale - - bar scale - escala de compases - - - - MTScaleFlo - - bar scale - escala de compases - - - - MarkerView - - - Window &Config - - - - - Undo/Redo tools - - - - - panic - pánico - - - - transport - - - - - Bar:Beat:Tick - Barra:Golpe:Tick - - - - Hr:Mn:Sc:Fr:Sf - Hr:Mn:Sg:Fr:Sf - - - - Lock - Bloquear - - - - Text - Texto - - - - Marker Properties - Propiedades del marcador - - - - MusE: Marker - MusE: Marcador - - - - add marker - Agregar marcador - - - Add Marker - Agregar marcador - - - - delete marker - borrar marcador - - - Delete Marker - Borrar Marcador - - - &File - &Archivo - - - - &Edit - &Editar - - - - edit tools - editar herramientas - - - - MasterEdit - - - Cursor - Cursor - - - - Snap - Snap - - - - time at cursor position - tiempo en la posición del cursor - - - - Window &Config - - - - - Undo/Redo tools - - - - - panic - pánico - - - - transport - - - - - tempo at cursor position - tempo en la posición del cursor - - - - CurPos - Posición del cursor - - - - tempo at current position - tempo en la posición actual - - - - time signature at current position - compás en la posición actual - - - Master - Maestro - - - - MusE: Mastertrack - Muse: Pista Maestra - - - edit tools - editar herramientas - - - EnableMaster - Habilitar maestro - - - use master track - usar pista maestra - - - Info - Info + Info Off Apagado - - - Enable - - - - - Enable usage of master track - - - - - Enable master - - MdiSettingsBase @@ -7256,107 +6130,107 @@ Do you want to apply to all existing midi tracks now? MusE: Metronome Config - MusE: Configuración del metrónomo + MusE: Configuración del metrónomo Metronome - Metrónomo + Metrónomo Audio Beep - Bip de audio + Bip de audio MIDI Click - Click MIDI + Click MIDI Midi Channel - Canal MIDI + Canal MIDI Measure Note - Nota de compás + Nota de compás Measure Velocity - Velocidad de compás + Velocidad de compás Beat Velocity - Velocidad de barra + Velocidad de barra Beat Note - Nota de barra + Nota de barra Midi Port - Puerto MIDI + Puerto MIDI Precount - Cuenta atrás + Cuenta atrás enable - habilitada + habilitada Bars - Compases + Compases From Mastertrack - desde la pista Mestra + desde la pista Mestra / - / + / Signature - compás + compás Prerecord - pre-captura + pre-captura Preroll - pre-escucha + pre-escucha &Apply - &Aplicar + &Aplicar &OK - Ac&eptar + Ac&eptar &Cancel - &Cancelar + &Cancelar @@ -7366,7 +6240,7 @@ Do you want to apply to all existing midi tracks now? 50 - 5 1/3' {50?} + 5 1/3' {25%?} {50?} @@ -7577,158 +6451,156 @@ clase de controladores en la lista de MusE. MusE: Midi Input Filter - MusE: Filtro de entrada MIDI + MusE: Filtro de entrada MIDI Record Filter - Filtro de captura + Filtro de captura Note On - Nota on + Nota on Poly Pressure - Presión polifónica + Presión polifónica Controller - Caontrolador + Caontrolador Program Change - Cambio de programa + Cambio de programa After Touch - After Touch + After Touch Pitch Bend - Rueda de bend + Rueda de bend Sysex - Sistema exclusivo + Sistema exclusivo Thru Filter - Filtro Thru + Filtro Thru Controller Filter - Filtrar controlador + Filtrar controlador Channel Filter - Filtro de canal + Filtro de canal 14 - 14 + 14 10 - 10 + 10 6 - 6 + 6 12 - 12 + 12 4 - 4 + 4 2 - 2 + 2 9 - 9 + 9 8 - 8 + 8 3 - 3 + 3 13 - 13 + 13 15 - 15 + 15 16 - 16 + 16 7 - 7 + 7 11 - 11 + 11 5 - 5 + 5 1 - 1 + 1 MidiInputTransformDialog - - New - Nueva + Nueva @@ -7736,17 +6608,17 @@ clase de controladores en la lista de MusE. MusE: Midi Input Transformator - MusE: Transformador de entrada MIDI + MusE: Transformador de entrada MIDI Filter - Filtrar + Filtrar All - Todo + Todo @@ -7755,7 +6627,7 @@ clase de controladores en la lista de MusE. Equal - Igual + Igual @@ -7764,55 +6636,55 @@ clase de controladores en la lista de MusE. Unequal - Diferente + Diferente Note - Nota + Nota Poly Pressure - Presión polifóica + Presión polifóica Control Change - Cambio de control + Cambio de control Aftertouch - AfterTouch + AfterTouch Pitch Bend - Rueda de modulación + Rueda de modulación NRPN - NRPN + NRPN RPN - RPN + RPN Value 2 - Valor 2 + Valor 2 @@ -7821,13 +6693,13 @@ clase de controladores en la lista de MusE. Value 1 - Valor 1 + Valor 1 Event Type - Tipo de Evento + Tipo de Evento @@ -7835,7 +6707,7 @@ clase de controladores en la lista de MusE. Ignore - Ignorar + Ignorar @@ -7843,7 +6715,7 @@ clase de controladores en la lista de MusE. Higher - Mayor + Mayor @@ -7851,7 +6723,7 @@ clase de controladores en la lista de MusE. Lower - Menor + Menor @@ -7859,7 +6731,7 @@ clase de controladores en la lista de MusE. Inside - Entre + Entre @@ -7867,24 +6739,24 @@ clase de controladores en la lista de MusE. Outside - Fuera + Fuera Channel - Canal + Canal Port - Puerto + Puerto Processing - Procesando + Procesando @@ -7893,7 +6765,7 @@ clase de controladores en la lista de MusE. Keep - Mantener + Mantener @@ -7902,7 +6774,7 @@ clase de controladores en la lista de MusE. Fix - Arreglar + Arreglar @@ -7910,7 +6782,7 @@ clase de controladores en la lista de MusE. Plus - Más + Más @@ -7918,7 +6790,7 @@ clase de controladores en la lista de MusE. Minus - Menos + Menos @@ -7926,7 +6798,7 @@ clase de controladores en la lista de MusE. Multiply - Multiplicar + Multiplicar @@ -7934,7 +6806,7 @@ clase de controladores en la lista de MusE. Divide - Dividir + Dividir @@ -7942,17 +6814,17 @@ clase de controladores en la lista de MusE. Invert - Invertir + Invertir ScaleMap - Mapa de escalado + Mapa de escalado Flip - cambiar + cambiar @@ -7960,7 +6832,7 @@ clase de controladores en la lista de MusE. Dyn - Dinámico + Dinámico @@ -7968,102 +6840,102 @@ clase de controladores en la lista de MusE. Random - Aleatorio + Aleatorio Modules - Módulos + Módulos 1 - 1 + 1 2 - 2 + 2 3 - 3 + 3 4 - 4 + 4 enable modul 1 - habilitar módulo 1 + habilitar módulo 1 enable modul 2 - habilitar módulo 2 + habilitar módulo 2 enable modul 3 - habilitar módulo 3 + habilitar módulo 3 enable modul 4 - habilitar módulo 4 + habilitar módulo 4 Preset - Preselección + Preselección Name: - Nombre: + Nombre: Comment: - Comentario: + Comentario: Function - Función + Función &New - &Nueva + &Nueva create new preset - crea nueva preselección + crea nueva preselección &Delete - &Borrar + &Borrar delete preset - borra la preselección + borra la preselección &Dismiss - &Ocultar + &Ocultar PresetList - Lista de Preselecciones + Lista de Preselecciones @@ -8251,87 +7123,87 @@ clase de controladores en la lista de MusE. MusE: Midi Sync - MusE: Sincronización MIDI + MusE: Sincronización MIDI Apply - Aplicar + Aplicar Ok - Aceptar + Aceptar Cancel - Cancelar + Cancelar hour - hora + hora h - h + h minute - minuto + minuto m - m + m second - segundo + segundo s - s + s frame - frame + frame f - f + f subframe - sub-frame + sub-frame 24 - 24 + 24 25 - 25 + 25 30D - 30D + 30D 30N - 30N + 30N Id: @@ -8400,17 +7272,17 @@ clase de controladores en la lista de MusE. MTC - MTC + MTC Type: - Tipo: + Tipo: Offset: - Desplazamiento: + Desplazamiento: @@ -8501,12 +7373,12 @@ Enabled inputs in the list will MusE: TrackInfo - MusE: Información de pista + MusE: Información de pista output channel - canal de salida + canal de salida all midi events are send to this output channel @@ -8520,7 +7392,7 @@ Enabled inputs in the list will % - % + % Track Name @@ -8529,7 +7401,7 @@ Enabled inputs in the list will output port - puerto de salida + puerto de salida @@ -8545,7 +7417,7 @@ Enabled inputs in the list will off - apagado + apagado change stereo position @@ -8570,7 +7442,7 @@ Enabled inputs in the list will Transp. - Transposición + Transp. Volume @@ -8579,7 +7451,7 @@ Enabled inputs in the list will Channel Info - Información de Canal + Información de Canal @@ -8599,27 +7471,27 @@ Enabled inputs in the list will Pan - Balance + Balance Delay - Delay + Delay H-Bank - Banco-H + Banco-H Compr. - Compr. + Compr. L-Bank - Banco-L + Banco-L Progr. @@ -8628,12 +7500,12 @@ Enabled inputs in the list will Velocity - Velocidad + Velocidad Length - Longitud + Longitud input ports @@ -8688,7 +7560,7 @@ Puedes especificar más de un canal para grabar: output routing - ruteado de entrada + ruteado de entrada @@ -8740,7 +7612,7 @@ Puedes especificar más de un canal para grabar: All - Todo + Todo @@ -8789,48 +7661,48 @@ Puedes especificar más de un canal para grabar: MusE: Midi Transformator - MusE: Transformador MIDI + MusE: Transformador MIDI &New - &Nueva + &Nueva &Delete - &Borrar + &Borrar &Apply - &Aplicar + &Aplicar &OK - Ac&eptar + Ac&eptar &Cancel - &Cancelar + &Cancelar PresetList - Lista de preselecciones + Lista de preselecciones Processing - Procesando + Procesando Event Type - Tipo de evento + Tipo de evento @@ -8839,7 +7711,7 @@ Puedes especificar más de un canal para grabar: Keep - Mantener + Mantener @@ -8847,49 +7719,49 @@ Puedes especificar más de un canal para grabar: Fix - Arreglar + Arreglar Note - Nota + Nota Poly Pressure - Presión polifónica + Presión polifónica Control Change - Cambio de control + Cambio de control Aftertouch - AfterTouch + AfterTouch Pitch Bend - Rueda de modulación + Rueda de modulación NRPN - NRPN + NRPN RPN - RPN + RPN @@ -8897,7 +7769,7 @@ Puedes especificar más de un canal para grabar: Plus - Más + Más @@ -8905,7 +7777,7 @@ Puedes especificar más de un canal para grabar: Minus - Menos + Menos @@ -8913,7 +7785,7 @@ Puedes especificar más de un canal para grabar: Multiply - Multiplicar + Multiplicar @@ -8921,70 +7793,70 @@ Puedes especificar más de un canal para grabar: Divide - Dividir + Dividir Value 2 - Valor 2 + Valor 2 Invert - Invertir + Invertir ScaleMap - Escalado de mapa + Escalado de mapa Flip - Cambiar + Cambiar Dyn - Dyn + Dyn Random - Aleatorio + Aleatorio Value 1 - Valor 1 + Valor 1 Length - Longitud + Longitud Position - Posición + Posición Filter - Filtro + Filtro All - Todo + Todo @@ -8993,7 +7865,7 @@ Puedes especificar más de un canal para grabar: Equal - Igual + Igual @@ -9002,7 +7874,7 @@ Puedes especificar más de un canal para grabar: Unequal - Diferente + Diferente @@ -9010,7 +7882,7 @@ Puedes especificar más de un canal para grabar: Ignore - Ignora + Ignora @@ -9018,7 +7890,7 @@ Puedes especificar más de un canal para grabar: Higher - Mayor + Mayor @@ -9026,7 +7898,7 @@ Puedes especificar más de un canal para grabar: Lower - Menor + Menor @@ -9034,7 +7906,7 @@ Puedes especificar más de un canal para grabar: Inside - Entre + Entre @@ -9042,101 +7914,99 @@ Puedes especificar más de un canal para grabar: Outside - Fuera + Fuera Bar Range - Rango de compases + Rango de compases Preset - Preselección + Preselección Name: - Nombre: + Nombre: Comment: - Comentario: + Comentario: Range - Rango + Rango process all events - procesar todos los eventos + procesar todos los eventos selected tracks - seleccionar pistas + seleccionar pistas inside loop - dentro de bucle + dentro de bucle Function - Función + Función Select - Seleccionar + Seleccionar Quantize - Cuantizar + Cuantizar Delete - Borrar + Borrar Transform - Transformar + Transformar Insert - Insertar + Insertar Copy - Copiar + Copiar Extract - Extraer + Extraer Quantize Value - Cuantizar valor + Cuantizar valor MidiTransformerDialog - - New - Nueva + Nueva @@ -9151,62 +8021,62 @@ Puedes especificar más de un canal para grabar: MusE: Set Mixdown Wavefile - MusE: Selecciona el archivo de Masterización + MusE: Selecciona el archivo de Masterización &OK - &Aceptar + &Aceptar &Cancel - &Cancelar + &Cancelar File Path - Directorio del archivo + Directorio del archivo Channel - Canal + Canal Stereo - Estéreo + Estéreo Mono - Mono + Mono 5.1 - 5.1 + 5.1 wav,16 Bit - wav, 16 bits + wav, 16 bits wav, 24 Bit - wav, 24 bits + wav, 24 bits wav, 32 Bit (float) - wav, 32 bits + wav, 32 bits Format - Formato + Formato @@ -9254,17 +8124,17 @@ Puedes especificar más de un canal para grabar: Range - Rango + Rango All Events - Todos los eventos + Todos los eventos Selected Events - Eventos seleccionados + Eventos seleccionados @@ -9279,7 +8149,7 @@ Puedes especificar más de un canal para grabar: Value - Valor + Valor @@ -9294,12 +8164,12 @@ Puedes especificar más de un canal para grabar: OK - Aceptar + Aceptar Cancel - Cancelar + Cancelar @@ -9946,708 +8816,729 @@ falló MusEApp::MusE - - - Failed to start audio! - + Und&o + &Deshacer - - Was not able to start audio, check if jack is running. - - + Re&do + &Rehacer - - Timeout waiting for audio to run. Check if jack is running. - - + undo last change to song + deshace el ltimo cambio en la canción - - Und&o - &Deshacer - - - - Re&do - &Rehacer - - - - undo last change to song - deshace el ltimo cambio en la canción - - - redo last undo - rehace el ltimo deshacer + rehace el ltimo deshacer - Loop - Bucle + Bucle - Punchin - Pinchar + Pinchar - Punchout - Fin pinchado - - - - Start - + Fin pinchado - Rewind - Retroceder + Retroceder - Forward - Avanzar + Avanzar - Stop - Parar + Parar - Play - Reproducir + Reproducir - Record - Grabar + Grabar - - Panic - Pánico - - - - &New - + Pánico - &Open - &Abrir + &Abrir - Open &Recent - Abrir &Recientes + Abrir &Recientes - - - &Save - &Guardar + &Guardar - Save &As - Guardar c&omo + Guardar c&omo - Import Midifile - Importar archivo MIDI + Importar archivo MIDI - Export Midifile - Exportar archivo MIDI - - - - Import Part - + Exportar archivo MIDI - - Import Wave File - Importar archivo de audio - - - - Find unused wave files - + Importar archivo de audio - &Quit - &Salir - - - - Song Info - + &Salir - Transport Panel - Panel de transporte - - - - Bigtime Window - - - - - Mixer A - - - - - Mixer B - + Panel de transporte - Cliplist - Lista de Clips - - - - Marker View - - - - - Arranger View - - - - - Fullscreen - - - - - &Plugins - - - - - Edit Instrument - + Lista de Clips - Input Plugins - Plugins e entrada + Plugins e entrada - Transpose - Transponer + Transponer - Midi Input Transform - Transformación de entrada MIDI + Transformación de entrada MIDI - Midi Input Filter - Filtrado de entrada MIDI + Filtrado de entrada MIDI - Midi Remote Control - Control remoto MIDI - - - - Rhythm Generator - + Control remoto MIDI - Reset Instr. - Reinicializa Instrumento + Reinicializa Instrumento - Init Instr. - Inicializa Instruemnto - - - - Local Off - + Inicializa Instruemnto - Bounce to Track - Rebotar a pista + Rebotar a pista - Bounce to File - Rebotar a Archivo + Rebotar a Archivo - - Restart Audio - + Global Settings + Selecciones Globales - - Mixer Automation - + Follow Song + seguir canción - - Take Snapshot - + Don't Follow Song + no sigas la canción - - Clear Automation Data - + Follow Page + sigue la página - - Cascade - + Follow Continuous + sigue contínuamente - - Tile - + Metronome + Metrónomo - - In rows - + Midi Sync + Sincronización MIDI - - In columns - + Appearance Settings + Selecciones de apariencia - - Global Settings - Selecciones Globales + Transport + Transporte - - Configure Shortcuts - + &Midi + &MIDI - - Follow Song - seguir canción + &Audio + &Audio - - Don't Follow Song - no sigas la canción + &Help + A&yuda - - Follow Page - sigue la página + MusE: Song: + MusE: Canción: - - Follow Continuous - sigue contínuamente + MusE: load project + MusE: Carga proyecto - - Metronome - Metrónomo + MusE: Write File failed + MusE: La captura del archivo ha fallado - - Midi Sync - Sincronización MIDI + The current Project contains unsaved data +Save Current Project? + El proyecto actual contiene datos no guardados +Guardamos el proyecto actual? - - Midi File Import/Export - + &Cancel + &Cancelar - - Appearance Settings - Selecciones de apariencia + MusE: Save As + MusE: Guardar como - - Midi Ports / Soft Synth - + Nothing to edit + Nada para editar - - &Manual - + MusE: Bounce to Track + MusE: Rebotar a la pista - - &MusE Homepage - + The current Project contains unsaved data +Load overwrites current Project: +Save Current Project? + El proyecto actual contine datos no guardados +Cargar sobreescribe el proyecto actual: +Guardar el proyecto actual? - - &Report Bug... - + &Abort + &Abortar - - &About MusE - + MusE: Export Midi + MusE: Exportar MIDI - - File Buttons - + no help found at: + no se ha encontrado ayuda en: - - Undo/Redo - + MusE: Open Help + MusE: Abre ayuda - - Transport - Transporte + MusE: Import Midi + MusE: Importar MIDI - - &File - + reading midifile + + leyendo archivo midi + - - &View - + +failed: + +falló + + + MusEArranger::Arranger - - &Midi - &MIDI + Enable Recording + Habilita captura - - &Audio - &Audio + Solo Indicator + Indicador de solo - - A&utomation - + Track Type + Tipo de pista - - &Windows - + Time Lock + Bloqueo de tiempo - - MusE Se&ttings - + Arranger + Arreglador - - &Help - A&yuda + Cursor + Cursor - - Cannot read template - + Snap + Snap - - File open error - + Type + Tipo - - File read error - + NO + No - - Unknown File Format: - + GM + GM - - - - MusE: Song: - MusE: Canción: + GS + GS - - MusE: load project - MusE: Carga proyecto + XG + XG - - MusE: load template - + midi song type + tipo de canción midi - - MusE: Write File failed - MusE: La captura del archivo ha fallado + Pitch + Tono - - The current Project contains unsaved data -Save Current Project? - El proyecto actual contiene datos no guardados -Guardamos el proyecto actual? + midi pitch + tono midi - - - S&kip - + global midi pitch shift + desplazamiento de tono midi - - &Cancel - &Cancelar + Tempo + Tempo - - - MusE: Save As - MusE: Guardar como + midi tempo + tempo midi - - - Nothing to edit - Nada para editar + N + N - - - - - - MusE: Bounce to Track - MusE: Rebotar a la pista + TrackInfo + Información de pista - - No wave tracks found - + R + R - - - No audio output tracks found - + M + M - - Select one audio output track, -and one target wave track - + S + S - - Select one target wave track - + C + C - - Select one target wave track, -and one audio output track - + Track + Pista - - - MusE: Bounce to File - + Port + Puerto - - Select one audio output track - + T + T + + + MusEArranger::ArrangerView - - MusE: Bounce - + panic + pánico - - set left/right marker for bounce range - + C&ut + C&ortar - - The current Project contains unsaved data -Load overwrites current Project: -Save Current Project? - El proyecto actual contine datos no guardados -Cargar sobreescribe el proyecto actual: -Guardar el proyecto actual? + &Copy + &Copiar - - - &Abort - &Abortar + &Paste + &Pegar - - MusE: Export Midi - MusE: Exportar MIDI + Add Track + Agregar Pista - - no help found at: - no se ha encontrado ayuda en: + Select + Seleccionar - - MusE: Open Help - MusE: Abre ayuda + Select &All + Seleccion&ar Todo - - Unable to launch help - + &Deselect All + &Deseleccionar Todo - - For some reason MusE has to launch the default -browser on your machine. - + Invert &Selection + Invertir &Selección - - MusE: Import Midi - MusE: Importar MIDI + &Inside Loop + &Interior de bucle - - Add midi file to current project? - - + &Outside Loop + &Exterior de Bucle - - &Add to Project - + All &Parts on Track + Todas las &Partes de la pista - - &Replace - + Score + Partitura - - reading midifile - - leyendo archivo midi - + Pianoroll + Pianola - - -failed: - -falló + Drums + Percusión - - Import part is only valid for midi and wave tracks! - + List + Lista - - MusE: load part - + Wave + Audio - - No track selected for import - + Mastertrack + Pista Maestra - - out of + Graphic + Gráfico + + + Midi &Transform + &Transformación MIDI + + + Global Cut + Corte global + + + Global Insert + Inserción Global + + + Global Split + Partición Global + + + &Edit + &Editar + + + &Structure + E&structura + + + Functions + Funciones + + + Transpose + Transponer + + + + MusEArranger::PartCanvas + + Cannot copy/move/clone to different Track-Type + No puedo copiar/mover/clonar a un tipo diferente de pista + + + C&ut + C&ortar + + + &Copy + &Copiar + + + rename + renombrar + + + color + color + + + delete + borrar + + + split + partir + + + de-clone + des-clonar + + + wave edit + editar onda + + + Cannot paste: multiple tracks selected + No puedo pegar: mtilpes pistas seleccionadas + + + Cannot paste: no track selected + No puedo pegar: No hay pista seleccionada + + + Cannot paste: wrong data type + No puedo pegar: Tipo de datos equivocado + + + + MusEArranger::TList + + show gui + mostrar gui + + + Delete Track + Borrar pista + + + Midi + MIDI + + + Drum + Percusión + + + + MusECore::Song + + + Jack shutdown! - parts + Jack has detected a performance problem which has lead to +MusE being disconnected. +This could happen due to a number of reasons: +- a performance issue with your particular setup. +- a bug in MusE (or possibly in another connected software). +- a random hiccup which might never occur again. +- jack was voluntary stopped by you or someone else +- jack crashed +If there is a persisting problem you are much welcome to discuss it +on the MusE mailinglist. +(there is information about joining the mailinglist on the MusE + homepage which is available through the help menu) + +To proceed check the status of Jack and try to restart it and then . +click on the Restart button. + + + + + + Automation: + + + + + previous event + + + + + next event + + + + + + set event + + + + + + add event + + + + + + erase event + + + + + erase range + + + + + clear automation + + + + + Clear all controller events? - part + &Ok + Ac&eptar + + + + &Cancel + &Cancelar + + + + MusE - external script failed - could not be imported. -Likely the track is the wrong type. + MusE was unable to launch the script, error message: +%1 + + + MusEGui::Appearance - - to import an audio file you have first to selecta wave track + + Main application font, and default font for any + controls not defined here. - - Import Wavefile + + For small controls like mixer strips. +Also timescale small numbers, arranger part name overlay, + and effects rack. - This wave file has a samplerate of %1, -as opposed to current setting %2. -Do you still want to import it? + Midi track info panel. Transport controls. - - &Yes + + Controller graph and S/X buttons. Large numbers for time + and tempo scale, and time signature. + + + + + Time scale markers. + + + + + List editor: meta event edit dialog multi-line edit box. + + + + + Mixer label font. Auto-font-sizing up to chosen font size. +Word-breaking but only with spaces. + + + + + Maximum mixer label auto-font-sizing font size. + + + + + Global opacity (opposite of transparency). + + + + + Standard + + + + + Custom + + + + + MusE: load image + MusE: carga imagen + + + + Select style sheet - &No + Qt style sheets (*.qss) - MusEArranger::Arranger + MusEGui::Arranger - + Enable Recording - Habilita captura + Habilita captura @@ -10657,12 +9548,12 @@ Do you still want to import it? Solo Indicator - Indicador de solo + Indicador de solo Track Type - Tipo de pista + Tipo de pista @@ -10682,7 +9573,7 @@ Do you still want to import it? Time Lock - Bloqueo de tiempo + Bloqueo de tiempo @@ -10754,125 +9645,135 @@ Right-click to show GUI. Arranger - Arreglador + Arreglador Cursor - Cursor + Cursor - - Snap - Snap + + Off + - - Len + + Bar - - + + Snap + Snap + + + + Len + + + + + song length - bars Type - Tipo + Tipo NO - No + No GM - GM + GM GS - GS + GS XG - XG + XG midi song type - tipo de canción midi + tipo de canción midi Pitch - Tono + Tono midi pitch - tono midi + tono midi global midi pitch shift - desplazamiento de tono midi + desplazamiento de tono midi Tempo - Tempo + Tempo midi tempo - tempo midi + tempo midi N - N + N TrackInfo - Información de pista + Información de pista R - R + R M - M + M S - S + S C - C + C Track - Pista + Pista Port - Puerto + Puerto @@ -10882,7 +9783,7 @@ Right-click to show GUI. T - T + T @@ -10896,7 +9797,7 @@ Right-click to show GUI. - MusEArranger::ArrangerView + MusEGui::ArrangerView MusE: Arranger @@ -10910,7 +9811,7 @@ Right-click to show GUI. panic - pánico + pánico @@ -10920,12 +9821,12 @@ Right-click to show GUI. C&ut - C&ortar + C&ortar &Copy - &Copiar + &Copiar @@ -10935,7 +9836,7 @@ Right-click to show GUI. &Paste - &Pegar + &Pegar @@ -10980,47 +9881,47 @@ Right-click to show GUI. Add Track - Agregar Pista + Agregar Pista Select - Seleccionar + Seleccionar Select &All - Seleccion&ar Todo + Seleccion&ar Todo &Deselect All - &Deseleccionar Todo + &Deseleccionar Todo Invert &Selection - Invertir &Selección + Invertir &Selección &Inside Loop - &Interior de bucle + &Interior de bucle &Outside Loop - &Exterior de Bucle + &Exterior de Bucle All &Parts on Track - Todas las &Partes de la pista + Todas las &Partes de la pista Score - Partitura + Partitura @@ -11040,68 +9941,68 @@ Right-click to show GUI. Pianoroll - Pianola + Pianola Drums - Percusión + Percusión List - Lista + Lista Wave - Audio + Audio Mastertrack - Pista Maestra + Pista Maestra Graphic - Gráfico + Gráfico Midi &Transform - &Transformación MIDI + &Transformación MIDI Global Cut - Corte global + Corte global Global Insert - Inserción Global + Inserción Global Global Split - Partición Global + Partición Global &Edit - &Editar + &Editar &Structure - E&structura + E&structura Functions - Funciones + Funciones @@ -11126,7 +10027,7 @@ Right-click to show GUI. Transpose - Transponer + Transponer @@ -11159,3475 +10060,3740 @@ Right-click to show GUI. - + New - MusEArranger::PartCanvas - - - Cannot copy/move/clone to different Track-Type - No puedo copiar/mover/clonar a un tipo diferente de pista - + MusEGui::AudioMixerApp - - C&ut - C&ortar + + &Create + &Crear - &Copy - &Copiar - - - - s&elect + &View - - clones + + Routing - - - rename - renombrar - - - - color - color - - delete - borrar - - - - split - partir - - - - glue + Show Midi Tracks - - de-clone - des-clonar + + Show Drum Tracks + - - - - save part to disk + + Show Wave Tracks - - wave edit - editar onda + + Show Inputs + - - file info + + Show Outputs - - MusE: save part + + Show Groups - - Part name + + Show Auxs - - Files + + Show Synthesizers + + + MusEGui::AudioStrip - - out of + + panorama - - parts + + aux send level - - part + + Pan - - could not be pasted. -Likely the selected track is the wrong type. - + + 1/2 channel + Canales 1/2 - - Cannot paste: multiple tracks selected - No puedo pegar: mtilpes pistas seleccionadas + + Pre + Pre - - Cannot paste: no track selected - No puedo pegar: No hay pista seleccionada + + pre fader - post fader + pre fader - port fader - - Can only paste to midi/drum track - + + dB + dB - - Can only paste to wave track - + + record + grabar - Can only paste to midi or wave track - + mute + silencio - - Cannot paste: wrong data type - No puedo pegar: Tipo de datos equivocado + + record downmix + downmix de captura - - - MusEArranger::TList - - <none> + + + solo mode - - no clef - + + off + apagado - - Treble + + iR - Bass + input routing - - Grand + + oR - - MusE: bad trackname - + + output routing + ruteado de entrada - - please choose a unique track name + + Off - - - Update drummap? + + Read - - Do you want to use same port for all instruments in the drummap? + + Touch - - &Yes + Write - - - &No + + automation type + + + MusEGui::BigTime - - - show gui - mostrar gui - - - - - show native gui + + format display - - Treble clef + + bar - Bass clef + beat - Grand Staff + + tick - - Viewable automation - + + minute + minuto - - Delete Track - Borrar pista + + second + segundo - Track Comment - + + frame + frame - - Insert Track - + + subframe + sub-frame - - Midi - MIDI + + MusE: Bigtime + MusE: Big Time + + + MusEGui::ClipListEdit - - Drum - Percusión + + MusE: Clip List Editor + MusE: Editor de lista de clips - - Do you want to use same port and channel for all instruments in the drummap? + + Undo/Redo tools - - - MusEDialog::PasteDialog - - - %n quarter(s) - - - + + + panic + pánico - - quarter + + transport - - quarters + + Window &Config - MusEDialog::PasteEventsDialog - - - %n quarter(s) - - - - - - - quarter - - + MusEGui::ComboQuant - - quarters + + + + Off - MusEMixer::AudioMixerApp + MusEGui::CtrlPanel - - &Create - &Crear + + S + S - - &View + + select controller + selecciona controlador + + + + X - - Routing - + + remove panel + quitar panel - - Show Midi Tracks + + manual adjust - - Show Drum Tracks + + double click on/off - Show Wave Tracks - - - - - Show Inputs - + off + apagado - - Show Outputs - + + + Velocity + Velocidad - - Show Groups + + add new ... - - Show Auxs + + + Instrument-defined - - Show Synthesizers + + + Add ... - - - MusEMixer::AudioStrip - - panorama + + Others - - aux send level + + Edit instrument ... - - Pan + + Common Controls + + + MusEGui::DrumEdit - - 1/2 channel - Canales 1/2 + + + mute instrument + silenciar instrumento - - Pre - Pre + + + sound name + nombre del sonido - - pre fader - post fader - pre fader - port fader + + + volume percent + - - dB - dB + + + quantisation + cuantización - - record - grabar + + + this input note triggers the sound + ensta nota de entrada dispara el sonido - - mute - silencio + + + note length + longitud de nota - - record downmix - downmix de captura + + + this is the note which is played + - - - solo mode + + output channel (hold ctl to affect all rows) - - off - apagado + + output port (hold ctl to affect all rows) + - - iR + + + shift + control key: draw velocity level 1 - - input routing + + + control key: draw velocity level 2 - - oR + + + shift key: draw velocity level 3 - - output routing - ruteado de entrada + + + draw velocity level 4 + - - Off + + output channel (ctl: affect all rows) - Read + output port (ctl: affect all rows) - - Touch + + &File + + + Load Map + Carga Mapa + - Write - + Save Map + Guarda Mapa - - automation type + + Reset GM Map - - - MusEMixer::EffectRack - - effect rack - rack de efectos + + &Edit + &Editar - - new - nuevo + + Cut + Cortar - change - cambiar + Copy + Copiar - move up - subir + Copy events in range + - move down - bajar + Paste + Pegar - remove - quitar + Paste (with Dialog) + - - bypass - saltar + + Delete Events + - - show gui - mostrar gui + + &Select + &Seleccionar - - show native gui + + Select All - save preset + Select None - - MusE: Save Preset - + + Invert + Invertir - - Replace effect + + Inside Loop - - Do you really want to replace the effect %1? + + Outside Loop - - - MusEMixer::MidiStrip - - - - off - apagado + + Previous Part + - - - double click on/off + + Next Part - - VariationSend + + Fu&nctions - - Var - Var + + Re-order list + - - ReverbSend + + Set Fixed Length - - Rev - Rev + + Modify Velocity + - ChorusSend + Crescendo/Decrescendo - - Cho - Cho + + Quantize + Cuantizar - - dB - dB + + Erase Event + - - Pan/Balance + + Move Notes - - Pan + + Delete Overlaps - record - grabar + &Plugins + - - mute - silencio + + Window &Config + - - solo mode + + Drum tools - - iR - + + Load Drummap + Cargar mapa de percusión - - input routing + + Store Drummap + Guardar mapa de percusión + + + + Step Record - oR + Midi Input + Entrada MIDI + + + + cursor tools - output routing - ruteado de entrada + Set step size for cursor edit + - - - MusEWidget::BigTime - - format display + + panic + pánico + + + + transport - - bar + + ctrl + control + + + + Add Controller View + + + M + M + - beat + Sound + Sonido + + + + Vol - - tick + QNT + QNT + + + + E-Note + Nota-E + + + + Len - - minute - minuto + + A-Note + Nota-A - second - segundo + Ch + - - frame - frame + Port + Puerto - - subframe - sub-frame + + LV1 + VL1 - - MusE: Bigtime - MusE: Big Time + + LV2 + VL2 - - - MusEWidget::EditToolBar - - Edit Tools - Editar herramientas + + LV3 + VL3 - - - MusEWidget::GlobalSettingsConfig - - Selects instruments directory + + LV4 + VL4 + + + + Muse: Load Drum Map + MusE: Cargar mapa de percusión + + + + MusE: Store Drum Map + MusE: Guardar mapa de percusión + + + + Drum map - - - MusEWidget::Header - - Track Info Columns + + Reset the drum map with GM defaults? - MusEWidget::MTScale + MusEGui::EditCAfterDialog - - bar scale - escala de compases + + MusE: Enter Channel Aftertouch + MusE: Introduce el AfterTouch del canal - - - MusEWidget::MTScaleFlo - - bar scale - escala de compases + + Time Position + Posición de tiempo + + + + Pressure + Presión - MusEWidget::MidiSyncConfig + MusEGui::EditEventDialog - - - Port Number - Número de puerto + + Ok + Aceptar - - - Name of the midi device associated with this port number - Nombre del dispositivo MIDI asociado con este número de puerto + + Cancel + Cancelar + + + MusEGui::EditInstrument - - Midi clock input detected + + + MusE: Create file failed - - - Midi tick input detected + + MusE: Write File failed + MusE: La captura del archivo ha fallado + + + + + + + MusE: - - Midi real time input detected + + + The user instrument directory +%1 +does not exist yet. Create it now? + - - MMC input detected + + + (You can change the user instruments directory at Settings->Global Settings->Midi) - - MTC input detected + + + Unable to create user instrument directory '%1' - - Detected SMPTE format + + + MusE: Save Instrument Definition - - Receive id number. 127 = Global. Double click to edit. + + + Instrument Definition (*.idf) - - Accept midi clock input + + + MusE: Save instrument as - - Accept midi real time input + + Enter a new unique instrument name: - - Accept MMC input + + The user instrument '%1' already exists. This will overwrite its .idf instrument file. +Are you sure? - - Accept MTC input + + MusE: Bad instrument name - Receive start rewinds before playing + Please choose a unique instrument name. +(The name might be used by a hidden instrument.) - - Transmit id number. 127 = Global. Double click to edit. + + MusE: Bad patch name - Send midi clock output + Please choose a unique patch name - - Send midi realtime output + + MusE: Bad patchgroup name - - Send MMC output + Please choose a unique patchgroup name - - - Send MTC output + + MusE: Bad controller name - - Midi clock input detected. -Current port actually used is red. -Click to force a port to be used. + + Please choose a unique controller name - - Midi realtime input detected, including - start/stop/continue, and song position. + + + MusE: Cannot add common controller - - MMC input detected, including stop/play/deferred play, and locate. + + A controller named '%1' already exists. - - MTC input detected, including forward quarter-frame sync and full-frame locate. -Current port actually used is red. Click to force a port to be current. + + A controller number %1 already exists. - - Detected SMPTE format: 24fps, 25fps, 30fps drop frame, or 30fps non-drop -Detects format of MTC quarter and full frame, and MMC locate. - + + + MusE + MusE - - Receive id number. 127 = global receive all, even if not global. + + + The current Instrument contains unsaved data +Save Current Instrument? - - Accept midi clock input. Only one input is used for clock. -Auto-acquire: If two or more port realtime inputs are enabled, - the first clock detected is used, until clock is lost, - then another can take over. Best if each turns off its clock - at stop, so MusE can re-acquire the clock from another port. -Click on detect indicator to force another. - + + + &Save + &Guardar - - Accept midi realtime input, including - start/stop/continue, and song position. -Non-clock events (start,stop etc) are - accepted by ALL enabled ports. -This means you may have several master - devices connected, and muse will accept - input from them. - + + + &Nosave + &No Guardar + + + + &Abort + &Abortar + + + + MusEGui::EditMetaDialog + + + MusE: Enter Meta Event + MusE: Introduzca evento Meta + + + + Time Position + Posición de tiempo - Accept MMC input, including stop/play/deferred play, and locate. - + Meta Type + Tipo de Meta - - Accept MTC input, including forward quarter-frame sync and full-frame locate. -See 'rc' column for more help. + + Enter Hex + + + MusEGui::EditPAfterDialog + + + MusE: Enter Poly Aftertouch + Muse: Escribe el aftertouch polifónico + - When start is received, rewind before playing. -Note: It may be impossible to rewind fast - enough to synchronize with the external device. - + Time Position + Posición de tiempo - - Transmit id number. 127 = global transmit to all. - + + Pitch + Tono - - Send midi clock output. If 'Slave to External Sync' is chosen, - muse can re-transmit clock to any other chosen ports. - + + Pressure + Presión + + + + MusEGui::EditToolBar + + + select Pointer Tool: +with the pointer tool you can: + select parts + move parts + copy parts + selecciona la Herramienta de Puntero: +con la herramienta de puntero puedes: + seleccionar partes + mover partes + copiar partes + + + + select Pencil Tool: +with the pencil tool you can: + create new parts + modify length of parts + selecciona la Herramienta de Lápiz: +con la herramienta de lápiz puedes: + crear nuevas partes + modificar la longitud de las partes + + + + select Delete Tool: +with the delete tool you can delete parts + selecciona la Herramienta de Borrado: +con la herramienta de borrado puedes borrar partes - Send midi realtime output, including start/stop/continue, - and song position. If 'Slave to external sync' is chosen, - muse can re-transmit midi realtime input messages to any - other chosen ports. This means you may have several slave - devices connected, and muse can re-send realtime messages - to any or all of them. - + select Cut Tool: +with the cut tool you can split a part + selecciona la Herramienta de Corte: +con la herramienta de core puedes partir una parte - - Port - Puerto + + select Glue Tool: +with the glue tool you can glue two parts + selecciona la Herramienta de Pegado: +con la herramienta de pegado puedes unir dos partes - - Device Name - Nombre de dispositivo + + select Score Tool: + + selecciona la Herramienta de Partitura: + - c - + select Quantize Tool: +insert display quantize event + selecciona la Herramianta de Cuantización: +inserta un evento de cuantización de visualización + + + + select Drawing Tool + selecciona la Herramienta de Dibujo - k + select Muting Tool: +click on part to mute/unmute + selecciona la Herramienta de Silenciar: +haz click en una parte para silenciar/des-silenciar + + + + Manipulate automation - r + Cursor tool + + + pointer + puntero + - m - m + pencil + lápiz - t + eraser - type - + cutter + cortador - rid - + score + partitura - rc + glue - rr - + quantize + cuantizador - rm - + draw + dibujar - rt - + mute parts + silenciar partes - rw + edit automation - tid + cursor + + + Edit Tools + Editar herramientas + + + + MusEGui::EffectRack + + + effect rack + rack de efectos + + + + new + nuevo + - tc - + change + cambiar - tr - + move up + subir - tm - + move down + bajar - tt - + remove + quitar - - MusE - MusE + + bypass + saltar - Settings have changed -Apply sync settings? + show gui + mostrar gui + + + + show native gui - - &Apply - &Aplicar + + save preset + - - &No + + MusE: Save Preset - - &Abort - &Abortar + + Replace effect + - - <none> + + Do you really want to replace the effect %1? - MusEWidget::MidiTrackInfo + MusEGui::GlobalSettingsConfig - - - <unknown> + + Selects instruments directory - MusEWidget::MixdownFileDialog + MusEGui::Header - - Wave Files (*.wav);;All Files (*) - Archivos de onda (*.wav);;Todos los archivos(*) + + Track Info Columns + - MusEWidget::NoteInfo + MusEGui::LMaster - - Note Info - Información de nota + + MusE: Mastertrack + - - Start + + &Edit + &Editar + + + + Insert Tempo - - Len + + Insert Signature - - Pitch - Tono + + Insert Key + - - Velo On - Velocidad On + + Edit Positon + - - Velo Off - Velocidad Off + + Edit Value + - - - MusEWidget::RoutePopupMenu - - - - - - - - - Channel - Canal + + Delete Event + - - - - Soloing chain + + Window &Config - - - Audio returns + + Undo/Redo tools - - Warning: No midi input devices! + + Edit tools - Open midi config... - + Tempo + Tempo - - - <none> - + + Timesig + compás - - Toggle all + + Key - - More... - + + new tempo + nuevo tempo - - Audio sends + + new signature + nuevo compás + + + + new key + + + panic + pánico + - Midi port sends + transport - - - MusEWidget::ScrollScale - - next page - página siguiente + + Meter + Metrónomo - previous page - página anterior + Time + Tiempo - current page number - nuúmero de página actual + Type + Tipo - - - MusEWidget::ShortcutCaptureDialog - - Ok - Aceptar + + Value + Valor - - Cancel - Cancelar + + Reposition of the initial tempo and signature events is not allowed + - - Shortcut conflicts with + + MusE: List Editor - - Undefined + + Input error, conversion not OK or value out of range - - - MusEWidget::SigScale - - signature scale - Armadura de la escala + + Reposition of tempo and signature events to start position is not allowed! + - MusEWidget::Toolbar1 - - - Solo - Solo - + MusEGui::ListEdit - - Cursor - Cursor + + insert Note + insertar Nota - - Snap - Snap + + insert SysEx + insertar sistema exclusivo - - - MusEWidget::TrackComment - - MusE: Track Comment - MusE: Comentario de la pista + + insert Ctrl + insertar controlador - - Track Comment: - Comentario de la pista: + + insert Meta + insertar Meta - - - MusEWidget::VisibleTracks - - Visible track types - + + insert Channel Aftertouch + insertar AfterTouch de canal - - - MusEWidget::WTScale - bar scale - escala de compases + + insert Poly Aftertouch + insertar AfterTouch Polifónico - - - NoteInfo - Start - Inicio + + &Edit + &Editar - Len - Longitud + + Cut + Cortar - Pitch - Tono + + Copy + Copiar - Velo On - Velocidad On + + Paste + Pegar - Velo Off - Velocidad Off + + Delete Events + - Note Info - Información de nota + + Window &Config + - - - OrganGuiBase - - MusE: Organ - MusE: órgano + + Undo/Redo tools + - Presets - Preselecciones + + Insert tools + - Set - Pon + + panic + pánico - load preset list - cargar lista de preselecciones + + transport + - save preset list - guardar lista de preselecciones + + Tick + Tick - - O-1 - 0-1 + + Bar + - - Oscillator - Oscilador + + Type + Tipo - - Brass - Metales + + Ch + - - Reed - Reed + + Val A + Val A - - Flute - Flauta + + Val B + Val B - - Drawbars - Drawbars + + Val C + Val C - - 16' - 16' + + Len + - - 4' - 4' + + Comment + Comentario + + + MusEGui::MPConfig - - 2 2/3' - 2 2/3' + + + Default input connections + - - 2' - 2' + + + Are you sure you want to apply to all existing midi tracks now? + - - 8' - 8' + + + Default output connections + - - 5 1/3' - 5 1/3' + + + Setting will apply to new midi tracks. +Do you want to apply to all existing midi tracks now? + - - Envelope Lo - Envolvente Lo + + MusE: bad device name + - Attack(ms) - Ataque (ms) + + please choose a unique device name + - Decay(ms) - Decaimiento (ms) + + + in + - Sustain(%) - Sostenido (%) + + + out + - Release(ms) - Relajación (ms) + + Show first aliases + - - Envelope Hi - Envolvente Hi + + Show second aliases + - - - Release - Relajación + + + Toggle all + - - - Sustain - Sostenido + + + Change all tracks now + - - - Decay - Decaimiento + + Create Jack device + - - - Attack - Ataque + + + Port Number + Número de puerto - - - - - - - ms + + Enable gui - - - cB + + Enable reading - - Velocity - Velocidad + + Enable writing + - - - PageSettings - Paper Size - Tamaño del papel + + Port instrument + - user - usuario + + Midi device name. Click to edit (Jack) + - Margins - másgenes + + Connections from Jack Midi outputs + - Header - Cabecera + + Connections to Jack Midi inputs + - Title - Tódulo + + Auto-connect these channels to new midi tracks + - Author - Autor + + Auto-connect new midi tracks to these channels + - Fonts - Tipos + + Auto-connect new midi tracks to this channel + - Page No. - Página n + + Device state + - Measure No - Compás n + + Enable gui for device + - Track Name - Nombre de Pista + + Enable reading from device + - Lyrics - Letra + + Enable writing to device + - Layout - Disposición + + Name of the midi device associated with this port number. Click to edit Jack midi name. + - Scale - Escala + + Instrument connected to port + Instrumento conectado al puerto - Flags - Señalizadores + + Connections from Jack Midi output ports + - show page no. - muestra el número de página + + Connections to Jack Midi input ports + - show measure no. - muestra el número de compás + + Auto-connect these channels, on this port, to new midi tracks. + - show track name - muestra el nombre de la pista + + Connect new midi tracks to these channels, on this port. + - Ok - Aceptar + + Connect new midi tracks to this channel, on this port. + - Apply - Aplicar + + State: result of opening the device + Estado: resultado de abrir el puerto - Cancel - Cancelar + + Port + Puerto - left Margin - Margen izquierdo + + GUI + GUI - top Margin - Margen Superior + + I + - right Margin - Margen derecho + + O + - bottom Margin - Margen inferior + + Instrument + Instrumento - Bars across the Page - Barras a travéz de la página + + Device Name + Nombre de dispositivo - - - PartCanvas - C&ut - C&ortar + + In routes + - &Copy - &Copiar + + Out routes + - rename - renombrar + + Def in ch + - delete - borrar + + Def out ch + - split - partir + + State + Estado - glue - pegar + + <unknown> + - pianoroll - pianola + + + <none> + + + + MusEGui::MTScale - score - partitura + + bar scale + escala de compases + + + MusEGui::MTScaleFlo - list - lista + + bar scale + escala de compases + + + MusEGui::MarkerView - drums - percusión + + MusE: Marker + MusE: Marcador - Cannot copy/move/clone to different Track-Type - No puedo copiar/mover/clonar a un tipo diferente de pista + + add marker + Agregar marcador - color - color + + delete marker + borrar marcador - de-clone - des-clonar + + &Edit + &Editar - wave edit - editar onda + + Window &Config + - Cannot paste: multiple tracks selected - No puedo pegar: mtilpes pistas seleccionadas + + Undo/Redo tools + - Cannot paste: no track selected - No puedo pegar: No hay pista seleccionada + + edit tools + editar herramientas - Cannot paste midi parts to wave track - No puedo pegar MIDI en una pista de audio + + panic + pánico - Cannot paste wave parts to midi track - No puedo pegar audio en una pista MIDI + + transport + - Cannot paste: wrong data type - No puedo pegar: Tipo de datos equivocado + + Bar:Beat:Tick + Barra:Golpe:Tick - - - PasteDialogBase - - MusE: Paste Parts - + + Hr:Mn:Sc:Fr:Sf + Hr:Mn:Sg:Fr:Sf - - Number and raster - + + Lock + Bloquear - - insert - + + Text + Texto - - times - + + Marker Properties + Propiedades del marcador + + + MusEGui::MasterEdit - - raster + + MusE: Mastertrack - ticks + Window &Config - - Move, Merge, Clone + + Undo/Redo tools - - Move everything to the right + + panic + pánico + + + + transport - Move only affected parts to the right + Enable master - - Put everything into a single track + + Enable - - Merge with existing parts + + Enable usage of master track - - Insert as clones (where possible) - + + Info + Info - - OK - Aceptar + + Cursor + Cursor - - Cancel - Cancelar + + time at cursor position + tiempo en la posición del cursor - - - PasteEventsDialogBase - - MusE: Paste Events - + + tempo at cursor position + tempo en la posición del cursor - - Number and raster + + Off - - insert + + Bar - - times - + + Snap + Snap - - raster - + + CurPos + Posición del cursor - - - ticks - + + tempo at current position + tempo en la posición actual - - Paste options - + + time signature at current position + compás en la posición actual + + + MusEGui::MidiInputTransformDialog - - Always into existing parts + + + New + + + MusEGui::MidiStrip - - Never into existing parts - + + + + off + apagado - - Into existing parts if part has not -to be expanded by more than + + + double click on/off - - Put everything into the (selected) part + + VariationSend - - OK - Aceptar + + Var + Var - - Cancel - Cancelar + + ReverbSend + - - - PatchBay - MusE: ALSA MIDI Patch Bay - MusE: Panel de ruteado MIDI de ALSA + + Rev + Rev - - - PatchBayBase - ALSA Patch Bay - Panel de ruteado de ALSA + + ChorusSend + - - - PianoRoll - - &Edit - &Editar + + Cho + Cho - Cut - Cortar + + dB + dB - Copy - Copiar + + Pan/Balance + - Paste - Pegar + + Pan + - Delete Events - Borrar eventos + + record + grabar - Select All - Seleccionar Todo + + mute + silencio - Select None - De-seleccionar todo + + solo mode + - Invert - Invertir + + iR + - Inside Loop - Dentro del bucle + + input routing + - Outside Loop - Fuera del bucle + + oR + - - &Select - &Seleccionar + + output routing + ruteado de entrada + + + MusEGui::MidiSyncConfig - blue - azul + + + Port Number + Número de puerto - pitch colors - colores de tono + + + Name of the midi device associated with this port number + Nombre del dispositivo MIDI asociado con este número de puerto - velocity colors - colores de velocidad + + Midi clock input detected + - &Config - &Configurar + + + Midi tick input detected + - event color - color de eventos + + Midi real time input detected + - &Functions - &Funciones + + MMC input detected + - Over Quantize - Sobre cuantizar - - - Note On Quantize - Cuantizar inicio de nota - - - Note On/Off Quantize - Cuantizar inicio y final de nota - - - Iterative Quantize - Cuantización iterativa + + MTC input detected + - Pianoroll Tools - Herramientas de pianola + + Detected SMPTE format + - - Step Record - captura por pasos + + Receive id number. 127 = Global. Double click to edit. + - - Midi Input - Entrada MIDI + + Accept midi clock input + - - Play Events - Reproducir eventos + + Accept midi real time input + - - Add Controller View - Añade vista de controladores + + Accept MMC input + - Config Quant... - Configura cuantización... + + Accept MTC input + - Modify Gate Time - Modifica el tiempo de puerta + + Receive start rewinds before playing + - - Modify Velocity - Modifica la velocidad + + Transmit id number. 127 = Global. Double click to edit. + - Crescendo - Crescendo + + Send midi clock output + - - Transpose - Transponer + + Send midi realtime output + - Thin Out - Adelgazar + + + Send MMC output + - Erase Event - Borrar evento + + + Send MTC output + - Note Shift - Desplazar nota + + Midi clock input detected. +Current port actually used is red. +Click to force a port to be used. + - Move Clock - Mover reloj + + Midi realtime input detected, including + start/stop/continue, and song position. + - Copy Measure - Copiar compás + + MMC input detected, including stop/play/deferred play, and locate. + - Erase Measure - Vaciar compás + + MTC input detected, including forward quarter-frame sync and full-frame locate. +Current port actually used is red. Click to force a port to be current. + - Delete Measure - Borrar compás + + Detected SMPTE format: 24fps, 25fps, 30fps drop frame, or 30fps non-drop +Detects format of MTC quarter and full frame, and MMC locate. + - Create Measure - Crear compás + + Receive id number. 127 = global receive all, even if not global. + - - ctrl - control + + Accept midi clock input. Only one input is used for clock. +Auto-acquire: If two or more port realtime inputs are enabled, + the first clock detected is used, until clock is lost, + then another can take over. Best if each turns off its clock + at stop, so MusE can re-acquire the clock from another port. +Click on detect indicator to force another. + - - C&ut - C&ortar + + Accept midi realtime input, including + start/stop/continue, and song position. +Non-clock events (start,stop etc) are + accepted by ALL enabled ports. +This means you may have several master + devices connected, and muse will accept + input from them. + - &Copy - &Copiar + Accept MMC input, including stop/play/deferred play, and locate. + - - Copy events in range + + Accept MTC input, including forward quarter-frame sync and full-frame locate. +See 'rc' column for more help. - - &Paste - &Pegar + + When start is received, rewind before playing. +Note: It may be impossible to rewind fast + enough to synchronize with the external device. + - - &Paste (with dialog) + + Transmit id number. 127 = global transmit to all. - - Delete &Events + + Send midi clock output. If 'Slave to External Sync' is chosen, + muse can re-transmit clock to any other chosen ports. - - Select &All - Seleccion&ar Todo + + Send midi realtime output, including start/stop/continue, + and song position. If 'Slave to external sync' is chosen, + muse can re-transmit midi realtime input messages to any + other chosen ports. This means you may have several slave + devices connected, and muse can re-send realtime messages + to any or all of them. + - - &Deselect All - &Deseleccionar Todo + + Port + Puerto - - Invert &Selection - Invertir &Selección + + Device Name + Nombre de dispositivo - - &Inside Loop - &Interior de bucle + + c + - - &Outside Loop - &Exterior de Bucle + + k + - - &Previous Part + + r - - &Next Part - + + m + m - - Fu&nctions + + t - - Window &Config + + type - - &Event Color + + rid - - Quantize - Cuantizar + + rc + - - Modify Note Length + + rr - - Crescendo/Decrescendo + + rm - - Erase Events + + rt - - Move Notes + + rw - - Set Fixed Length + + tid - - Delete Overlaps + + tc - - Legato + + tr - - &Blue + + tm - - &Pitch colors + + tt - - &Velocity colors - + + MusE + MusE - - &Plugins + + Settings have changed +Apply sync settings? - - Pianoroll tools + + &Apply + &Aplicar + + + + &No - - panic - pánico + + &Abort + &Abortar - - transport + + <none> - PluginDialog + MusEGui::MidiTrackInfo - - Ok - Aceptar + + + <unknown> + + + + MusEGui::MidiTransformerDialog + - Cancel - Cancelar + New + + + + MusEGui::MixdownFileDialog - - MusE: select plugin - MusE: Selecciona el plugin + + Wave Files (*.wav);;All Files (*) + Archivos de onda (*.wav);;Todos los archivos(*) + + + MusEGui::MusE - - Lib - Lib + + + Failed to start audio! + - - Label - Etiqueta + + Was not able to start audio, check if jack is running. + + - - Name - Nombre + + Timeout waiting for audio to run. Check if jack is running. + + - - AI - AI + + Und&o + &Deshacer - - AO - AO + + Re&do + &Rehacer - - CI - CI + + undo last change to song + deshace el ltimo cambio en la canción - CO - CO + redo last undo + rehace el ltimo deshacer - - IP - IP + + Loop + Bucle - - id - id + + loop between left mark and right mark + hace un bucle entre las marcas de izquierda y derecha - - Maker - Fabricante + + Punchin + Pinchar - - Copyright - Copyright + + record starts at left mark + la captura comienza en la marca izquierda - - Stereo - Estéreo + + Punchout + Fin pinchado - - Mono - Mono + + record stops at right mark + la captura termina en la merca derecha - - Mono and Stereo + + Start - - Show All - + + rewind to start position + retrocede a la posición de inicio - - Select which types of plugins should be visible in the list.<br>Note that using mono plugins on stereo tracks is not a problem, two will be used in parallell.<br>Also beware that the 'all' alternative includes plugins that probably not are usable by MusE. - + + Rewind + Retroceder - - Search in 'Label' and 'Name': - + + rewind current position + retrasa la posición actual + + + + Forward + Avanzar + + + + move current position + mueve la posición actual + + + + Stop + Parar - - - PluginGui - - bypass plugin - saltar plugin + stop sequencer + para el secuenciador - - MusE: load preset - MusE: Cargar plantilla + + Play + Reproducir - - MusE: save preset - MusE: Guardar plantilla + + start sequencer play + inicia el secuenciador - - File Buttons - Archivar botones + + Record + Grabar - Load Preset - Cargar plantilla + to record press record and then play + para grabar pulsa grabar y después reproducir - Save Preset - Guardar plantilla + + Panic + Pánico - - Error reading preset. Might not be right type for this plugin + + send note off to all midi channels + envia un apagado de nota (note off) a todos los canales midi + + + + &New - - - PrinterConfig - MusE: Config Printer - MusE: Configuración de impresora + + + Create New Song + Crea una nueva canción - Print to file - Imprimir en archivo + + &Open + &Abrir - Print Command - Comando de impresión + + + Click this button to open a <em>new song</em>.<br>You can also select the <b>Open command</b> from the File menu. + Pulsa este botón para abrir una <em>nueva canción</em>Puedes usar también el comando <b>Abrir</b> del me de archivo. - Preview Command - Comando de previsualización + + Open &Recent + Abrir &Recientes - OK - Aceptar + + + + &Save + &Guardar - Cancel - Cancelar + + + Click this button to save the song you are editing. You will be prompted for a file name. +You can also select the Save command from the File menu. + Pulsa este botón para guardar la canción que está editando. Se te preguntará por un nombre de archivo. +Puedes seleccionar también el comando Guardar del men de Archivo. - - - ProjectCreate - - Create Project - + + Save &As + Guardar c&omo - - Project Name: - + + Import Midifile + Importar archivo MIDI - - Project Path to song file: - + + Export Midifile + Exportar archivo MIDI - - Create project folder (recommended for audio projects) + + Import Part - - Browse - + + + Import Wave File + Importar archivo de audio - - Song information: + + Find unused wave files - - - QHeader - Port Number - Número de puerto + + &Quit + &Salir - enable gui for device - habilitar gui para dispositivo + + Song Info + - enables recording from the device - habilita la captura para el dispositivo + + Transport Panel + Panel de transporte - Instrument connected to port - Instrumento conectado al puerto + + Bigtime Window + - State: result of opening the device - Estado: resultado de abrir el puerto + + Mixer A + - mute instrument - silenciar instrumento + + Mixer B + - sound name - nombre del sonido + + Cliplist + Lista de Clips - quantisation -currently not used - cuantización -actualmente sin usar + + Marker View + - this input note triggers the sound - ensta nota de entrada dispara el sonido + + Arranger View + - note length - longitud de nota - - - this note is send for the sound - esta nota se envia al sonido - - - output channel -currently not used - canal de salida -actualmente sin uso + + Fullscreen + - output port -currently not used - puerto de salida -actualmente sin uso + + &Plugins + - velocity level 1 - nivel de velocidad 1 + + Edit Instrument + - velocity level 2 - nivel de velocidad 2 + + Input Plugins + Plugins e entrada - velocity level 3 - nivel de velocidad 3 + + Transpose + Transponer - velocity level 4 - nivel de velocidad 4 + + Midi Input Transform + Transformación de entrada MIDI - quantisation - cuantización + + Midi Input Filter + Filtrado de entrada MIDI - output channel - canal de salida + + Midi Remote Control + Control remoto MIDI - output port - puerto de salida + + Rhythm Generator + - Enable Recording - Habilita captura + + Reset Instr. + Reinicializa Instrumento - Track Activity - Actividad de pista + + Init Instr. + Inicializa Instruemnto - Mute Indicator - Indicador de silencio + + Local Off + - Solo Indicator - Indicador de solo + + Bounce to Track + Rebotar a pista - Track Type - Tipo de pista + + Bounce to File + Rebotar a Archivo - Track Name - Nombre de pista + + Restart Audio + - Output Channel Number - Número de canal de salida + + Mixer Automation + - Output Port - Puerto de salida + + Take Snapshot + - Time Lock - Bloqueo de tiempo + + Clear Automation Data + - Solo/Pre Fader Listening - Escucha de sólo/pre-fader + + Cascade + - Name of the midi device associated with this port number - Nombre del dispositivo MIDI asociado con este número de puerto + + Tile + - - - QObject - - Other + + In rows - - - Error + + In columns - - - Please first select the range for crescendo with the loop markers. - + + Global Settings + Selecciones Globales - - - QWidget - Cannot transform non empty track - No puedo transformar una pista que no está vacia + + Configure Shortcuts + - Velocity - Velocidad + + Follow Song + seguir canción - - - Cannot convert sysex string - No puedo convertir el paquete de sistema exclusivo + + Don't Follow Song + no sigas la canción - - - Hex String too long (2048 bytes limit) - Cadena hexadecimal demasiado larga (límite de 2048 bytes) + + Follow Page + sigue la página - - generic midi - midi genánico + + Follow Continuous + sigue contínuamente - - new - nuevo + + Metronome + Metrónomo - - create peakfile for - crear archivo de picos para + + Midi Sync + Sincronización MIDI - - MusE: get file name - MusE: obtener el nombre de archivo + + Midi File Import/Export + - the directory - - el directorio - + + Appearance Settings + Selecciones de apariencia - -does not exist -create? - -no existe - Lo creo ? + + Midi Ports / Soft Synth + - &Create - &Crear + + &Manual + - Cancel - Cancelar + + &MusE Homepage + - - MusE: create directory - MusE: crear directorio + + &Report Bug... + - creating dir failed - fallóla creación de directorio + &About MusE + - - File - - El archivo - + + File Buttons + - -exists - -existe + + Undo/Redo + - - MusE: write - MusE: escribe + + Transport + Transporte - Overwrite - Sobre escribe + + &File + - Quit - Salir + + &View + - Open File - - Abrir archivo + &Midi + &MIDI - - -failed: - -falló + + &Audio + &Audio - - MusE: Open File - MusE: Abrir archivo + + A&utomation + - - - None - Ninguno + + &Windows + - Master - Maestro + + MusE Se&ttings + - Input - Entrada + + &Help + A&yuda - Group %c - Grupo %c + + Cannot read template + - Unknown - Desconocido + + File open error + - - No selection. Ignoring + + File read error - - The directory - + + Unknown File Format: %1 - - -does not exist. -Create it? + + + + MusE: Song: %1 - - -exists. Overwrite? - + + MusE: load project + MusE: Carga proyecto - - - QuantBase - - MusE: Quantize + + MusE: load template - - Range - Rango - - - - All Events - Todos los eventos + + MusE: Write File failed + MusE: La captura del archivo ha fallado - - Selected Events - Eventos seleccionados + + The current Project contains unsaved data +Save Current Project? + El proyecto actual contiene datos no guardados +Guardamos el proyecto actual? - - Looped Events + + + S&kip - - Selected Looped - + + &Cancel + &Cancelar - - Values - Valores + + + MusE: Save As + MusE: Guardar como - - Strength: - + + + Nothing to edit + Nada para editar + - % - % + + + + MusE: Bounce to Track + MusE: Rebotar a la pista - - Threshold (ticks): + + No wave tracks found - - Quantize Len + + + No audio output tracks found - - Raster - Raster - - - - Whole + + Select one audio output track, +and one target wave track - - Half + + Select one target wave track - - Quarter + + Select one target wave track, +and one audio output track - - 8th + + + MusE: Bounce to File - - 16th + + Select one audio output track - - 32th + + MusE: Bounce - - Swing: + + set left/right marker for bounce range - - If the proposed change in tick or length is smaller than threshold, nothing is done. -If swing=0, this is normal -If swing is 33, you get a 2:1-rhythm. -If swing is -33, you get a 1:2-rhythm. - - + + The current Project contains unsaved data +Load overwrites current Project: +Save Current Project? + El proyecto actual contine datos no guardados +Cargar sobreescribe el proyecto actual: +Guardar el proyecto actual? - - OK - Aceptar + + + &Abort + &Abortar - - Cancel - Cancelar + + MusE: Export Midi + MusE: Exportar MIDI - - - QuantConfig - Config Quantize - Configurar Cuantización + + no help found at: + no se ha encontrado ayuda en: - Strength - Fuerza + + MusE: Open Help + MusE: Abre ayuda - Don´t Quantize - No cuantizes + + Unable to launch help + - Quant Len - Cuantizar la longitud + + For some reason MusE has to launch the default +browser on your machine. + - MusE: Config Quantize - MusE: Configurar Cuantización + + MusE: Import Midi + MusE: Importar MIDI - - - QuantDialog - Display Quantize - Mostrar la cuantización + + Add midi file to current project? + + - Position - Posición + + &Add to Project + - Note Quantize - Cuantizar Nota + + &Replace + - Rest Quantize - Cuantizar el resto + + reading midifile + + leyendo archivo midi + - Ok - Aceptar + + +failed: + +falló: - Cancel - Cancelar + + Import part is only valid for midi and wave tracks! + - - - RemoveBase - - MusE: Erase Notes + + MusE: load part - - Range - Rango + + No track selected for import + - - - All Events - Todos los eventos + + + %n part(s) out of %1 could not be imported. +Likely the selected track is the wrong type. + + + + + + + + %n part(s) could not be imported. +Likely the selected track is the wrong type. + + + + - - Selected Events - Eventos seleccionados + + to import an audio file you have first to selecta wave track + - - Looped Events + + Import Wavefile - - Selected Looped + + This wave file has a samplerate of %1, +as opposed to current setting %2. +Do you still want to import it? - - Thresholds + + &Yes - - ticks + + &No + + + MusEGui::NoteInfo - - Velocity - Velocidad + + Note Info + Información de nota - - Length - Longitud + + Start + - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:7px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If nothing is checked, everything is removed.</p> -<p style=" margin-top:0px; margin-bottom:7px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If velocity is checked, only notes with velo &lt; threshold are removed.</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If both are checked, notes with velo &lt; threshold OR with length &lt; threshold are removed.</p></body></html> + Len - - OK - Aceptar + + Pitch + Tono - - Cancel - Cancelar + + Velo On + Velocidad On - - - RhythmBase - MusE: Random Rhythm Generator - MusE: Generador de rítmo aleatorio + + Velo Off + Velocidad Off + + + MusEGui::PartCanvas - Instrument Properties - Propiedades del instrumento + + Cannot copy/move/clone to different Track-Type + No puedo copiar/mover/clonar a un tipo diferente de pista - counts/bar - cuentar por barra + + C&ut + C&ortar - steps/count - pasos por cuenta + + &Copy + &Copiar - # bars - n barras + + s&elect + - test - probar + + clones + - contrib - contribuir + + rename + renombrar - randomize - aleartorizar + + color + color - Group 1 - Grupo 1 + + delete + borrar - Group 2 - Grupo 2 + + split + partir - Group 3 - Grupo 3 + + glue + - Group 4 - Grupo 4 + + de-clone + des-clonar - Group 5 - Grupo 5 + + + + save part to disk + - listen - escuchar + + wave edit + editar onda - Instrument - Instrumento + + file info + - Group - Grupo + + MusE: save part + - &New - &Nuevo + + Part name: %1 +Files: + - - create new entry - crear nueva entrada + + + %n part(s) out of %1 could not be pasted. +Likely the selected track is the wrong type. + + + + + + + + %n part(s) could not be pasted. +Likely the selected track is the wrong type. + + + + - pressing the New button you create a new entry -in the MusE list of defined controllers - pulsando el botón Nuevo creas una entrada nueva -en la lista de controles definidos por MusE + + Cannot paste: multiple tracks selected + No puedo pegar: mtilpes pistas seleccionadas - &Delete - &Borrar + + Cannot paste: no track selected + No puedo pegar: No hay pista seleccionada - delete selected entry - borra la entrada seleccionada + + Can only paste to midi/drum track + - Up - Arriba + + Can only paste to wave track + - Down - Abajo + + Can only paste to midi or wave track + - Instrument - Instrumento + + Cannot paste: wrong data type + No puedo pegar: Tipo de datos equivocado + + + + MusEGui::PasteDialog + + + %n quarter(s) + + + + - steps/count - pasos por cuenta + + %1 quarter + for floating-point arguments like 1.5 + - list of defined controllers - Lista de controladores definidos + + %1 quarters + for floating-point arguments like 1.5 + + + + + MusEGui::PasteEventsDialog + + + %n quarter(s) + + + + - This is the MusE list of defined controllers. - Esta es la lista de controladores definidos en MusE. + + %1 quarter + for floating-point arguments like 1.5 + - &File - &Archivo + + %1 quarters + for floating-point arguments like 1.5 + + + + MusEGui::PianoRoll + &Edit - &Editar + &Editar - &Help - A&yuda + + C&ut + C&ortar - Tools - Herramientas + + &Copy + &Copiar - New - Nuevo + + Copy events in range + - Open - Abrir + + &Paste + &Pegar - &Open... - &Abrir... + + Paste (with dialog) + - Save - Guardar + + Delete &Events + - &Save - &Guardar + + &Select + &Seleccionar - Save As - Guardar como + + Select &All + Seleccion&ar Todo - Save &As... - Guardar &Como... + + &Deselect All + &Deseleccionar Todo - Print - Imprimir + + Invert &Selection + Invertir &Selección - &Print... - &Imprimir... + + &Inside Loop + &Interior de bucle - Exit - Salir + + &Outside Loop + &Exterior de Bucle - E&xit - &Salir + + &Previous Part + - Undo - Deshacer + + &Next Part + - &Undo - &Deshacer + + Fu&nctions + - Redo - Rehacer + + Quantize + Cuantizar - &Redo - &Rehacer + + Modify Note Length + - Cut - Cortar + + Modify Velocity + - &Cut - &Cortar + + Crescendo/Decrescendo + - Copy - Copiar + + Transpose + Transponer - C&opy - C&opiar + + Erase Events + - Paste - Pegar - - - &Paste - &Pegar - - - Find - Buscar - - - &Find... - &Buscar... + + Move Notes + - Contents - Contenidos + + Set Fixed Length + - &Contents... - &Contenidos... + + Delete Overlaps + - Index - índice + + Legato + - &Index... - &Indice... + + &Plugins + - About - Acerca de + + Window &Config + - &About... - &Acerca de ... + + &Event Color + - - - RhythmGenerator - Form3 - Formulario3 + + &Blue + - Instrument Settings: - Configuración de instrumento: + + &Pitch colors + - Instrument - Instrumento + + &Velocity colors + - Hi-Hat - Charli + + Pianoroll tools + - add - Agregar + + Step Record + - delete - borrar + + Midi Input + Entrada MIDI - steps/count - pasos/cuenta + + Play Events + Reproducir eventos - count/bar - cuentas/compás + + panic + pánico - # bars - n compases + + transport + - Group Settings: - Configuración de grupo: + + ctrl + control - Group - Grupo + + Add Controller View + + + + MusEGui::PluginDialog - Group 1 - Grupo 1 + + MusE: select plugin + MusE: Selecciona el plugin - Group 2 - Grupo 2 + + Lib + Lib - Group 3 - Grupo 3 + + Label + Etiqueta - Group 4 - Grupo 4 + + Name + Nombre - Group 5 - Grupo 5 + + AI + AI - contrib - contrib + + AO + AO - listen - escuchar + + CI + CI - Randomize - aleatorizar + + CO + CO - Rhythm Style: - Estilo de ritmo: + + IP + IP - Clear - Límpio + + id + id - Open... - Abrir... + + Maker + Fabricante - Save - Guardar + + Copyright + Copyright - Save as... - Guardar como... + + Ok + Aceptar - Generate - Generar + + Cancel + Cancelar - Close - Cerrar + + Mono and Stereo + - - + + Stereo + Estéreo - - - RouteDialogBase - - MusE: Routing - + + Mono + Mono - - Add Route + + Show All - - Source: + + Select which types of plugins should be visible in the list.<br>Note that using mono plugins on stereo tracks is not a problem, two will be used in parallell.<br>Also beware that the 'all' alternative includes plugins that probably not are usable by MusE. - - Destination: + + Search in 'Label' and 'Name': + + + MusEGui::PluginGui - - Connect + + File Buttons - - connect source to destination - + + Load Preset + Cargar plantilla - - Current Routes - + + Save Preset + Guardar plantilla - - Source - + + + bypass plugin + saltar plugin - - Destination - + + MusE: load preset + MusE: Cargar plantilla - - Remove + + Error reading preset. Might not be right type for this plugin - - remove selected route - + + MusE: save preset + MusE: Guardar plantilla - RoutePopupMenu + MusEGui::RoutePopupMenu + + + + + + + + Channel - Canal + Canal - - - SS_PluginChooserBase - - SimpleDrums - Ladspa Plugin Chooser + + + + Soloing chain - - Name - Nombre - - - - Label - Etiqueta + + + Audio returns + - - Inports + + Warning: No input devices! - Outports + Open midi config... - - Creator - - - - - &Cancel - &Cancelar - - - - Alt+C - - - - - &OK - - - - - Alt+O + + + <none> - - - SS_PluginFront - - Clear and unload effect + + Toggle all - - Load effect + + More... - - Toggle display of effect parameters + + Audio sends - - Turn effect on/off + + Midi port sends - Score - - &Config - &Configuración - - - Page Settings - Configuración de página - - - Staff Settings - Configuración de pentagrama - - - Background Pixmap - imagen de fondo - - - Palettes - Paletas - - - Dynamics - Dinámicos - - - Print - Imprimir - - - Preview Print - Previsualizar la impresión - - - Lyrics - Letra - - - enter lyrics - escribe la letra - - - Text - Texto - - - enter text - escribe el texto - - - C7m - C7m - - - enter chord symbol - escribe el símbolo del acorde - - - to previous voice - al timbre anterior - - - to next voice - al timbre siguiente - - - flip stem direction - intercambia la dirección de la armadura - - - move marked notes to previous voice or to upper stave in a split system - mueve las notas marcadas al timbre anterior o a la parte superior en sistemas partidos - - - move marked notes to next voice or to lower stave in a split system - mueve las notas marcadas al timbre siguiente o a la parte inferior en sistemas partidos - - - flip stem direction of selected notes - intercambia la dirección de la armadura de las notas seleccionadas - - - StaffSettings - Configuración de pentagrama - - - MusE: config wallpaper - MusE: Configurar imagen de fondo - - - Score - Partitura - - - - ScoreCanvas + MusEGui::ScoreCanvas - + Treble @@ -14647,7 +13813,7 @@ en la lista de controles definidos por MusE - + Ambiguous part @@ -14668,68 +13834,9 @@ en la lista de controles definidos por MusE - ScoreConfig - - Staff Settings: - Configuración de Pentagrama: - - - Track List - Lista de pistas - - - Key/Clef - Clave - - - Raster - Raster - - - Note Quantize - Cuantización de nota - - - Rest Quantize - Restaurar cuantización - - - Mode - Modo - - - Split System - Sistema partido - - - Splitpoint - punto de separación - - - Ok - Aceptar - - - Apply - Aplicar - - - Cancel - Cancelar - - - Upper Staff - Pentagrama superior - - - Lower Staff - Pentagrama inferior - - - - ScoreEdit + MusEGui::ScoreEdit - + Undo/Redo tools @@ -14746,7 +13853,7 @@ en la lista de controles definidos por MusE panic - pánico + pánico @@ -14769,7 +13876,20 @@ en la lista de controles definidos por MusE - + + + + Apply to new notes: + + + + + + Apply to selected notes: + + + + Velocity: @@ -14796,17 +13916,17 @@ en la lista de controles definidos por MusE &Edit - &Editar + &Editar C&ut - C&ortar + C&ortar &Copy - &Copiar + &Copiar @@ -14816,7 +13936,7 @@ en la lista de controles definidos por MusE &Paste - &Pegar + &Pegar @@ -14831,32 +13951,32 @@ en la lista de controles definidos por MusE &Select - &Seleccionar + &Seleccionar Select &All - Seleccion&ar Todo + Seleccion&ar Todo &Deselect All - &Deseleccionar Todo + &Deseleccionar Todo Invert &Selection - Invertir &Selección + Invertir &Selección &Inside Loop - &Interior de bucle + &Interior de bucle &Outside Loop - &Exterior de Bucle + &Exterior de Bucle @@ -14886,7 +14006,7 @@ en la lista de controles definidos por MusE Transpose - Transponer + Transponer @@ -14959,7 +14079,7 @@ en la lista de controles definidos por MusE - + Enter the new score title @@ -14977,1703 +14097,5590 @@ the selected title is not unique - ScrollScale + MusEGui::ScrollScale + next page - página siguiente + página siguiente + previous page - página anterior + página anterior + current page number - nuúmero de página actual + nuúmero de página actual - SetlenBase - - - MusE: Set Note Length - - - - - Range - Rango - + MusEGui::ShortcutCaptureDialog - - All Events - Todos los eventos + + Ok + Aceptar - - Selected Events - Eventos seleccionados + + Cancel + Cancelar - - Looped Events + + Shortcut conflicts with %1 - - Selected Looped + + Undefined + + + MusEGui::SigScale - - Value - Valor + + signature scale + Armadura de la escala + + + MusEGui::TList - - New length + + <none> - - ticks + + no clef - - OK - Aceptar + + Treble + - - Cancel - Cancelar + + Bass + - - - ShortcutCaptureDialog - Ok - Aceptar + + Grand + - Cancel - Cancelar + + MusE: bad trackname + - - - ShortcutCaptureDialogBase - - Enter shortcut sequence + + please choose a unique track name - - Press keys to enter shortcut sequence! + + + Update drummap? - - Old shortcut: + + Do you want to use same port for all instruments in the drummap? - - - Undefined + + + &Yes - - New shortcut: + + + &No - - OK - Aceptar + + + show gui + mostrar gui - - Cancel - Cancelar + + + show native gui + - - - ShortcutConfigBase - - Configure Keyboard Shortcuts + + Treble clef - - Shortcut Category + + Bass clef - - Description + + Grand Staff - - Shortcut + + Viewable automation - - &Clear + + Delete Track + Borrar pista + + + + Track Comment - Alt+C + Insert Track - - &Define - + + Midi + MIDI - - Alt+D + + Drum + Percusión + + + + Do you want to use same port and channel for all instruments in the drummap? + + + MusEGui::TempoSig - - &Apply - &Aplicar + + Tempo/Sig + tempo/firma + + + MusEGui::Toolbar1 - - Alt+A + + + + Off + + + Solo + Solo + + + + Cursor + Cursor + + + + Snap + Snap + - SigScale + MusEGui::TopWin - signature scale - Armadura de la escala + + As subwindow + + + + + Shares tools and menu + + + + + Fullscreen + + + + + Piano roll + + + + + List editor + + + + + Drum editor + + + + + Master track editor + + + + + Master track list editor + + + + + Wave editor + + + + + Clip list + + + + + Marker view + + + + + Score editor + + + + + Arranger + Arreglador + + + + <unknown toplevel type> + - SimpleDrumsGuiBase + MusEGui::TrackComment - - DrumSynth 0.1 - + + MusE: Track Comment + MusE: Comentario de la pista + + + + Track Comment: + Comentario de la pista: - SimpleSynthGui + MusEGui::Transport - - &Load setup + + Overdub + Agregar + + + + + Replace + Reemplazar + + + + Rec Mode + Modo de captura + + + + Normal + Normal + + + + Mix + Mezcla + + + + Cycle Rec + Ciclar captura + + + + punchin + pinchar + + + + loop + bucle + + + + punchout + fin pinchado + + + + + Punch In + Pinchar + + + + + Loop + Bucle + + + + + Punch Out + Fin pinchado + + + + Left Mark + Marca izquierda + + + + Right Mark + Marca derecha + + + + rewind to start + retroceder al inicio + + + + Click this button to rewind to start position + Pulsa este botón para regresar al principio + + + + rewind + retroceder + + + + Click this button to rewind + Pulsa este botón para ir hacia atrás + + + + forward + avanzar + + + + Click this button to forward current play position + Pulsa este botón para adelantar la posición de reproducción + + + + stop + parar + + + + Click this button to stop playback + Pulsa este botón para detener la reproducción + + + + play + reproducir + + + + Click this button to start playback + Pulsa este botón para iniciar la reproducción + + + + record + grabar + + + + Click this button to enable recording + Pulsa este botón para habilitar la captura + + + + AC + AC + + + + quantize during record + cuantizar durante la captura + + + + Click + Click + + + + metronom click on/off + Click del metrónomo encendido/apagado + + + + Sync + Sinconización + + + + external sync on/off + Sincronización externa encedida/apagada + + + + Jack + + + + + Jack transport sync on/off + + + + + Master + Maestro + + + + use master track + usar pista maestra + + + + MusEGui::VisibleTracks + + + + Show wave tracks + + + + + + Show group tracks + + + + + + Show aux tracks + + + + + + Show input tracks + + + + + + Show output tracks + + + + + + Show midi tracks + + + + + + Show synth tracks + + + + + Visible track types + + + + + MusEGui::WaveEdit + + + &Edit + &Editar + + + + Func&tions + + + + + &Gain + + + + 200% + 5 1/3' {200%?} + + + 150% + 5 1/3' {150%?} + + + 75% + 5 1/3' {75%?} + + + 50% + 5 1/3' {50%?} + + + 25% + 5 1/3' {25%?} + + + + Other + + + + + &Copy + &Copiar + + + + C&ut + C&ortar + + + + &Paste + &Pegar + + + + Edit in E&xternal Editor + + + + + Mute Selection + + + + + Normalize Selection + + + + + Fade In Selection + + + + + Fade Out Selection + + + + + Reverse Selection + + + + + Select + Seleccionar + + + + Select &All + Seleccion&ar Todo + + + + &Deselect All + &Deseleccionar Todo + + + + Window &Config + + + + + Wave edit tools + + + + + transport + + + + + WaveEdit tools + + + + + Solo + Solo + + + + Cursor + Cursor + + + + MusEGui::WaveView + + + MusE - external editor failed + + + + + MusE was unable to launch the external editor +check if the editor setting in: +Global Settings->Audio:External Waveditor +is set to a valid editor. + + + + + MusE - file size changed + + + + + When editing in external editor - you should not change the filesize +since it must fit the selected region. + +Missing data is muted + + + + + MusEMixer::AudioMixerApp + + &Create + &Crear + + + + MusEMixer::AudioStrip + + 1/2 channel + Canales 1/2 + + + Pre + Pre + + + pre fader - post fader + pre fader - port fader + + + dB + dB + + + record + grabar + + + mute + silencio + + + record downmix + downmix de captura + + + off + apagado + + + output routing + ruteado de entrada + + + + MusEMixer::EffectRack + + effect rack + rack de efectos + + + new + nuevo + + + change + cambiar + + + move up + subir + + + move down + bajar + + + remove + quitar + + + bypass + saltar + + + show gui + mostrar gui + + + + MusEMixer::MidiStrip + + off + apagado + + + Var + Var + + + Rev + Rev + + + Cho + Cho + + + dB + dB + + + record + grabar + + + mute + silencio + + + output routing + ruteado de entrada + + + + MusEWidget::BigTime + + minute + minuto + + + second + segundo + + + frame + frame + + + subframe + sub-frame + + + MusE: Bigtime + MusE: Big Time + + + + MusEWidget::EditToolBar + + Edit Tools + Editar herramientas + + + + MusEWidget::MTScale + + bar scale + escala de compases + + + + MusEWidget::MTScaleFlo + + bar scale + escala de compases + + + + MusEWidget::MidiSyncConfig + + Port Number + Número de puerto + + + Name of the midi device associated with this port number + Nombre del dispositivo MIDI asociado con este número de puerto + + + Port + Puerto + + + Device Name + Nombre de dispositivo + + + m + m + + + MusE + MusE + + + &Apply + &Aplicar + + + &Abort + &Abortar + + + + MusEWidget::MixdownFileDialog + + Wave Files (*.wav);;All Files (*) + Archivos de onda (*.wav);;Todos los archivos(*) + + + + MusEWidget::NoteInfo + + Note Info + Información de nota + + + Pitch + Tono + + + Velo On + Velocidad On + + + Velo Off + Velocidad Off + + + + MusEWidget::RoutePopupMenu + + Channel + Canal + + + + MusEWidget::ScrollScale + + next page + página siguiente + + + previous page + página anterior + + + current page number + nuúmero de página actual + + + + MusEWidget::ShortcutCaptureDialog + + Ok + Aceptar + + + Cancel + Cancelar + + + + MusEWidget::SigScale + + signature scale + Armadura de la escala + + + + MusEWidget::Toolbar1 + + Solo + Solo + + + Cursor + Cursor + + + Snap + Snap + + + + MusEWidget::TrackComment + + MusE: Track Comment + MusE: Comentario de la pista + + + Track Comment: + Comentario de la pista: + + + + MusEWidget::WTScale + + bar scale + escala de compases + + + + NoteInfo + + Start + Inicio + + + Len + Longitud + + + Pitch + Tono + + + Velo On + Velocidad On + + + Velo Off + Velocidad Off + + + Note Info + Información de nota + + + + OrganGuiBase + + + MusE: Organ + MusE: órgano + + + Presets + Preselecciones + + + Set + Pon + + + load preset list + cargar lista de preselecciones + + + save preset list + guardar lista de preselecciones + + + + O-1 + 0-1 + + + + Oscillator + Oscilador + + + + Brass + Metales + + + + Reed + Reed + + + + Flute + Flauta + + + + Drawbars + Drawbars + + + + 16' + 16' + + + + 4' + 4' + + + + 2 2/3' + 2 2/3' + + + + 2' + 2' + + + + 8' + 8' + + + + 5 1/3' + 5 1/3' + + + + Envelope Lo + Envolvente Lo + + + Attack(ms) + Ataque (ms) + + + Decay(ms) + Decaimiento (ms) + + + Sustain(%) + Sostenido (%) + + + Release(ms) + Relajación (ms) + + + + Envelope Hi + Envolvente Hi + + + + + Release + Relajación + + + + + Sustain + Sostenido + + + + + Decay + Decaimiento + + + + + Attack + Ataque + + + + + + + + + ms + + + + + + cB + + + + + Velocity + Velocidad + + + + PageSettings + + Paper Size + Tamaño del papel + + + user + usuario + + + Margins + másgenes + + + Header + Cabecera + + + Title + Tódulo + + + Author + Autor + + + Fonts + Tipos + + + Page No. + Página n + + + Measure No + Compás n + + + Track Name + Nombre de Pista + + + Lyrics + Letra + + + Layout + Disposición + + + Scale + Escala + + + Flags + Señalizadores + + + show page no. + muestra el número de página + + + show measure no. + muestra el número de compás + + + show track name + muestra el nombre de la pista + + + Ok + Aceptar + + + Apply + Aplicar + + + Cancel + Cancelar + + + left Margin + Margen izquierdo + + + top Margin + Margen Superior + + + right Margin + Margen derecho + + + bottom Margin + Margen inferior + + + Bars across the Page + Barras a travéz de la página + + + + PartCanvas + + C&ut + C&ortar + + + &Copy + &Copiar + + + rename + renombrar + + + delete + borrar + + + split + partir + + + glue + pegar + + + pianoroll + pianola + + + score + partitura + + + list + lista + + + drums + percusión + + + Cannot copy/move/clone to different Track-Type + No puedo copiar/mover/clonar a un tipo diferente de pista + + + color + color + + + de-clone + des-clonar + + + wave edit + editar onda + + + Cannot paste: multiple tracks selected + No puedo pegar: mtilpes pistas seleccionadas + + + Cannot paste: no track selected + No puedo pegar: No hay pista seleccionada + + + Cannot paste midi parts to wave track + No puedo pegar MIDI en una pista de audio + + + Cannot paste wave parts to midi track + No puedo pegar audio en una pista MIDI + + + Cannot paste: wrong data type + No puedo pegar: Tipo de datos equivocado + + + + PasteDialogBase + + + MusE: Paste Parts + + + + + Number and raster + + + + + insert + + + + + times + + + + + raster + + + + + ticks + + + + + Move, Merge, Clone + + + + + Move everything to the right + + + + + Move only affected parts to the right + + + + + Put everything into a single track + + + + + Merge with existing parts + + + + + Insert as clones (where possible) + + + + + OK + Aceptar + + + + Cancel + Cancelar + + + + PasteEventsDialogBase + + + MusE: Paste Events + + + + + Number and raster + + + + + insert + + + + + times + + + + + raster + + + + + + ticks + + + + + Paste options + + + + + Always into existing parts + + + + + Never into existing parts + + + + + Into existing parts if part has not +to be expanded by more than + + + + + Put everything into the (selected) part + + + + + OK + Aceptar + + + + Cancel + Cancelar + + + + PatchBay + + MusE: ALSA MIDI Patch Bay + MusE: Panel de ruteado MIDI de ALSA + + + + PatchBayBase + + ALSA Patch Bay + Panel de ruteado de ALSA + + + + PianoRoll + + &Edit + &Editar + + + Cut + Cortar + + + Copy + Copiar + + + Paste + Pegar + + + Delete Events + Borrar eventos + + + Select All + Seleccionar Todo + + + Select None + De-seleccionar todo + + + Invert + Invertir + + + Inside Loop + Dentro del bucle + + + Outside Loop + Fuera del bucle + + + &Select + &Seleccionar + + + blue + azul + + + pitch colors + colores de tono + + + velocity colors + colores de velocidad + + + &Config + &Configurar + + + event color + color de eventos + + + &Functions + &Funciones + + + Over Quantize + Sobre cuantizar + + + Note On Quantize + Cuantizar inicio de nota + + + Note On/Off Quantize + Cuantizar inicio y final de nota + + + Iterative Quantize + Cuantización iterativa + + + Pianoroll Tools + Herramientas de pianola + + + Step Record + captura por pasos + + + Midi Input + Entrada MIDI + + + Play Events + Reproducir eventos + + + Add Controller View + Añade vista de controladores + + + Config Quant... + Configura cuantización... + + + Modify Gate Time + Modifica el tiempo de puerta + + + Modify Velocity + Modifica la velocidad + + + Crescendo + Crescendo + + + Transpose + Transponer + + + Thin Out + Adelgazar + + + Erase Event + Borrar evento + + + Note Shift + Desplazar nota + + + Move Clock + Mover reloj + + + Copy Measure + Copiar compás + + + Erase Measure + Vaciar compás + + + Delete Measure + Borrar compás + + + Create Measure + Crear compás + + + ctrl + control + + + C&ut + C&ortar + + + &Copy + &Copiar + + + &Paste + &Pegar + + + Select &All + Seleccion&ar Todo + + + &Deselect All + &Deseleccionar Todo + + + Invert &Selection + Invertir &Selección + + + &Inside Loop + &Interior de bucle + + + &Outside Loop + &Exterior de Bucle + + + Quantize + Cuantizar + + + panic + pánico + + + + PluginDialog + + Ok + Aceptar + + + Cancel + Cancelar + + + MusE: select plugin + MusE: Selecciona el plugin + + + Lib + Lib + + + Label + Etiqueta + + + Name + Nombre + + + AI + AI + + + AO + AO + + + CI + CI + + + CO + CO + + + IP + IP + + + id + id + + + Maker + Fabricante + + + Copyright + Copyright + + + Stereo + Estéreo + + + Mono + Mono + + + + PluginGui + + bypass plugin + saltar plugin + + + MusE: load preset + MusE: Cargar plantilla + + + MusE: save preset + MusE: Guardar plantilla + + + File Buttons + Archivar botones + + + Load Preset + Cargar plantilla + + + Save Preset + Guardar plantilla + + + + PrinterConfig + + MusE: Config Printer + MusE: Configuración de impresora + + + Print to file + Imprimir en archivo + + + Print Command + Comando de impresión + + + Preview Command + Comando de previsualización + + + OK + Aceptar + + + Cancel + Cancelar + + + + ProjectCreate + + + Create Project + + + + + Project Name: + + + + + Project Path to song file: + + + + + Create project folder (recommended for audio projects) + + + + + Browse + + + + + Song information: + + + + + QHeader + + Port Number + Número de puerto + + + enable gui for device + habilitar gui para dispositivo + + + enables recording from the device + habilita la captura para el dispositivo + + + Instrument connected to port + Instrumento conectado al puerto + + + State: result of opening the device + Estado: resultado de abrir el puerto + + + mute instrument + silenciar instrumento + + + sound name + nombre del sonido + + + quantisation +currently not used + cuantización +actualmente sin usar + + + this input note triggers the sound + ensta nota de entrada dispara el sonido + + + note length + longitud de nota + + + this note is send for the sound + esta nota se envia al sonido + + + output channel +currently not used + canal de salida +actualmente sin uso + + + output port +currently not used + puerto de salida +actualmente sin uso + + + velocity level 1 + nivel de velocidad 1 + + + velocity level 2 + nivel de velocidad 2 + + + velocity level 3 + nivel de velocidad 3 + + + velocity level 4 + nivel de velocidad 4 + + + quantisation + cuantización + + + output channel + canal de salida + + + output port + puerto de salida + + + Enable Recording + Habilita captura + + + Track Activity + Actividad de pista + + + Mute Indicator + Indicador de silencio + + + Solo Indicator + Indicador de solo + + + Track Type + Tipo de pista + + + Track Name + Nombre de pista + + + Output Channel Number + Número de canal de salida + + + Output Port + Puerto de salida + + + Time Lock + Bloqueo de tiempo + + + Solo/Pre Fader Listening + Escucha de sólo/pre-fader + + + Name of the midi device associated with this port number + Nombre del dispositivo MIDI asociado con este número de puerto + + + + QObject + + + Other + + + + + + Error + + + + + + Please first select the range for crescendo with the loop markers. + + + + + QWidget + + Cannot transform non empty track + No puedo transformar una pista que no está vacia + + + Velocity + Velocidad + + + + + Cannot convert sysex string + No puedo convertir el paquete de sistema exclusivo + + + + + Hex String too long (2048 bytes limit) + Cadena hexadecimal demasiado larga (límite de 2048 bytes) + + + + generic midi + midi genánico + + + + new + nuevo + + + + create peakfile for + crear archivo de picos para + + + + MusE: get file name + MusE: obtener el nombre de archivo + + + the directory + + el directorio + + + + +does not exist +create? + +no existe + Lo creo ? + + + &Create + &Crear + + + Cancel + Cancelar + + + + The directory +%1 +does not exist. +Create it? + + + + + MusE: create directory + MusE: crear directorio + + + + creating dir failed + fallóla creación de directorio + + + + File +%1 +exists. Overwrite? + + + + + Open File +%1 +failed: %2 + + + + File + + El archivo + + + + +exists + +existe + + + + MusE: write + MusE: escribe + + + Overwrite + Sobre escribe + + + Quit + Salir + + + Open File + + Abrir archivo + + + +failed: + +falló + + + + MusE: Open File + MusE: Abrir archivo + + + + + None + Ninguno + + + Master + Maestro + + + Input + Entrada + + + Group %c + Grupo %c + + + Unknown + Desconocido + + + + No selection. Ignoring + + + + + QuantBase + + + MusE: Quantize + + + + + Range + Rango + + + + All Events + Todos los eventos + + + + Selected Events + Eventos seleccionados + + + + Looped Events + + + + + Selected Looped + + + + + Values + Valores + + + + Strength: + + + + + % + % + + + + Threshold (ticks): + + + + + Quantize Len + + + + + Raster + Raster + + + + Whole + + + + + Half + + + + + 4th + + + + + 4th Triplet + + + + + 8th + + + + + 8th Triplet + + + + + 16th + + + + + 16th Triplet + + + + + 32th + + + + + 32th Triplet + + + + + Swing: + + + + + If the proposed change in tick or length is smaller than threshold, nothing is done. +If swing=0, this is normal +If swing is 33, you get a 2:1-rhythm. +If swing is -33, you get a 1:2-rhythm. + + + + + + OK + Aceptar + + + + Cancel + Cancelar + + + + QuantConfig + + Config Quantize + Configurar Cuantización + + + Strength + Fuerza + + + Don´t Quantize + No cuantizes + + + Quant Len + Cuantizar la longitud + + + MusE: Config Quantize + MusE: Configurar Cuantización + + + + QuantDialog + + Display Quantize + Mostrar la cuantización + + + Position + Posición + + + Note Quantize + Cuantizar Nota + + + Rest Quantize + Cuantizar el resto + + + Ok + Aceptar + + + Cancel + Cancelar + + + + RemoveBase + + + MusE: Erase Notes + + + + + Range + Rango + + + + All Events + Todos los eventos + + + + Selected Events + Eventos seleccionados + + + + Looped Events + + + + + Selected Looped + + + + + Thresholds + + + + + ticks + + + + + Velocity + Velocidad + + + + Length + Longitud + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:7px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If nothing is checked, everything is removed.</p> +<p style=" margin-top:0px; margin-bottom:7px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If velocity is checked, only notes with velo &lt; threshold are removed.</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If both are checked, notes with velo &lt; threshold OR with length &lt; threshold are removed.</p></body></html> + + + + + OK + Aceptar + + + + Cancel + Cancelar + + + + RhythmBase + + MusE: Random Rhythm Generator + MusE: Generador de rítmo aleatorio + + + Instrument Properties + Propiedades del instrumento + + + counts/bar + cuentar por barra + + + steps/count + pasos por cuenta + + + # bars + n barras + + + test + probar + + + contrib + contribuir + + + randomize + aleartorizar + + + Group 1 + Grupo 1 + + + Group 2 + Grupo 2 + + + Group 3 + Grupo 3 + + + Group 4 + Grupo 4 + + + Group 5 + Grupo 5 + + + listen + escuchar + + + Instrument + Instrumento + + + Group + Grupo + + + &New + &Nuevo + + + create new entry + crear nueva entrada + + + pressing the New button you create a new entry +in the MusE list of defined controllers + pulsando el botón Nuevo creas una entrada nueva +en la lista de controles definidos por MusE + + + &Delete + &Borrar + + + delete selected entry + borra la entrada seleccionada + + + Up + Arriba + + + Down + Abajo + + + Instrument + Instrumento + + + steps/count + pasos por cuenta + + + list of defined controllers + Lista de controladores definidos + + + This is the MusE list of defined controllers. + Esta es la lista de controladores definidos en MusE. + + + &File + &Archivo + + + &Edit + &Editar + + + &Help + A&yuda + + + Tools + Herramientas + + + New + Nuevo + + + Open + Abrir + + + &Open... + &Abrir... + + + Save + Guardar + + + &Save + &Guardar + + + Save As + Guardar como + + + Save &As... + Guardar &Como... + + + Print + Imprimir + + + &Print... + &Imprimir... + + + Exit + Salir + + + E&xit + &Salir + + + Undo + Deshacer + + + &Undo + &Deshacer + + + Redo + Rehacer + + + &Redo + &Rehacer + + + Cut + Cortar + + + &Cut + &Cortar + + + Copy + Copiar + + + C&opy + C&opiar + + + Paste + Pegar + + + &Paste + &Pegar + + + Find + Buscar + + + &Find... + &Buscar... + + + Contents + Contenidos + + + &Contents... + &Contenidos... + + + Index + índice + + + &Index... + &Indice... + + + About + Acerca de + + + &About... + &Acerca de ... + + + + RhythmGenerator + + Form3 + Formulario3 + + + Instrument Settings: + Configuración de instrumento: + + + Instrument + Instrumento + + + Hi-Hat + Charli + + + add + Agregar + + + delete + borrar + + + steps/count + pasos/cuenta + + + count/bar + cuentas/compás + + + # bars + n compases + + + Group Settings: + Configuración de grupo: + + + Group + Grupo + + + Group 1 + Grupo 1 + + + Group 2 + Grupo 2 + + + Group 3 + Grupo 3 + + + Group 4 + Grupo 4 + + + Group 5 + Grupo 5 + + + contrib + contrib + + + listen + escuchar + + + Randomize + aleatorizar + + + Rhythm Style: + Estilo de ritmo: + + + Clear + Límpio + + + Open... + Abrir... + + + Save + Guardar + + + Save as... + Guardar como... + + + Generate + Generar + + + Close + Cerrar + + + + + + + + RouteDialogBase + + + MusE: Routing + + + + + Add Route + + + + + Source: + + + + + Destination: + + + + + Connect + + + + + connect source to destination + + + + + Current Routes + + + + + Source + + + + + Destination + + + + + Remove + + + + + remove selected route + + + + + RoutePopupMenu + + Channel + Canal + + + + SS_PluginChooserBase + + + SimpleDrums - Ladspa Plugin Chooser + + + + + Name + Nombre + + + + Label + Etiqueta + + + + Inports + + + + + Outports + + + + + Creator + + + + + &Cancel + &Cancelar + + + + Alt+C + + + + + &OK + + + + + Alt+O + + + + + SS_PluginFront + + + Clear and unload effect + + + + + Load effect + + + + + Toggle display of effect parameters + + + + + Turn effect on/off + + + + + Score + + &Config + &Configuración + + + Page Settings + Configuración de página + + + Staff Settings + Configuración de pentagrama + + + Background Pixmap + imagen de fondo + + + Palettes + Paletas + + + Dynamics + Dinámicos + + + Print + Imprimir + + + Preview Print + Previsualizar la impresión + + + Lyrics + Letra + + + enter lyrics + escribe la letra + + + Text + Texto + + + enter text + escribe el texto + + + C7m + C7m + + + enter chord symbol + escribe el símbolo del acorde + + + to previous voice + al timbre anterior + + + to next voice + al timbre siguiente + + + flip stem direction + intercambia la dirección de la armadura + + + move marked notes to previous voice or to upper stave in a split system + mueve las notas marcadas al timbre anterior o a la parte superior en sistemas partidos + + + move marked notes to next voice or to lower stave in a split system + mueve las notas marcadas al timbre siguiente o a la parte inferior en sistemas partidos + + + flip stem direction of selected notes + intercambia la dirección de la armadura de las notas seleccionadas + + + StaffSettings + Configuración de pentagrama + + + MusE: config wallpaper + MusE: Configurar imagen de fondo + + + Score + Partitura + + + + ScoreConfig + + Staff Settings: + Configuración de Pentagrama: + + + Track List + Lista de pistas + + + Key/Clef + Clave + + + Raster + Raster + + + Note Quantize + Cuantización de nota + + + Rest Quantize + Restaurar cuantización + + + Mode + Modo + + + Split System + Sistema partido + + + Splitpoint + punto de separación + + + Ok + Aceptar + + + Apply + Aplicar + + + Cancel + Cancelar + + + Upper Staff + Pentagrama superior + + + Lower Staff + Pentagrama inferior + + + + ScoreEdit + + panic + pánico + + + &Edit + &Editar + + + C&ut + C&ortar + + + &Copy + &Copiar + + + &Paste + &Pegar + + + &Select + &Seleccionar + + + Select &All + Seleccion&ar Todo + + + &Deselect All + &Deseleccionar Todo + + + Invert &Selection + Invertir &Selección + + + &Inside Loop + &Interior de bucle + + + &Outside Loop + &Exterior de Bucle + + + Transpose + Transponer + + + + ScrollScale + + next page + página siguiente + + + previous page + página anterior + + + current page number + nuúmero de página actual + + + + SetlenBase + + + MusE: Set Note Length + + + + + Range + Rango + + + + All Events + Todos los eventos + + + + Selected Events + Eventos seleccionados + + + + Looped Events + + + + + Selected Looped + + + + + Value + Valor + + + + New length + + + + + ticks + + + + + OK + Aceptar + + + + Cancel + Cancelar + + + + ShortcutCaptureDialog + + Ok + Aceptar + + + Cancel + Cancelar + + + + ShortcutCaptureDialogBase + + + Enter shortcut sequence + + + + + Press keys to enter shortcut sequence! + + + + + Old shortcut: + + + + + + Undefined + + + + + New shortcut: + + + + + OK + Aceptar + + + + Cancel + Cancelar + + + + ShortcutConfigBase + + + Configure Keyboard Shortcuts + + + + + Shortcut Category + + + + + Description + + + + + Shortcut + + + + + &Clear + + + + + Alt+C + + + + + &Define + + + + + Alt+D + + + + + &Apply + &Aplicar + + + + Alt+A + + + + + SigScale + + signature scale + Armadura de la escala + + + + SimpleDrumsGuiBase + + + DrumSynth 0.1 + + + + + SimpleSynthGui + + + &Load setup + + + + + &Save setup + + + + + Load sample dialog + + + + + Song + + &Ok + Ac&eptar + + + &Cancel + &Cancelar + + + + SongInfo + + + Song Information + + + + + Show on song load + + + + + &Cancel + &Cancelar + + + + Alt+C + + + + + &Ok + Ac&eptar + + + + Alt+O + + + + + StkGuiBase + + MyDialog2 + MiDialogo2 + + + Voices + Voces + + + Edit + Editar + + + + SynthConfigBase + + + MusE: Synth Configuration + MusE: Configuración del Sintetizador virtual + + + + Soft Synthesizer + Sintetizador Virtual + + + + File + Archivo + + + + Instances + Copias + + + + + Name + Nombre + + + + list of available software synthesizers + lista de sintetizadores de software dispoibles + + + + Add Instance + Agregar copia + + + Alsa Port + Puerto ALSA + + + + Remove Instance + Quitar copia + + + + Midi Port + Puerto MIDI + + + + Midi connections + + + + + Inst + + + + + Version + + + + + Description + + + + + TList + + Midi + MIDI + + + Drum + Percusión + + + Wave + Audio + + + Delete Track + Borrar pista + + + Track Comment + Comentario de pista + + + Show Gui + Mostrar GUI + + + Add Midi Track + Agregar pista MIDI + + + Add Drum Track + Agregar pista de percusión + + + Add Wave Track + Agregar pista de audio + + + show gui + mostrar gui + + + + TempoSig + + Tempo/Sig + tempo/firma + + + + Toolbar1 + + Solo + Solo + + + Snap + Snap + + + Quantize + Cuantizar + + + To + A + + + All Events + Todos los eventos + + + Looped Ev. + Eventos del bucle + + + Selected Ev. + Eventos seleccionados + + + Looped+Sel. + Bucle + Selección + + + Cursor + Cursor + + + + TopWin + + Arranger + Arreglador + + + + TrackComment + + MusE: Track Comment + MusE: Comentario de la pista + + + Track Comment: + Comentario de la pista: + + + + Transport + + Punch In + Pinchar + + + Loop + Bucle + + + Punch Out + Fin pinchado + + + Left Mark + Marca izquierda + + + Right Mark + Marca derecha + + + Overdub + Agregar + + + Replace + Reemplazar + + + Rec Mode + Modo de captura + + + Normal + Normal + + + Mix + Mezcla + + + Cycle Rec + Ciclar captura + + + punchin + pinchar + + + loop + bucle + + + punchout + fin pinchado + + + rewind to start + retroceder al inicio + + + rewind + retroceder + + + forward + avanzar + + + stop + parar + + + play + reproducir + + + record + grabar + + + AC + AC + + + quantize during record + cuantizar durante la captura + + + Click + Click + + + metronom click on/off + Click del metrónomo encendido/apagado + + + Sync + Sinconización + + + external sync on/off + Sincronización externa encedida/apagada + + + Master + Maestro + + + use master track + usar pista maestra + + + + TransposeBase + + + MusE: Transpose + + + + + Range + Rango + + + + All Events + Todos los eventos + + + + Selected Events + Eventos seleccionados + + + + Looped Events + + + + + Selected Looped + + + + + Value + Valor + + + + Halftone-steps + + + + + OK + Aceptar + + + + Cancel + Cancelar + + + + TransposeDialogBase + + MusE: Midi Transpose + MusE: Transposición MIDI + + + Value + Valor + + + halftones + semitonos + + + Time + Tiempo + + + all + todo + + + between markers + entre marcadores + + + Parts + Partes + + + all in selected tracks + todo en las pistas seleccionadas + + + OK + Aceptar + + + Cancel + Cancelar + + + + UnusedWaveFiles + + + Dialog + + + + + List of unused audio files in current project directory: + + + + + Current project + + + + + All .med files +in current + directory + + + + + Move files to 'unused' subdir + + + + + Cancel + Cancelar + + + + VAMGui + + + MusE: Load VAM Presets + + + + + + MusE: Save VAM Presets + + + + + VAMGuiBase + + + Virtual Analogue for MusE + Analogico virtual para MusE + + + + LFO + LFO + + + + Freq + Freq + + + + + + Waveform + Tipo Onda + + + + + + Sine + Seno + + + + + + Pulse + Pulso + + + + + + Saw + Sierra + + + + + + Triangle + Triángulo + + + + Filter + Filtro + + + + EnvMod + Modulación de envolvente + + + + + + Attack + Ataque + + + + + + Decay + Decaimiento + + + + + + Sustain + Sostenido + + + + + + Release + Relajación + + + + Cutoff + Frecuencia de corte + + + + Resonance + Resonancia + + + + Invert + Invertir + + + + KeyTrack + Seguir teclas + + + + Presets + Plantillas + + + + Set + Establecer + + + + load preset list + cargar lista de plantillas + + + + save preset list + guardar lista de plantillas + + + + save preset list to a new file + guardar lista de plantillas en un archivo nuevo + + + + delete preset + borrar plantilla + + + + DCO 1 + DCO 1 + + + + + Pitch + Tono + + + + + Detune + Desafinación + + + + + PWM + PWM + + + + + FM + FM + + + + + PW + PW + + + + DCO 2 + DCO 2 + + + + On + Encendido + + + VAM 1.0beta2 +Virtual Analog for MusE +Released under GPL. +Copyright(C) 2002 +Jotsif Lindman Hörnlund +( jotsif@linux.nu ) + VAM 1.0beta2 +Virtual Analog for MusE +Released under GPL. +Copyright(C) 2002 +Jotsif Lindman Hörnlund +( jotsif@linux.nu ) + + + + VAM 1.0beta3 +Virtual Analog for MusE +Released under GPL. +Copyright(C) 2002 +Jotsif Lindman Hörnlund +( jotsif@linux.nu ) +Copyright(C) 2005 +Robert Jonsson +(rj@spamatica.se) + + + + + VelocityBase + + + MusE: Modify Velocity + MusE: Modificar velocidad + + + + Range + Rango + + + + All Events + Todos los eventos + + + + Selected Events + Eventos seleccionados + + + + Looped Events + Eventos del bucle + + + Selected & Looped + Seleccionados y bucle + + + + Values + Valores + + + + Rate: + Velocidad: + + + + Offset: + Desplazamiento: + + + + % + % + + + + Selected Looped - - &Save setup + + veloNew = (veloOld * rate) + offset - - Load sample dialog - + + OK + Aceptar + + + + Cancel + Cancelar - Song + WTScale - - Jack shutdown! - + bar scale + escala de compases + + + WaveEdit - - Jack has detected a performance problem which has lead to -MusE being disconnected. -This could happen due to a number of reasons: -- a performance issue with your particular setup. -- a bug in MusE (or possibly in another connected software). -- a random hiccup which might never occur again. -- jack was voluntary stopped by you or someone else -- jack crashed -If there is a persisting problem you are much welcome to discuss it -on the MusE mailinglist. -(there is information about joining the mailinglist on the MusE - homepage which is available through the help menu) - -To proceed check the status of Jack and try to restart it and then . -click on the Restart button. - + Normalize + Normalizar - - previous event - + weTools + Herramientas de Audio - - next event - + Solo + Solo - - - set event - + Cursor + Cursor - - - add event - + &File + &Archivo - - - erase event - + Functions + Funciones - - erase range - + &Edit + &Editar - - clear automation - + 200% + 5 1/3' {200%?} - - Clear all controller events? - + 150% + 5 1/3' {150%?} - - &Ok - Ac&eptar + 75% + 5 1/3' {75%?} - - &Cancel - &Cancelar + 50% + 5 1/3' {50%?} - - MusE - external script failed - + 25% + 5 1/3' {25%?} - - MusE was unable to launch the script, error message: - - + &Copy + &Copiar - - Automation: - + C&ut + C&ortar - - - SongInfo - - Song Information - + &Paste + &Pegar - - Show on song load - + Select + Seleccionar - - &Cancel - &Cancelar + Select &All + Seleccion&ar Todo - - Alt+C - + &Deselect All + &Deseleccionar Todo + + + WaveTrackInfoBase - - &Ok - Ac&eptar + MusE: TrackInfo + MusE: Información de pista - - Alt+O - + Track Info + Información de pista - - - StkGuiBase - MyDialog2 - MiDialogo2 + Track Name + Nombre de pista - Voices - Voces + Output Route: + Ruta de salida: - Edit - Editar + Input Route: + Ruta de netrada: - - - SynthConfigBase - - MusE: Synth Configuration - MusE: Configuración del Sintetizador virtual + Ports: + Puertos: - - Soft Synthesizer - Sintetizador Virtual + Mono + Mono - - File - Archivo + Stereo + Estéreo + + + file_patterns - - Instances - Copias + + Midi/Kar (*.mid *.MID *.kar *.KAR *.mid.gz *.mid.bz2) + - - - Name - Nombre + + Midi (*.mid *.MID *.mid.gz *.mid.bz2) + - - list of available software synthesizers - lista de sintetizadores de software dispoibles + + Karaoke (*.kar *.KAR *.kar.gz *.kar.bz2) + - - Add Instance - Agregar copia + + + + + + + + + + + + + All Files (*) + Todos los archivos (*) - Alsa Port - Puerto ALSA + + Midi (*.mid) + - - Remove Instance - Quitar copia + + Karaoke (*.kar) + - - Midi Port - Puerto MIDI + + all known files (*.med *.med.gz *.med.bz2 *.mid *.midi *.kar) + - - Midi connections + + med Files (*.med *.med.gz *.med.bz2) - - Inst + + + Uncompressed med Files (*.med) - - Version + + + gzip compressed med Files (*.med.gz) - - Description + + + bzip2 compressed med Files (*.med.bz2) - - - TList - Midi - MIDI + + mid Files (*.mid *.midi *.kar *.MID *.MIDI *.KAR) + - Drum - Percusión + + (*.jpg *.gif *.png) + - Wave - Audio + + (*.jpg) + - Delete Track - Borrar pista + + (*.gif) + - Track Comment - Comentario de pista + + (*.png) + - Show Gui - Mostrar GUI + + part Files (*.mpt *.mpt.gz *.mpt.bz2) + - Add Midi Track - Agregar pista MIDI + + part Files (*.mpt) + - Add Drum Track - Agregar pista de percusión + + gzip compressed part Files (*.mpt.gz) + - Add Wave Track - Agregar pista de audio + + bzip2 compressed part Files (*.mpt.bz2) + - show gui - mostrar gui + + Presets (*.pre *.pre.gz *.pre.bz2) + - - - TempoSig - - Tempo/Sig - tempo/firma + + Presets (*.pre) + - - - Toolbar1 - Solo - Solo + + gzip compressed presets (*.pre.gz) + - Snap - Snap + + bzip2 compressed presets (*.pre.bz2) + - Quantize - Cuantizar + + Presets (*.map *.map.gz *.map.bz2) + - To - A + + Presets (*.map) + - All Events - Todos los eventos + + gzip compressed presets (*.map.gz) + - Looped Ev. - Eventos del bucle + + bzip2 compressed presets (*.map.bz2) + - Selected Ev. - Eventos seleccionados + + Wave/Binary (*.wav *.ogg *.bin) + - Looped+Sel. - Bucle + Selección + + Wave (*.wav *.ogg) + - Cursor - Cursor + + Binary (*.bin) + - TopWin + freeverb - - As subwindow + + FreeVerb - - Shares tools and menu - + + Room Size + Tamaño sala - - Fullscreen + + Damping + Amortiguamiento + + + + Wet Level - - Piano roll + + Tap-Reverberator - - List editor + + Decay [ms] - - Drum editor + + + dB + dB + + + + Dry Level [dB] - - Master track editor + + Wet Level [dB] - - Master track list editor + + Preset: - - Wave editor + + AfterBurn - - Clip list + + AfterBurn (Long) - - Marker view + + Ambience - - Score editor + + Ambience (Thick) - - Arranger - Arreglador + + Ambience (Thick) - HD + - - <unknown toplevel type> + + Cathedral - - - TrackComment - MusE: Track Comment - MusE: Comentario de la pista + + Cathedral - HD + - Track Comment: - Comentario de la pista: + + Drum Chamber + - - - Transport - - - Punch In - Pinchar + + Garage + - - - Loop - Bucle + + Garage (Bright) + - - - Punch Out - Fin pinchado + + Gymnasium + - - Left Mark - Marca izquierda + + Gymnasium (Bright) + - - Right Mark - Marca derecha + + Gymnasium (Bright) - HD + - - Overdub - Agregar + + Hall (Small) + - - - Replace - Reemplazar + + Hall (Medium) + - - Rec Mode - Modo de captura + + Hall (Large) + - - Normal - Normal + + Hall (Large) - HD + - - Mix - Mezcla + + Plate (Small) + - - Cycle Rec - Ciclar captura + + Plate (Medium) + - - punchin - pinchar + + Plate (Large) + - - loop - bucle + + Plate (Large) - HD + - - punchout - fin pinchado + + Pulse Chamber + - - rewind to start - retroceder al inicio + + Pulse Chamber (Reverse) + - - rewind - retroceder + + Resonator (96 ms) + - - forward - avanzar + + Resonator (152 ms) + - - stop - parar + + Resonator (208 ms) + - - play - reproducir + + Room (Small) + - - record - grabar + + Room (Medium) + - - AC - AC + + Room (Large) + - - quantize during record - cuantizar durante la captura + + Room (Large) - HD + - - Click - Click + + Slap Chamber + - - metronom click on/off - Click del metrónomo encendido/apagado + + Slap Chamber - HD + + + + + Slap Chamber (Bright) + - - Sync - Sinconización + + Slap Chamber (Bright) HD + - - external sync on/off - Sincronización externa encedida/apagada + + Smooth Hall (Small) + - - Master - Maestro + + Smooth Hall (Medium) + - - use master track - usar pista maestra + + Smooth Hall (Large) + - - Jack + + Smooth Hall (Large) - HD - - Jack transport sync on/off + + Vocal Plate - - - TransposeBase - - MusE: Transpose + + Vocal Plate - HD - - Range - Rango + + Warble Chamber + - - All Events - Todos los eventos + + Warehoouse + - - Selected Events - Eventos seleccionados + + Warehouse - HD + - - Looped Events + + Comb Filters - Selected Looped + Allpass Filters - - Value - Valor + + Bandpass Filters + - - Halftone-steps + + Enhanced Stereo + + + shortcuts - - OK - Aceptar + + Transport: Start playback from current location + - - Cancel - Cancelar + + Transport: Toggle metronome + - - - TransposeDialogBase - MusE: Midi Transpose - MusE: Transposición MIDI + + Transport: Stop Playback + - Value - Valor + + Transport: Goto Start + - halftones - semitonos + + Transport: Play, Stop, Rewind + - Time - Tiempo + + Transport: Goto left marker + - all - todo + + Transport: Goto right marker + - between markers - entre marcadores + + Transport: Toggle Loop section + - Parts - Partes + + Transport: Toggle Record + - all in selected tracks - todo en las pistas seleccionadas + + Transport: Clear all rec enabled tracks + - OK - Aceptar + + Toggle fullscreen + - Cancel - Cancelar + + Edit: Copy + - - - UnusedWaveFiles - - Dialog + + Edit: Copy in range - - List of unused audio files in current project directory: + + Edit: Undo - - Current project + + Edit: Redo - - All .med files -in current - directory + + Edit: Cut - - Move files to 'unused' subdir + + Edit: Paste - - Cancel - Cancelar + + Edit: Paste (with dialog) + - - - VAMGui - - MusE: Load VAM Presets + + Edit: Delete - - - MusE: Save VAM Presets + + File: New project - - - VAMGuiBase - - Virtual Analogue for MusE - Analogico virtual para MusE + + File: Open from disk + - - LFO - LFO + + File: Save project + - - Freq - Freq + + File: Open recent file + - - - - Waveform - Tipo Onda + + File: Save as + - - - - Sine - Seno + + File: Load template + - - - - Pulse - Pulso + + File: Import midi file + - - - - Saw - Sierra + + File: Export midi file + - - - - Triangle - Triángulo + + File: Import midi part + - - Filter - Filtro + + File: Import audio file + - - EnvMod - Modulación de envolvente + + File: Quit MusE + - - - - Attack - Ataque + + Edit: Select parts on track + - - - - Decay - Decaimiento + + Open pianoroll + - - - - Sustain - Sostenido + + Open drumeditor + - - - - Release - Relajación + + Open listeditor + - - Cutoff - Frecuencia de corte + + Open waveeditor + - - Resonance - Resonancia + + Open graphical mastertrack editor + - - Invert - Invertir + + Open list mastertrack editor + - - KeyTrack - Seguir teclas + + Open midi transformer + - - Presets - Plantillas + + Add midi track + - - Set - Establecer + + Add drum track + - - load preset list - cargar lista de plantillas + + Add wave track + - - save preset list - guardar lista de plantillas + + Add audio output + - - save preset list to a new file - guardar lista de plantillas en un archivo nuevo + + Add audio group + - - delete preset - borrar plantilla + + Add audio input + - - DCO 1 - DCO 1 + + Add audio aux + - - - Pitch - Tono + + Structure: Global cut + - - - Detune - Desafinación + + Structure: Global insert + - - - PWM - PWM + + Structure: Global split + - - - FM - FM + + Structure: Cut events + - - - PW - PW + + View: Open mixer #1 window + - - DCO 2 - DCO 2 + + View: Open mixer #2 window + - - On - Encendido + + View: Toggle transport window + - - VAM 1.0beta2 -Virtual Analog for MusE -Released under GPL. -Copyright(C) 2002 -Jotsif Lindman Hörnlund -( jotsif@linux.nu ) - VAM 1.0beta2 -Virtual Analog for MusE -Released under GPL. -Copyright(C) 2002 -Jotsif Lindman Hörnlund -( jotsif@linux.nu ) + + + View: Toggle bigtime window + - - - VAM 1.0beta3 -Virtual Analog for MusE -Released under GPL. -Copyright(C) 2002 -Jotsif Lindman Hörnlund -( jotsif@linux.nu ) -Copyright(C) 2005 -Robert Jonsson -(rj@spamatica.se) + + + View: Open marker window - - - VelocityBase - - MusE: Modify Velocity - MusE: Modificar velocidad + + Settings: Follow song by page + - - Range - Rango + + Settings: Follow song off + - - All Events - Todos los eventos + + Settings: Follow song continuous + - - Selected Events - Eventos seleccionados + + Settings: Global configuration + - - Looped Events - Eventos del bucle + + Settings: Configure shortcuts + - Selected & Looped - Seleccionados y bucle + + Settings: Configure metronome + - - Values - Valores + + Settings: Midi sync configuration + - - Rate: - Velocidad: + + Settings: Midi file import/export configuration + - - Offset: - Desplazamiento: + + Settings: Appearance settings + - - % - % + + Settings: Midi ports / Soft Synth + - - Selected Looped + + Settings: Audio subsystem configuration - - veloNew = (veloOld * rate) + offset + + Midi: Edit midi instruments - - OK - Aceptar + + Midi: Open midi input transform + - - Cancel - Cancelar + + Midi: Open midi input filter + - - - WTScale - bar scale - escala de compases + + Midi: Midi input transpose + - - - WaveEdit - Normalize - Normalizar + + Midi: Midi remote control + - weTools - Herramientas de Audio + + Midi: Random rhythm generator + - - Solo - Solo + + Midi: Reset midi + - - Cursor - Cursor + + Midi: Init midi + - &File - &Archivo + + Midi: Midi local off + - Functions - Funciones + + Audio: Bounce audio to track + - - &Edit - &Editar + + Audio: Bounce audio to file + - - Func&tions + + Audio: Restart audio - &Gain + Automation: Mixer automation - - 200% - 5 1/3' {200%?} + + Automation: Take mixer snapshot + - - 150% - 5 1/3' {150%?} + + Automation: Clear mixer automation + - - 75% - 5 1/3' {75%?} + + Help: Open Manual + - - 50% - 5 1/3' {50%?} + + Help: Toggle whatsthis mode + - - 25% - 5 1/3' {25%?} + + Edit: Edit selected part + - - Other + + Edit: Select nearest part on track above - - &Copy - &Copiar + + Edit: Add nearest part on track above + - - C&ut - C&ortar + + Edit: Select nearest part on track below + - - &Paste - &Pegar + + Edit: Add nearest part on track below + - - Edit in E&xternal Editor + + Edit: Insert empty measure - - Mute Selection + + Edit: Paste as clones - - Normalize Selection + + Edit: Paste as clones (with dialog) - - Fade In Selection + + Select track above - - Fade Out Selection + + Select track below - Reverse Selection + Midi: Transpose - Select - Seleccionar + Edit: Select all + - - Select &All - Seleccion&ar Todo + + Edit: Select none + - - &Deselect All - &Deseleccionar Todo + + Edit: Invert Selection + - - Window &Config + + Edit: Select events/parts inside locators - - Wave edit tools + + Edit: Select events/parts outside locators - - transport + + Edit: Select previous part - - WaveEdit tools + + Edit: Select next part - - - WaveTrackInfoBase - MusE: TrackInfo - MusE: Información de pista + + Edit: Select nearest part/event to the left or move cursor + - Track Info - Información de pista + + Edit: Add nearest part/event to the left to selection + - Track Name - Nombre de pista + + Edit: Select nearest part/event to the right or move cursor + - Output Route: - Ruta de salida: + + Edit: Add nearest part/event to the right to selection + - Input Route: - Ruta de netrada: + + Edit: Set locators to selection + - Ports: - Puertos: + + Edit: Increase pitch + - Mono - Mono + + Edit: Decrease pitch + - Stereo - Estéreo + + Edit: Increase event position + - - - WaveView - - MusE - external editor failed + + Edit: Decrease event position - MusE was unable to launch the external editor -check if the editor setting in: -Global Settings->Audio:External Waveditor -is set to a valid editor. + View: Zoom in - - MusE - file size changed + + View: Zoom out - When editing in external editor - you should not change the filesize -since it must fit the selected region. - -Missing data is muted + View: Goto Current Position - - - freeverb - - FreeVerb + + + View: Scroll left - - Room Size - Tamaño sala + + Edit: Set Fixed Length on Midi Events + - - Damping - Amortiguamiento + + Quantize + Cuantizar - - Wet Level + + Modify Note Length - - Tap-Reverberator + + Modify Velocity - - Decay [ms] + + Edit: Crescendo - - - dB - dB + + Edit: Thin Out + - - Dry Level [dB] + + Edit: Erase Event - - Wet Level [dB] + + Edit: Delete Overlaps - - Preset: + + Edit: Note Shift - - AfterBurn + + Edit: Move Clock - - AfterBurn (Long) + + Edit: Copy Measure - - Ambience + + Edit: Erase Measure - - Ambience (Thick) + + Edit: Delete Measure - - Ambience (Thick) - HD + + Edit: Create Measure - - Cathedral + + Edit: Change Event Color - Cathedral - HD + Tool: Pointer - - Drum Chamber + + Tool: Pencil - - Garage + + Tool: Eraser - - Garage (Bright) + + Tool: Line Draw - - Gymnasium + + Tool: Cursor - - Gymnasium (Bright) + + Add note velocity 1 - - Gymnasium (Bright) - HD + + Add note velocity 2 - - Hall (Small) + + Add note velocity 3 - - Hall (Medium) + + Add note velocity 4 - - Hall (Large) + + Cursor step size: larger - - Hall (Large) - HD + + Cursor step size: smaller - - Plate (Small) + + Instrument/Cursor up - - Plate (Medium) + + Instrument/Cursor down - - Plate (Large) + + Tool: Scissor - - Plate (Large) - HD + + Tool: Glue - - Pulse Chamber + + Tool: Mute - - Pulse Chamber (Reverse) + + Transport: Increase current position - - Resonator (96 ms) + + Transport: Decrease current position - - Resonator (152 ms) + + Transport: Increase current position, no snap - - Resonator (208 ms) + + Transport: Decrease current position, no snap - - Room (Small) + + Quantize: Set quantize to 1/1 note - - Room (Medium) + + Quantize: Set quantize to 1/2 note - - Room (Large) + + Quantize: Set quantize to 1/4 note - - Room (Large) - HD + + Quantize: Set quantize to 1/8 note - - Slap Chamber + + Quantize: Set quantize to 1/16 note - - Slap Chamber - HD + + Quantize: Set quantize to 1/32 note - - Slap Chamber (Bright) + + Quantize: Set quantize to 1/64 note - - Slap Chamber (Bright) HD + + Quantize: Toggle triol quantization - - Smooth Hall (Small) + + Quantize: Toggle punctuation quantization - - Smooth Hall (Medium) + + Quantize: Toggle punctuation quantization (2) - - Smooth Hall (Large) + + Edit: Insert at location - - Smooth Hall (Large) - HD + + Edit: Increase length - - Vocal Plate + + Edit: Decrease length - - Vocal Plate - HD - + + Insert Note + Insertar nota + + + + Insert SysEx + Insertar sistema exclusivo + + + + Insert Ctrl + Insertar controlador + + + + Insert Meta + Insertar Meta + + + + Insert Channel Aftertouch + Insertar AfterTouch de canal + + + + Insert Key Aftertouch + Insertar AfterTouch de tecla - Warble Chamber + Insert Tempo - - Warehoouse + + Insert Signature - - Warehouse - HD + + Change Event Position - - Comb Filters + + Edit Event Value - - Allpass Filters + + Insert Key - - Bandpass Filters + + Goto Next Marker - - Enhanced Stereo + + Goto Prev Marker diff --git a/muse2/share/locale/muse_fr.ts b/muse2/share/locale/muse_fr.ts index 041f5d4d..99e3e5ef 100644 --- a/muse2/share/locale/muse_fr.ts +++ b/muse2/share/locale/muse_fr.ts @@ -4,9 +4,8 @@ @default - Click this button to enable recording - Cliquez sur ce bouton pour activer + Cliquez sur ce bouton pour activer l'enregistrement @@ -18,13 +17,12 @@ l'enregistrement 100 - quantisation complète - select Pointer Tool: with the pointer tool you can: select parts move parts copy parts - Choisir l'Outil de Pointage: + Choisir l'Outil de Pointage: avec l'outil de pointage vous pouvez: choisir des pièces déplacer des pièces @@ -47,38 +45,32 @@ You can also select the Save command from the File menu. Vous pouvez aussi choisir la commande Enregistrer dans le menu Fichier. - Create New Song - Créer une nouvelle chanson + Créer une nouvelle chanson - Click this button to stop playback - Cliquez sur ce bouton pour arréter la + Cliquez sur ce bouton pour arréter la lecture - Click this button to start playback - Cliquez sur ce bouton pour démarrer la + Cliquez sur ce bouton pour démarrer la lecture - Click this button to rewind to start position - Cliquez sur ce bouton pour revenir � la position de + Cliquez sur ce bouton pour revenir � la position de départ - Click this button to rewind - Cliquez sur ce bouton pour revenir en + Cliquez sur ce bouton pour revenir en arrière - Click this button to forward current play position - Cliquez sur ce bouton pour avancer dans la + Cliquez sur ce bouton pour avancer dans la lecture @@ -92,191 +84,137 @@ tick) défault - loop between left mark and right mark - Boucler entre les marqueurs gauche et droit + Boucler entre les marqueurs gauche et droit - record starts at left mark - l'enregistrement démarre au marqueur + l'enregistrement démarre au marqueur gauche - record stops at right mark - l'enregistrement s'arrète au marqueur + l'enregistrement s'arrète au marqueur droit - rewind to start position - revenir � la position de départ + revenir � la position de départ - rewind current position - revenir � la position en cours + revenir � la position en cours - move current position - déplacer la position en cours + déplacer la position en cours - stop sequencer - arréter le séquenceur + arréter le séquenceur - start sequencer play - démarrer la lecture du séquenceur + démarrer la lecture du séquenceur - to record press record and then play - pour enregistrer, presser Enregistrement (Record) puis + pour enregistrer, presser Enregistrement (Record) puis Lecture (Play) - send note off to all midi channels - envoyer ordre de relachement de note � tous les canaux + envoyer ordre de relachement de note � tous les canaux midi - select Pencil Tool: with the pencil tool you can: create new parts modify length of parts - Choisir l'Outil Crayon + Choisir l'Outil Crayon avec le crayon vous pouvez: créer de nouvelles pièces modifier la longueur des pièces - select Delete Tool: with the delete tool you can delete parts - choisir l'Outil Gomme: + choisir l'Outil Gomme: avec la gomme vous pouvez effacer les pièces - select Cut Tool: with the cut tool you can split a part - Choisir l'Outil Ciseaux + Choisir l'Outil Ciseaux avec les ciseaux vous pouver couper une pièce - select Glue Tool: with the glue tool you can glue two parts - Choisir l'Outil Colle: + Choisir l'Outil Colle: avec la colle vous pouvez coller deux pièces ensemble - select Score Tool: - Choisir l'Outil Partition + Choisir l'Outil Partition - select Quantize Tool: insert display quantize event - Choisir l'Outil Quantisation: + Choisir l'Outil Quantisation: pour voir les marques de quantisation - select Drawing Tool - Choisir l'Outil de Dessin + Choisir l'Outil de Dessin - select Muting Tool: click on part to mute/unmute - Choisir l'Outil Silence: + Choisir l'Outil Silence: cliquez sur une pièces pour la rendre muette ou pas. - - Manipulate automation - - - - - Cursor tool - - - - pointer - pointeur + pointeur - pencil - crayon - - - - edit automation - - - - - cursor - + crayon rubber gomme - cutter - ciseaux + ciseaux - score - partition + partition - glue - colle + colle - quantize - quantisation + quantisation - draw - dessin + dessin - mute parts - silence + silence - - - - - - - - Off - Arrêt + Arrêt presets (*.pre *.pre.gz *.pre.bz2) @@ -288,33 +226,7 @@ cliquez sur une pièces pour la rendre muette ou pas. Tous les Fichiers (*) - - Click this button to open a <em>new song</em>.<br>You can also select the <b>Open command</b> from the File menu. - - - - - Click this button to save the song you are editing. You will be prompted for a file name. -You can also select the Save command from the File menu. - - - - - MESS - - - - - DSSI - - - - - FST - - - - + Add Midi Track Ajouter une Piste Midi @@ -329,201 +241,76 @@ You can also select the Save command from the File menu. Ajouter une Piste Audio - + Add Audio Output - + Add Audio Group - + Add Audio Input - + Add Aux Send - + Add Synth - Bar - Mesure - - - - Jack - - - - - ALSA: - - - - - SYNTH: - - - - - JACK: - + Mesure - - - - - - + Route - - - - - channel="%1" - - - - - - - - + dest - - - - devtype="%1" - - - - - - - - - type="%1" - - - - - - - - name="%1"/ - - - source - - - - Velocity - Vélocité - - - - <none> - - - - - - - channelMask="%1" - - - - - dssi_synth - - - - - ladspa_efx - - - - - channels="%1" - - - - - remch="%1" - - - - - mport="%1"/ - - - - - eraser - - - - - - Show wave tracks - - - - - - Show group tracks - + Vélocité - - - Show aux tracks + + Warning: No output devices! - - - Show input tracks + + Open midi config... - - - Show output tracks + + Empty ports - - - Show midi tracks + + <none> - - - Show synth tracks + + channelMask="%1" @@ -562,9 +349,8 @@ Published under the GNU Public License Appearance - MusE: load image - MusE: charger une image + MusE: charger une image handle of transport window @@ -587,116 +373,46 @@ Published under the GNU Public License Couleur du fond de l'éditeur d'échantillon + + + AppearanceDialogBase - - Main application font, and default font for any - controls not defined here. - + MusE: Appearance Settings + MusE: réglages de l'apparence - - For small controls like mixer strips. -Also timescale small numbers, arranger part name overlay, - and effects rack. - + + Apply + Appliquer - - Midi track info panel. Transport controls. - + + Ok + Ok - - Controller graph and S/X buttons. Large numbers for time - and tempo scale, and time signature. - + + Cancel + Annuler - - Time scale markers. - + + Arranger + Arrangeur - - List editor: meta event edit dialog multi-line edit box. - + + Parts + Pièces - - Mixer label font. Auto-font-sizing up to chosen font size. -Word-breaking but only with spaces. - + show frames + montrer les séparations - - Maximum mixer label auto-font-sizing font size. - - - - - Global opacity (opposite of transparency). - - - - - Standard - - - - - Custom - - - - - Select style sheet - - - - - Qt style sheets (*.qss) - - - - - AppearanceDialogBase - - MusE: Appearance Settings - MusE: réglages de l'apparence - - - - Apply - Appliquer - - - - Ok - Ok - - - - Cancel - Annuler - - - - Arranger - Arrangeur - - - - Parts - Pièces - - - show frames - montrer les séparations - - - - show names - montrer les noms + + show names + montrer les noms @@ -1515,29 +1231,12 @@ dans l'Arrangeur ClipListEdit - MusE: Clip List Editor - MusE: Editeur de la Liste de Clips + MusE: Editeur de la Liste de Clips - - Undo/Redo tools - - - - panic - panique! - - - - transport - - - - - Window &Config - + panique! @@ -1609,17 +1308,17 @@ dans l'Arrangeur ConfigMidiFileBase - + MusE: Config Midi File Import/Export - + Import: - + Split tracks into &parts @@ -1629,12 +1328,12 @@ dans l'Arrangeur - + Split tracks into parts, or one single part - + Export: @@ -1678,6 +1377,11 @@ dans l'Arrangeur Format: + + + Note: Format 0 uses the FIRST midi track's name/comment in the arranger + + Division: @@ -1781,14 +1485,12 @@ dans l'Arrangeur CtrlPanel - select controller - Choisissez le contrôle + Choisissez le contrôle - remove panel - enlever le panneau + enlever le panneau other ... @@ -1803,77 +1505,22 @@ dans l'Arrangeur x - - Velocity - Vélocité + Vélocité Pitch Hauteur - S - S - - - - X - - - - - manual adjust - - - - - double click on/off - - - - - off - - - - - add new ... - - - - - - Instrument-defined - - - - - - Add ... - - - - - Others - - - - - Edit instrument ... - - - - - Common Controls - + S DeicsOnzeGui - + Save configuration @@ -3632,402 +3279,191 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t DrumEdit - Load Map - Charger set de batterie + Charger set de batterie - Save Map - Enregistrer set de batterie + Enregistrer set de batterie - &Edit - &Editer + &Editer - Cut - Couper + Couper - Copy - Copier + Copier - Paste - Coller + Coller - Delete Events - Effacer + Effacer - Select All - Tout sélectionner + Tout sélectionner - Select None - Dé-sélectionner + Dé-sélectionner - Invert - Inverser + Inverser - Inside Loop - Dans la boucle + Dans la boucle - Outside Loop - Hors de la boucle + Hors de la boucle - &Select - &Sélectionner - - - - Copy events in range - - - - - Paste (with Dialog) - - - - - Fu&nctions - - - - - Window &Config - + &Sélectionner - Step Record - Enregistrement pas-�-pas + Enregistrement pas-�-pas - Midi Input - Entrée Midi + Entrée Midi - Add Controller View - Ajouter une Vue des contrôles + Ajouter une Vue des contrôles - M - M + M - Sound - Son + Son - QNT - QNT + QNT - E-Note - E-Note + E-Note - Len - Long + Long - A-Note - A-Note + A-Note - Ch - Ch + Ch - Port - Port + Port - LV1 - LV1 + LV1 - LV2 - LV2 + LV2 - LV3 - LV3 + LV3 - LV4 - LV4 + LV4 - &File - &Fichier + &Fichier - Load Drummap - Charger Set de Batterie + Charger Set de Batterie - Store Drummap - Enregistrer Set de Batterie + Enregistrer Set de Batterie - ctrl - ctrl + ctrl drummaps Sets de Batterie - Muse: Load Drum Map - MusE: Charger Set de Batterie + MusE: Charger Set de Batterie - MusE: Store Drum Map - MusE: Enregistrer Set de Batterie + MusE: Enregistrer Set de Batterie - - mute instrument - Rendre muet l'instrument + Rendre muet l'instrument - - sound name - Nom du son - - - - - volume percent - + Nom du son - - quantisation - quantisation + quantisation - - this input note triggers the sound - cette note en entrée déclenche le son + cette note en entrée déclenche le son - - note length - longueur de note + longueur de note - - - this is the note which is played - + &Functions + &Fonctions - - output channel (hold ctl to affect all rows) - + Modify Velocity + Modifier la vélocité - - - output port - - - - - - shift + control key: draw velocity level 1 - - - - - - control key: draw velocity level 2 - - - - - - shift key: draw velocity level 3 - - - - - - draw velocity level 4 - - - - - output channel (ctl: affect all rows) - - - - - Reset GM Map - - - - - Previous Part - - - - - Next Part - - - - &Functions - &Fonctions - - - - Re-order list - - - - - Set Fixed Length - - - - - Modify Velocity - Modifier la vélocité - - - - Crescendo/Decrescendo - - - - - Quantize - - - - - Erase Event - - - - - Move Notes - - - - - Delete Overlaps - - - - - &Plugins - - - - - Drum tools - - - - - cursor tools - - - - - Set step size for cursor edit - - - - panic - panique! - - - - transport - - - - - Vol - - - - - Drum map - - - - - Reset the drum map with GM defaults? - + panique! EditCAfterDialog - Time Position - Position temporelle + Position temporelle - Pressure - Pression + Pression - MusE: Enter Channel Aftertouch - MusE: Entrez le Canal de Pression + MusE: Entrez le Canal de Pression (AfterTouch) @@ -4181,14 +3617,12 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t EditEventDialog - Ok - Ok + Ok - Cancel - Annuler + Annuler @@ -4252,267 +3686,107 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t EditInstrument - - - MusE: Create file failed - + MusE: Write File failed + MusE: échec de l'enregistrement - - MusE: Write File failed - MusE: échec de l'enregistrement + MusE + MusE - - - - - MusE: - + &Nosave + &Pas d'enregistrement - - - The user instrument directory - - + &Abort + &Annuler + + + EditInstrumentBase - - - -does not exist yet. Create it now? - + + MusE: Instrument Editor - - - (You can change the user instruments directory at Settings->Global Settings->Midi) + + Instrument Name: - - - Unable to create user instrument directory - + + Selected instrument name. - - - MusE: Save Instrument Definition + + List of defined instruments. - - - Instrument Definition (*.idf) + + Pa&tches - - - MusE: Save instrument as + + List of groups and patches. - - Enter a new unique instrument name: + + Group/Patch - - The user instrument: - - + + + Properties + Propriétés - - -already exists. This will overwrite its .idf instrument file. -Are you sure? - + + + + Name: + Nom: - - MusE: Bad instrument name + + + Group or patch name - - Please choose a unique instrument name. -(The name might be used by a hidden instrument.) + + High Bank: - - MusE: Bad patch name + + Patch high bank number - - Please choose a unique patch name + + Patch high bank number. --- means don't care. - - MusE: Bad patchgroup name + + --- + dont care - - Please choose a unique patchgroup name + + Low Bank: - - MusE: Bad controller name - - - - - Please choose a unique controller name - - - - - - MusE: Cannot add common controller - - - - - A controller named - - - - - - already exists. - - - - - A controller number - - - - - - MusE - MusE - - - - - The current Instrument contains unsaved data -Save Current Instrument? - - - - - - &Save - - - - - - &Nosave - &Pas d'enregistrement - - - - &Abort - &Annuler - - - - EditInstrumentBase - - - MusE: Instrument Editor - - - - - Instrument Name: - - - - - Selected instrument name. - - - - - List of defined instruments. - - - - - Pa&tches - - - - - List of groups and patches. - - - - - Group/Patch - - - - - - Properties - Propriétés - - - - - - Name: - Nom: - - - - - Group or patch name - - - - - High Bank: - - - - - Patch high bank number - - - - - Patch high bank number. --- means don't care. - - - - - --- - dont care - - - - - Low Bank: - - - - - Patch low bank number + + Patch low bank number @@ -5095,24 +4369,20 @@ Typically, set to 127/127, or an unused EditMetaDialog - Time Position - Position temporelle + Position temporelle - Meta Type - Meta Type + Meta Type - Enter Hex - Entrez en Hexa + Entrez en Hexa - MusE: Enter Meta Event - MusE: Entrer un Evènement en Hexa + MusE: Entrer un Evènement en Hexa @@ -5192,24 +4462,20 @@ Typically, set to 127/127, or an unused EditPAfterDialog - Time Position - Position temporelle + Position temporelle - Pitch - Hauteur + Hauteur - Pressure - Pression + Pression - MusE: Enter Poly Aftertouch - Muse: Entrer la Pression polyphonique + Muse: Entrer la Pression polyphonique @@ -5758,13 +5024,31 @@ l'interface - + Allows some popup menus to stay open. Otherwise, hold Ctrl to keep them open. - + + In some areas, the middle mouse button decreases +values, while the right button increases. Users without a +middle mouse button can select this option to make the +left button behave like the middle button in such areas. + + + + + Use left mouse button for decreasing values + + + + + Shift + Right click sets left range marker + + + + MDI-subwindowness and sharing menus @@ -5808,7 +5092,7 @@ Otherwise, hold Ctrl to keep them open. Navigateur pour l'aide: - + Application @@ -6161,197 +5445,102 @@ Adjusts responsiveness of audio controls and LMaster - new tempo - nouveau tempo + nouveau tempo - new signature - nouvelle signature + nouvelle signature - Meter - Métrage + Métrage - Time - Temps + Temps - Type - Type + Type - Value - Valeur + Valeur - MusE: Mastertrack - MusE: Piste principale - - - - Window &Config - - - - - Undo/Redo tools - + MusE: Piste principale - Tempo - Tempo + Tempo - Timesig - Signature Temporelle + Signature Temporelle - - &Edit - + panic + panique! + + + LegatoBase - - Insert Tempo + + MusE: Legato - - Insert Signature + + Range - - Insert Key - + + All Events + Tous les Evènements - - Edit Positon - + + Selected Events + Evènements choisis - - Edit Value - + + Looped Events + Evènements bouclés - - Delete Event + + Selected Looped - - Edit tools + + Settings - - Key + + ticks - - new key + + Minimum Length - - panic - panique! - - - - transport + + Allow shortening notes - - Reposition of the initial tempo and signature events is not allowed - - - - - MusE: List Editor - - - - - Input error, conversion not OK or value out of range - - - - - Reposition of tempo and signature events to start position is not allowed! - - - - - LegatoBase - - - MusE: Legato - - - - - Range - - - - - All Events - Tous les Evènements - - - - Selected Events - Evènements choisis - - - - Looped Events - Evènements bouclés - - - - Selected Looped - - - - - Settings - - - - - ticks - - - - - Minimum Length - - - - - Allow shortening notes - - - - - OK - OK + + OK + OK @@ -6362,29 +5551,24 @@ Adjusts responsiveness of audio controls and ListEdit - &Edit - &Edition + &Edition - Cut - Couper + Couper - Copy - Copier + Copier - Paste - Coller + Coller - Delete Events - Effacer évènements + Effacer évènements List Tools @@ -6399,36 +5583,32 @@ Adjusts responsiveness of audio controls and Insérer Note - insert Note - insére une note + insére une note Insert SysEx Insérer SysEx - insert SysEx - insère une commande midi SysEx + insère une commande midi SysEx Insert Ctrl Insérer Ctrl - insert Ctrl - insére un caractère de Contrôle + insére un caractère de Contrôle Insert Meta Insérer Meta - insert Meta - insére une balise Meta + insére une balise Meta Insert Pitch @@ -6443,93 +5623,61 @@ Adjusts responsiveness of audio controls and Insérer Canal de Pression - insert Channel Aftertouch - insére un canal de Pression (AfterTouch) + insére un canal de Pression (AfterTouch) Insert Key Aftertouch Insérer une note de Pression - insert Poly Aftertouch - insère une Pression (AfterTouch) + insère une Pression (AfterTouch) polyphonique - - Window &Config - - - - - Undo/Redo tools - - - - panic - panique! - - - - transport - + panique! - Tick - Tic + Tic - Bar - Mesure + Mesure Typ Typ - Ch - Can + Can - Val A - Val A + Val A - Val B - Val B + Val B - Val C - Val C + Val C - Len - Lon + Lon - Comment - Commentaire - - - - Insert tools - + Commentaire - Type - Type + Type @@ -6576,664 +5724,369 @@ Transposition MusE: Table des ports Midi - Port - Port + Port - GUI - GUI + GUI Rec Enr - Instrument - Instrument + Instrument - Device Name - Nom du Périphérique + Nom du Périphérique - State - Etat + Etat unknown inconnu - - - Default input connections - + Port Number + Numéro de port - - - Are you sure you want to apply to all existing midi tracks now? - + Instrument connected to port + Instrument connecté au port - - - Default output connections - + State: result of opening the device + Etat: résultat de l'ouverture du port + + + MRConfigBase - - - Setting will apply to new midi tracks. -Do you want to apply to all existing midi tracks now? - + + MusE: Midi Input Plugin: Remote Control + MusE: Plugin d'Entrée Midi: Contrôle +Distant - - MusE: bad device name - + + Activate + Activer - - please choose a unique device name - + + On + On - - - in - + + Actions + Actions - - - out - + + Stop + Stop - - Show first aliases - + + Record + Enregistre - - Show second aliases - + + Goto Left Mark + Aller � la Marque Gauche - - - Toggle all - + + Play + Jouer - - - Change all tracks now + + Insert rest (step rec) + + + MTScale - - Create - + bar scale + Echelle de la mesure + + + MarkerView - - device - + panic + panique! - - - Port Number - Numéro de port + Bar:Beat:Tick + Mesure:Résolution(Beat):Tic - - Enable gui - + Hr:Mn:Sc:Fr:Sf + Hr:Mn:Sc:Fr:Sf - - Enable reading - + Lock + Verrouillage - - Enable writing - + Text + Texte - - Port instrument - + Marker Properties + Propriétés du Marqueur - - Midi device name. Click to edit (Jack) - + MusE: Marker + MusE: Marqueur - - Connections from Jack Midi outputs - + add marker + Ajouter marqueur - - Connections to Jack Midi inputs - + Add Marker + Ajoute un marqueur - - Auto-connect these channels to new midi tracks - + delete marker + Effacer Marqueur - - Auto-connect new midi tracks to these channels - + Delete Marker + Efface le marqueur - - Auto-connect new midi tracks to this channel - + &File + &Fichier - - Auto-connect these channels, on this port, to new midi tracks. - + &Edit + &Edition - - Connect new midi tracks to these channels, on this port. - + edit tools + outils d'édition + + + MasterEdit - - Connect new midi tracks to this channel, on this port. - + Cursor + Curseur - - Device state - + Snap + Aligne - - Enable gui for device - + time at cursor position + Temps à la position du curseur - - Enable reading from device - + panic + panique! - - Enable writing to device - + tempo at cursor position + Temps � la position du curseur - - Name of the midi device associated with this port number. Click to edit Jack midi name. - + CurPos + PosCur - - Instrument connected to port - Instrument connecté au port + tempo at current position + tempo � la position en cours - - Connections from Jack Midi output ports - + time signature at current position + Signature temporelle à la position en cours - - Connections to Jack Midi input ports - + MusE: Mastertrack + MusE: PistePrincipale - - State: result of opening the device - Etat: résultat de l'ouverture du port + edit tools + outils d'édition - - I - + EnableMaster + ActiverMaître - - O - + use master track + Utiliser la piste principale - - In routes - + Info + Info - - Out routes + Off + Off + + + + MdiSettingsBase + + + Form - - Def in ch + + GroupBox - - Def out ch + + MDI subwin - - <unknown> + + Shares menu when subwin - - - <none> + + Shares menu when free - MRConfigBase + MetronomeConfigBase - - MusE: Midi Input Plugin: Remote Control - MusE: Plugin d'Entrée Midi: Contrôle -Distant + + MusE: Metronome Config + MusE: Configuration du Métronome - - Activate - Activer + + Metronome + Métronome - - On - On + + Audio Beep + Bip audio - - Actions - Actions + + MIDI Click + Clic MIDI - - Stop - Stop + + Midi Channel + Canal Midi - Record - Enregistre + Measure Note + Note Mesure - - Goto Left Mark - Aller � la Marque Gauche + + Measure Velocity + Vélocité de la Mesure - Play - Jouer - - - - Insert rest (step rec) - + Beat Velocity + Résolution (Beat) de la Vélocité - - - MTScale - bar scale - Echelle de la mesure + + Beat Note + Note de Résolution (Beat) - - - MarkerView - - Window &Config - + + Midi Port + Port MIDI - - Undo/Redo tools - + + Precount + Pré-compte - - panic - panique! + + enable + activer - - transport - + + Bars + Mesures - - Bar:Beat:Tick - Mesure:Résolution(Beat):Tic + + From Mastertrack + de la Piste Principale - - Hr:Mn:Sc:Fr:Sf - Hr:Mn:Sc:Fr:Sf + + / + / - - Lock - Verrouillage + + Signature + Signature - - Text - Texte + + Prerecord + Pré-enregistrement - - Marker Properties - Propriétés du Marqueur + + Preroll + PreRoll - - MusE: Marker - MusE: Marqueur + + &Apply + &Appliquer - - add marker - Ajouter marqueur + + &OK + &Ok - Add Marker - Ajoute un marqueur + + &Cancel + &Annuler - - delete marker - Effacer Marqueur + + Choose outputs... + - Delete Marker - Efface le marqueur + + 50 + 5 1/3' {50?} - &File - &Fichier - - - - &Edit - &Edition - - - - edit tools - outils d'édition - - - - MasterEdit - - - Cursor - Curseur - - - - Snap - Aligne - - - - time at cursor position - Temps à la position du curseur - - - - Window &Config - - - - - Undo/Redo tools - - - - - panic - panique! - - - - transport - - - - - tempo at cursor position - Temps � la position du curseur - - - - CurPos - PosCur - - - - tempo at current position - tempo � la position en cours - - - - time signature at current position - Signature temporelle à la position en cours - - - - MusE: Mastertrack - MusE: PistePrincipale - - - edit tools - outils d'édition - - - EnableMaster - ActiverMaître - - - use master track - Utiliser la piste principale - - - - Info - Info - - - Off - Off - - - - Enable master - - - - - Enable - - - - - Enable usage of master track - - - - - MdiSettingsBase - - - Form - - - - - GroupBox - - - - - MDI subwin - - - - - Shares menu when subwin - - - - - Shares menu when free - - - - - MetronomeConfigBase - - - MusE: Metronome Config - MusE: Configuration du Métronome - - - - Metronome - Métronome - - - - Audio Beep - Bip audio - - - - MIDI Click - Clic MIDI - - - - Midi Channel - Canal Midi - - - - Measure Note - Note Mesure - - - - Measure Velocity - Vélocité de la Mesure - - - - Beat Velocity - Résolution (Beat) de la Vélocité - - - - Beat Note - Note de Résolution (Beat) - - - - Midi Port - Port MIDI - - - - Precount - Pré-compte - - - - enable - activer - - - - Bars - Mesures - - - - From Mastertrack - de la Piste Principale - - - - / - / - - - - Signature - Signature - - - - Prerecord - Pré-enregistrement - - - - Preroll - PreRoll - - - - &Apply - &Appliquer - - - - &OK - &Ok - - - - &Cancel - &Annuler - - - - Choose outputs... - - - - - 50 - 5 1/3' {50?} - - - - % Audio volume - + + % Audio volume + @@ -7581,10 +6434,8 @@ Midi MidiInputTransformDialog - - New - Nouveau + Nouveau @@ -8954,15 +7805,6 @@ pour l'enregistrement: Valeur de Quantisation - - MidiTransformerDialog - - - - New - - - MixdownFileDialog @@ -9766,833 +8608,858 @@ failed: MusEApp::MusE - - - Failed to start audio! - - - - - Was not able to start audio, check if jack is running. - - - - - - Timeout waiting for audio to run. Check if jack is running. - - - - - Und&o - &Annuler + &Annuler - Re&do - Re&faire + Re&faire - undo last change to song - Annuler le dernier changement sur la chanson + Annuler le dernier changement sur la chanson - redo last undo - Refaire ce qui a été annulé en dernier + Refaire ce qui a été annulé en dernier - Loop - Boucle + Boucle - Punchin - Punch-In + Punch-In - Punchout - Punch-Out - - - - Start - + Punch-Out - Rewind - Rembobiner + Rembobiner - Forward - Avance + Avance - Stop - Stop + Stop - Play - Jouer - - - - Record - + Jouer - - Panic - Panique! + Panique! - &New - &Nouveau + &Nouveau - &Open - &Ouvrir + &Ouvrir - Open &Recent - Ouvrir &Récent - - - - - - &Save - + Ouvrir &Récent - Save &As - Enregistrer &Sous + Enregistrer &Sous - Import Midifile - Importer fichier MIDI + Importer fichier MIDI - Export Midifile - Exporter fichier MIDI - - - - Import Part - + Exporter fichier MIDI - - Import Wave File - Importer fichier WAV - - - - Find unused wave files - + Importer fichier WAV - &Quit - &Quitter - - - - Song Info - + &Quitter - Transport Panel - Panneau de Contrôle + Panneau de Contrôle - Bigtime Window - Fenêtre GrandeHorloge - - - - Mixer A - - - - - Mixer B - + Fenêtre GrandeHorloge - Cliplist - ListClip - - - - Marker View - - - - - Arranger View - - - - - Fullscreen - - - - - &Plugins - - - - - Edit Instrument - + ListClip - Input Plugins - Plugins d'Entrée + Plugins d'Entrée - Transpose - Transposition + Transposition - Midi Input Transform - Transformations Entrée MIDI + Transformations Entrée MIDI - Midi Input Filter - Filtres pour l'Entrée MIDI + Filtres pour l'Entrée MIDI - Midi Remote Control - Contrôle MIDI à distance - - - - Rhythm Generator - + Contrôle MIDI à distance - Reset Instr. - Ré-initialisation des Instruments + Ré-initialisation des Instruments - Init Instr. - Init. Instr. + Init. Instr. - Local Off - Local Off + Local Off - Bounce to Track - Rebondir (bounce) sur la piste + Rebondir (bounce) sur la piste - Bounce to File - Rebondir (bounce) sur Fichier + Rebondir (bounce) sur Fichier - - Restart Audio - + Global Settings + Paramètres Généraux - - Mixer Automation - + Follow Song + suivre la chanson - - Take Snapshot - + Don't Follow Song + Ne pas suivre la chanson - - Clear Automation Data - + Follow Page + Défilement par page - - Cascade - + Follow Continuous + Défilement fin - - Tile - + Metronome + Métronome - - In rows - + Midi Sync + Synchro MIDI - - In columns - + Appearance Settings + Apparence - - Global Settings - Paramètres Généraux + Transport + Transport - - Configure Shortcuts - + &File + &Fichier - - Follow Song - suivre la chanson + &Midi + &MIDI - - Don't Follow Song - Ne pas suivre la chanson + &Audio + &Audio - - Follow Page - Défilement par page + &Help + &Aide - - Follow Continuous - Défilement fin + MusE: Song: + MusE: chanson - - Metronome - Métronome + MusE: load project + Muse: charger Projet - - Midi Sync - Synchro MIDI + MusE: Write File failed + MusE: échec de l'enregistrement - - Midi File Import/Export - + The current Project contains unsaved data +Save Current Project? + Le Projet en cours contient des données +non encore sauvegardées. Enregistrer? - - Appearance Settings - Apparence + MusE: Save As + MusE: enregistrer sous - - Midi Ports / Soft Synth - + Nothing to edit + Rien � éditer - - &Manual - + MusE: Bounce to Track + MusE: Rebondir sur la piste (bounce) - - &MusE Homepage - + The current Project contains unsaved data +Load overwrites current Project: +Save Current Project? + Le Projet en cours contient des données non +sauvegardées. Voulez-vous l'enregistrer +avant d'en ouvrir un autre? - - &Report Bug... - + &Abort + &Annuler - - &About MusE - + MusE: Export Midi + MusE: exporter fichier MIDI - - File Buttons - + no help found at: + Pas d'aide trouvée ici: - - Undo/Redo - + MusE: Open Help + MusE: Ouvrir l'Aide - - Transport - Transport + MusE: Import Midi + MusE: importer fichier MIDI - - &File - &Fichier + reading midifile + + lecture du fichier MIDI + - - &View - + +failed: + +échec: + + + MusEArranger::Arranger - - &Midi - &MIDI + Enable Recording + Activer l'Enregistrement - - &Audio - &Audio + Solo Indicator + Indicateur de Solo - - A&utomation - + Track Type + Type de Piste - - &Windows - + Time Lock + Vérouillage d'Horloge - - MusE Se&ttings - + Arranger + Arrangeur - - &Help - &Aide + Cursor + Curseur - - Cannot read template - + Snap + Aligne - - File open error - + Type + Type - - File read error - + NO + NON - - Unknown File Format: - + GM + GM - - - - MusE: Song: - MusE: chanson + GS + GS - - MusE: load project - Muse: charger Projet + XG + XG - - MusE: load template - + midi song type + type de fichier midi - - MusE: Write File failed - MusE: échec de l'enregistrement + Pitch + Hauteur - - The current Project contains unsaved data -Save Current Project? - Le Projet en cours contient des données -non encore sauvegardées. Enregistrer? + midi pitch + hauteur midi - - - S&kip - + global midi pitch shift + transposition midi globale - - &Cancel - + Tempo + Tempo - - - MusE: Save As - MusE: enregistrer sous + midi tempo + tempo midi - - - Nothing to edit - Rien � éditer + N + N - - - - - - MusE: Bounce to Track - MusE: Rebondir sur la piste (bounce) + TrackInfo + InfoPiste - - No wave tracks found - + R + R - - - No audio output tracks found - + M + M - - Select one audio output track, -and one target wave track - + S + S - - Select one target wave track - + C + C - - Select one target wave track, -and one audio output track - + Track + Piste - - - MusE: Bounce to File - + Port + Port - - Select one audio output track - + T + T + + + MusEArranger::ArrangerView - - MusE: Bounce - + panic + panique! - - set left/right marker for bounce range - + C&ut + Co&uper - - The current Project contains unsaved data -Load overwrites current Project: -Save Current Project? - Le Projet en cours contient des données non -sauvegardées. Voulez-vous l'enregistrer -avant d'en ouvrir un autre? + &Copy + &Copier - - - &Abort - &Annuler + Add Track + Ajouter Piste - - MusE: Export Midi - MusE: exporter fichier MIDI + Select + Sélectionner - - no help found at: - Pas d'aide trouvée ici: - - - - MusE: Open Help - MusE: Ouvrir l'Aide + Select &All + Selectionner &Tout - - Unable to launch help - + &Deselect All + &Dé-selectionner tout - - For some reason MusE has to launch the default -browser on your machine. - + Invert &Selection + Inverser la &Sélection - - MusE: Import Midi - MusE: importer fichier MIDI + &Inside Loop + A l'&intérieur de la Boucle - - Add midi file to current project? - - + &Outside Loop + A l'e&xtérieur de la Boucle - - &Add to Project - + All &Parts on Track + Tous les &bouts de la Piste - - &Replace - + Score + Partition - - reading midifile - - lecture du fichier MIDI - + Pianoroll + Rouleau-Piano - - -failed: - -échec: + Drums + Batterie - - Import part is only valid for midi and wave tracks! - + List + Liste - - MusE: load part - + Wave + Forme d'Onde - - No track selected for import - + Mastertrack + PistePrincipale - - out of - + Graphic + Graphique - - parts - + Midi &Transform + &Transformation MIDI - - part - + Global Cut + Couper tout - - could not be imported. -Likely the track is the wrong type. - + Global Insert + Insérer tout - - to import an audio file you have first to selecta wave track - + Global Split + Diviser Tout - - Import Wavefile - + &Structure + &Structure - - This wave file has a samplerate of %1, -as opposed to current setting %2. -Do you still want to import it? - + Functions + Fonctions - - &Yes - + Transpose + Transposition - - &No - + New + Nouveau - MusEArranger::Arranger + MusEArranger::PartCanvas - - Enable Recording - Activer l'Enregistrement + Cannot copy/move/clone to different Track-Type + Ne peut copier/déplacer vers une type de Piste +différent - - Mute/Off Indicator - + C&ut + Co&uper - - Solo Indicator - Indicateur de Solo + &Copy + &Copier - - Track Type - Type de Piste + rename + renommer - - Track Name - + color + couleur - - Midi output channel number or audio channels - + delete + effacer - - Midi output port or synth midi port - + split + séparer - - Time Lock - Vérouillage d'Horloge + de-clone + annuler-clônage - - Automation parameter selection - + wave edit + édition wav - - Notation clef - + Cannot paste: multiple tracks selected + Ne peut coller: plusieurs pistes +sélectionnées - - Enable recording. Click to toggle. - + Cannot paste: no track selected + Ne peut coller: pas de piste choisie - - Mute indicator. Click to toggle. -Right-click to toggle track on/off. -Mute is designed for rapid, repeated action. -On/Off is not! - + Cannot paste: wrong data type + Ne peut coller: mauvais type de donnée + + + MusEArranger::TList - - Solo indicator. Click to toggle. -Connected tracks are also 'phantom' soloed, - indicated by a dark square. - + show gui + montrer l'interface - - Track type. Right-click to change - midi and drum track types. - + Drum + Batterie + + + MusECore::Song - - Track name. Double-click to edit. -Right-click for more options. + + Jack shutdown! - Midi/drum track: Output channel number. -Audio track: Channels. -Mid/right-click to change. + Jack has detected a performance problem which has lead to +MusE being disconnected. +This could happen due to a number of reasons: +- a performance issue with your particular setup. +- a bug in MusE (or possibly in another connected software). +- a random hiccup which might never occur again. +- jack was voluntary stopped by you or someone else +- jack crashed +If there is a persisting problem you are much welcome to discuss it +on the MusE mailinglist. +(there is information about joining the mailinglist on the MusE + homepage which is available through the help menu) + +To proceed check the status of Jack and try to restart it and then . +click on the Restart button. - - Midi/drum track: Output port. -Synth track: Assigned midi port. -Left-click to change. -Right-click to show GUI. + + + Automation: - - Time lock + + previous event - - Notation clef. Select this tracks notation clef. + + next event - - Arranger - Arrangeur + + + set event + - - Cursor - Curseur + + + add event + - - Snap - Aligne + + + erase event + - - Len + + erase range + + + + + clear automation + + + + + Clear all controller events? + + + + + &Ok + &Ok + + + + &Cancel + + + + + MusE - external script failed + + + + + MusE was unable to launch the script, error message: +%1 + + + + + MusEGui::Appearance + + + Main application font, and default font for any + controls not defined here. + + + + + For small controls like mixer strips. +Also timescale small numbers, arranger part name overlay, + and effects rack. + + + + + Midi track info panel. Transport controls. + + + + + Controller graph and S/X buttons. Large numbers for time + and tempo scale, and time signature. + + + + + Time scale markers. + + + + + List editor: meta event edit dialog multi-line edit box. + + + + + Mixer label font. Auto-font-sizing up to chosen font size. +Word-breaking but only with spaces. + + + + + Maximum mixer label auto-font-sizing font size. + + + + + Global opacity (opposite of transparency). + + + + + Standard + + + + + Custom + + + + + MusE: load image + MusE: charger une image + + + + Select style sheet + + + + + Qt style sheets (*.qss) + + + + + MusEGui::Arranger + + + Enable Recording + Activer l'Enregistrement + + + + Mute/Off Indicator + + + + + Solo Indicator + Indicateur de Solo + + + + Track Type + Type de Piste + + + + Track Name - + + Midi output channel number or audio channels + + + + + Midi output port or synth midi port + + + + + Time Lock + Vérouillage d'Horloge + + + + Automation parameter selection + + + + + Notation clef + + + + + Enable recording. Click to toggle. + + + + + Mute indicator. Click to toggle. +Right-click to toggle track on/off. +Mute is designed for rapid, repeated action. +On/Off is not! + + + + + Solo indicator. Click to toggle. +Connected tracks are also 'phantom' soloed, + indicated by a dark square. + + + + + Track type. Right-click to change + midi and drum track types. + + + + + Track name. Double-click to edit. +Right-click for more options. + + + + + Midi/drum track: Output channel number. +Audio track: Channels. +Mid/right-click to change. + + + + + Midi/drum track: Output port. +Synth track: Assigned midi port. +Left-click to change. +Right-click to show GUI. + + + + + Time lock + + + + + Notation clef. Select this tracks notation clef. + + + + + Arranger + Arrangeur + + + + Cursor + Curseur + + + + Off + + + + + Bar + Mesure + + + + Snap + Aligne + + + + Len + + + + song length - bars @@ -10716,7 +9583,7 @@ Right-click to show GUI. - MusEArranger::ArrangerView + MusEGui::ArrangerView MusE: Arranger @@ -10979,3464 +9846,3740 @@ Right-click to show GUI. - + New Nouveau - MusEArranger::PartCanvas + MusEGui::AudioMixerApp - - Cannot copy/move/clone to different Track-Type - Ne peut copier/déplacer vers une type de Piste -différent + + &Create + &Créer - - C&ut - Co&uper + + &View + - - &Copy - &Copier - - - - s&elect - - - - - clones + + Routing - - - rename - renommer - - - - color - couleur - - delete - effacer - - - - split - séparer - - - - glue + Show Midi Tracks - - de-clone - annuler-clônage + + Show Drum Tracks + - - - - save part to disk + + Show Wave Tracks - - wave edit - édition wav + + Show Inputs + - - file info + + Show Outputs - - MusE: save part + + Show Groups - - Part name + + Show Auxs - - Files + + Show Synthesizers + + + MusEGui::AudioStrip - - out of + + panorama - - parts + + aux send level - - part - + + Pan + Pan - - could not be pasted. -Likely the selected track is the wrong type. - + + 1/2 channel + 1/2 canal - - Cannot paste: multiple tracks selected - Ne peut coller: plusieurs pistes -sélectionnées + + Pre + Pre - - Cannot paste: no track selected - Ne peut coller: pas de piste choisie + + pre fader - post fader + pre fader - post fader - - Can only paste to midi/drum track - + + dB + dB - - Can only paste to wave track + + record - Can only paste to midi or wave track - + mute + silence - - Cannot paste: wrong data type - Ne peut coller: mauvais type de donnée + + record downmix + enregistrer mixdown - - - MusEArranger::TList - - <none> + + + solo mode - - no clef + + off - - Treble + + iR - Bass + input routing - - Grand + + oR - - MusE: bad trackname - + + output routing + chemin de sortie (routing) - - please choose a unique track name + + Off - - - Update drummap? + + Read - - Do you want to use same port for all instruments in the drummap? + + Touch - - &Yes + Write - - - &No + + automation type + + + MusEGui::BigTime - - - show gui - montrer l'interface - - - - - show native gui + + format display - - Treble clef + + bar - Bass clef + beat - Grand Staff + + tick - - Viewable automation - + + minute + minute - - Delete Track - + + second + second - Track Comment - + + frame + trame (frame) - - Insert Track - + + subframe + trame fine (subframe) - - Midi - + + MusE: Bigtime + MusE: GrandChrono + + + MusEGui::ClipListEdit - - Drum - Batterie + + MusE: Clip List Editor + MusE: Editeur de la Liste de Clips - - Do you want to use same port and channel for all instruments in the drummap? + + Undo/Redo tools - - - MusEDialog::PasteDialog - - - %n quarter(s) - - - + + + panic + panique! - - quarter + + transport - - quarters + + Window &Config - MusEDialog::PasteEventsDialog - - - %n quarter(s) - - - - - - - quarter - - + MusEGui::ComboQuant - - quarters + + + + Off - MusEMixer::AudioMixerApp + MusEGui::CtrlPanel - - &Create - &Créer + + S + S - - &View + + select controller + Choisissez le contrôle + + + + X - - Routing + + remove panel + enlever le panneau + + + + manual adjust - - Show Midi Tracks + + double click on/off - Show Drum Tracks + off - - Show Wave Tracks + + + Velocity + Vélocité + + + + add new ... - - Show Inputs + + + Instrument-defined - - Show Outputs + + + Add ... - - Show Groups + + Others - - Show Auxs + + Edit instrument ... - - Show Synthesizers + + Common Controls - MusEMixer::AudioStrip + MusEGui::DrumEdit - - panorama - + + + mute instrument + Rendre muet l'instrument - - aux send level - + + + sound name + Nom du son - - Pan - Pan + + + volume percent + - - 1/2 channel - 1/2 canal + + + quantisation + quantisation - - Pre - Pre + + + this input note triggers the sound + cette note en entrée déclenche le son - - pre fader - post fader - pre fader - post fader + + + note length + longueur de note - - dB - dB + + + this is the note which is played + - - record + + output channel (hold ctl to affect all rows) - - mute - silence + + output port (hold ctl to affect all rows) + - - record downmix - enregistrer mixdown + + + shift + control key: draw velocity level 1 + - - - solo mode + + + control key: draw velocity level 2 - - off + + + shift key: draw velocity level 3 - - iR + + + draw velocity level 4 - - input routing + + output channel (ctl: affect all rows) - - oR + + output port (ctl: affect all rows) - - output routing - chemin de sortie (routing) + + &File + &Fichier - - Off - + + Load Map + Charger set de batterie - Read - + Save Map + Enregistrer set de batterie - Touch + Reset GM Map - - Write + + &Edit - - automation type - + + Cut + Couper - - - MusEMixer::EffectRack - - effect rack - rack d'effets + + Copy + Copier - - new - nouveau + + Copy events in range + - change - changement + Paste + Coller - move up - Déplacer vers le haut + Paste (with Dialog) + - - move down - Déplacer vers le bas + + Delete Events + - - remove - enlever + + &Select + &Sélectionner - - bypass - direct + + Select All + - show gui - montrer l'interface + Select None + Dé-sélectionner - show native gui + Invert + Inverser + + + + Inside Loop - save preset + Outside Loop - - MusE: Save Preset + + Previous Part - - Replace effect + + Next Part - - Do you really want to replace the effect %1? + + Fu&nctions - - - MusEMixer::MidiStrip - - - - off + + Re-order list - - - double click on/off + + Set Fixed Length - - VariationSend - + + Modify Velocity + Modifier la vélocité - - Var - Var + + Crescendo/Decrescendo + - ReverbSend + Quantize - - Rev - Rev + + Erase Event + - ChorusSend + Move Notes - - Cho - Cho + + Delete Overlaps + - - dB - dB + + &Plugins + - - Pan/Balance + + Window &Config - - Pan - Pan + + Drum tools + - - record - + + Load Drummap + Charger Set de Batterie - - mute - silence + + Store Drummap + Enregistrer Set de Batterie - - solo mode + + Step Record - - iR + + Midi Input - - input routing + + cursor tools - - oR + + Set step size for cursor edit - - output routing - chemin de sortie (routing) + + panic + panique! - - - MusEWidget::BigTime - - format display + + transport - - bar + + ctrl + ctrl + + + + Add Controller View + + + M + M + - beat + Sound + Son + + + + Vol - - tick + QNT + QNT + + + + E-Note + E-Note + + + + Len - - minute - minute + + A-Note + A-Note - second - second + Ch + - - frame - trame (frame) + Port + Port - - subframe - trame fine (subframe) + + LV1 + LV1 - - MusE: Bigtime - MusE: GrandChrono + + LV2 + LV2 - - - MusEWidget::EditToolBar - - Edit Tools - Outils d'Edition + + LV3 + LV3 - - - MusEWidget::GlobalSettingsConfig - - Selects instruments directory + + LV4 + LV4 + + + + Muse: Load Drum Map + MusE: Charger Set de Batterie + + + + MusE: Store Drum Map + MusE: Enregistrer Set de Batterie + + + + Drum map - - - MusEWidget::Header - - Track Info Columns + + Reset the drum map with GM defaults? - MusEWidget::MTScale + MusEGui::EditCAfterDialog - - bar scale + + MusE: Enter Channel Aftertouch + MusE: Entrez le Canal de Pression +(AfterTouch) + + + + Time Position + + + Pressure + Pression + - MusEWidget::MTScaleFlo + MusEGui::EditEventDialog - - bar scale - + + Ok + Ok + + + + Cancel + Annuler - MusEWidget::MidiSyncConfig + MusEGui::EditInstrument - - - Port Number - Numéro de port + + + MusE: Create file failed + - - - Name of the midi device associated with this port number - + + MusE: Write File failed + MusE: échec de l'enregistrement - - Midi clock input detected + + + + + MusE: - - - Midi tick input detected + + + The user instrument directory +%1 +does not exist yet. Create it now? + - - Midi real time input detected + + + (You can change the user instruments directory at Settings->Global Settings->Midi) - - MMC input detected + + + Unable to create user instrument directory '%1' - - MTC input detected + + + MusE: Save Instrument Definition - - Detected SMPTE format + + + Instrument Definition (*.idf) - - Receive id number. 127 = Global. Double click to edit. + + + MusE: Save instrument as - - Accept midi clock input + + Enter a new unique instrument name: - - Accept midi real time input + + The user instrument '%1' already exists. This will overwrite its .idf instrument file. +Are you sure? - - Accept MMC input + + MusE: Bad instrument name - Accept MTC input + Please choose a unique instrument name. +(The name might be used by a hidden instrument.) - - Receive start rewinds before playing + + MusE: Bad patch name - Transmit id number. 127 = Global. Double click to edit. + Please choose a unique patch name - - Send midi clock output + + MusE: Bad patchgroup name - Send midi realtime output + Please choose a unique patchgroup name - - - Send MMC output + + MusE: Bad controller name - - - Send MTC output + + Please choose a unique controller name - - Midi clock input detected. -Current port actually used is red. -Click to force a port to be used. + + + MusE: Cannot add common controller - - Midi realtime input detected, including - start/stop/continue, and song position. + + A controller named '%1' already exists. - - MMC input detected, including stop/play/deferred play, and locate. + + A controller number %1 already exists. - - MTC input detected, including forward quarter-frame sync and full-frame locate. -Current port actually used is red. Click to force a port to be current. - + + + MusE + MusE - - Detected SMPTE format: 24fps, 25fps, 30fps drop frame, or 30fps non-drop -Detects format of MTC quarter and full frame, and MMC locate. + + + The current Instrument contains unsaved data +Save Current Instrument? - - Receive id number. 127 = global receive all, even if not global. + + + &Save - - Accept midi clock input. Only one input is used for clock. -Auto-acquire: If two or more port realtime inputs are enabled, - the first clock detected is used, until clock is lost, - then another can take over. Best if each turns off its clock - at stop, so MusE can re-acquire the clock from another port. -Click on detect indicator to force another. - + + + &Nosave + &Pas d'enregistrement - - Accept midi realtime input, including - start/stop/continue, and song position. -Non-clock events (start,stop etc) are - accepted by ALL enabled ports. -This means you may have several master - devices connected, and muse will accept - input from them. - + + &Abort + &Annuler + + + MusEGui::EditMetaDialog - - Accept MMC input, including stop/play/deferred play, and locate. + + MusE: Enter Meta Event - - Accept MTC input, including forward quarter-frame sync and full-frame locate. -See 'rc' column for more help. + + Time Position - - When start is received, rewind before playing. -Note: It may be impossible to rewind fast - enough to synchronize with the external device. - + + Meta Type + Meta Type - - Transmit id number. 127 = global transmit to all. + + Enter Hex + + + MusEGui::EditPAfterDialog - - Send midi clock output. If 'Slave to External Sync' is chosen, - muse can re-transmit clock to any other chosen ports. - + + MusE: Enter Poly Aftertouch + Muse: Entrer la Pression polyphonique - Send midi realtime output, including start/stop/continue, - and song position. If 'Slave to external sync' is chosen, - muse can re-transmit midi realtime input messages to any - other chosen ports. This means you may have several slave - devices connected, and muse can re-send realtime messages - to any or all of them. + Time Position - - Port - Port + + Pitch + Hauteur - - Device Name - Nom du Périphérique + + Pressure + Pression + + + MusEGui::EditToolBar - - c - + + select Pointer Tool: +with the pointer tool you can: + select parts + move parts + copy parts + Choisir l'Outil de Pointage: +avec l'outil de pointage vous pouvez: + choisir des pièces + déplacer des pièces + copier des pièces - - k - + + select Pencil Tool: +with the pencil tool you can: + create new parts + modify length of parts + Choisir l'Outil Crayon +avec le crayon vous pouvez: + créer de nouvelles pièces + modifier la longueur des pièces - - r - + + select Delete Tool: +with the delete tool you can delete parts + choisir l'Outil Gomme: +avec la gomme vous pouvez effacer les pièces - - m - m + + select Cut Tool: +with the cut tool you can split a part + Choisir l'Outil Ciseaux +avec les ciseaux vous pouver couper une pièce - - t - + + select Glue Tool: +with the glue tool you can glue two parts + Choisir l'Outil Colle: +avec la colle vous pouvez coller deux pièces ensemble - - type - + + select Score Tool: + + Choisir l'Outil Partition - rid - + select Quantize Tool: +insert display quantize event + Choisir l'Outil Quantisation: +pour voir les marques de quantisation - - rc - + + select Drawing Tool + Choisir l'Outil de Dessin - rr - + select Muting Tool: +click on part to mute/unmute + Choisir l'Outil Silence: +cliquez sur une pièces pour la rendre muette ou pas. - - rm + + Manipulate automation - rt + Cursor tool - - rw - + + pointer + pointeur - tid - + pencil + crayon - tc + eraser - tr - + cutter + ciseaux - tm - + score + partition - tt + glue - - MusE - MusE + + quantize + quantisation - Settings have changed -Apply sync settings? - + draw + dessin - - &Apply - &Appliquer + + mute parts + silence - - &No + + edit automation - - &Abort - &Annuler + + cursor + - - <none> - + + Edit Tools + Outils d'Edition - MusEWidget::MidiTrackInfo + MusEGui::EffectRack - - - <unknown> - + + effect rack + rack d'effets - - - MusEWidget::MixdownFileDialog - - Wave Files (*.wav);;All Files (*) - Fichiers Wave (*.wav);;Tous les Fichiers (*) + + new + nouveau - - - MusEWidget::NoteInfo - - Note Info - Info Note + + change + changement - - Start - + + move up + Déplacer vers le haut - - Len - + + move down + Déplacer vers le bas - - Pitch - Hauteur + + remove + enlever - - Velo On - Vélo on + + bypass + direct - - Velo Off - Vélo off + + show gui + montrer l'interface - - - MusEWidget::RoutePopupMenu - - - - - - - - - Channel - Canal + + show native gui + - - - - Soloing chain + + save preset - - - Audio returns + + MusE: Save Preset - - Warning: No midi input devices! + + Replace effect - - Open midi config... + + Do you really want to replace the effect %1? + + + MusEGui::GlobalSettingsConfig - - - <none> + + Selects instruments directory + + + MusEGui::Header - - Toggle all + + Track Info Columns + + + MusEGui::LMaster - - More... + + MusE: Mastertrack - - Audio sends + + &Edit - Midi port sends + Insert Tempo - - - MusEWidget::ScrollScale - - next page - page suivante + + Insert Signature + - previous page - page précédente + Insert Key + - current page number - numéro de page courante + Edit Positon + - - - MusEWidget::ShortcutCaptureDialog - - Ok - Ok + + Edit Value + - Cancel - Annuler + Delete Event + - - Shortcut conflicts with + + Window &Config - - Undefined + + Undo/Redo tools - - - MusEWidget::SigScale - - signature scale - Echelle de la signature + + Edit tools + - - - MusEWidget::Toolbar1 - - Solo - Solo + + Tempo + Tempo - - Cursor - Curseur + + Timesig + Signature Temporelle - - Snap - Aligne + + Key + - - - MusEWidget::TrackComment - - MusE: Track Comment - Muse: Commentaire de Piste + + new tempo + nouveau tempo - - Track Comment: - Commentaire de Piste: + + new signature + nouvelle signature - - - MusEWidget::VisibleTracks - - Visible track types + + new key - - - NoteInfo - Start - Début + + panic + panique! - Len - Long + + transport + - Pitch - Hauteur + + Meter + Métrage - Velo On - Vélo on + + Time + Temps - Velo Off - Vélo off + + Type + Type - Note Info - Info Note + + Value + Valeur - - - OrganGuiBase - - MusE: Organ - MusE: Orgue + + Reposition of the initial tempo and signature events is not allowed + - Presets - Presets + + MusE: List Editor + - Set - Set + + Input error, conversion not OK or value out of range + - load preset list - charger la liste des presets + + Reposition of tempo and signature events to start position is not allowed! + + + + MusEGui::ListEdit - save preset list - enregistrer la liste des presets + + insert Note + insére une note - - O-1 - O-1 + + insert SysEx + insère une commande midi SysEx - - Oscillator - Oscillateur + + insert Ctrl + insére un caractère de Contrôle - - Brass - Cuivres + + insert Meta + insére une balise Meta - - Reed - Roseau + + insert Channel Aftertouch + insére un canal de Pression (AfterTouch) - - Flute - Flûte - - - - Drawbars - Grands Tuyaux + + insert Poly Aftertouch + insère une Pression (AfterTouch) +polyphonique - - 16' - 16' + + &Edit + - - 4' - 4' + + Cut + Couper - - 2 2/3' - 2 2/3' + + Copy + Copier - - 2' - 2' + + Paste + Coller - - 8' - 8' + + Delete Events + - - 5 1/3' - 5 1/3' + + Window &Config + - - Envelope Lo - Enveloppe basse (Lo) + + Undo/Redo tools + - Attack(ms) - Attaque (en ms) + + Insert tools + - Decay(ms) - Affaiblissement (ms) + + panic + panique! - Sustain(%) - Tenue (%) + + transport + - Release(ms) - Relachement (ms) + + Tick + Tic - - Envelope Hi - Enveloppe Haute (Hi) + + Bar + Mesure - - - Release - Relachement + + Type + Type - - - Sustain - Tenue + + Ch + - - - Decay - Affaiblissement + + Val A + Val A - - - Attack - Attaque + + Val B + Val B - - - - - - - ms - + + Val C + Val C - - - cB + + Len - - Velocity - Vélocité + + Comment + Commentaire - PageSettings + MusEGui::MPConfig - Paper Size - Dimension de la feuille + + + Default input connections + - user - utilisateur + + + Are you sure you want to apply to all existing midi tracks now? + - Margins - Marges + + + Default output connections + - Header - En-Tête + + + Setting will apply to new midi tracks. +Do you want to apply to all existing midi tracks now? + - Title - Titre + + MusE: bad device name + - Author - Auteur + + please choose a unique device name + - Fonts - Polices + + + in + - Page No. - N° de page + + + out + - Measure No - N° de mesure + + Show first aliases + - Track Name - Nom de la Piste + + Show second aliases + - Lyrics - Paroles + + + Toggle all + - Layout - Disposition + + + Change all tracks now + - Scale - Echelle + + Create Jack device + - Flags - Drapeaux + + + Port Number + Numéro de port - show page no. - Montrer la page N° + + Enable gui + - show measure no. - Montrer la mesure N° + + Enable reading + - show track name - Montrer le nom des Pistes + + Enable writing + - Ok - Ok + + Port instrument + - Apply - Appliquer + + Midi device name. Click to edit (Jack) + - Cancel - Annuler + + Connections from Jack Midi outputs + - left Margin - Marge de gauche + + Connections to Jack Midi inputs + - top Margin - Marge du haut + + Auto-connect these channels to new midi tracks + - right Margin - Marge de droite + + Auto-connect new midi tracks to these channels + - bottom Margin - Marge du bas + + Auto-connect new midi tracks to this channel + - Bars across the Page - Mesures par Page + + Device state + - - - PartCanvas - Cannot copy/move/clone to different Track-Type - Ne peut copier/déplacer vers une type de Piste -différent + + Enable gui for device + - C&ut - Co&uper + + Enable reading from device + - &Copy - &Copier + + Enable writing to device + - rename - renommer + + Name of the midi device associated with this port number. Click to edit Jack midi name. + - color - couleur + + Instrument connected to port + Instrument connecté au port - delete - effacer + + Connections from Jack Midi output ports + - split - séparer + + Connections to Jack Midi input ports + - glue - coller + + Auto-connect these channels, on this port, to new midi tracks. + - de-clone - annuler-clônage + + Connect new midi tracks to these channels, on this port. + - pianoroll - rouleau-piano + + Connect new midi tracks to this channel, on this port. + - score - partition + + State: result of opening the device + Etat: résultat de l'ouverture du port - list - liste + + Port + Port - drums - batterie + + GUI + GUI - wave edit - édition wav + + I + - Cannot paste: multiple tracks selected - Ne peut coller: plusieurs pistes -sélectionnées + + O + - Cannot paste: no track selected - Ne peut coller: pas de piste choisie + + Instrument + Instrument - Cannot paste midi parts to wave track - Ne peut coller des bouts MIDI sur des pistes -AUDIO + + Device Name + Nom du Périphérique - Cannot paste wave parts to midi track - Ne peut copier des bouts AUDIO sur des pistes -MIDI + + In routes + - Cannot paste: wrong data type - Ne peut coller: mauvais type de donnée + + Out routes + - - - PasteDialogBase - - MusE: Paste Parts + + Def in ch - - Number and raster + + Def out ch - - insert - + + State + Etat - - times + + <unknown> - - raster + + + <none> + + + MusEGui::MTScale - - ticks + + bar scale + + + MusEGui::MTScaleFlo - - Move, Merge, Clone + + bar scale + + + MusEGui::MarkerView - - Move everything to the right - + + MusE: Marker + MusE: Marqueur - - Move only affected parts to the right + + add marker + Ajouter marqueur + + + + delete marker + Effacer Marqueur + + + + &Edit - - Put everything into a single track + + Window &Config - Merge with existing parts + Undo/Redo tools - - Insert as clones (where possible) + + edit tools + outils d'édition + + + + panic + panique! + + + + transport - - OK - OK + + Bar:Beat:Tick + Mesure:Résolution(Beat):Tic - - Cancel - Annuler + + Hr:Mn:Sc:Fr:Sf + Hr:Mn:Sc:Fr:Sf + + + + Lock + Verrouillage + + + + Text + Texte + + + + Marker Properties + Propriétés du Marqueur - PasteEventsDialogBase + MusEGui::MasterEdit - - MusE: Paste Events + + MusE: Mastertrack - - Number and raster + + Window &Config - - insert + + Undo/Redo tools - - times - + + panic + panique! - - raster + + transport - - ticks + Enable master - - Paste options + + Enable - - Always into existing parts + + Enable usage of master track - - Never into existing parts - + + Info + Info - - Into existing parts if part has not -to be expanded by more than - + + Cursor + Curseur - - Put everything into the (selected) part - + + time at cursor position + Temps à la position du curseur - - OK - OK + + tempo at cursor position + Temps � la position du curseur - - Cancel - Annuler + + Off + - - - PatchBay - - MusE: ALSA MIDI Patch Bay - MusE: Baie de Patches MIDI ALSA - - - - PatchBayBase - ALSA Patch Bay - Baie de Patches ALSA + + Bar + Mesure - - - PianoRoll - - &Edit - &Edition + + Snap + Aligne - Cut - Couper + + CurPos + PosCur - Copy - Copier + + tempo at current position + tempo � la position en cours - Paste - Coller + + time signature at current position + Signature temporelle à la position en cours + + + MusEGui::MidiInputTransformDialog - Delete Events - Effacer Evènements + + + New + Nouveau + + + MusEGui::MidiStrip - Select All - Sélectionner tout + + + + off + - Select None - Dé-sélectionner + + + double click on/off + - Invert - Inverser + + VariationSend + - Inside Loop - Dans la Boucle + + Var + Var - Outside Loop - Hors de la Boucle + + ReverbSend + - - &Select - &Sélectionner + + Rev + Rev - blue - bleu + + ChorusSend + - pitch colors - couleurs pour la hauteur + + Cho + Cho - velocity colors - couleurs pour la vélocité + + dB + dB - &Config - &Configuration + + Pan/Balance + - event color - couleur pour les évènements + + Pan + Pan - &Functions - &Fonctions + + record + - Over Quantize - Plus de Quantisation + + mute + silence - Note On Quantize - Quantisation Appui de Note + + solo mode + - Note On/Off Quantize - Quantisation Appui/Relachement de Note + + iR + - Iterative Quantize - Quantisation itérative + + input routing + - Config Quant... - Config. Quant... + + oR + - Modify Gate Time - Modifier temps de fermeture (gate time) + + output routing + chemin de sortie (routing) + + + MusEGui::MidiSyncConfig - - Modify Velocity - Modifier la vélocité + + + Port Number + Numéro de port - Crescendo - Crescendo + + + Name of the midi device associated with this port number + - - Transpose - Transposition + + Midi clock input detected + - Thin Out - Sortie fine + + + Midi tick input detected + - Erase Event - Effacer Evènements + + Midi real time input detected + - Note Shift - Décalage de Note + + MMC input detected + - Move Clock - Décalage temporel + + MTC input detected + - Copy Measure - Copier mesure + + Detected SMPTE format + - Erase Measure - Effacer mesure + + Receive id number. 127 = Global. Double click to edit. + - Delete Measure - Supprimer mesure + + Accept midi clock input + - Create Measure - Créer mesure + + Accept midi real time input + - Pianoroll Tools - Outils de piano-roll + + Accept MMC input + - - Step Record - Enregistrement pas-a-pas + + Accept MTC input + - - Midi Input - Entrée MIDI + + Receive start rewinds before playing + - - Play Events - Jouer Evènements + + Transmit id number. 127 = Global. Double click to edit. + - - Add Controller View - Ajouter une vue de contrôles + + Send midi clock output + - - ctrl - ctrl + + Send midi realtime output + - - C&ut - Co&uper + + + Send MMC output + - - &Copy - &Copier + + + Send MTC output + - - Copy events in range + + Midi clock input detected. +Current port actually used is red. +Click to force a port to be used. - - &Paste + + Midi realtime input detected, including + start/stop/continue, and song position. - - &Paste (with dialog) + + MMC input detected, including stop/play/deferred play, and locate. - - Delete &Events + + MTC input detected, including forward quarter-frame sync and full-frame locate. +Current port actually used is red. Click to force a port to be current. - - Select &All - Selectionner &Tout + + Detected SMPTE format: 24fps, 25fps, 30fps drop frame, or 30fps non-drop +Detects format of MTC quarter and full frame, and MMC locate. + - - &Deselect All - &Dé-selectionner tout + + Receive id number. 127 = global receive all, even if not global. + - - Invert &Selection - Inverser la &Sélection + + Accept midi clock input. Only one input is used for clock. +Auto-acquire: If two or more port realtime inputs are enabled, + the first clock detected is used, until clock is lost, + then another can take over. Best if each turns off its clock + at stop, so MusE can re-acquire the clock from another port. +Click on detect indicator to force another. + - &Inside Loop - A l'&intérieur de la Boucle + Accept midi realtime input, including + start/stop/continue, and song position. +Non-clock events (start,stop etc) are + accepted by ALL enabled ports. +This means you may have several master + devices connected, and muse will accept + input from them. + - &Outside Loop - A l'e&xtérieur de la Boucle + Accept MMC input, including stop/play/deferred play, and locate. + - - &Previous Part + + Accept MTC input, including forward quarter-frame sync and full-frame locate. +See 'rc' column for more help. - - &Next Part + + When start is received, rewind before playing. +Note: It may be impossible to rewind fast + enough to synchronize with the external device. - - Fu&nctions + + Transmit id number. 127 = global transmit to all. - - Window &Config + + Send midi clock output. If 'Slave to External Sync' is chosen, + muse can re-transmit clock to any other chosen ports. - &Event Color + Send midi realtime output, including start/stop/continue, + and song position. If 'Slave to external sync' is chosen, + muse can re-transmit midi realtime input messages to any + other chosen ports. This means you may have several slave + devices connected, and muse can re-send realtime messages + to any or all of them. - - &Blue - + + Port + Port - - &Pitch colors - + + Device Name + Nom du Périphérique - - &Velocity colors + + c - - Quantize + + k - - Modify Note Length + + r - - Crescendo/Decrescendo - + + m + m - - Erase Events + + t - - Move Notes + + type - - Set Fixed Length + + rid - - Delete Overlaps + + rc - - Legato + + rr - - &Plugins + + rm - - Pianoroll tools + + rt - - panic - panique! - - - - transport + + rw - - - PluginDialog - - - Ok - Ok - - - - Cancel - Annuler - - - - MusE: select plugin - MusE: choisir plugin - - - Lib - Lib + + tid + - Label - Label + tc + - Name - Nom + tr + - AI - AI + tm + - AO - AO + tt + - - CI - CI + + MusE + MusE - CO - CO + Settings have changed +Apply sync settings? + - - IP - IP + + &Apply + &Appliquer - - id - id + + &No + - - Maker - Fabrique + + &Abort + &Annuler - - Copyright - Copyright + + <none> + + + + MusEGui::MidiTrackInfo - - Mono and Stereo + + + <unknown> + + + MusEGui::MidiTransformerDialog - - Stereo - Stéréo + + + New + Nouveau + + + MusEGui::MixdownFileDialog - - Mono - Mono + + Wave Files (*.wav);;All Files (*) + Fichiers Wave (*.wav);;Tous les Fichiers (*) + + + MusEGui::MusE - - Show All + + + Failed to start audio! - - Select which types of plugins should be visible in the list.<br>Note that using mono plugins on stereo tracks is not a problem, two will be used in parallell.<br>Also beware that the 'all' alternative includes plugins that probably not are usable by MusE. + + Was not able to start audio, check if jack is running. + - - Search in 'Label' and 'Name': + + Timeout waiting for audio to run. Check if jack is running. + - - - PluginGui - - bypass plugin - Plugin de Direct (bypass) + Und&o + &Annuler - - MusE: load preset - MusE: charger réglages + + Re&do + Re&faire - - MusE: save preset - MusE: enregistrer réglages + + undo last change to song + Annuler le dernier changement sur la chanson - - File Buttons - Boutons Fichier + + redo last undo + Refaire ce qui a été annulé en dernier - - Load Preset - Charger réglages + + Loop + Boucle - - Save Preset - Enregistrer réglages - - - - Error reading preset. Might not be right type for this plugin - - - - - PrinterConfig - - MusE: Config Printer - MusE: configuration de l'imprimante - - - Print to file - Enregistrer dans un fichier - - - Print Command - Commande d'impression + + loop between left mark and right mark + Boucler entre les marqueurs gauche et droit - Preview Command - Commande de Visualisation + + Punchin + Punch-In - OK - OK + + record starts at left mark + l'enregistrement démarre au marqueur +gauche - Cancel - Annuler + + Punchout + Punch-Out - - - ProjectCreate - - Create Project - + + record stops at right mark + l'enregistrement s'arrète au marqueur +droit - Project Name: - - - - - Project Path to song file: + Start - - Create project folder (recommended for audio projects) - + + rewind to start position + revenir � la position de départ - - Browse - + + Rewind + Rembobiner - - Song information: - + + rewind current position + revenir � la position en cours - - - QHeader - Port Number - Numéro de port + + Forward + Avance - enable gui for device - Activer interface utilisateur pour ce -périphérique + + move current position + déplacer la position en cours - enables recording from the device - active enregistrement � partir du -périphérique + + Stop + Stop - Instrument connected to port - Instrument connecté au port + + stop sequencer + arréter le séquenceur - State: result of opening the device - Etat: résultat de l'ouverture du port + + Play + Jouer - mute instrument - Rendre muet l'instrument + + start sequencer play + démarrer la lecture du séquenceur - sound name - Nom du son + + Record + - quantisation -currently not used - quantisation -non-utilisé actuellement + + to record press record and then play + pour enregistrer, presser Enregistrement (Record) puis +Lecture (Play) - this input note triggers the sound - cette note en entrée déclenche le son + + + Panic + Panique! - note length - longueur de note + + send note off to all midi channels + envoyer ordre de relachement de note � tous les canaux +midi - this note is send for the sound - Cette note est envoyée pour le son + + &New + &Nouveau - output channel -currently not used - canal de sortie -actuellement non utilisé + + + Create New Song + Créer une nouvelle chanson - output port -currently not used - port de sortie -actuellement non utilisé + + &Open + &Ouvrir - velocity level 1 - vélocité niveau 1 + + + Click this button to open a <em>new song</em>.<br>You can also select the <b>Open command</b> from the File menu. + - velocity level 2 - vélocité niveau 2 + + Open &Recent + Ouvrir &Récent - velocity level 3 - vélocité niveau 3 + + + + &Save + - velocity level 4 - vélocité niveau 4 + + + Click this button to save the song you are editing. You will be prompted for a file name. +You can also select the Save command from the File menu. + - quantisation - quantisation + + Save &As + Enregistrer &Sous - output channel - canal de sortie + + Import Midifile + Importer fichier MIDI - output port - port de sortie + + Export Midifile + Exporter fichier MIDI - Enable Recording - Activer l'Enregistrement + + Import Part + - Track Activity - Activité des Pistes + + + Import Wave File + Importer fichier WAV - Mute Indicator - Indicateur de Silence + + Find unused wave files + - Solo Indicator - Indicateur de Solo + + &Quit + &Quitter - Track Type - Type de Piste + + Song Info + - Track Name - Nom de la Piste + + Transport Panel + Panneau de Contrôle - Output Channel Number - Numéro de Canal de Sortie + + Bigtime Window + Fenêtre GrandeHorloge - Output Port - Port de Sortie + + Mixer A + - Time Lock - Vérouillage d'Horloge + + Mixer B + - Solo/Pre Fader Listening - Ecoute Solo/Pre Fader + + Cliplist + ListClip - Name of the midi device associated with this port -number - Nom du périphérique midi associé avec ce numéro de -port + + Marker View + - - - QObject - - Other + + Arranger View - - - Error + + Fullscreen - - - Please first select the range for crescendo with the loop markers. + + &Plugins - - - QWidget - Cannot transform non empty track - Ne peut transformer une piste non vide + + Edit Instrument + - Velocity - Vélocité + + Input Plugins + Plugins d'Entrée - - - Cannot convert sysex string - Ne peut convertir le code sysex + + Transpose + Transposition - - - Hex String too long (2048 bytes limit) - Code Hexa tro long (limite: 2048 octets) + + Midi Input Transform + Transformations Entrée MIDI - - generic midi - MIDI générique + + Midi Input Filter + Filtres pour l'Entrée MIDI - - new - nouveau + + Midi Remote Control + Contrôle MIDI à distance - - create peakfile for - créer fichier de crêtes pour + + Rhythm Generator + - - MusE: get file name - MusE: avoir le nom du fichier + + Reset Instr. + Ré-initialisation des Instruments - the directory - - le répertoire - + + Init Instr. + Init. Instr. - -does not exist -create? - n'existe pas. -Le créer? + + Local Off + Local Off - &Create - &Créer + + Bounce to Track + Rebondir (bounce) sur la piste - Cancel - Annuler + + Bounce to File + Rebondir (bounce) sur Fichier - - MusE: create directory - MusE: créer un répertoire + + Restart Audio + + + + + Mixer Automation + + + + + Take Snapshot + - creating dir failed - échec de la création du répertoire + Clear Automation Data + - - File - - Fichier - + + Cascade + - -exists - -existe + + Tile + - - MusE: write - MusE: écriture + + In rows + - Overwrite - Ecrasement + + In columns + - Quit - Quitter + + Global Settings + Paramètres Généraux - - Open File - - Ouvrir Fichier - + + Configure Shortcuts + - - -failed: - -échec: + + Follow Song + suivre la chanson + + + + Don't Follow Song + Ne pas suivre la chanson - MusE: Open File - MusE: Ouvrir un Fichier + Follow Page + Défilement par page - - - None - + + Follow Continuous + Défilement fin - Input - Entrée + + Metronome + Métronome - Unknown - Inconnu + + Midi Sync + Synchro MIDI - - No selection. Ignoring + + Midi File Import/Export - - The directory - - + + Appearance Settings + Apparence - -does not exist. -Create it? + Midi Ports / Soft Synth - - -exists. Overwrite? + + &Manual - - - QuantBase - - MusE: Quantize + + &MusE Homepage - - Range + + &Report Bug... - - All Events - Tous les Evènements + + &About MusE + + + + + File Buttons + - Selected Events - Evènements choisis + Undo/Redo + - - Looped Events - Evènements bouclés + + Transport + Transport - - Selected Looped + + &File + &Fichier + + + + &View - - Values - Valeurs + + &Midi + &MIDI - - Strength: - + + &Audio + &Audio - - % - % + + A&utomation + - Threshold (ticks): + &Windows - - Quantize Len + + MusE Se&ttings - - Raster - Trame + + &Help + &Aide - - Whole + + Cannot read template - - Half + + File open error - - Quarter + + File read error - - 8th + + Unknown File Format: %1 - - 16th + + + + MusE: Song: %1 - - 32th - + + MusE: load project + Muse: charger Projet - - Swing: + + MusE: load template - - If the proposed change in tick or length is smaller than threshold, nothing is done. -If swing=0, this is normal -If swing is 33, you get a 2:1-rhythm. -If swing is -33, you get a 1:2-rhythm. - - + + MusE: Write File failed + MusE: échec de l'enregistrement - - OK - OK + + The current Project contains unsaved data +Save Current Project? + Le Projet en cours contient des données +non encore sauvegardées. Enregistrer? - - Cancel - Annuler + + + S&kip + - - - QuantConfig - Config Quantize - Configuration de la Quantisation + + &Cancel + - Strength - Force + + + MusE: Save As + MusE: enregistrer sous - Don´t Quantize - Ne pas quantiser + + + Nothing to edit + Rien � éditer - Quant Len - Lon Quant + + + + + + MusE: Bounce to Track + MusE: Rebondir sur la piste (bounce) - MusE: Config Quantize - MusE: Configuration de la Quantisation + + No wave tracks found + - - - QuantDialog - Display Quantize - Afficher Quantisation + + + No audio output tracks found + - Position - Position + + Select one audio output track, +and one target wave track + - Note Quantize - Quantisation de Note + + Select one target wave track + - Rest Quantize - Quantisation des Silences + + Select one target wave track, +and one audio output track + - Ok - Ok + + + MusE: Bounce to File + - Cancel - Annuler + + Select one audio output track + - - - RemoveBase - - MusE: Erase Notes + + MusE: Bounce - - Range + + set left/right marker for bounce range - - All Events - Tous les Evènements + + The current Project contains unsaved data +Load overwrites current Project: +Save Current Project? + Le Projet en cours contient des données non +sauvegardées. Voulez-vous l'enregistrer +avant d'en ouvrir un autre? - - Selected Events - Evènements choisis + + + &Abort + &Annuler - - Looped Events - Evènements bouclés + + MusE: Export Midi + MusE: exporter fichier MIDI - - Selected Looped - + + no help found at: + Pas d'aide trouvée ici: - - Thresholds - + + MusE: Open Help + MusE: Ouvrir l'Aide - - ticks + + Unable to launch help - - Velocity - Vélocité + + For some reason MusE has to launch the default +browser on your machine. + - - Length - Longueur + + MusE: Import Midi + MusE: importer fichier MIDI - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:7px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If nothing is checked, everything is removed.</p> -<p style=" margin-top:0px; margin-bottom:7px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If velocity is checked, only notes with velo &lt; threshold are removed.</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If both are checked, notes with velo &lt; threshold OR with length &lt; threshold are removed.</p></body></html> + + Add midi file to current project? + - - OK - OK + + &Add to Project + - - Cancel - Annuler + + &Replace + - - - RhythmBase - MusE: Random Rhythm Generator - MusE: Générateur Aléatoire de Rythmes + + reading midifile + + lecture du fichier MIDI + - Instrument Properties - Propriétés des Instruments + + +failed: + +échec: - counts/bar - battements/mesure + + Import part is only valid for midi and wave tracks! + - steps/count - divisions/battements + + MusE: load part + - # bars - # mesure + + No track selected for import + - - test - test + + + %n part(s) out of %1 could not be imported. +Likely the selected track is the wrong type. + + + + + + + %n part(s) could not be imported. +Likely the selected track is the wrong type. + + + - contrib - contrib + + to import an audio file you have first to selecta wave track + - randomize - aléatoire + + Import Wavefile + - Group 1 - Groupe 1 + + This wave file has a samplerate of %1, +as opposed to current setting %2. +Do you still want to import it? + - Group 2 - Groupe 2 + + &Yes + - Group 3 - Groupe 3 + + &No + + + + MusEGui::NoteInfo - Group 4 - Groupe 4 + + Note Info + Info Note - Group 5 - Groupe 5 + + Start + - listen - écoute + + Len + - Instrument - Instrument + + Pitch + Hauteur - &New - &Nouveau + + Velo On + Vélo on - create new entry - créer une nouvelle entrée + + Velo Off + Vélo off + + + MusEGui::PartCanvas - pressing the New button you create a new entry -in the MusE list of defined controllers - en appuyant sur Nouveau vous créez une nouvelle entrée -dans la liste des contrôles + + Cannot copy/move/clone to different Track-Type + Ne peut copier/déplacer vers une type de Piste +différent - &Delete - &Effacer + + C&ut + Co&uper - delete selected entry - efface l'entrée sélectionnée + + &Copy + &Copier - Up - Haut + + s&elect + - Down - Bas + + clones + - Instrument - Instrument + + rename + renommer - steps/count - divisions/battement + + color + couleur - list of defined controllers - liste des contrôles définis + + delete + effacer - This is the MusE list of defined controllers. - Ceci est la liste des contrôles qui ont été -définis. + + split + séparer - &File - &Fichier + + glue + - &Edit - &Edition + + de-clone + annuler-clônage - &Help - &Aide + + + + save part to disk + - Tools - Outils + + wave edit + édition wav - New - Nouveau + + file info + - Open - Ouvrir + + MusE: save part + - &Open... - &Ouvrir... + + Part name: %1 +Files: + - - Save - Sauvegarder + + + %n part(s) out of %1 could not be pasted. +Likely the selected track is the wrong type. + + + - - &Save - &Sauvegarder + + + %n part(s) could not be pasted. +Likely the selected track is the wrong type. + + + - Save As - Sauvegarder sous + + Cannot paste: multiple tracks selected + Ne peut coller: plusieurs pistes +sélectionnées - Save &As... - Sauvegarder &sous... + + Cannot paste: no track selected + Ne peut coller: pas de piste choisie - Print - Imprimer + + Can only paste to midi/drum track + - &Print... - Im&primer... + + Can only paste to wave track + - Exit - Quitter + + Can only paste to midi or wave track + - E&xit - &Quitter + + Cannot paste: wrong data type + Ne peut coller: mauvais type de donnée - - Undo - Annuler + + + MusEGui::PasteDialog + + + %n quarter(s) + + + - &Undo - &Annuler + + %1 quarter + for floating-point arguments like 1.5 + - Redo - Refaire + + %1 quarters + for floating-point arguments like 1.5 + + + + + MusEGui::PasteEventsDialog + + + %n quarter(s) + + + - &Redo - &Refaire + + %1 quarter + for floating-point arguments like 1.5 + - Cut - Couper + + %1 quarters + for floating-point arguments like 1.5 + + + + MusEGui::PianoRoll - &Cut - Co&uper + + &Edit + - Copy - Copier + + C&ut + Co&uper - C&opy - &Copier + + &Copy + &Copier - Paste - Coller + + Copy events in range + + &Paste - C&oller + - Find - Rechercher + + Paste (with dialog) + - &Find... - &Rechercher... + + Delete &Events + - Contents - Contenus + + &Select + &Sélectionner - &Contents... - Co&ntenus... + + Select &All + Selectionner &Tout - Index - Index + + &Deselect All + &Dé-selectionner tout - &Index... - &Index... + + Invert &Selection + Inverser la &Sélection - About - A propos + + &Inside Loop + A l'&intérieur de la Boucle - &About... - &A propos... + + &Outside Loop + A l'e&xtérieur de la Boucle - - - RhythmGenerator - Form3 - Form3 + + &Previous Part + - Instrument Settings: - Réglages des Instruments: + + &Next Part + - Instrument - Instrument + + Fu&nctions + - Hi-Hat - Charley (Hi-Hat) + + Quantize + - add - ajouter + + Modify Note Length + - delete - effacer + + Modify Velocity + Modifier la vélocité - steps/count - battements/division + + Crescendo/Decrescendo + - count/bar - divisions/mesure + + Transpose + Transposition - # bars - # mesures + + Erase Events + - Group Settings: - Réglages des Groupes: + + Move Notes + - Group 1 - Groupe 1 + + Set Fixed Length + - Group 2 - Groupe 2 + + Delete Overlaps + - Group 3 - Groupe 3 + + Legato + - Group 4 - Groupe 4 + + &Plugins + - Group 5 - Groupe 5 + + Window &Config + - contrib - contrib + + &Event Color + - listen - écoute + + &Blue + - Randomize - Aléatoire + + &Pitch colors + - Rhythm Style: - Style de Rythme: + + &Velocity colors + - Clear - Effacer + + Pianoroll tools + - Open... - Ouvrir... + + Step Record + - Save - Sauvegarder + + Midi Input + - Save as... - Sauvegarder sous... + + Play Events + Jouer Evènements - Generate - Générer + + panic + panique! - Close - Fermer + + transport + - - - RouteDialogBase - - MusE: Routing - + + ctrl + ctrl - - Add Route + + Add Controller View + + + MusEGui::PluginDialog - - Source: - + + MusE: select plugin + MusE: choisir plugin - - Destination: - + + Lib + Lib - - connect source to destination - + + Label + Label - - Connect - + + Name + Nom - - Current Routes - + + AI + AI - - Source - + + AO + AO - - Destination - + + CI + CI - - remove selected route - + + CO + CO - - Remove - + + IP + IP - - - RoutePopupMenu - Channel - Canal + + id + id - - - SS_PluginChooserBase - - SimpleDrums - Ladspa Plugin Chooser - + + Maker + Fabrique - - Name - Nom + + Copyright + Copyright - - Label - Label + + Ok + Ok - - Inports + + Cancel + Annuler + + + + Mono and Stereo - Outports - + Stereo + Stéréo - Creator - + Mono + Mono - - &Cancel + + Show All - - Alt+C + + Select which types of plugins should be visible in the list.<br>Note that using mono plugins on stereo tracks is not a problem, two will be used in parallell.<br>Also beware that the 'all' alternative includes plugins that probably not are usable by MusE. - - &OK - - - - - Alt+O + + Search in 'Label' and 'Name': - SS_PluginFront - - - Clear and unload effect - - - - - Load effect - - + MusEGui::PluginGui - - Toggle display of effect parameters - - - - - Turn effect on/off + + File Buttons - - - Score - - Dynamics - Dynamiques - - - &Config - &Configuration - - - Page Settings - Paramètres de la Page - - - Staff Settings - Paramètre de la portée - - - Background Pixmap - image de fond - - - Palettes - Palettes - - - Print - Imprimer - - Preview Print - Aperçu avant Impression + + Load Preset + Charger réglages - Lyrics - Paroles + + Save Preset + Enregistrer réglages - enter lyrics - entrer des paroles + + + bypass plugin + Plugin de Direct (bypass) - Text - Texte + + MusE: load preset + MusE: charger réglages - enter text - entrer un texte + + Error reading preset. Might not be right type for this plugin + - C7m - Do-7 + + MusE: save preset + MusE: enregistrer réglages + + + MusEGui::RoutePopupMenu - enter chord symbol - entrer la notation d'un accord + + + + + + + + + Channel + Canal - to previous voice - � la voie précédante + + + + Soloing chain + - to next voice - � la voie suivante + + + Audio returns + - flip stem direction - changer la direction de la queue + + Warning: No input devices! + - move marked notes to previous voice or to upper stave in a -split system - déplacer les notes marquées � la voie précédante ou � -la portée du dessus d'un système double + + Open midi config... + - move marked notes to next voice or to lower stave in a split -system - déplacer les notes marquées � la voie suivante ou � la -portée basse d'un système double + + + <none> + - flip stem direction of selected notes - changer la direction de la queue des notes -sélectionnées + + Toggle all + - StaffSettings - Paramètres de la portée + + More... + - MusE: config wallpaper - MusE: Configuration du papier de fond + + Audio sends + - Score - Partition + + Midi port sends + - ScoreCanvas + MusEGui::ScoreCanvas - + Treble @@ -14456,7 +13599,7 @@ sélectionnées - + Ambiguous part @@ -14477,68 +13620,9 @@ sélectionnées - ScoreConfig - - Staff Settings: - Paramètres de Portée: - - - Track List - Liste Piste - - - Key/Clef - Clef - - - Raster - Trame - - - Note Quantize - Quantisation de Note - - - Rest Quantize - Quantisation de Silence - - - Mode - Mode - - - Split System - Portée Double - - - Splitpoint - Point de Séparation - - - Ok - Ok - - - Apply - Appliquer - - - Cancel - Annuler - - - Upper Staff - Portée Supérieure - - - Lower Staff - Portée Inférieure - - - - ScoreEdit + MusEGui::ScoreEdit - + Undo/Redo tools @@ -14578,7 +13662,20 @@ sélectionnées - + + + + Apply to new notes: + + + + + + Apply to selected notes: + + + + Velocity: @@ -14768,7 +13865,7 @@ sélectionnées - + Enter the new score title @@ -14786,1705 +13883,5527 @@ the selected title is not unique - ScrollScale + MusEGui::ScrollScale + next page - page suivante + page suivante + previous page - page précédente + page précédente + current page number - numéro de page courante + numéro de page courante - SetlenBase + MusEGui::ShortcutCaptureDialog - - MusE: Set Note Length - + + Ok + Ok - - Range - + + Cancel + Annuler - - All Events - Tous les Evènements + + Shortcut conflicts with %1 + - - Selected Events - Evènements choisis + + Undefined + + + + MusEGui::SigScale - - Looped Events - Evènements bouclés + + signature scale + Echelle de la signature + + + MusEGui::TList - - Selected Looped + + <none> - - Value - Valeur - - - - New length + + no clef - - ticks + + Treble - - OK - OK - - - - Cancel - Annuler + + Bass + - - - ShortcutCaptureDialog - Ok - Ok + + Grand + - Cancel - Annuler + + MusE: bad trackname + - - - ShortcutCaptureDialogBase - - Enter shortcut sequence + + please choose a unique track name - - Press keys to enter shortcut sequence! + + + Update drummap? - - Old shortcut: + + Do you want to use same port for all instruments in the drummap? - - - Undefined + + + &Yes - - New shortcut: + + + &No - - OK - OK + + + show gui + montrer l'interface - - Cancel - Annuler + + + show native gui + - - - ShortcutConfigBase - - Configure Keyboard Shortcuts + + Treble clef - - Shortcut Category + + Bass clef - - Description + + Grand Staff - - Shortcut + + Viewable automation - - &Clear + + Delete Track - - Alt+C + + Track Comment - - &Define + + Insert Track - - Alt+D + + Midi - - &Apply - &Appliquer + + Drum + Batterie - - Alt+A + + Do you want to use same port and channel for all instruments in the drummap? - SigScale + MusEGui::TempoSig - signature scale - Echelle de la signature + + Tempo/Sig + Tempo/Sig - SimpleDrumsGuiBase + MusEGui::Toolbar1 - - DrumSynth 0.1 + + + + Off + + + Solo + Solo + + + + Cursor + Curseur + + + + Snap + Aligne + - SimpleSynthGui + MusEGui::TopWin - - &Load setup + + As subwindow - - &Save setup + + Shares tools and menu - - Load sample dialog + + Fullscreen - - - Song - - Jack shutdown! + + Piano roll - Jack has detected a performance problem which has lead to -MusE being disconnected. -This could happen due to a number of reasons: -- a performance issue with your particular setup. -- a bug in MusE (or possibly in another connected software). -- a random hiccup which might never occur again. -- jack was voluntary stopped by you or someone else -- jack crashed -If there is a persisting problem you are much welcome to discuss it -on the MusE mailinglist. -(there is information about joining the mailinglist on the MusE - homepage which is available through the help menu) - -To proceed check the status of Jack and try to restart it and then . -click on the Restart button. + List editor - - previous event + + Drum editor + + + + + Master track editor - - next event - + + Master track list editor + + + + + Wave editor + + + + + Clip list + + + + + Marker view + + + + + Score editor + + + + + Arranger + Arrangeur + + + + <unknown toplevel type> + + + + + MusEGui::TrackComment + + + MusE: Track Comment + Muse: Commentaire de Piste + + + + Track Comment: + Commentaire de Piste: + + + + MusEGui::Transport + + + Overdub + Sur-enregistrement (Overdub) + + + + + Replace + Remplace + + + + Rec Mode + Mode Enregistrement + + + + Normal + Normal + + + + Mix + Mix + + + + Cycle Rec + Enr. Cycle + + + + punchin + Punch-In + + + + loop + boucle + + + + punchout + Punch-Out + + + + + Punch In + Punch-In + + + + + Loop + Boucle + + + + + Punch Out + Punch-Out + + + + Left Mark + Marque Gauche + + + + Right Mark + Marque Droite + + + + rewind to start + rembobine au départ + + + + Click this button to rewind to start position + Cliquez sur ce bouton pour revenir � la position de +départ + + + + rewind + rembobiner + + + + Click this button to rewind + Cliquez sur ce bouton pour revenir en +arrière + + + + forward + avance + + + + Click this button to forward current play position + Cliquez sur ce bouton pour avancer dans la +lecture + + + + stop + stop + + + + Click this button to stop playback + Cliquez sur ce bouton pour arréter la +lecture + + + + play + jouer + + + + Click this button to start playback + Cliquez sur ce bouton pour démarrer la +lecture + + + + record + + + + + Click this button to enable recording + Cliquez sur ce bouton pour activer +l'enregistrement + + + + AC + AC + + + + quantize during record + quantise pendant l'enregistrement + + + + Click + Clic + + + + metronom click on/off + clic du métronome oui/non + + + + Sync + Synchro + + + + external sync on/off + synchro externe oui/non + + + + Jack + + + + + Jack transport sync on/off + + + + + Master + + + + + use master track + Utiliser la piste principale + + + + MusEGui::VisibleTracks + + + + Show wave tracks + + + + + + Show group tracks + + + + + + Show aux tracks + + + + + + Show input tracks + + + + + + Show output tracks + + + + + + Show midi tracks + + + + + + Show synth tracks + + + + + Visible track types + + + + + MusEGui::WaveEdit + + + &Edit + + + + + Func&tions + + + + + &Gain + + + + 200% + 5 1/3' {200%?} + + + 150% + 5 1/3' {150%?} + + + 75% + 5 1/3' {75%?} + + + 50% + 5 1/3' {50%?} + + + 25% + 5 1/3' {25%?} + + + + Other + + + + + &Copy + &Copier + + + + C&ut + Co&uper + + + + &Paste + + + + + Edit in E&xternal Editor + + + + + Mute Selection + + + + + Normalize Selection + + + + + Fade In Selection + + + + + Fade Out Selection + + + + + Reverse Selection + + + + + Select + Sélectionner + + + + Select &All + Selectionner &Tout + + + + &Deselect All + &Dé-selectionner tout + + + + Window &Config + + + + + Wave edit tools + + + + + transport + + + + + WaveEdit tools + + + + + Solo + Solo + + + + Cursor + Curseur + + + + MusEGui::WaveView + + + MusE - external editor failed + + + + + MusE was unable to launch the external editor +check if the editor setting in: +Global Settings->Audio:External Waveditor +is set to a valid editor. + + + + + MusE - file size changed + + + + + When editing in external editor - you should not change the filesize +since it must fit the selected region. + +Missing data is muted + + + + + MusEMixer::AudioMixerApp + + &Create + &Créer + + + + MusEMixer::AudioStrip + + Pan + Pan + + + 1/2 channel + 1/2 canal + + + Pre + Pre + + + pre fader - post fader + pre fader - post fader + + + dB + dB + + + mute + silence + + + record downmix + enregistrer mixdown + + + output routing + chemin de sortie (routing) + + + + MusEMixer::EffectRack + + effect rack + rack d'effets + + + new + nouveau + + + change + changement + + + move up + Déplacer vers le haut + + + move down + Déplacer vers le bas + + + remove + enlever + + + bypass + direct + + + show gui + montrer l'interface + + + + MusEMixer::MidiStrip + + Var + Var + + + Rev + Rev + + + Cho + Cho + + + dB + dB + + + Pan + Pan + + + mute + silence + + + output routing + chemin de sortie (routing) + + + + MusEWidget::BigTime + + minute + minute + + + second + second + + + frame + trame (frame) + + + subframe + trame fine (subframe) + + + MusE: Bigtime + MusE: GrandChrono + + + + MusEWidget::EditToolBar + + Edit Tools + Outils d'Edition + + + + MusEWidget::MidiSyncConfig + + Port Number + Numéro de port + + + Port + Port + + + Device Name + Nom du Périphérique + + + m + m + + + MusE + MusE + + + &Apply + &Appliquer + + + &Abort + &Annuler + + + + MusEWidget::MixdownFileDialog + + Wave Files (*.wav);;All Files (*) + Fichiers Wave (*.wav);;Tous les Fichiers (*) + + + + MusEWidget::NoteInfo + + Note Info + Info Note + + + Pitch + Hauteur + + + Velo On + Vélo on + + + Velo Off + Vélo off + + + + MusEWidget::RoutePopupMenu + + Channel + Canal + + + + MusEWidget::ScrollScale + + next page + page suivante + + + previous page + page précédente + + + current page number + numéro de page courante + + + + MusEWidget::ShortcutCaptureDialog + + Ok + Ok + + + Cancel + Annuler + + + + MusEWidget::SigScale + + signature scale + Echelle de la signature + + + + MusEWidget::Toolbar1 + + Solo + Solo + + + Cursor + Curseur + + + Snap + Aligne + + + + MusEWidget::TrackComment + + MusE: Track Comment + Muse: Commentaire de Piste + + + Track Comment: + Commentaire de Piste: + + + + NoteInfo + + Start + Début + + + Len + Long + + + Pitch + Hauteur + + + Velo On + Vélo on + + + Velo Off + Vélo off + + + Note Info + Info Note + + + + OrganGuiBase + + + MusE: Organ + MusE: Orgue + + + Presets + Presets + + + Set + Set + + + load preset list + charger la liste des presets + + + save preset list + enregistrer la liste des presets + + + + O-1 + O-1 + + + + Oscillator + Oscillateur + + + + Brass + Cuivres + + + + Reed + Roseau + + + + Flute + Flûte + + + + Drawbars + Grands Tuyaux + + + + 16' + 16' + + + + 4' + 4' + + + + 2 2/3' + 2 2/3' + + + + 2' + 2' + + + + 8' + 8' + + + + 5 1/3' + 5 1/3' + + + + Envelope Lo + Enveloppe basse (Lo) + + + Attack(ms) + Attaque (en ms) + + + Decay(ms) + Affaiblissement (ms) + + + Sustain(%) + Tenue (%) + + + Release(ms) + Relachement (ms) + + + + Envelope Hi + Enveloppe Haute (Hi) + + + + + Release + Relachement + + + + + Sustain + Tenue + + + + + Decay + Affaiblissement + + + + + Attack + Attaque + + + + + + + + + ms + + + + + + cB + + + + + Velocity + Vélocité + + + + PageSettings + + Paper Size + Dimension de la feuille + + + user + utilisateur + + + Margins + Marges + + + Header + En-Tête + + + Title + Titre + + + Author + Auteur + + + Fonts + Polices + + + Page No. + N° de page + + + Measure No + N° de mesure + + + Track Name + Nom de la Piste + + + Lyrics + Paroles + + + Layout + Disposition + + + Scale + Echelle + + + Flags + Drapeaux + + + show page no. + Montrer la page N° + + + show measure no. + Montrer la mesure N° + + + show track name + Montrer le nom des Pistes + + + Ok + Ok + + + Apply + Appliquer + + + Cancel + Annuler + + + left Margin + Marge de gauche + + + top Margin + Marge du haut + + + right Margin + Marge de droite + + + bottom Margin + Marge du bas + + + Bars across the Page + Mesures par Page + + + + PartCanvas + + Cannot copy/move/clone to different Track-Type + Ne peut copier/déplacer vers une type de Piste +différent + + + C&ut + Co&uper + + + &Copy + &Copier + + + rename + renommer + + + color + couleur + + + delete + effacer + + + split + séparer + + + glue + coller + + + de-clone + annuler-clônage + + + pianoroll + rouleau-piano + + + score + partition + + + list + liste + + + drums + batterie + + + wave edit + édition wav + + + Cannot paste: multiple tracks selected + Ne peut coller: plusieurs pistes +sélectionnées + + + Cannot paste: no track selected + Ne peut coller: pas de piste choisie + + + Cannot paste midi parts to wave track + Ne peut coller des bouts MIDI sur des pistes +AUDIO + + + Cannot paste wave parts to midi track + Ne peut copier des bouts AUDIO sur des pistes +MIDI + + + Cannot paste: wrong data type + Ne peut coller: mauvais type de donnée + + + + PasteDialogBase + + + MusE: Paste Parts + + + + + Number and raster + + + + + insert + + + + + times + + + + + raster + + + + + ticks + + + + + Move, Merge, Clone + + + + + Move everything to the right + + + + + Move only affected parts to the right + + + + + Put everything into a single track + + + + + Merge with existing parts + + + + + Insert as clones (where possible) + + + + + OK + OK + + + + Cancel + Annuler + + + + PasteEventsDialogBase + + + MusE: Paste Events + + + + + Number and raster + + + + + insert + + + + + times + + + + + raster + + + + + + ticks + + + + + Paste options + + + + + Always into existing parts + + + + + Never into existing parts + + + + + Into existing parts if part has not +to be expanded by more than + + + + + Put everything into the (selected) part + + + + + OK + OK + + + + Cancel + Annuler + + + + PatchBay + + MusE: ALSA MIDI Patch Bay + MusE: Baie de Patches MIDI ALSA + + + + PatchBayBase + + ALSA Patch Bay + Baie de Patches ALSA + + + + PianoRoll + + &Edit + &Edition + + + Cut + Couper + + + Copy + Copier + + + Paste + Coller + + + Delete Events + Effacer Evènements + + + Select All + Sélectionner tout + + + Select None + Dé-sélectionner + + + Invert + Inverser + + + Inside Loop + Dans la Boucle + + + Outside Loop + Hors de la Boucle + + + &Select + &Sélectionner + + + blue + bleu + + + pitch colors + couleurs pour la hauteur + + + velocity colors + couleurs pour la vélocité + + + &Config + &Configuration + + + event color + couleur pour les évènements + + + &Functions + &Fonctions + + + Over Quantize + Plus de Quantisation + + + Note On Quantize + Quantisation Appui de Note + + + Note On/Off Quantize + Quantisation Appui/Relachement de Note + + + Iterative Quantize + Quantisation itérative + + + Config Quant... + Config. Quant... + + + Modify Gate Time + Modifier temps de fermeture (gate time) + + + Modify Velocity + Modifier la vélocité + + + Crescendo + Crescendo + + + Transpose + Transposition + + + Thin Out + Sortie fine + + + Erase Event + Effacer Evènements + + + Note Shift + Décalage de Note + + + Move Clock + Décalage temporel + + + Copy Measure + Copier mesure + + + Erase Measure + Effacer mesure + + + Delete Measure + Supprimer mesure + + + Create Measure + Créer mesure + + + Pianoroll Tools + Outils de piano-roll + + + Step Record + Enregistrement pas-a-pas + + + Midi Input + Entrée MIDI + + + Play Events + Jouer Evènements + + + Add Controller View + Ajouter une vue de contrôles + + + ctrl + ctrl + + + C&ut + Co&uper + + + &Copy + &Copier + + + Select &All + Selectionner &Tout + + + &Deselect All + &Dé-selectionner tout + + + Invert &Selection + Inverser la &Sélection + + + &Inside Loop + A l'&intérieur de la Boucle + + + &Outside Loop + A l'e&xtérieur de la Boucle + + + panic + panique! + + + + PluginDialog + + Ok + Ok + + + Cancel + Annuler + + + MusE: select plugin + MusE: choisir plugin + + + Lib + Lib + + + Label + Label + + + Name + Nom + + + AI + AI + + + AO + AO + + + CI + CI + + + CO + CO + + + IP + IP + + + id + id + + + Maker + Fabrique + + + Copyright + Copyright + + + Stereo + Stéréo + + + Mono + Mono + + + + PluginGui + + bypass plugin + Plugin de Direct (bypass) + + + MusE: load preset + MusE: charger réglages + + + MusE: save preset + MusE: enregistrer réglages + + + File Buttons + Boutons Fichier + + + Load Preset + Charger réglages + + + Save Preset + Enregistrer réglages + + + + PrinterConfig + + MusE: Config Printer + MusE: configuration de l'imprimante + + + Print to file + Enregistrer dans un fichier + + + Print Command + Commande d'impression + + + Preview Command + Commande de Visualisation + + + OK + OK + + + Cancel + Annuler + + + + ProjectCreate + + + Create Project + + + + + Project Name: + + + + + Project Path to song file: + + + + + Create project folder (recommended for audio projects) + + + + + Browse + + + + + Song information: + + + + + QHeader + + Port Number + Numéro de port + + + enable gui for device + Activer interface utilisateur pour ce +périphérique + + + enables recording from the device + active enregistrement � partir du +périphérique + + + Instrument connected to port + Instrument connecté au port + + + State: result of opening the device + Etat: résultat de l'ouverture du port + + + mute instrument + Rendre muet l'instrument + + + sound name + Nom du son + + + quantisation +currently not used + quantisation +non-utilisé actuellement + + + this input note triggers the sound + cette note en entrée déclenche le son + + + note length + longueur de note + + + this note is send for the sound + Cette note est envoyée pour le son + + + output channel +currently not used + canal de sortie +actuellement non utilisé + + + output port +currently not used + port de sortie +actuellement non utilisé + + + velocity level 1 + vélocité niveau 1 + + + velocity level 2 + vélocité niveau 2 + + + velocity level 3 + vélocité niveau 3 + + + velocity level 4 + vélocité niveau 4 + + + quantisation + quantisation + + + output channel + canal de sortie + + + output port + port de sortie + + + Enable Recording + Activer l'Enregistrement + + + Track Activity + Activité des Pistes + + + Mute Indicator + Indicateur de Silence + + + Solo Indicator + Indicateur de Solo + + + Track Type + Type de Piste + + + Track Name + Nom de la Piste + + + Output Channel Number + Numéro de Canal de Sortie + + + Output Port + Port de Sortie + + + Time Lock + Vérouillage d'Horloge + + + Solo/Pre Fader Listening + Ecoute Solo/Pre Fader + + + Name of the midi device associated with this port +number + Nom du périphérique midi associé avec ce numéro de +port + + + + QObject + + + Other + + + + + + Error + + + + + + Please first select the range for crescendo with the loop markers. + + + + + QWidget + + Cannot transform non empty track + Ne peut transformer une piste non vide + + + Velocity + Vélocité + + + + + Cannot convert sysex string + Ne peut convertir le code sysex + + + + + Hex String too long (2048 bytes limit) + Code Hexa tro long (limite: 2048 octets) + + + + generic midi + MIDI générique + + + + new + nouveau + + + + create peakfile for + créer fichier de crêtes pour + + + + MusE: get file name + MusE: avoir le nom du fichier + + + the directory + + le répertoire + + + + +does not exist +create? + n'existe pas. +Le créer? + + + &Create + &Créer + + + Cancel + Annuler + + + + The directory +%1 +does not exist. +Create it? + + + + + MusE: create directory + MusE: créer un répertoire + + + + creating dir failed + échec de la création du répertoire + + + + File +%1 +exists. Overwrite? + + + + + Open File +%1 +failed: %2 + + + + File + + Fichier + + + + +exists + +existe + + + + MusE: write + MusE: écriture + + + Overwrite + Ecrasement + + + Quit + Quitter + + + Open File + + Ouvrir Fichier + + + + +failed: + +échec: + + + + MusE: Open File + MusE: Ouvrir un Fichier + + + + + None + + + + Input + Entrée + + + Unknown + Inconnu + + + + No selection. Ignoring + + + + + QuantBase + + + MusE: Quantize + + + + + Range + + + + + All Events + Tous les Evènements + + + + Selected Events + Evènements choisis + + + + Looped Events + Evènements bouclés + + + + Selected Looped + + + + + Values + Valeurs + + + + Strength: + + + + + % + % + + + + Threshold (ticks): + + + + + Quantize Len + + + + + Raster + Trame + + + + Whole + + + + + Half + + + + + 4th + + + + + 4th Triplet + + + + + 8th + + + + + 8th Triplet + + + + + 16th + + + + + 16th Triplet + + + + + 32th + + + + + 32th Triplet + + + + + Swing: + + + + + If the proposed change in tick or length is smaller than threshold, nothing is done. +If swing=0, this is normal +If swing is 33, you get a 2:1-rhythm. +If swing is -33, you get a 1:2-rhythm. + + + + + + OK + OK + + + + Cancel + Annuler + + + + QuantConfig + + Config Quantize + Configuration de la Quantisation + + + Strength + Force + + + Don´t Quantize + Ne pas quantiser + + + Quant Len + Lon Quant + + + MusE: Config Quantize + MusE: Configuration de la Quantisation + + + + QuantDialog + + Display Quantize + Afficher Quantisation + + + Position + Position + + + Note Quantize + Quantisation de Note + + + Rest Quantize + Quantisation des Silences + + + Ok + Ok + + + Cancel + Annuler + + + + RemoveBase + + + MusE: Erase Notes + + + + + Range + + + + + All Events + Tous les Evènements + + + + Selected Events + Evènements choisis + + + + Looped Events + Evènements bouclés + + + + Selected Looped + + + + + Thresholds + + + + + ticks + + + + + Velocity + Vélocité + + + + Length + Longueur + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:7px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If nothing is checked, everything is removed.</p> +<p style=" margin-top:0px; margin-bottom:7px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If velocity is checked, only notes with velo &lt; threshold are removed.</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If both are checked, notes with velo &lt; threshold OR with length &lt; threshold are removed.</p></body></html> + + + + + OK + OK + + + + Cancel + Annuler + + + + RhythmBase + + MusE: Random Rhythm Generator + MusE: Générateur Aléatoire de Rythmes + + + Instrument Properties + Propriétés des Instruments + + + counts/bar + battements/mesure + + + steps/count + divisions/battements + + + # bars + # mesure + + + test + test + + + contrib + contrib + + + randomize + aléatoire + + + Group 1 + Groupe 1 + + + Group 2 + Groupe 2 + + + Group 3 + Groupe 3 + + + Group 4 + Groupe 4 + + + Group 5 + Groupe 5 + + + listen + écoute + + + Instrument + Instrument + + + &New + &Nouveau + + + create new entry + créer une nouvelle entrée + + + pressing the New button you create a new entry +in the MusE list of defined controllers + en appuyant sur Nouveau vous créez une nouvelle entrée +dans la liste des contrôles + + + &Delete + &Effacer + + + delete selected entry + efface l'entrée sélectionnée + + + Up + Haut + + + Down + Bas + + + Instrument + Instrument + + + steps/count + divisions/battement + + + list of defined controllers + liste des contrôles définis + + + This is the MusE list of defined controllers. + Ceci est la liste des contrôles qui ont été +définis. + + + &File + &Fichier + + + &Edit + &Edition + + + &Help + &Aide + + + Tools + Outils + + + New + Nouveau + + + Open + Ouvrir + + + &Open... + &Ouvrir... + + + Save + Sauvegarder + + + &Save + &Sauvegarder + + + Save As + Sauvegarder sous + + + Save &As... + Sauvegarder &sous... + + + Print + Imprimer + + + &Print... + Im&primer... + + + Exit + Quitter + + + E&xit + &Quitter + + + Undo + Annuler + + + &Undo + &Annuler + + + Redo + Refaire + + + &Redo + &Refaire + + + Cut + Couper + + + &Cut + Co&uper + + + Copy + Copier + + + C&opy + &Copier + + + Paste + Coller + + + &Paste + C&oller + + + Find + Rechercher + + + &Find... + &Rechercher... + + + Contents + Contenus + + + &Contents... + Co&ntenus... + + + Index + Index + + + &Index... + &Index... + + + About + A propos + + + &About... + &A propos... + + + + RhythmGenerator + + Form3 + Form3 + + + Instrument Settings: + Réglages des Instruments: + + + Instrument + Instrument + + + Hi-Hat + Charley (Hi-Hat) + + + add + ajouter + + + delete + effacer + + + steps/count + battements/division + + + count/bar + divisions/mesure + + + # bars + # mesures + + + Group Settings: + Réglages des Groupes: + + + Group 1 + Groupe 1 + + + Group 2 + Groupe 2 + + + Group 3 + Groupe 3 + + + Group 4 + Groupe 4 + + + Group 5 + Groupe 5 + + + contrib + contrib + + + listen + écoute + + + Randomize + Aléatoire + + + Rhythm Style: + Style de Rythme: + + + Clear + Effacer + + + Open... + Ouvrir... + + + Save + Sauvegarder + + + Save as... + Sauvegarder sous... + + + Generate + Générer + + + Close + Fermer + + + + RouteDialogBase + + + MusE: Routing + + + + + Add Route + + + + + Source: + + + + + Destination: + + + + + connect source to destination + + + + + Connect + + + + + Current Routes + + + + + Source + + + + + Destination + + + + + remove selected route + + + + + Remove + + + + + RoutePopupMenu + + Channel + Canal + + + + SS_PluginChooserBase + + + SimpleDrums - Ladspa Plugin Chooser + + + + + Name + Nom + + + + Label + Label + + + + Inports + + + + + Outports + + + + + Creator + + + + + &Cancel + + + + + Alt+C + + + + + &OK + + + + + Alt+O + + + + + SS_PluginFront + + + Clear and unload effect + + + + + Load effect + + + + + Toggle display of effect parameters + + + + + Turn effect on/off + + + + + Score + + Dynamics + Dynamiques + + + &Config + &Configuration + + + Page Settings + Paramètres de la Page + + + Staff Settings + Paramètre de la portée + + + Background Pixmap + image de fond + + + Palettes + Palettes + + + Print + Imprimer + + + Preview Print + Aperçu avant Impression + + + Lyrics + Paroles + + + enter lyrics + entrer des paroles + + + Text + Texte + + + enter text + entrer un texte + + + C7m + Do-7 + + + enter chord symbol + entrer la notation d'un accord + + + to previous voice + � la voie précédante + + + to next voice + � la voie suivante + + + flip stem direction + changer la direction de la queue + + + move marked notes to previous voice or to upper stave in a +split system + déplacer les notes marquées � la voie précédante ou � +la portée du dessus d'un système double + + + move marked notes to next voice or to lower stave in a split +system + déplacer les notes marquées � la voie suivante ou � la +portée basse d'un système double + + + flip stem direction of selected notes + changer la direction de la queue des notes +sélectionnées + + + StaffSettings + Paramètres de la portée + + + MusE: config wallpaper + MusE: Configuration du papier de fond + + + Score + Partition + + + + ScoreConfig + + Staff Settings: + Paramètres de Portée: + + + Track List + Liste Piste + + + Key/Clef + Clef + + + Raster + Trame + + + Note Quantize + Quantisation de Note + + + Rest Quantize + Quantisation de Silence + + + Mode + Mode + + + Split System + Portée Double + + + Splitpoint + Point de Séparation + + + Ok + Ok + + + Apply + Appliquer + + + Cancel + Annuler + + + Upper Staff + Portée Supérieure + + + Lower Staff + Portée Inférieure + + + + ScoreEdit + + panic + panique! + + + C&ut + Co&uper + + + &Copy + &Copier + + + &Select + &Sélectionner + + + Select &All + Selectionner &Tout + + + &Deselect All + &Dé-selectionner tout + + + Invert &Selection + Inverser la &Sélection + + + &Inside Loop + A l'&intérieur de la Boucle + + + &Outside Loop + A l'e&xtérieur de la Boucle + + + Transpose + Transposition + + + + ScrollScale + + next page + page suivante + + + previous page + page précédente + + + current page number + numéro de page courante + + + + SetlenBase + + + MusE: Set Note Length + + + + + Range + + + + + All Events + Tous les Evènements + + + + Selected Events + Evènements choisis + + + + Looped Events + Evènements bouclés + + + + Selected Looped + + + + + Value + Valeur + + + + New length + + + + + ticks + + + + + OK + OK + + + + Cancel + Annuler + + + + ShortcutCaptureDialog + + Ok + Ok + + + Cancel + Annuler + + + + ShortcutCaptureDialogBase + + + Enter shortcut sequence + + + + + Press keys to enter shortcut sequence! + + + + + Old shortcut: + + + + + + Undefined + + + + + New shortcut: + + + + + OK + OK + + + + Cancel + Annuler + + + + ShortcutConfigBase + + + Configure Keyboard Shortcuts + + + + + Shortcut Category + + + + + Description + + + + + Shortcut + + + + + &Clear + + + + + Alt+C + + + + + &Define + + + + + Alt+D + + + + + &Apply + &Appliquer + + + + Alt+A + + + + + SigScale + + signature scale + Echelle de la signature + + + + SimpleDrumsGuiBase + + + DrumSynth 0.1 + + + + + SimpleSynthGui + + + &Load setup + + + + + &Save setup + + + + + Load sample dialog + + + + + Song + + &Ok + &Ok + + + + SongInfo + + + Song Information + + + + + Show on song load + + + + + &Cancel + + + + + Alt+C + + + + + &Ok + &Ok + + + + Alt+O + + + + + StkGuiBase + + MyDialog2 + MonDialogue2 + + + Voices + Voies + + + Edit + Editer + + + + SynthConfigBase + + + MusE: Synth Configuration + MusE: Configuration Synth Virtuel + + + + Soft Synthesizer + Synthétiseur Virtuel + + + + File + Fichier + + + + Instances + Exemplaires + + + + + Name + Nom + + + + list of available software synthesizers + liste des synthétiseurs virtuels +disponibles + + + + Add Instance + Ajouter un Exemplaire + + + Alsa Port + Port Alsa + + + + Remove Instance + Retirer un Exemplaire + + + + Midi Port + Port MIDI + + + + Midi connections + + + + + Inst + + + + + Version + + + + + Description + + + + + TList + + Delete Track + Effacer la Piste + + + Track Comment + Commentaire de Piste + + + Midi + Midi + + + Drum + Batterie + + + Wave + Forme d'Onde + + + Show Gui + Montrer la Gui + + + Add Midi Track + Ajouter une Piste Midi + + + Add Drum Track + Ajouter une Piste de Batterie + + + Add Wave Track + Ajouter une Piste Audio + + + show gui + montrer l'interface + + + + TempoSig + + Tempo/Sig + Tempo/Sig + + + + Toolbar1 + + Solo + Solo + + + Snap + Aligne + + + Quantize + Quantisation + + + To + A + + + All Events + Tous les Evènements + + + Looped Ev. + Ev. Bouclés + + + Selected Ev. + Ev. Choisis + + + Looped+Sel. + Bouclés+Sél. + + + Cursor + Curseur + + + + TopWin + + Arranger + Arrangeur + + + + TrackComment + + MusE: Track Comment + Muse: Commentaire de Piste + + + Track Comment: + Commentaire de Piste: + + + + Transport + + Punch In + Punch-In + + + Loop + Boucle + + + Punch Out + Punch-Out + + + Left Mark + Marque Gauche + + + Right Mark + Marque Droite + + + Overdub + Sur-enregistrement (Overdub) + + + Replace + Remplace + + + Rec Mode + Mode Enregistrement + + + Normal + Normal + + + Mix + Mix + + + Cycle Rec + Enr. Cycle + + + punchin + Punch-In + + + loop + boucle + + + punchout + Punch-Out + + + rewind to start + rembobine au départ + + + rewind + rembobiner + + + forward + avance + + + stop + stop + + + play + jouer + + + record + enregistrement + + + AC + AC + + + quantize during record + quantise pendant l'enregistrement + + + Click + Clic + + + metronom click on/off + clic du métronome oui/non + + + Sync + Synchro + + + external sync on/off + synchro externe oui/non + + + use master track + Utiliser la piste principale + + + + TransposeBase + + + MusE: Transpose + + + + + Range + + + + + All Events + Tous les Evènements + + + + Selected Events + Evènements choisis + + + + Looped Events + Evènements bouclés + + + + Selected Looped + + + + + Value + Valeur + + + + Halftone-steps + + + + + OK + OK + + + + Cancel + Annuler + + + + TransposeDialogBase + + MusE: Midi Transpose + MusE: Transposition Midi + + + Value + Valeur + + + halftones + demi-tons + + + Time + Temps + + + all + tous + + + between markers + entre les marqueurs + + + Parts + Pièces + + + all in selected tracks + tous dans les pistes sélectionnées + + + OK + OK + + + Cancel + Annuler + + + + UnusedWaveFiles + + + Dialog + + + + + List of unused audio files in current project directory: + + + + + Current project + + + + + All .med files +in current + directory + + + + + Move files to 'unused' subdir + + + + + Cancel + Annuler + + + + VAMGui + + + MusE: Load VAM Presets + + + + + + MusE: Save VAM Presets + + + + + VAMGuiBase + + + Virtual Analogue for MusE + Synthé Analogique Virtuel pour Muse + + + + LFO + LFO + + + + Freq + Frèq + + + + + + Waveform + Forme d'Onde + + + + + + Sine + Sinusoïde + + + + + + Pulse + Impulsion + + + + + + Saw + Dents-de-scie + + + + + + Triangle + Triangle + + + + Filter + Filtre + + + + EnvMod + ModEnv + + + + + + Attack + Attaque + + + + + + Decay + Affaiblissement + + + + + + Sustain + Tenue + + + + + + Release + Relachement + + + + Cutoff + Limiteur (CutOff) + + + + Resonance + Résonance + + + + Invert + Inverser + + + + KeyTrack + PisteClef + + + + Presets + Presets + + + + Set + Set + + + + load preset list + charger la liste des presets + + + + save preset list + enregistrer la liste des presets + + + + save preset list to a new file + enregistrer la liste des presets dans un nouveau +fichier + + + + delete preset + efface le preset + + + + DCO 1 + DCO 1 + + + + + Pitch + Hauteur + + + + + Detune + Désaccordage + + + + + PWM + PWM + + + + + FM + FM + + + + + PW + PW + + + + DCO 2 + DCO 2 + + + + On + On + + + VAM 1.0beta2 +Virtual Analog for MusE +Released under GPL. +Copyright(C) 2002 +Jotsif Lindman Hörnlund +( jotsif@linux.nu ) + VAM 1.0beta2 +Virtual Analog pour MusE +License GPL. +Copyright(C) 2002 +Jotsif Lindman Hörnlund +( jotsif@linux.nu ) + + + + VAM 1.0beta3 +Virtual Analog for MusE +Released under GPL. +Copyright(C) 2002 +Jotsif Lindman Hörnlund +( jotsif@linux.nu ) +Copyright(C) 2005 +Robert Jonsson +(rj@spamatica.se) + + + + + VelocityBase + + + MusE: Modify Velocity + Muse: Modifier la vélocité + + + + Range + Taille + + + + All Events + Tous les Evènements + + + + Selected Events + Evènements choisis + + + + Looped Events + Evènements bouclés + + + Selected & Looped + Bouclés & Sélectionnés + + + + Values + Valeurs + + + + Rate: + Vitesse: + + + + Offset: + Décalage: + + + + % + % + + + + Selected Looped + + + + + veloNew = (veloOld * rate) + offset + + + + + OK + OK + + + + Cancel + Annuler + + + + WTScale + + bar scale + échelle de la mesure + + + + WaveEdit + + Normalize + Normaliser + + + weTools + weTools + + + Solo + Solo + + + Cursor + Curseur + + + &File + &Fichier + + + Functions + Fonctions + + + 200% + 5 1/3' {200%?} + + + 150% + 5 1/3' {150%?} + + + 75% + 5 1/3' {75%?} + + + 50% + 5 1/3' {50%?} + + + 25% + 5 1/3' {25%?} + + + &Copy + &Copier - - - set event - + C&ut + Co&uper - - - add event - + Select + Sélectionner - - - erase event - + Select &All + Selectionner &Tout - - erase range - + &Deselect All + &Dé-selectionner tout + + + WaveTrackInfoBase - - clear automation - + MusE: TrackInfo + MusE: InfoPiste - - Clear all controller events? - + Track Info + Info Piste - - &Ok - &Ok + Track Name + Nom de Piste - - &Cancel - + Output Route: + Chemin de Sortie: - - MusE - external script failed - + Input Route: + Chemin d'Entrée: - - MusE was unable to launch the script, error message: - - + Ports: + Ports: - - Automation: - + Mono + Mono - - - SongInfo - - Song Information - + Stereo + Stéréo + + + file_patterns - - Show on song load + + Midi/Kar (*.mid *.MID *.kar *.KAR *.mid.gz *.mid.bz2) - - &Cancel + + Midi (*.mid *.MID *.mid.gz *.mid.bz2) - - Alt+C + + Karaoke (*.kar *.KAR *.kar.gz *.kar.bz2) + + + - &Ok - &Ok + + + + + + + + + All Files (*) + Tous les Fichiers (*) - - Alt+O + + Midi (*.mid) - - - StkGuiBase - - MyDialog2 - MonDialogue2 - - - Voices - Voies - - Edit - Editer + + Karaoke (*.kar) + - - - SynthConfigBase - - MusE: Synth Configuration - MusE: Configuration Synth Virtuel + + all known files (*.med *.med.gz *.med.bz2 *.mid *.midi *.kar) + - - Soft Synthesizer - Synthétiseur Virtuel + + med Files (*.med *.med.gz *.med.bz2) + - - File - Fichier + + + Uncompressed med Files (*.med) + - - Instances - Exemplaires + + + gzip compressed med Files (*.med.gz) + - - - Name - Nom + + + bzip2 compressed med Files (*.med.bz2) + - - list of available software synthesizers - liste des synthétiseurs virtuels -disponibles + + mid Files (*.mid *.midi *.kar *.MID *.MIDI *.KAR) + - - Add Instance - Ajouter un Exemplaire + + (*.jpg *.gif *.png) + - Alsa Port - Port Alsa + + (*.jpg) + - - Remove Instance - Retirer un Exemplaire + + (*.gif) + - - Midi Port - Port MIDI + + (*.png) + - - Midi connections + + part Files (*.mpt *.mpt.gz *.mpt.bz2) - - Inst + + part Files (*.mpt) - - Version + + gzip compressed part Files (*.mpt.gz) - - Description + + bzip2 compressed part Files (*.mpt.bz2) - - - TList - Delete Track - Effacer la Piste + + Presets (*.pre *.pre.gz *.pre.bz2) + - Track Comment - Commentaire de Piste + + Presets (*.pre) + - Midi - Midi + + gzip compressed presets (*.pre.gz) + - Drum - Batterie + + bzip2 compressed presets (*.pre.bz2) + - Wave - Forme d'Onde + + Presets (*.map *.map.gz *.map.bz2) + - Show Gui - Montrer la Gui + + Presets (*.map) + - Add Midi Track - Ajouter une Piste Midi + + gzip compressed presets (*.map.gz) + - Add Drum Track - Ajouter une Piste de Batterie + + bzip2 compressed presets (*.map.bz2) + - Add Wave Track - Ajouter une Piste Audio + + Wave/Binary (*.wav *.ogg *.bin) + - show gui - montrer l'interface + + Wave (*.wav *.ogg) + - - - TempoSig - - Tempo/Sig - Tempo/Sig + + Binary (*.bin) + - Toolbar1 - - Solo - Solo - + freeverb - Snap - Aligne + + FreeVerb + - Quantize - Quantisation + + Room Size + Dimension de la chambre - To - A + + Damping + Atténuation - All Events - Tous les Evènements + + Wet Level + - - Looped Ev. - Ev. Bouclés + + + Tap-Reverberator + - Selected Ev. - Ev. Choisis + + Decay [ms] + - Looped+Sel. - Bouclés+Sél. + + + dB + dB - Cursor - Curseur + + Dry Level [dB] + - - - TopWin - - As subwindow + + Wet Level [dB] - - Shares tools and menu + + Preset: - - Fullscreen + + AfterBurn - - Piano roll + + AfterBurn (Long) - - List editor + + Ambience - - Drum editor + + Ambience (Thick) - - Master track editor + + Ambience (Thick) - HD - - Master track list editor + + Cathedral - - Wave editor + + Cathedral - HD - - Clip list + + Drum Chamber - - Marker view + + Garage - - Score editor + + Garage (Bright) - - Arranger - Arrangeur + + Gymnasium + - - <unknown toplevel type> + + Gymnasium (Bright) - - - TrackComment - MusE: Track Comment - Muse: Commentaire de Piste + + Gymnasium (Bright) - HD + - Track Comment: - Commentaire de Piste: + + Hall (Small) + - - - Transport - - - Punch In - Punch-In + + Hall (Medium) + - - - Loop - Boucle + + Hall (Large) + - - - Punch Out - Punch-Out + + Hall (Large) - HD + - - Left Mark - Marque Gauche + + Plate (Small) + - - Right Mark - Marque Droite + + Plate (Medium) + - - Overdub - Sur-enregistrement (Overdub) + + Plate (Large) + - - - Replace - Remplace + + Plate (Large) - HD + - - Rec Mode - Mode Enregistrement + + Pulse Chamber + - - Normal - Normal + + Pulse Chamber (Reverse) + - - Mix - Mix + + Resonator (96 ms) + - - Cycle Rec - Enr. Cycle + + Resonator (152 ms) + - - punchin - Punch-In + + Resonator (208 ms) + - - loop - boucle + + Room (Small) + - - punchout - Punch-Out + + Room (Medium) + - - rewind to start - rembobine au départ + + Room (Large) + - - rewind - rembobiner + + Room (Large) - HD + - - forward - avance + + Slap Chamber + - - stop - stop + + Slap Chamber - HD + - - play - jouer + + Slap Chamber (Bright) + - - record - enregistrement + + Slap Chamber (Bright) HD + - - AC - AC + + Smooth Hall (Small) + - - quantize during record - quantise pendant l'enregistrement + + Smooth Hall (Medium) + - - Click - Clic + + Smooth Hall (Large) + - - metronom click on/off - clic du métronome oui/non + + Smooth Hall (Large) - HD + - - Sync - Synchro + + Vocal Plate + - - external sync on/off - synchro externe oui/non + + Vocal Plate - HD + - - Master + + Warble Chamber - - use master track - Utiliser la piste principale + + Warehoouse + - - Jack + + Warehouse - HD - - Jack transport sync on/off + + Comb Filters - - - TransposeBase - - MusE: Transpose + + Allpass Filters - - Range + + Bandpass Filters - - - All Events - Tous les Evènements - - Selected Events - Evènements choisis + Enhanced Stereo + + + + shortcuts - - Looped Events - Evènements bouclés + + Transport: Start playback from current location + - - Selected Looped + + Transport: Toggle metronome - - Value - Valeur + + Transport: Stop Playback + - - Halftone-steps + + Transport: Goto Start - - OK - OK + + Transport: Play, Stop, Rewind + - - Cancel - Annuler + + Transport: Goto left marker + - - - TransposeDialogBase - MusE: Midi Transpose - MusE: Transposition Midi + + Transport: Goto right marker + - Value - Valeur + + Transport: Toggle Loop section + - halftones - demi-tons + + Transport: Toggle Record + - Time - Temps + + Transport: Clear all rec enabled tracks + - all - tous + + Toggle fullscreen + - between markers - entre les marqueurs + + Edit: Copy + - Parts - Pièces + + Edit: Copy in range + - all in selected tracks - tous dans les pistes sélectionnées + + Edit: Undo + - OK - OK + + Edit: Redo + - Cancel - Annuler + + Edit: Cut + - - - UnusedWaveFiles - - Dialog + + Edit: Paste - - List of unused audio files in current project directory: + + Edit: Paste (with dialog) - - Current project + + Edit: Delete - - All .med files -in current - directory + + File: New project - - Move files to 'unused' subdir + + File: Open from disk - - Cancel - Annuler + + File: Save project + - - - VAMGui - - MusE: Load VAM Presets + + File: Open recent file - - - MusE: Save VAM Presets + + File: Save as - - - VAMGuiBase - - Virtual Analogue for MusE - Synthé Analogique Virtuel pour Muse + + File: Load template + - - LFO - LFO + + File: Import midi file + - - Freq - Frèq + + File: Export midi file + - - - - Waveform - Forme d'Onde + + File: Import midi part + - - - - Sine - Sinusoïde + + File: Import audio file + - - - - Pulse - Impulsion + + File: Quit MusE + - - - - Saw - Dents-de-scie + + Edit: Select parts on track + - - - - Triangle - Triangle + + Open pianoroll + - - Filter - Filtre + + Open drumeditor + - - EnvMod - ModEnv + + Open listeditor + - - - - Attack - Attaque + + Open waveeditor + - - - - Decay - Affaiblissement + + Open graphical mastertrack editor + - - - - Sustain - Tenue + + Open list mastertrack editor + - - - - Release - Relachement + + Open midi transformer + - - Cutoff - Limiteur (CutOff) + + Add midi track + - - Resonance - Résonance + + Add drum track + - - Invert - Inverser + + Add wave track + - - KeyTrack - PisteClef + + Add audio output + - - Presets - Presets + + Add audio group + - - Set - Set + + Add audio input + - - load preset list - charger la liste des presets + + Add audio aux + - - save preset list - enregistrer la liste des presets + + Structure: Global cut + - - save preset list to a new file - enregistrer la liste des presets dans un nouveau -fichier + + Structure: Global insert + - - delete preset - efface le preset + + Structure: Global split + - - DCO 1 - DCO 1 + + Structure: Cut events + - - - Pitch - Hauteur + + View: Open mixer #1 window + - - - Detune - Désaccordage + + View: Open mixer #2 window + - - - PWM - PWM + + View: Toggle transport window + - - - FM - FM + + View: Toggle bigtime window + - - - PW - PW + + View: Open marker window + - - DCO 2 - DCO 2 + + Settings: Follow song by page + - - On - On - - - VAM 1.0beta2 -Virtual Analog for MusE -Released under GPL. -Copyright(C) 2002 -Jotsif Lindman Hörnlund -( jotsif@linux.nu ) - VAM 1.0beta2 -Virtual Analog pour MusE -License GPL. -Copyright(C) 2002 -Jotsif Lindman Hörnlund -( jotsif@linux.nu ) + + Settings: Follow song off + - - - VAM 1.0beta3 -Virtual Analog for MusE -Released under GPL. -Copyright(C) 2002 -Jotsif Lindman Hörnlund -( jotsif@linux.nu ) -Copyright(C) 2005 -Robert Jonsson -(rj@spamatica.se) + + + Settings: Follow song continuous - - - VelocityBase - - MusE: Modify Velocity - Muse: Modifier la vélocité + + Settings: Global configuration + - - Range - Taille + + Settings: Configure shortcuts + - - All Events - Tous les Evènements + + Settings: Configure metronome + - - Selected Events - Evènements choisis + + Settings: Midi sync configuration + - - Looped Events - Evènements bouclés + + Settings: Midi file import/export configuration + - Selected & Looped - Bouclés & Sélectionnés + + Settings: Appearance settings + - - Values - Valeurs + + Settings: Midi ports / Soft Synth + - - Rate: - Vitesse: + + Settings: Audio subsystem configuration + - - Offset: - Décalage: + + Midi: Edit midi instruments + - - % - % + + Midi: Open midi input transform + - - Selected Looped + + Midi: Open midi input filter - - veloNew = (veloOld * rate) + offset + + Midi: Midi input transpose - - OK - OK + + Midi: Midi remote control + - - Cancel - Annuler + + Midi: Random rhythm generator + - - - WTScale - bar scale - échelle de la mesure + + Midi: Reset midi + - - - WaveEdit - Normalize - Normaliser + + Midi: Init midi + - weTools - weTools + + Midi: Midi local off + - - Solo - Solo + + Audio: Bounce audio to track + - - Cursor - Curseur + + Audio: Bounce audio to file + - &File - &Fichier + + Audio: Restart audio + - Functions - Fonctions + + Automation: Mixer automation + - - &Edit + + Automation: Take mixer snapshot - - Func&tions + + Automation: Clear mixer automation - - &Gain + + Help: Open Manual - - 200% - 5 1/3' {200%?} + + Help: Toggle whatsthis mode + - - 150% - 5 1/3' {150%?} + + Edit: Edit selected part + - - 75% - 5 1/3' {75%?} + + Edit: Select nearest part on track above + - - 50% - 5 1/3' {50%?} + + Edit: Add nearest part on track above + - - 25% - 5 1/3' {25%?} + + Edit: Select nearest part on track below + - - Other + + Edit: Add nearest part on track below - - &Copy - &Copier + + Edit: Insert empty measure + - - C&ut - Co&uper + + Edit: Paste as clones + - - &Paste + + Edit: Paste as clones (with dialog) - - Edit in E&xternal Editor + + Select track above - - Mute Selection + + Select track below - Normalize Selection + Midi: Transpose - Fade In Selection + Edit: Select all - - Fade Out Selection + + Edit: Select none - - Reverse Selection + + Edit: Invert Selection - - Select - Sélectionner + + Edit: Select events/parts inside locators + - - Select &All - Selectionner &Tout + + Edit: Select events/parts outside locators + - - &Deselect All - &Dé-selectionner tout + + Edit: Select previous part + - - Window &Config + + Edit: Select next part - - Wave edit tools + + Edit: Select nearest part/event to the left or move cursor - - transport + + Edit: Add nearest part/event to the left to selection - - WaveEdit tools + + Edit: Select nearest part/event to the right or move cursor - - - WaveTrackInfoBase - MusE: TrackInfo - MusE: InfoPiste + + Edit: Add nearest part/event to the right to selection + - Track Info - Info Piste + + Edit: Set locators to selection + - Track Name - Nom de Piste + + Edit: Increase pitch + - Output Route: - Chemin de Sortie: + + Edit: Decrease pitch + - Input Route: - Chemin d'Entrée: + + Edit: Increase event position + - Ports: - Ports: + + Edit: Decrease event position + - Mono - Mono + + View: Zoom in + - Stereo - Stéréo + + View: Zoom out + - - - WaveView - - MusE - external editor failed + + View: Goto Current Position - MusE was unable to launch the external editor -check if the editor setting in: -Global Settings->Audio:External Waveditor -is set to a valid editor. + + View: Scroll left - - MusE - file size changed + + Edit: Set Fixed Length on Midi Events - - When editing in external editor - you should not change the filesize -since it must fit the selected region. - -Missing data is muted + + Quantize - - - freeverb - - FreeVerb + + Modify Note Length - - Room Size - Dimension de la chambre + + Modify Velocity + Modifier la vélocité - - Damping - Atténuation + + Edit: Crescendo + - - Wet Level + + Edit: Thin Out - - Tap-Reverberator + + Edit: Erase Event - - Decay [ms] + + Edit: Delete Overlaps - - - dB - dB + + Edit: Note Shift + - - Dry Level [dB] + + Edit: Move Clock - - Wet Level [dB] + + Edit: Copy Measure - - Preset: + + Edit: Erase Measure - - AfterBurn + + Edit: Delete Measure - - AfterBurn (Long) + + Edit: Create Measure - - Ambience + + Edit: Change Event Color - Ambience (Thick) + Tool: Pointer - - Ambience (Thick) - HD + + Tool: Pencil - - Cathedral + + Tool: Eraser - - Cathedral - HD + + Tool: Line Draw - - Drum Chamber + + Tool: Cursor - - Garage + + Add note velocity 1 - - Garage (Bright) + + Add note velocity 2 - - Gymnasium + + Add note velocity 3 - - Gymnasium (Bright) + + Add note velocity 4 - - Gymnasium (Bright) - HD + + Cursor step size: larger - - Hall (Small) + + Cursor step size: smaller - - Hall (Medium) + + Instrument/Cursor up - - Hall (Large) + + Instrument/Cursor down - - Hall (Large) - HD + + Tool: Scissor - - Plate (Small) + + Tool: Glue - - Plate (Medium) + + Tool: Mute - - Plate (Large) + + Transport: Increase current position - - Plate (Large) - HD + + Transport: Decrease current position - - Pulse Chamber + + Transport: Increase current position, no snap - - Pulse Chamber (Reverse) + + Transport: Decrease current position, no snap - - Resonator (96 ms) + + Quantize: Set quantize to 1/1 note - - Resonator (152 ms) + + Quantize: Set quantize to 1/2 note - - Resonator (208 ms) + + Quantize: Set quantize to 1/4 note - - Room (Small) + + Quantize: Set quantize to 1/8 note - - Room (Medium) + + Quantize: Set quantize to 1/16 note - - Room (Large) + + Quantize: Set quantize to 1/32 note - - Room (Large) - HD + + Quantize: Set quantize to 1/64 note - - Slap Chamber + + Quantize: Toggle triol quantization - - Slap Chamber - HD + + Quantize: Toggle punctuation quantization - - Slap Chamber (Bright) + + Quantize: Toggle punctuation quantization (2) - - Slap Chamber (Bright) HD + + Edit: Insert at location - - Smooth Hall (Small) + + Edit: Increase length - - Smooth Hall (Medium) + + Edit: Decrease length - - Smooth Hall (Large) - + + Insert Note + Insérer Note - - Smooth Hall (Large) - HD - + + Insert SysEx + Insérer SysEx - - Vocal Plate - + + Insert Ctrl + Insérer Ctrl - - Vocal Plate - HD - + + Insert Meta + Insérer Meta + + + + Insert Channel Aftertouch + Insérer Canal de Pression + + + + Insert Key Aftertouch + Insérer une note de Pression - Warble Chamber + Insert Tempo - - Warehoouse + + Insert Signature - - Warehouse - HD + + Change Event Position - - Comb Filters + + Edit Event Value - - Allpass Filters + + Insert Key - - Bandpass Filters + + Goto Next Marker - - Enhanced Stereo + + Goto Prev Marker diff --git a/muse2/share/locale/muse_pl.ts b/muse2/share/locale/muse_pl.ts index 2394a0a0..0d948e0f 100644 --- a/muse2/share/locale/muse_pl.ts +++ b/muse2/share/locale/muse_pl.ts @@ -4,9 +4,8 @@ @default - Click this button to enable recording - Naciśnij ten przycisk, aby pozwolić na nagrywanie + Naciśnij ten przycisk, aby pozwolić na nagrywanie sets amount of quantization: @@ -17,58 +16,49 @@ 100 - pełna kwantyzacja - select Pointer Tool: with the pointer tool you can: select parts move parts copy parts - Kliknij na strzałkę. + Kliknij na strzałkę. Strzałką możesz zaznaczać, przesuwać i kopiować klocki - Click this button to open a <em>new song</em>.<br>You can also select the <b>Open command</b> from the File menu. - Otwórz nowy utwór. Można też wybrać <b>Otwórz</b> z menu Plik. + Otwórz nowy utwór. Można też wybrać <b>Otwórz</b> z menu Plik. - Click this button to save the song you are editing. You will be prompted for a file name. You can also select the Save command from the File menu. - Zapisz edytowany utwór. Trzeba podać nazwę pliku. + Zapisz edytowany utwór. Trzeba podać nazwę pliku. Można też wybrać "Zapisz" z menu plik, lub "Ctrl-S". - Create New Song - Twórz nowy utwór. Można też nacisnąć skrót "Ctrl-N". + Twórz nowy utwór. Można też nacisnąć skrót "Ctrl-N". - Click this button to stop playback - Zatrzymaj odtwarzanie. + Zatrzymaj odtwarzanie. - Click this button to start playback - Rozpocznij odtwarzanie. + Rozpocznij odtwarzanie. - Click this button to rewind to start position - Przewiń do początku. + Przewiń do początku. - Click this button to rewind - Przewijaj do tyłu. + Przewijaj do tyłu. - Click this button to forward current play position - Przewijaj do przodu. + Przewijaj do przodu. don't quantize notes above this tick limit @@ -79,181 +69,127 @@ Można też wybrać "Zapisz" z menu plik, lub "Ctrl-S". Kwantyzuj długości nut tak samo jak domyślnie. - loop between left mark and right mark - Zapętl pomiędzy lokatorami + Zapętl pomiędzy lokatorami - record starts at left mark - Nagrywaj od lewego lokatora. + Nagrywaj od lewego lokatora. - record stops at right mark - Nagrywaj od prawego lokatora. + Nagrywaj od prawego lokatora. - rewind to start position - Przewiń do początku. + Przewiń do początku. - rewind current position - Przewijaj kursor do tyłu. + Przewijaj kursor do tyłu. - move current position - Przewijaj kursor do przodu. + Przewijaj kursor do przodu. - stop sequencer - Zatrzymaj sekwencer. + Zatrzymaj sekwencer. - start sequencer play - Uruchom odtwarzanie sekwencera. + Uruchom odtwarzanie sekwencera. - to record press record and then play - Aby nagrywać najpierw naciśnij nagrywanie, potem odtwarzanie. + Aby nagrywać najpierw naciśnij nagrywanie, potem odtwarzanie. - send note off to all midi channels - Zatrzymaj komunikaty midi na wszystkich kanałach! + Zatrzymaj komunikaty midi na wszystkich kanałach! - select Pencil Tool: with the pencil tool you can: create new parts modify length of parts - Kliknij na ołówek. + Kliknij na ołówek. Ołówkiem możesz tworzyć klocki oraz zmieniać ich długość. - select Delete Tool: with the delete tool you can delete parts - Kliknij na Gumkę. + Kliknij na Gumkę. Gumką można kasować klocki. - select Cut Tool: with the cut tool you can split a part - Kliknij na Nożyczki. + Kliknij na Nożyczki. Nożyczkami można ciąć klocki. - select Glue Tool: with the glue tool you can glue two parts - Kliknij na Klej. + Kliknij na Klej. Klejem możesz sklejać dwa klocki - select Score Tool: - Wybierz Podgląd Nutowy. + Wybierz Podgląd Nutowy. - select Quantize Tool: insert display quantize event - Ustaw Kwantyzator + Ustaw Kwantyzator (ustawia kwantyzację wstawiania komunikatów midi). - select Drawing Tool - wybierz Wykres + wybierz Wykres - select Muting Tool: click on part to mute/unmute - Kliknij na Wyłącz. + Kliknij na Wyłącz. Kliknij na pojedynczy klocek aby go wyłączyć z odtwarzania. - - Manipulate automation - - - - - Cursor tool - - - - pointer - Strzałka + Strzałka - pencil - Ołówek + Ołówek - cutter - Nożyczki + Nożyczki - score - Pogląd nutowy + Pogląd nutowy - glue - Klej + Klej - quantize - Kwantyzator + Kwantyzator - draw - Wykres + Wykres - mute parts - Wyłącz klocki z odtwarzania - - - - edit automation - - - - - cursor - + Wyłącz klocki z odtwarzania - - - - - - - - Off - Wył. + Wył. presets (*.pre *.pre.gz *.pre.bz2) @@ -264,22 +200,7 @@ Kliknij na pojedynczy klocek aby go wyłączyć z odtwarzania. Wszystkie Pliki (*) - - MESS - - - - - DSSI - - - - - FST - - - - + Add Midi Track Dodaj Ślad Midi @@ -294,203 +215,74 @@ Kliknij na pojedynczy klocek aby go wyłączyć z odtwarzania. Dodaj Ślad Audio - + Add Audio Output Dodaj Wyjście Audio - + Add Audio Group Dodaj Grupę(Szynę) Audio - + Add Audio Input Dodaj Wejście Audio - + Add Aux Send Dodaj Wysyłkę Audio - eraser - Gumka + Gumka - + Add Synth - - Bar - - - - - Jack - - - - - ALSA: - - - - - SYNTH: - - - - - JACK: - - - - - - - - - + Route Połącznie - - - - - channel="%1" - - - - - - - - + dest - - - devtype="%1" - - - - - - - - - type="%1" + + name="%1"/ - - - - - - - - name="%1"/ + + Warning: No output devices! - - - source + + Open midi config... - - Velocity + + Empty ports - + <none> - - channelMask="%1" - - - dssi_synth - - - - - ladspa_efx - - - - - channels="%1" - - - - - remch="%1" - - - - - mport="%1"/ - - - - - - Show wave tracks - - - - - - Show group tracks - - - - - - Show aux tracks - - - - - - Show input tracks - - - - - - Show output tracks - - - - - - Show midi tracks - - - - - - Show synth tracks - - AboutBox @@ -548,131 +340,60 @@ Published under the GNU Public License Appearance - MusE: load image - Muza: Załaduj obrazek. + Muza: Załaduj obrazek. + + + AppearanceDialogBase - - Main application font, and default font for any - controls not defined here. - + MusE: Appearance Settings + MuzA: Wygląd aplikacji. - - For small controls like mixer strips. -Also timescale small numbers, arranger part name overlay, - and effects rack. - + + Apply + Zastosuj - - Midi track info panel. Transport controls. - + + Ok + Akceptuj - - Controller graph and S/X buttons. Large numbers for time - and tempo scale, and time signature. - + + Cancel + Anuluj - - Time scale markers. - + + Arranger + Główne Okno - - List editor: meta event edit dialog multi-line edit box. + + MusE: Appearance settings - - Mixer label font. Auto-font-sizing up to chosen font size. -Word-breaking but only with spaces. - + + Parts + Klocki - - Maximum mixer label auto-font-sizing font size. - + + show names + pokaż nazwy - - Global opacity (opposite of transparency). - + + show events + pokaż elementy midi - - Standard - - - - - Custom - - - - - Select style sheet - - - - - Qt style sheets (*.qss) - - - - - AppearanceDialogBase - - MusE: Appearance Settings - MuzA: Wygląd aplikacji. - - - - Apply - Zastosuj - - - - Ok - Akceptuj - - - - Cancel - Anuluj - - - - Arranger - Główne Okno - - - - MusE: Appearance settings - - - - - Parts - Klocki - - - - show names - pokaż nazwy - - - - show events - pokaż elementy midi - - - - show Cakewalk Style - pokaż w stylu Cakewalk + + show Cakewalk Style + pokaż w stylu Cakewalk @@ -1344,29 +1065,8 @@ Word-breaking but only with spaces. ClipListEdit - - MusE: Clip List Editor - - - - - Undo/Redo tools - - - - panic - Zatrzymaj wszystkie komunikaty midi! - - - - transport - - - - - Window &Config - + Zatrzymaj wszystkie komunikaty midi! @@ -1442,7 +1142,7 @@ Word-breaking but only with spaces. MuzA: Konfiguracja exportu plików midi - + &OK &Akceptuj @@ -1462,7 +1162,7 @@ Word-breaking but only with spaces. 1 (wiele śladów) - + Format: Format: @@ -1482,12 +1182,12 @@ Word-breaking but only with spaces. 384 - + Division: Rozdzielczość: - + Copyright: Prawa autorskie: @@ -1496,17 +1196,17 @@ Word-breaking but only with spaces. Aktuwuj rozszerzony format smf (standard midi file) - + MusE: Config Midi File Import/Export - + Import: - + Split tracks into &parts @@ -1516,12 +1216,12 @@ Word-breaking but only with spaces. - + Split tracks into parts, or one single part - + Export: @@ -1541,7 +1241,12 @@ Word-breaking but only with spaces. - + + Note: Format 0 uses the FIRST midi track's name/comment in the arranger + + + + Save space by replacing note-offs with &zero velocity note-ons @@ -1618,14 +1323,12 @@ Word-breaking but only with spaces. CtrlPanel - select controller - Wybierz kontroler + Wybierz kontroler - remove panel - Usuń panel + Usuń panel Sel @@ -1636,73 +1339,22 @@ Word-breaking but only with spaces. x - - Velocity - Predkość uderzenia (velocity) + Predkość uderzenia (velocity) - add new ... - dodaj nowe ... + dodaj nowe ... - S - S - - - - X - - - - - manual adjust - - - - - double click on/off - - - - - off - - - - - - Instrument-defined - - - - - - Add ... - - - - - Others - - - - - Edit instrument ... - - - - - Common Controls - + S DeicsOnzeGui - + Save configuration @@ -3461,402 +3113,199 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t DrumEdit - Load Map - Załaduj zestaw + Załaduj zestaw - Save Map - Zapisz zestaw + Zapisz zestaw - &Edit - &Edytuj + &Edytuj - Cut - Wytnij + Wytnij - Copy - Kopiuj + Kopiuj - Paste - Wklej + Wklej - Delete Events - Kasuj Elementy + Kasuj Elementy - Select All - Zaznacz wszystko + Zaznacz wszystko - Select None - Bez zaznaczenia + Bez zaznaczenia - Invert - Odwróć zaznaczenie + Odwróć zaznaczenie - Inside Loop - Pomiędzy lokatorami + Pomiędzy lokatorami - Outside Loop - Poza obrębem lokatorów + Poza obrębem lokatorów - &Select - &Zaznacz + &Zaznacz - Step Record - Nagrywanie po jednej nucie + Nagrywanie po jednej nucie - Midi Input - Podgląd Midi + Podgląd Midi - Add Controller View - Pokaż widok kontrolerów + Pokaż widok kontrolerów - M - Wycisz + Wycisz - Sound - Brzmienie + Brzmienie - QNT - Kwant. + Kwant. - E-Note - U-Wys + U-Wys - Len - Dług. + Dług. - A-Note - W-Wys + W-Wys - Ch - Kanał + Kanał - Port - Urz. Midi + Urz. Midi - LV1 - PV1 + PV1 - LV2 - PV2 + PV2 - LV3 - PV3 + PV3 - LV4 - PV4 + PV4 - &File - &Plik + &Plik - Load Drummap - Załaduj zestaw perkusyjny + Załaduj zestaw perkusyjny - Store Drummap - Zapisz zestaw perkusyjny + Zapisz zestaw perkusyjny - ctrl - ctrl + ctrl drummaps Zestawy perkusyjne - Muse: Load Drum Map - MuzA: Załaduj zestaw perkusyjny + MuzA: Załaduj zestaw perkusyjny - MusE: Store Drum Map - MuzA: Zapisz zestaw perkusyjny + MuzA: Zapisz zestaw perkusyjny - Set Fixed Length - Ustaw stałą długość nut + Ustaw stałą długość nut &Functions &Opcje - Modify Velocity - Zmień Velocity + Zmień Velocity - - mute instrument - wyłącz instrument + wyłącz instrument - - sound name - nazwa brzmienia - - - - - volume percent - + nazwa brzmienia - - quantisation - kwantyzacja + kwantyzacja - - this input note triggers the sound - ta wysokość uruchamia brzmienie + ta wysokość uruchamia brzmienie - - note length - długość dźwięku + długość dźwięku - - - this is the note which is played - + output port + port wyjściowy - - output channel (hold ctl to affect all rows) - + panic + Zatrzymaj wszystkie komunikaty midi! + + + EditCAfterDialog - - - output port - port wyjściowy + Time Position + Pozycja: - - - shift + control key: draw velocity level 1 - + Pressure + Nacisk - - - control key: draw velocity level 2 - - - - - - shift key: draw velocity level 3 - - - - - - draw velocity level 4 - - - - - output channel (ctl: affect all rows) - - - - - Reset GM Map - - - - - Copy events in range - - - - - Paste (with Dialog) - - - - - Previous Part - - - - - Next Part - - - - - Fu&nctions - - - - - Re-order list - - - - - Crescendo/Decrescendo - - - - - Quantize - - - - - Erase Event - - - - - Move Notes - - - - - Delete Overlaps - - - - - &Plugins - - - - - Window &Config - - - - - Drum tools - - - - - cursor tools - - - - - Set step size for cursor edit - - - - - panic - Zatrzymaj wszystkie komunikaty midi! - - - - transport - - - - - Vol - - - - - Drum map - - - - - Reset the drum map with GM defaults? - - - - - EditCAfterDialog - - - Time Position - Pozycja: - - - - Pressure - Nacisk - - - MusE: Enter Channel Aftertouch - MuzA: Wstaw zmianę średniego nacisku pod uderzeniu (channel aftertouch) + MuzA: Wstaw zmianę średniego nacisku pod uderzeniu (channel aftertouch) @@ -3967,14 +3416,12 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t EditEventDialog - Ok - Akceptuj + Akceptuj - Cancel - Anuluj + Anuluj @@ -4038,239 +3485,83 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t EditInstrument - - - MusE: Create file failed - + MusE: Write File failed + MuzA: Zapis pliku nie powiódł się - - MusE: Write File failed - MuzA: Zapis pliku nie powiódł się + MusE + MuzA - - - - - MusE: - + &Save + &Zapisz - - - The user instrument directory - - + &Nosave + &Nie zapisuj - - - -does not exist yet. Create it now? - - + &Abort + &Anuluj + + + EditInstrumentBase - - - (You can change the user instruments directory at Settings->Global Settings->Midi) - + + MusE: Instrument Editor + MuzA: Edytor Instrumentów - - - Unable to create user instrument directory - - + Patches + Patche - - - MusE: Save Instrument Definition - + Patch Name: + Patch Nazwa - - - Instrument Definition (*.idf) - + + High Bank: + Górny Bank: - - - MusE: Save instrument as - + + Low Bank: + Dolny Bank: - - Enter a new unique instrument name: - + + Program: + Program: - - The user instrument: - - + d.c. + dont care + brak, +nie ważne - - -already exists. This will overwrite its .idf instrument file. -Are you sure? - + d.c. + nie ważne - - MusE: Bad instrument name - + Patch/Group + Patch/Grupa - - Please choose a unique instrument name. -(The name might be used by a hidden instrument.) - + + + + &Delete + &Kasuj - - MusE: Bad patch name - - - - - Please choose a unique patch name - - - - - MusE: Bad patchgroup name - - - - - Please choose a unique patchgroup name - - - - - MusE: Bad controller name - - - - - Please choose a unique controller name - - - - - - MusE: Cannot add common controller - - - - - A controller named - - - - - - already exists. - - - - - A controller number - - - - - - MusE - MuzA - - - - - The current Instrument contains unsaved data -Save Current Instrument? - - - - - - &Save - &Zapisz - - - - - &Nosave - &Nie zapisuj - - - - &Abort - &Anuluj - - - - EditInstrumentBase - - - MusE: Instrument Editor - MuzA: Edytor Instrumentów - - - Patches - Patche - - - Patch Name: - Patch Nazwa - - - - High Bank: - Górny Bank: - - - - Low Bank: - Dolny Bank: - - - - Program: - Program: - - - d.c. - dont care - brak, -nie ważne - - - d.c. - nie ważne - - - Patch/Group - Patch/Grupa - - - - - - &Delete - &Kasuj - - - - - - Alt+D - Alt+D + + + + Alt+D + Alt+D &New Patch @@ -4976,24 +4267,20 @@ Typically, set to 127/127, or an unused EditMetaDialog - Time Position - Pozycja: + Pozycja: - Meta Type - Meta Typ + Meta Typ - Enter Hex - Wstaw Heks. + Wstaw Heks. - MusE: Enter Meta Event - MuzA: Wstaw Zdarzenie Meta (nacisk po uderzeniu + MuzA: Wstaw Zdarzenie Meta (nacisk po uderzeniu @@ -5073,24 +4360,20 @@ Typically, set to 127/127, or an unused EditPAfterDialog - Time Position - Pozycja: + Pozycja: - Pitch - Wysokość dźwięku + Wysokość dźwięku - Pressure - Nacisk + Nacisk - MusE: Enter Poly Aftertouch - MuzA: Wstaw zmianę średniego nacisku pod uderzeniu (channel aftertouch) + MuzA: Wstaw zmianę średniego nacisku pod uderzeniu (channel aftertouch) @@ -5613,13 +4896,31 @@ RTC (Rzeczywista Rozdzielczość Zegara) - + Allows some popup menus to stay open. Otherwise, hold Ctrl to keep them open. - + + In some areas, the middle mouse button decreases +values, while the right button increases. Users without a +middle mouse button can select this option to make the +left button behave like the middle button in such areas. + + + + + Use left mouse button for decreasing values + + + + + Shift + Right click sets left range marker + + + + MDI-subwindowness and sharing menus @@ -5663,7 +4964,7 @@ Otherwise, hold Ctrl to keep them open. Przeglądarka pomocy: - + Application Zastosowanie @@ -6016,197 +5317,102 @@ Adjusts responsiveness of audio controls and LMaster - new tempo - nowe tempo + nowe tempo - new signature - nowe metrum + nowe metrum - Meter - Miernik + Miernik - Time - Pozycja + Pozycja - Type - Typ + Typ - Value - Wartość + Wartość - MusE: Mastertrack - MuzA: Ślad Tempo/Metrum - - - - Window &Config - - - - - Undo/Redo tools - + MuzA: Ślad Tempo/Metrum - Tempo - Tempo + Tempo - Timesig - Metrum + Metrum - - &Edit - + panic + Zatrzymaj wszystkie komunikaty midi! + + + LegatoBase - - Insert Tempo + + MusE: Legato - - Insert Signature - + + Range + Zakres - - Insert Key - + + All Events + Wszytkie Elementy - - Edit Positon - + + Selected Events + Zaznaczone Elementy - - Edit Value - + + Looped Events + Pomiędzy lokatorami - - Delete Event + + Selected Looped - - Edit tools - + + Settings + &Ustawienia - - Key + + ticks - - new key + + Minimum Length - - panic - Zatrzymaj wszystkie komunikaty midi! - - - - transport + + Allow shortening notes - - Reposition of the initial tempo and signature events is not allowed - - - - - MusE: List Editor - - - - - Input error, conversion not OK or value out of range - - - - - Reposition of tempo and signature events to start position is not allowed! - - - - - LegatoBase - - - MusE: Legato - - - - - Range - Zakres - - - - All Events - Wszytkie Elementy - - - - Selected Events - Zaznaczone Elementy - - - - Looped Events - Pomiędzy lokatorami - - - - Selected Looped - - - - - Settings - &Ustawienia - - - - ticks - - - - - Minimum Length - - - - - Allow shortening notes - - - - - OK - Akceptuj + + OK + Akceptuj @@ -6217,24 +5423,20 @@ Adjusts responsiveness of audio controls and ListEdit - &Edit - E&dytuj + E&dytuj - Cut - Wytnij + Wytnij - Copy - Kopiuj + Kopiuj - Paste - Wklej + Wklej List Tools @@ -6245,137 +5447,100 @@ Adjusts responsiveness of audio controls and Wstaw Narzędzia - Delete Events - Kasuj Elementy + Kasuj Elementy Insert Note Wstaw nutę - insert Note - Wstaw nutę + Wstaw nutę Insert SysEx wstaw SysEx - insert SysEx - wstaw SysEx + wstaw SysEx Insert Ctrl Wstaw kontroler - insert Ctrl - wstaw + wstaw Insert Meta Wstaw Meta - insert Meta - Wstaw Meta + Wstaw Meta Insert Channel Aftertouch Wstaw zmianę średniego nacisku pod uderzeniu (channel aftertouch) - insert Channel Aftertouch - Wstaw zmianę średniego nacisku pod uderzeniu (channel aftertouch) + Wstaw zmianę średniego nacisku pod uderzeniu (channel aftertouch) Insert Key Aftertouch Wstaw pojedynczą zmiane nacisku pod uderzeniu - insert Poly Aftertouch - Wstaw zmianę średniego nacisku pod uderzeniu (Poly Aftertouch) - - - - Window &Config - - - - - Undo/Redo tools - + Wstaw zmianę średniego nacisku pod uderzeniu (Poly Aftertouch) - panic - Zatrzymaj wszystkie komunikaty midi! - - - - transport - + Zatrzymaj wszystkie komunikaty midi! - Tick - Takt (impuls sygnału czasu) + Takt (impuls sygnału czasu) - Bar - Takt + Takt Typ Typ - Ch - Kan + Kan - Val A - Wart. A + Wart. A - Val B - Wart. B + Wart. B - Val C - Wart. C + Wart. C - Len - Dług. + Dług. - Comment - Opis - - - - Insert tools - + Opis - Type - Typ + Typ @@ -6413,391 +5578,146 @@ Adjusts responsiveness of audio controls and brak - Port - Numer + Numer - GUI - Interfejs użytkownika + Interfejs użytkownika - Instrument - Typ portu midi + Typ portu midi - Device Name - Nazwa Urządzenia + Nazwa Urządzenia - State - Status + Status unknown nieznane - I - Wej. + Wej. - O - Wyj. + Wyj. - - MusE: bad device name - + Port Number + Numer portu - - - Default input connections - + Instrument connected to port + Instrument połączony do portu - - - Are you sure you want to apply to all existing midi tracks now? - + State: result of opening the device + Status: rezultat otworzenia urządzenia + + + MRConfigBase - - - Default output connections - + + MusE: Midi Input Plugin: Remote Control + MuzA: Wtyczka Wejścia Midi: Zdalne Sterowanie - - - Setting will apply to new midi tracks. -Do you want to apply to all existing midi tracks now? - + + Activate + Aktywuj - - please choose a unique device name - + + On + Wł. - - - in - + + Actions + Funkcje - - - out - + + Stop + Stop - - Show first aliases - + + Record + Nagrywanie - - Show second aliases - + + Goto Left Mark + Idź do lewego lokatora - - - Toggle all - + + Play + Odtwarzanie - - - Change all tracks now + + Insert rest (step rec) + + + MTScale - - Create - + bar scale + Oś taktów + + + MarkerView - - device - + panic + Zatrzymaj wszystkie komunikaty midi! - - - Port Number - Numer portu + Bar:Beat:Tick + Takt:Puls:Takt - - Enable gui - + Hr:Mn:Sc:Fr:Sf + Godz.:Min.:Sek.:Kl.:SKl - - Enable reading - + Lock + Zablokuj - - Enable writing - + Text + Tekst - - Port instrument - + Marker Properties + Właściwości znacznika - - Midi device name. Click to edit (Jack) - + MusE: Marker + MuzA: Znacznik - - Connections from Jack Midi outputs - - - - - Connections to Jack Midi inputs - - - - - Auto-connect these channels to new midi tracks - - - - - Auto-connect new midi tracks to these channels - - - - - Auto-connect new midi tracks to this channel - - - - - Auto-connect these channels, on this port, to new midi tracks. - - - - - Connect new midi tracks to these channels, on this port. - - - - - Connect new midi tracks to this channel, on this port. - - - - - Device state - - - - - Enable gui for device - - - - - Enable reading from device - - - - - Enable writing to device - - - - - Name of the midi device associated with this port number. Click to edit Jack midi name. - - - - - Instrument connected to port - Instrument połączony do portu - - - - Connections from Jack Midi output ports - - - - - Connections to Jack Midi input ports - - - - - State: result of opening the device - Status: rezultat otworzenia urządzenia - - - - In routes - - - - - Out routes - - - - - Def in ch - - - - - Def out ch - - - - - <unknown> - - - - - - <none> - - - - - MRConfigBase - - - MusE: Midi Input Plugin: Remote Control - MuzA: Wtyczka Wejścia Midi: Zdalne Sterowanie - - - - Activate - Aktywuj - - - - On - Wł. - - - - Actions - Funkcje - - - - Stop - Stop - - - - Record - Nagrywanie - - - - Goto Left Mark - Idź do lewego lokatora - - - - Play - Odtwarzanie - - - - Insert rest (step rec) - - - - - MTScale - - bar scale - Oś taktów - - - - MarkerView - - - Window &Config - - - - - Undo/Redo tools - - - - - panic - Zatrzymaj wszystkie komunikaty midi! - - - - transport - - - - - Bar:Beat:Tick - Takt:Puls:Takt - - - - Hr:Mn:Sc:Fr:Sf - Godz.:Min.:Sek.:Kl.:SKl - - - - Lock - Zablokuj - - - - Text - Tekst - - - - Marker Properties - Właściwości znacznika - - - - MusE: Marker - MuzA: Znacznik - - - - add marker - Dodaj znacznik + add marker + Dodaj znacznik Add Marker Dodaj znacznik - delete marker - Kasuj znacznik + Kasuj znacznik Delete Marker @@ -6808,77 +5728,51 @@ Do you want to apply to all existing midi tracks now? &Plik - &Edit - &Edycja + &Edycja - edit tools - Narzędzia Edycyjne + Narzędzia Edycyjne MasterEdit - Cursor - Poz. kursora + Poz. kursora - Snap - Przyciąganie + Przyciąganie - time at cursor position - Wstaw metrum w aktualnej pozycji kursora - - - - Window &Config - - - - - Undo/Redo tools - + Wstaw metrum w aktualnej pozycji kursora - panic - Zatrzymaj wszystkie komunikaty midi! - - - - transport - + Zatrzymaj wszystkie komunikaty midi! - tempo at cursor position - Wstaw tempo w aktualnej pozycji kursora + Wstaw tempo w aktualnej pozycji kursora - CurPos - Akt. Poz. Kursora: + Akt. Poz. Kursora: - tempo at current position - Wstaw tempo w aktualnej pozycji kursora + Wstaw tempo w aktualnej pozycji kursora - time signature at current position - Wstaw tempo w aktualnej pozycji kursora + Wstaw tempo w aktualnej pozycji kursora - MusE: Mastertrack - MuzA: Ślad Tempo/Metrum + MuzA: Ślad Tempo/Metrum edit tools @@ -6889,28 +5783,20 @@ Do you want to apply to all existing midi tracks now? Aktywuj Ślad Tempo/Metrum - Info - Info + Info Off Wył. - Enable - Włącz + Włącz - Enable usage of master track - Aktywuj Ślad Tempo/Metrum - - - - Enable master - + Aktywuj Ślad Tempo/Metrum @@ -7395,10 +6281,8 @@ Zauważ, że "pitch" i "zmiana programu (program change)" s MidiInputTransformDialog - - New - Nowy + Nowy @@ -8779,10 +7663,8 @@ Możesz określić więcej niż jeden ślad do nagrywania: MidiTransformerDialog - - New - Nowy + Nowy @@ -9610,1530 +8492,1349 @@ failed: MusEApp::MusE - - - Failed to start audio! - - - - - Was not able to start audio, check if jack is running. - - - - - - Timeout waiting for audio to run. Check if jack is running. - - - - - Und&o - Co&fnij + Co&fnij - Re&do - Co&fnij + Co&fnij - undo last change to song - cofnij ostatnią zmianę w utworze + cofnij ostatnią zmianę w utworze - redo last undo - ponów ostanie cofnij + ponów ostanie cofnij - Loop - Pętla + Pętla - Punchin - Włącz wcinki (punch In) + Włącz wcinki (punch In) - Punchout - Wył. wcinki (punch out) - - - - Start - + Wył. wcinki (punch out) - Rewind - Przewiń do tyłu + Przewiń do tyłu - Forward - Przewiń do przodu + Przewiń do przodu - Stop - Stop + Stop - Play - Odtwarzanie + Odtwarzanie - Record - Nagrywanie + Nagrywanie - - Panic - Zatrzymaj wszystkie komunikaty midi! - - - - &New - + Zatrzymaj wszystkie komunikaty midi! - &Open - &Otwórz + &Otwórz - Open &Recent - Otwórz O&statnie + Otwórz O&statnie - - - &Save - &Zapisz + &Zapisz - Save &As - Zapisz &Jako + Zapisz &Jako - Import Midifile - &Import Pliku Midi + &Import Pliku Midi - Export Midifile - &Export do pliku midi - - - - Import Part - + &Export do pliku midi - - Import Wave File - Import Pliku &Wave - - - - Find unused wave files - + Import Pliku &Wave - &Quit - &Zakończ - - - - Song Info - + &Zakończ - Transport Panel - Panel transportu + Panel transportu - Bigtime Window - Duży Zegar - - - - Mixer A - - - - - Mixer B - - - - - Cliplist - - - - - Marker View - - - - - Arranger View - - - - - Fullscreen - - - - - &Plugins - + Duży Zegar - Edit Instrument - Edytuj Instrument + Edytuj Instrument - Input Plugins - Wtyczki wejścia + Wtyczki wejścia - Transpose - Transponuj + Transponuj - Midi Input Transform - Przekształcanie Wejścia Midi + Przekształcanie Wejścia Midi - Midi Input Filter - Filtr Wejścia Midi + Filtr Wejścia Midi - Midi Remote Control - Zdalne Sterowanie Midi - - - - Rhythm Generator - + Zdalne Sterowanie Midi - Reset Instr. - Reset Instr. + Reset Instr. - Init Instr. - Inicjalizacja Instr. + Inicjalizacja Instr. - Local Off - Local Off + Local Off - Bounce to Track - + Zgrywanie śladu (bounce) - Bounce to File - Zgrywanie do Pliku (bounce) + Zgrywanie do Pliku (bounce) - Restart Audio - Zrestartuj Audio + Zrestartuj Audio - Mixer Automation - Automatyka Miksera + Automatyka Miksera - Take Snapshot - Zrób zrzut ekranu + Zrób zrzut ekranu - Clear Automation Data - Wyczyść automatykę - - - - Cascade - - - - - Tile - - - - - In rows - - - - - In columns - + Wyczyść automatykę - Global Settings - Globalne Ustawienia + Globalne Ustawienia - Configure Shortcuts - Konfiguracja skrótów + Konfiguracja skrótów - Follow Song - podążanie kursora za utworem + podążanie kursora za utworem - Don't Follow Song - nie podążaj za utworem + nie podążaj za utworem - Follow Page - kursor się przesuwa + kursor się przesuwa - Follow Continuous - takty się przesuwają (kursor stoi) + takty się przesuwają (kursor stoi) - Metronome - Metronom + Metronom - Midi Sync - Synchronizacja Midi - - - - Midi File Import/Export - + Synchronizacja Midi - Appearance Settings - Ustawienia wyglądu + Ustawienia wyglądu - Midi Ports / Soft Synth - Porty Midi i Syntezatory Softowe + Porty Midi i Syntezatory Softowe - &Manual - &Instrukcja Obłsugi + &Instrukcja Obłsugi - &MusE Homepage - strona domowa &MuzA + strona domowa &MuzA - &Report Bug... - &Zgłoś Błąd... + &Zgłoś Błąd... - &About MusE - &Informacje o programie + &Informacje o programie - File Buttons - Przyciski Menu Plik - - - - Undo/Redo - + Przyciski Menu Plik - Transport - Panel transportu + Panel transportu - &File - &Plik + &Plik - &View - &Przeglądaj + &Przeglądaj - &Midi - &Midi + &Midi - &Audio - &Audio - - - - A&utomation - - - - - &Windows - - - - - MusE Se&ttings - + &Audio - &Help - P&omoc + P&omoc - Cannot read template - Nie można odczytać pliku szablonu + Nie można odczytać pliku szablonu - File open error - Błąd odczytu pliku + Błąd odczytu pliku - File read error - błąd odczytu pliku - - - - Unknown File Format: - + błąd odczytu pliku - - - MusE: Song: - MuzA: Utwór + MuzA: Utwór - MusE: load project - MuzA: ładuj utwór + MuzA: ładuj utwór - MusE: load template - MuzA: ładuj szablon + MuzA: ładuj szablon - MusE: Write File failed - MuzA: Zapis pliku nie powiódł się + MuzA: Zapis pliku nie powiódł się - The current Project contains unsaved data Save Current Project? - Otwarty utwór zawiera niezapisane dane + Otwarty utwór zawiera niezapisane dane Zapisać otwarty utwór? - - - S&kip - - - - - &Cancel - - - - - MusE: Save As - MuzA: Zapisz Jako + MuzA: Zapisz Jako - - Nothing to edit - Nie ma nic do edytowania + Nie ma nic do edytowania - - - - - MusE: Bounce to Track - MuzA: Zgrywanie (bounce) do Śladu - - - - No wave tracks found - - - - - - No audio output tracks found - - - - - Select one audio output track, -and one target wave track - - - - - Select one target wave track - - - - - Select one target wave track, -and one audio output track - + MuzA: Zgrywanie (bounce) do Śladu - - MusE: Bounce to File - MuzA: Zgrywanie (bounce) do Pliku - - - - Select one audio output track - + MuzA: Zgrywanie (bounce) do Pliku - MusE: Bounce - MuzA: Zgrywanie (bounce) + MuzA: Zgrywanie (bounce) - set left/right marker for bounce range - ustaw lokatory do zgrania (bounce) danego zakresu + ustaw lokatory do zgrania (bounce) danego zakresu - The current Project contains unsaved data Load overwrites current Project: Save Current Project? - Otwarty utwór zawiera niezapisane dane. + Otwarty utwór zawiera niezapisane dane. Załadowanie nadpisze otwarty utwór: Zapisać otwarty utwór? - - &Abort - &Anuluj + &Anuluj - MusE: Export Midi - MuzA: Exportuj Midi + MuzA: Exportuj Midi - no help found at: - nie znalezniono pomocy + nie znalezniono pomocy - MusE: Open Help - MuzA: Otwórz Pomoc - - - - Unable to launch help - - - - - For some reason MusE has to launch the default -browser on your machine. - + MuzA: Otwórz Pomoc - MusE: Import Midi - MuzA: Importuj Midi + MuzA: Importuj Midi - Add midi file to current project? - Dodać plik midi do otwartego utworu? + Dodać plik midi do otwartego utworu? - &Add to Project - &Dodaj do utworu + &Dodaj do utworu - &Replace - &Zastąp + &Zastąp - reading midifile - czytanie pliku midi + czytanie pliku midi - - -failed: - + &Yes + &Tak - - Import part is only valid for midi and wave tracks! - + &No + &Nie + + + MusEArranger::Arranger - - MusE: load part - + Enable Recording + Udostępnij nagrywanie - - No track selected for import - + Solo Indicator + Solo Wzkaźnik - - out of - + Track Type + Typ śladu - - parts - + Time Lock + Zablokuj Ślad - - part - + Arranger + Główne Okno - - could not be imported. -Likely the track is the wrong type. - + Type + Typ - - to import an audio file you have first to selecta wave track - + NO + Brak - - Import Wavefile - + GM + GM - - This wave file has a samplerate of %1, -as opposed to current setting %2. -Do you still want to import it? - + GS + GS - - &Yes - &Tak + XG + XG - - &No - &Nie + midi song type + Utwór Midi - - - MusEArranger::Arranger - - Enable Recording - Udostępnij nagrywanie + midi pitch + transpozycja midi - - Mute/Off Indicator - + global midi pitch shift + globalna transpozycja midi - - Solo Indicator - Solo Wzkaźnik + Tempo + Tempo - - Track Type - Typ śladu + midi tempo + Tempo Midi - - Track Name - + N + 100% - - Midi output channel number or audio channels - + TrackInfo + Info o śladzie - - Midi output port or synth midi port - + S + S - - Time Lock - Zablokuj Ślad + C + T - - Automation parameter selection - + Track + Ślad - - Notation clef - + T + B - - Enable recording. Click to toggle. - + Automation + Au&tomatyka + + + MusEArranger::ArrangerView - - Mute indicator. Click to toggle. -Right-click to toggle track on/off. -Mute is designed for rapid, repeated action. -On/Off is not! - + panic + Zatrzymaj wszystkie komunikaty midi! - - Solo indicator. Click to toggle. -Connected tracks are also 'phantom' soloed, - indicated by a dark square. - + &Copy + &Kopiuj - - Track type. Right-click to change - midi and drum track types. - + &Paste + &Wklej - - Track name. Double-click to edit. -Right-click for more options. - + Delete Selected Tracks + Skasuj Zaznaczone Ślady - - Midi/drum track: Output channel number. -Audio track: Channels. -Mid/right-click to change. - + Add Track + Dodaj Ślad - - Midi/drum track: Output port. -Synth track: Assigned midi port. -Left-click to change. -Right-click to show GUI. - + Select &All + Zaznacz &wszystko - - Time lock - + &Deselect All + &Odznacz wszystko - - Notation clef. Select this tracks notation clef. - + Invert &Selection + Odwróć &zaznaczenie - - Arranger - Główne Okno + &Inside Loop + &Pomiędzy lokatorami. - - Cursor - + &Outside Loop + &Poza obrębem lokatorów - - Snap - + All &Parts on Track + Wszystkie &klocki na śladzie - - Len - + Pianoroll + Pianoroll - - - song length - bars - + Drums + Edytor Perkusji - - Type - Typ + List + Edytor Lista - - NO - Brak + Mastertrack + Ślad Tempo/Metrum - - GM - GM + Graphic + Edytor Graficzny Tempo/Metrum - - GS - GS + Midi &Transform + &Przekształcanie Midi - - XG - XG + Global Cut + Globalne Wycięcie - - - midi song type - Utwór Midi + Global Insert + Globalne Wstawienie - - Pitch - + Global Split + Globalne Podzielenie - - midi pitch - transpozycja midi + &Structure + &Globalne - - global midi pitch shift - globalna transpozycja midi + Functions + Opcje - - Tempo - Tempo + Transpose + Transponuj - - - midi tempo - Tempo Midi + New + Nowy + + + MusEArranger::PartCanvas - - N - 100% + Cannot copy/move/clone to different Track-Type + Nie można skopiować/przenieść/sklonować do innego typu śladu - - TrackInfo - Info o śladzie + &Copy + &Kopiuj - - R - + rename + zmień nazwę - - M - + color + kolor - - S - S + split + podziel - - C - T + de-clone + sklonuj - - Track - Ślad + wave edit + edycja audio - - Port - + Cannot paste: multiple tracks selected + Nie można wkleić: zaznaczono kilka śladów - - Ch - + Cannot paste: no track selected + Nie można wkleić: nie zaznaczono żadnych śladów - - T - B + Can only paste to midi/drum track + Można tylko wkleić do śladu midi, lub perkusji - - Automation - Au&tomatyka + Can only paste to wave track + Można wkleić tylko do śladu audio - - Clef - + Cannot paste: wrong data type + Nie można wkleić: nieprawidłowy typ danych - MusEArranger::ArrangerView + MusEArranger::TList - - MusE: Arranger - + MusE: bad trackname + MuzA: zła nazwa śladu - - Undo/Redo tools - + please choose a unique track name + proszę wybrać niepowtarzalną nazwę dla śladu - - panic - Zatrzymaj wszystkie komunikaty midi! + Update drummap? + Zaktualizować zestaw perkusyjny? - - transport - + Do you want to use same port for all instruments in the drummap? + Czy chcesz używać jednego portu midi dla wszystkich instrumentów w zestawie perkusyjnym? - - C&ut - + &Yes + &Tak - - &Copy - &Kopiuj + &No + &Nie - - Copy in range - + show gui + pokaż interfejs użytkownika - - &Paste - &Wklej + Midi + Midi - - Paste (show dialog) - + Drum + Perkusja - - Paste c&lone + Do you want to use same port and channel for all instruments in the drummap? + Czy chcesz używać jednego portu i jednego kanału dla wszystkich instrumentów w zestawie perkusyjnym? + + + + MusECore::Song + + + Jack shutdown! - Paste clone (show dialog) + Jack has detected a performance problem which has lead to +MusE being disconnected. +This could happen due to a number of reasons: +- a performance issue with your particular setup. +- a bug in MusE (or possibly in another connected software). +- a random hiccup which might never occur again. +- jack was voluntary stopped by you or someone else +- jack crashed +If there is a persisting problem you are much welcome to discuss it +on the MusE mailinglist. +(there is information about joining the mailinglist on the MusE + homepage which is available through the help menu) + +To proceed check the status of Jack and try to restart it and then . +click on the Restart button. - - &Insert Empty Measure + + + Automation: - - Delete Selected Tracks - Skasuj Zaznaczone Ślady + + previous event + - - Shrink selected parts + + next event - - Expand selected parts + + + set event - - Clean selected parts + + + add event - - Add Track - Dodaj Ślad + + + erase event + - - Select + + erase range - - Select &All - Zaznacz &wszystko + + clear automation + - - &Deselect All - &Odznacz wszystko + + Clear all controller events? + - - Invert &Selection - Odwróć &zaznaczenie + + &Ok + &Akceptuj - - &Inside Loop - &Pomiędzy lokatorami. + + &Cancel + - - &Outside Loop - &Poza obrębem lokatorów + + MusE - external script failed + - All &Parts on Track - Wszystkie &klocki na śladzie + MusE was unable to launch the script, error message: +%1 + + + + MusEGui::Appearance - - Score + + Main application font, and default font for any + controls not defined here. - - all parts in one staff + + For small controls like mixer strips. +Also timescale small numbers, arranger part name overlay, + and effects rack. - one staff per part + Midi track info panel. Transport controls. - - New score window + + Controller graph and S/X buttons. Large numbers for time + and tempo scale, and time signature. - Pianoroll - Pianoroll + Time scale markers. + - Drums - Edytor Perkusji + List editor: meta event edit dialog multi-line edit box. + - - List - Edytor Lista + Mixer label font. Auto-font-sizing up to chosen font size. +Word-breaking but only with spaces. + - - Wave + + Maximum mixer label auto-font-sizing font size. - Mastertrack - Ślad Tempo/Metrum + Global opacity (opposite of transparency). + - - Graphic - Edytor Graficzny Tempo/Metrum + + Standard + - - Midi &Transform - &Przekształcanie Midi + + Custom + - - Global Cut - Globalne Wycięcie + + MusE: load image + Muza: Załaduj obrazek. - - Global Insert - Globalne Wstawienie + + Select style sheet + - - Global Split - Globalne Podzielenie + + Qt style sheets (*.qss) + + + + MusEGui::Arranger - - &Edit - + + Enable Recording + Udostępnij nagrywanie - - &Structure - &Globalne + + Mute/Off Indicator + - - Functions - Opcje + + Solo Indicator + Solo Wzkaźnik - &Quantize Notes - + Track Type + Typ śladu - Change note &length + Track Name - Change note &velocity + Midi output channel number or audio channels - Crescendo/Decrescendo + Midi output port or synth midi port - Transpose - Transponuj + Time Lock + Zablokuj Ślad - Erase Events (Not Parts) + Automation parameter selection - Move Events (Not Parts) + Notation clef - - Set Fixed Note Length + + Enable recording. Click to toggle. - Delete Overlapping Notes + Mute indicator. Click to toggle. +Right-click to toggle track on/off. +Mute is designed for rapid, repeated action. +On/Off is not! - Legato + Solo indicator. Click to toggle. +Connected tracks are also 'phantom' soloed, + indicated by a dark square. - - Window &Config + + Track type. Right-click to change + midi and drum track types. - - - New - Nowy - - - - MusEArranger::PartCanvas - - - Cannot copy/move/clone to different Track-Type - Nie można skopiować/przenieść/sklonować do innego typu śladu + + Track name. Double-click to edit. +Right-click for more options. + - - C&ut + + Midi/drum track: Output channel number. +Audio track: Channels. +Mid/right-click to change. - - &Copy - &Kopiuj + + Midi/drum track: Output port. +Synth track: Assigned midi port. +Left-click to change. +Right-click to show GUI. + - - s&elect + + Time lock - - clones + + Notation clef. Select this tracks notation clef. - - rename - zmień nazwę + + Arranger + Główne Okno - color - kolor - - - - delete + Cursor - - split - podziel + + Off + Wył. - - glue + + Bar - de-clone - sklonuj + Snap + - - - - save part to disk + + Len - - wave edit - edycja audio + + + song length - bars + - file info - + Type + Typ - - MusE: save part - + + NO + Brak - - Part name - + + GM + GM - - Files - + + GS + GS - - out of - + + XG + XG + - parts - + midi song type + Utwór Midi - - part + + Pitch + + + midi pitch + transpozycja midi + - could not be pasted. -Likely the selected track is the wrong type. - + global midi pitch shift + globalna transpozycja midi - - Cannot paste: multiple tracks selected - Nie można wkleić: zaznaczono kilka śladów + + Tempo + Tempo - - Cannot paste: no track selected - Nie można wkleić: nie zaznaczono żadnych śladów + + + midi tempo + Tempo Midi - - Can only paste to midi/drum track - Można tylko wkleić do śladu midi, lub perkusji + + N + 100% - - Can only paste to wave track - Można wkleić tylko do śladu audio + + TrackInfo + Info o śladzie - - Can only paste to midi or wave track + + R - - Cannot paste: wrong data type - Nie można wkleić: nieprawidłowy typ danych + + M + - - - MusEArranger::TList - - <none> - + + S + S - - no clef - + + C + T - - Treble - + + Track + Ślad - - Bass + + Port - - Grand + + Ch - - MusE: bad trackname - MuzA: zła nazwa śladu + + T + B - please choose a unique track name - proszę wybrać niepowtarzalną nazwę dla śladu + Automation + Au&tomatyka - - - Update drummap? - Zaktualizować zestaw perkusyjny? + + Clef + + + + MusEGui::ArrangerView - - Do you want to use same port for all instruments in the drummap? - Czy chcesz używać jednego portu midi dla wszystkich instrumentów w zestawie perkusyjnym? + + MusE: Arranger + - - - &Yes - &Tak + + Undo/Redo tools + - - - &No - &Nie + + panic + Zatrzymaj wszystkie komunikaty midi! - - - show gui - pokaż interfejs użytkownika + + transport + - - - show native gui + + C&ut - - Treble clef - + + &Copy + &Kopiuj - Bass clef + Copy in range - Grand Staff - + &Paste + &Wklej - - Viewable automation + + Paste (show dialog) - - Delete Track + + Paste c&lone - Track Comment + Paste clone (show dialog) - - Insert Track + + &Insert Empty Measure - - Midi - Midi + + Delete Selected Tracks + Skasuj Zaznaczone Ślady + + + + Shrink selected parts + - Drum - Perkusja + Expand selected parts + - - Do you want to use same port and channel for all instruments in the drummap? - Czy chcesz używać jednego portu i jednego kanału dla wszystkich instrumentów w zestawie perkusyjnym? + + Clean selected parts + - - - MusEDialog::PasteDialog - - - %n quarter(s) - - - + + + Add Track + Dodaj Ślad - - quarter + + Select + + + + + Select &All + Zaznacz &wszystko + + + + &Deselect All + &Odznacz wszystko + + + + Invert &Selection + Odwróć &zaznaczenie + + + + &Inside Loop + &Pomiędzy lokatorami. + + + + &Outside Loop + &Poza obrębem lokatorów + + + + All &Parts on Track + Wszystkie &klocki na śladzie + + + + Score + + + + + all parts in one staff + + + + + one staff per part + + + + + New score window + + + + + Pianoroll + Pianoroll + + + + Drums + Edytor Perkusji + + + + + List + Edytor Lista + + + + Wave - quarters + Mastertrack + Ślad Tempo/Metrum + + + + Graphic + Edytor Graficzny Tempo/Metrum + + + + Midi &Transform + &Przekształcanie Midi + + + + Global Cut + Globalne Wycięcie + + + + Global Insert + Globalne Wstawienie + + + + Global Split + Globalne Podzielenie + + + + &Edit - - - MusEDialog::PasteEventsDialog - - - %n quarter(s) - - - + + + &Structure + &Globalne - quarter + Functions + Opcje + + + + &Quantize Notes - - quarters + + Change note &length + + + + + Change note &velocity + + + + + Crescendo/Decrescendo + + + + + Transpose + Transponuj + + + + Erase Events (Not Parts) + + + + + Move Events (Not Parts) + + + + + Set Fixed Note Length + + + + + Delete Overlapping Notes + + + + + Legato + + + + + Window &Config + + + + New + Nowy + - MusEMixer::AudioMixerApp + MusEGui::AudioMixerApp &Create @@ -11191,9 +9892,9 @@ Likely the selected track is the wrong type. - MusEMixer::AudioStrip + MusEGui::AudioStrip - + panorama Panorama @@ -11208,12 +9909,12 @@ Likely the selected track is the wrong type. - + 1/2 channel kanał m/s - + Pre Przed @@ -11228,17 +9929,17 @@ Likely the selected track is the wrong type. dB - + record - + mute wycisz - + record downmix zgraj miks @@ -11249,12 +9950,12 @@ Likely the selected track is the wrong type. - + off - + iR Wej. @@ -11274,7 +9975,7 @@ Likely the selected track is the wrong type. połączenie Wyjścia - + Off Wył. @@ -11294,2802 +9995,3157 @@ Likely the selected track is the wrong type. Zapisz - + automation type typ automatyki - MusEMixer::EffectRack + MusEGui::BigTime - - effect rack - skrzynia efektów + + format display + - - new - nowy + + bar + - change - zmień + beat + - move up - przesuń w górę + + tick + - - move down - przesuń w dół + + minute + minuta - remove - usuń + second + sekunda - bypass - omiń (bypass) - - - - show gui - pokaż interfejs użytkownika + + frame + ramka - - show native gui - + + subframe + subramka - - save preset - + + MusE: Bigtime + MuzA: Duży zegar + + + MusEGui::ClipListEdit - - MusE: Save Preset + + MusE: Clip List Editor - - Replace effect + + Undo/Redo tools - - Do you really want to replace the effect %1? - + + panic + Zatrzymaj wszystkie komunikaty midi! - - - MusEMixer::MidiStrip - - - - off + + transport - - - double click on/off + + Window &Config + + + MusEGui::ComboQuant - - VariationSend - VariationSend - - - - Var - Var - - + - ReverbSend - Wysyłka Pogłosu - - - - Rev - Pogł. - - - ChorusSend - Wysyłka Chorusa - - - - Cho - Chorus + Off + Wył. + + + MusEGui::CtrlPanel - - dB - dB + + S + S - - Pan/Balance - Pan/Równowaga + + select controller + Wybierz kontroler - - Pan + + X - - record - + + remove panel + Usuń panel - - mute - wycisz + + manual adjust + - - solo mode + + double click on/off - - iR - Wej. + + off + - - input routing + + + Velocity - - oR - Wyj. + + add new ... + dodaj nowe ... - - output routing - połączenie Wyjścia + + + Instrument-defined + - - - MusEWidget::BigTime - - format display + + + Add ... - - bar + + Others - - beat + + Edit instrument ... - - - tick + + Common Controls + + + MusEGui::DrumEdit - - minute - minuta + + + mute instrument + wyłącz instrument - - second - sekunda + + + sound name + nazwa brzmienia - - - frame - ramka + + + volume percent + - - subframe - subramka + + + quantisation + kwantyzacja - - MusE: Bigtime - MuzA: Duży zegar + + + this input note triggers the sound + ta wysokość uruchamia brzmienie - - - MusEWidget::EditToolBar - - Edit Tools - Narzędzia Edycyjne + + + note length + długość dźwięku - - - MusEWidget::GlobalSettingsConfig - - Selects instruments directory + + + this is the note which is played - - - MusEWidget::Header - - Track Info Columns + + output channel (hold ctl to affect all rows) - - - MusEWidget::MTScale - - bar scale + + output port (hold ctl to affect all rows) - - - MusEWidget::MTScaleFlo - - bar scale + + + shift + control key: draw velocity level 1 - - - MusEWidget::MidiSyncConfig - - - - Port Number - Numer portu - - - - - Name of the midi device associated with this port number - Nazwa urządzenia midi skojarzona z tym numerem portu - - - Midi clock input detected + + + control key: draw velocity level 2 - - - Midi tick input detected + + + shift key: draw velocity level 3 - - Midi real time input detected + + + draw velocity level 4 - - MMC input detected + + output channel (ctl: affect all rows) - MTC input detected + output port (ctl: affect all rows) - - Detected SMPTE format - + + &File + &Plik - - Receive id number. 127 = Global. Double click to edit. - + + Load Map + Załaduj zestaw - Accept midi clock input - + Save Map + Zapisz zestaw - Accept midi real time input + Reset GM Map - - Accept MMC input + + &Edit + + + Cut + Wytnij + - Accept MTC input - + Copy + Kopiuj - Receive start rewinds before playing + Copy events in range - Transmit id number. 127 = Global. Double click to edit. - + Paste + Wklej - Send midi clock output + Paste (with Dialog) + + + Delete Events + Kasuj Elementy + + + + &Select + &Zaznacz + + + + Select All + Zaznacz wszystko + - Send midi realtime output - + Select None + Bez zaznaczenia - - Send MMC output + Invert - - - Send MTC output + + Inside Loop - - Midi clock input detected. -Current port actually used is red. -Click to force a port to be used. - + + Outside Loop + Poza obrębem lokatorów - - Midi realtime input detected, including - start/stop/continue, and song position. + + Previous Part - MMC input detected, including stop/play/deferred play, and locate. + Next Part - - MTC input detected, including forward quarter-frame sync and full-frame locate. -Current port actually used is red. Click to force a port to be current. + + Fu&nctions - - Detected SMPTE format: 24fps, 25fps, 30fps drop frame, or 30fps non-drop -Detects format of MTC quarter and full frame, and MMC locate. + + Re-order list - Receive id number. 127 = global receive all, even if not global. - + Set Fixed Length + Ustaw stałą długość nut - Accept midi clock input. Only one input is used for clock. -Auto-acquire: If two or more port realtime inputs are enabled, - the first clock detected is used, until clock is lost, - then another can take over. Best if each turns off its clock - at stop, so MusE can re-acquire the clock from another port. -Click on detect indicator to force another. + Modify Velocity - - Accept midi realtime input, including - start/stop/continue, and song position. -Non-clock events (start,stop etc) are - accepted by ALL enabled ports. -This means you may have several master - devices connected, and muse will accept - input from them. + + Crescendo/Decrescendo - - Accept MMC input, including stop/play/deferred play, and locate. + + Quantize - Accept MTC input, including forward quarter-frame sync and full-frame locate. -See 'rc' column for more help. + Erase Event - - When start is received, rewind before playing. -Note: It may be impossible to rewind fast - enough to synchronize with the external device. + + Move Notes - - Transmit id number. 127 = global transmit to all. + + Delete Overlaps - - Send midi clock output. If 'Slave to External Sync' is chosen, - muse can re-transmit clock to any other chosen ports. + + &Plugins - - Send midi realtime output, including start/stop/continue, - and song position. If 'Slave to external sync' is chosen, - muse can re-transmit midi realtime input messages to any - other chosen ports. This means you may have several slave - devices connected, and muse can re-send realtime messages - to any or all of them. + + Window &Config - - Port + + Drum tools - - Device Name - Nazwa Urządzenia + + Load Drummap + Załaduj zestaw perkusyjny - - c + + Store Drummap + Zapisz zestaw perkusyjny + + + + Step Record - - k + + Midi Input - - r + + cursor tools - - m - min. + + Set step size for cursor edit + - - t + + panic + Zatrzymaj wszystkie komunikaty midi! + + + + transport - - type + + ctrl - - rid + + Add Controller View - - rc + + M - rr - + Sound + Brzmienie - rm + Vol - rt - + QNT + Kwant. - rw - + E-Note + U-Wys - tid + Len - tc - + A-Note + W-Wys - tr + Ch - tm + Port - tt - + LV1 + PV1 - - MusE - MuzA + + LV2 + PV2 - Settings have changed -Apply sync settings? - + LV3 + PV3 - - &Apply - &Zastosuj + + LV4 + PV4 - - &No - &Nie + + Muse: Load Drum Map + MuzA: Załaduj zestaw perkusyjny - - &Abort - &Anuluj + + MusE: Store Drum Map + MuzA: Zapisz zestaw perkusyjny - - <none> + + Drum map - - - MusEWidget::MidiTrackInfo - - - <unknown> + + Reset the drum map with GM defaults? - MusEWidget::MixdownFileDialog + MusEGui::EditCAfterDialog - - Wave Files (*.wav);;All Files (*) - Pliki Wave (*.wav);;Wszystkie Pliki (*) + + MusE: Enter Channel Aftertouch + MuzA: Wstaw zmianę średniego nacisku pod uderzeniu (channel aftertouch) - - - MusEWidget::NoteInfo - - Note Info - Info o dźwięku + + Time Position + Pozycja: - - Start - + + Pressure + Nacisk + + + MusEGui::EditEventDialog - - Len - + + Ok + Akceptuj - - Pitch + + Cancel + Anuluj + + + + MusEGui::EditInstrument + + + + MusE: Create file failed - - Velo On - Prędk. uderz. + + MusE: Write File failed + MuzA: Zapis pliku nie powiódł się - - Velo Off - Prędk. puszcz. + + + + + MusE: + - - - MusEWidget::RoutePopupMenu - - - - - - - - - Channel + + + The user instrument directory +%1 +does not exist yet. Create it now? + - - - - Soloing chain + + + (You can change the user instruments directory at Settings->Global Settings->Midi) - - - Audio returns + + + Unable to create user instrument directory '%1' - - Warning: No midi input devices! + + + MusE: Save Instrument Definition - - Open midi config... + + + Instrument Definition (*.idf) - - - <none> + + + MusE: Save instrument as - - Toggle all + + Enter a new unique instrument name: - - More... + + The user instrument '%1' already exists. This will overwrite its .idf instrument file. +Are you sure? - - Audio sends + + MusE: Bad instrument name - - Midi port sends + + Please choose a unique instrument name. +(The name might be used by a hidden instrument.) - - - MusEWidget::ScrollScale - - next page - następna strona + + MusE: Bad patch name + - previous page - poprzednia strona + Please choose a unique patch name + + + + + MusE: Bad patchgroup name + - current page number - aktualny numer strony + Please choose a unique patchgroup name + - - - MusEWidget::ShortcutCaptureDialog - - Ok - Akceptuj + + MusE: Bad controller name + - Cancel - Anuluj + Please choose a unique controller name + - - Shortcut conflicts with + + + MusE: Cannot add common controller - - Undefined - Niezdefiniowany + + A controller named '%1' already exists. + - - - MusEWidget::SigScale - - signature scale - oś metrum + + A controller number %1 already exists. + - - - MusEWidget::Toolbar1 - - Solo - Solo + + + MusE + MuzA - - Cursor + + + The current Instrument contains unsaved data +Save Current Instrument? - - Snap - + + + &Save + &Zapisz - - - MusEWidget::TrackComment - - MusE: Track Comment - MuzA: Opis Śladu + + + &Nosave + &Nie zapisuj - - Track Comment: - Opis Śladu + + &Abort + &Anuluj - MusEWidget::VisibleTracks + MusEGui::EditMetaDialog - - Visible track types + + MusE: Enter Meta Event - - - NoteInfo - Start - Pozycja + + Time Position + Pozycja: - Len - Długość + + Meta Type + Meta Typ - Pitch - Wysokość dźwięku + + Enter Hex + Wstaw Heks. + + + MusEGui::EditPAfterDialog - Velo On - Prędk. uderz. + + MusE: Enter Poly Aftertouch + MuzA: Wstaw zmianę średniego nacisku pod uderzeniu (channel aftertouch) - Velo Off - Prędk. puszcz. + + Time Position + Pozycja: - Note Info - Info o dźwięku + + Pitch + + + + + Pressure + Nacisk - OrganGuiBase + MusEGui::EditToolBar - - MusE: Organ - + + select Pointer Tool: +with the pointer tool you can: + select parts + move parts + copy parts + Kliknij na strzałkę. +Strzałką możesz zaznaczać, przesuwać i kopiować klocki - - Drawbars - + + select Pencil Tool: +with the pencil tool you can: + create new parts + modify length of parts + Kliknij na ołówek. +Ołówkiem możesz tworzyć klocki oraz zmieniać ich długość. - - 16' - 16' + + select Delete Tool: +with the delete tool you can delete parts + Kliknij na Gumkę. +Gumką można kasować klocki. - - 4' - 4' + + select Cut Tool: +with the cut tool you can split a part + Kliknij na Nożyczki. +Nożyczkami można ciąć klocki. - - 2 2/3' - 2 2/3' + + select Glue Tool: +with the glue tool you can glue two parts + Kliknij na Klej. +Klejem możesz sklejać dwa klocki - - 2' - 2' + + select Score Tool: + + Wybierz Podgląd Nutowy. - - 5 1/3' - 5 1/3' + + select Quantize Tool: +insert display quantize event + Ustaw Kwantyzator +(ustawia kwantyzację wstawiania komunikatów midi). - - 8' - 8' + + select Drawing Tool + wybierz Wykres - - Envelope Hi - + + select Muting Tool: +click on part to mute/unmute + Kliknij na Wyłącz. +Kliknij na pojedynczy klocek aby go wyłączyć z odtwarzania. - - - Release + + Manipulate automation - - - Sustain + + Cursor tool - - - Decay - + + pointer + Strzałka - - - Attack - + + pencil + Ołówek - - - - - - - ms - + + eraser + Gumka - - - cB - + + cutter + Nożyczki - - Envelope Lo - + + score + Pogląd nutowy - - O-1 + + glue - - Oscillator - + + quantize + Kwantyzator - - Brass - + + draw + Wykres - - Reed - + + mute parts + Wyłącz klocki z odtwarzania - - Flute + + edit automation - - Velocity + + cursor - - - PageSettings - Track Name - Spur Name + + Edit Tools + Narzędzia Edycyjne - PartCanvas - - C&ut - &Wytnij - - - &Copy - &Kopiuj - - - rename - zmień nazwę - + MusEGui::EffectRack - delete - kasuj + + effect rack + skrzynia efektów - split - podziel + + new + nowy - glue - sklej + + change + zmień - pianoroll - pianoroll + + move up + przesuń w górę - list - edytor lista + + move down + przesuń w dół - drums - edytor perkusja + + remove + usuń - Cannot copy/move/clone to different Track-Type - Nie można skopiować/przenieść/sklonować do innego typu śladu + + bypass + omiń (bypass) - color - kolor + + show gui + pokaż interfejs użytkownika - de-clone - sklonuj + + show native gui + - wave edit - edycja audio + + save preset + - Cannot paste: multiple tracks selected - Nie można wkleić: zaznaczono kilka śladów + + MusE: Save Preset + - Cannot paste: no track selected - Nie można wkleić: nie zaznaczono żadnych śladów + + Replace effect + - Cannot paste: wrong data type - Nie można wkleić: nieprawidłowy typ danych + + Do you really want to replace the effect %1? + + + + MusEGui::GlobalSettingsConfig - Can only paste to midi/drum track - Można tylko wkleić do śladu midi, lub perkusji + + Selects instruments directory + + + + MusEGui::Header - Can only paste to wave track - Można wkleić tylko do śladu audio + + Track Info Columns + - PasteDialogBase + MusEGui::LMaster - - MusE: Paste Parts - + + MusE: Mastertrack + MuzA: Ślad Tempo/Metrum - - Number and raster + + &Edit - - insert + + Insert Tempo - - times + + Insert Signature - - raster + + Insert Key - - ticks + + Edit Positon - - Move, Merge, Clone + + Edit Value - - Move everything to the right + + Delete Event - - Move only affected parts to the right + + Window &Config - - Put everything into a single track + + Undo/Redo tools - - Merge with existing parts + + Edit tools - - Insert as clones (where possible) - + + Tempo + Tempo - - OK - Akceptuj + + Timesig + Metrum - - Cancel - Anuluj + + Key + - - - PasteEventsDialogBase - - MusE: Paste Events - + + new tempo + nowe tempo - - Number and raster - + + new signature + nowe metrum - - insert + + new key - - times - + + panic + Zatrzymaj wszystkie komunikaty midi! - - raster + + transport - - - ticks - + + Meter + Miernik - - Paste options + + Time - - Always into existing parts - + + Type + Typ - - Never into existing parts - + + Value + Wartość - - Into existing parts if part has not -to be expanded by more than + + Reposition of the initial tempo and signature events is not allowed - - Put everything into the (selected) part + + MusE: List Editor - - OK - Akceptuj + + Input error, conversion not OK or value out of range + - Cancel - Anuluj + Reposition of tempo and signature events to start position is not allowed! + - PatchBay + MusEGui::ListEdit - MusE: ALSA MIDI Patch Bay - MuzA: krosownica ALSA MIDI + + insert Note + Wstaw nutę - - - PatchBayBase - ALSA Patch Bay - krosownica ALSA + + insert SysEx + wstaw SysEx + + + + insert Ctrl + wstaw + + + + insert Meta + Wstaw Meta + + + + insert Channel Aftertouch + Wstaw zmianę średniego nacisku pod uderzeniu (channel aftertouch) + + + + insert Poly Aftertouch + Wstaw zmianę średniego nacisku pod uderzeniu (Poly Aftertouch) - - - PianoRoll - + &Edit - &Edycja + + Cut - Wytnij + Wytnij + Copy - Kopiuj + Kopiuj + Paste - Wklej + Wklej + Delete Events - Kasuj Elementy - - - Select All - Zaznacz wszystko + Kasuj Elementy - Select None - Bez zaznaczenia + + Window &Config + - Invert - Odwróć zaznaczenie + + Undo/Redo tools + - Inside Loop - Pomiędzy lokatorami. + + Insert tools + - Outside Loop - Poza obrębem lokatorów + + panic + Zatrzymaj wszystkie komunikaty midi! - - &Select - &Zaznacz + + transport + - blue - niebieski + + Tick + Takt (impuls sygnału czasu) - pitch colors - kolory wysokości dźwięków + + Bar + - velocity colors - kolory predkości uderzenia (velocity) + + Type + Typ - &Config - &Konfiguracja + + Ch + - event color - kolor elementu + + Val A + Wart. A - &Functions - &Opcje + + Val B + Wart. B - Over Quantize - Inteligentna kwantyzacja do najbliższej dozw. poz. (w tym samym kierunku) + + Val C + Wart. C - Note On Quantize - Kwantyzacja do najbl. dozwolonej pozycji + + Len + - Note On/Off Quantize - Kwantyzacja pocz i końca dźwięku + + Comment + Opis + + + MusEGui::MPConfig - Iterative Quantize - Przesuwana Kwantyzacja + + + Default input connections + - Pianoroll Tools - Narzędzia Pianoroll + + + Are you sure you want to apply to all existing midi tracks now? + - - Step Record - Nagrywanie krok po kroku + + + Default output connections + - - Midi Input - Wejście Midi + + + Setting will apply to new midi tracks. +Do you want to apply to all existing midi tracks now? + - - Play Events - Podgląd midi + + MusE: bad device name + - - Add Controller View - Dodaj wykres kontorolera + + please choose a unique device name + - Config Quant... - Konfiguruj kwantyzację + + + in + - Modify Gate Time - Modyfikuj czas bramki + + + out + - - Modify Velocity - Modyfikuj predkość uderzenia (velocity) + + Show first aliases + - Crescendo - Crescendo + + Show second aliases + - - Transpose - Transponuj + + + Toggle all + - Thin Out - Decresendo + + + Change all tracks now + - Erase Event - Skasuj element + + Create Jack device + - Note Shift - Przesuń dźwięk + + + Port Number + Numer portu - Move Clock - Przesuń zegar + + Enable gui + - Copy Measure - Kopiuj takt + + Enable reading + - Erase Measure - Wyczyść takt + + Enable writing + - Delete Measure - Kasuj takt + + Port instrument + - Create Measure - Stwórz takt + + Midi device name. Click to edit (Jack) + - - ctrl - kontr. + + Connections from Jack Midi outputs + - - C&ut + + Connections to Jack Midi inputs - - &Copy - &Kopiuj + + Auto-connect these channels to new midi tracks + - - Copy events in range + + Auto-connect new midi tracks to these channels - - &Paste - &Wklej + + Auto-connect new midi tracks to this channel + - - &Paste (with dialog) + + Device state - - Delete &Events + + Enable gui for device - - Select &All - Zaznacz &wszystko + + Enable reading from device + - - &Deselect All - &Odznacz wszystko + + Enable writing to device + - - Invert &Selection - Odwróć &zaznaczenie + + Name of the midi device associated with this port number. Click to edit Jack midi name. + - - &Inside Loop - &Pomiędzy lokatorami. + + Instrument connected to port + Instrument połączony do portu - &Outside Loop - &Poza obrębem lokatorów - - - - &Previous Part + Connections from Jack Midi output ports - - &Next Part + + Connections to Jack Midi input ports - - Fu&nctions + + Auto-connect these channels, on this port, to new midi tracks. - - Window &Config + + Connect new midi tracks to these channels, on this port. - &Event Color + Connect new midi tracks to this channel, on this port. - - &Blue - + + State: result of opening the device + Status: rezultat otworzenia urządzenia - - &Pitch colors + + Port - - &Velocity colors + + GUI - - Quantize - + + I + Wej. - - Modify Note Length - + + O + Wyj. - - Crescendo/Decrescendo + + Instrument - - Erase Events - + + Device Name + Nazwa Urządzenia - - Move Notes + + In routes - - Set Fixed Length - Ustaw stałą długość nut + + Out routes + - - Delete Overlaps + + Def in ch - - Legato + + Def out ch - - &Plugins + + State + Status + + + + <unknown> - - Pianoroll tools + + + <none> + + + MusEGui::MTScale - - panic - Zatrzymaj wszystkie komunikaty midi! + + bar scale + + + + MusEGui::MTScaleFlo - - transport + + bar scale - PluginDialog + MusEGui::MarkerView - - Ok - Akceptuj + + MusE: Marker + MuzA: Znacznik - Cancel - Anuluj + add marker + Dodaj znacznik - - MusE: select plugin - MuzA: wybierz wtyczkę + + delete marker + Kasuj znacznik - - Lib - Bibl. + + &Edit + - - Label - Etykieta + + Window &Config + - - Name - Nazwa + + Undo/Redo tools + - - AI - AI + + edit tools + Narzędzia Edycyjne - - AO - AO + + panic + Zatrzymaj wszystkie komunikaty midi! - - CI - CI + + transport + - - CO - CO + + Bar:Beat:Tick + Takt:Puls:Takt - IP - IP + Hr:Mn:Sc:Fr:Sf + Godz.:Min.:Sek.:Kl.:SKl - id - numer + Lock + Zablokuj - Maker - Znacznik + Text + Tekst - - Copyright - Prawa autorskie + + Marker Properties + Właściwości znacznika + + + MusEGui::MasterEdit - Select which types of plugins should be visible in the list,<br>beware that 'all' includes plugins that probably are not usable by MusE. - Wybierz, które wtyczki mają być widoczne na liście, zwróć uwagę, że nie wszysktie mogą być używane przez MuzA. + + MusE: Mastertrack + MuzA: Ślad Tempo/Metrum - Stereo and Mono - Stereo i Mono + + Window &Config + - - Stereo - Stereo + + Undo/Redo tools + - Mono - Mono + panic + Zatrzymaj wszystkie komunikaty midi! - All - Wszystko + + transport + - - Mono and Stereo + + Enable master - - Show All - + + Enable + Włącz - - Select which types of plugins should be visible in the list.<br>Note that using mono plugins on stereo tracks is not a problem, two will be used in parallell.<br>Also beware that the 'all' alternative includes plugins that probably not are usable by MusE. - + + Enable usage of master track + Aktywuj Ślad Tempo/Metrum - - Search in 'Label' and 'Name': + + Info + Info + + + + Cursor - - - PluginGui - - - bypass plugin - omiń wtyczkę (bypass) + + time at cursor position + Wstaw metrum w aktualnej pozycji kursora - - MusE: load preset - MuzA: załaduj ustawienie + + tempo at cursor position + Wstaw tempo w aktualnej pozycji kursora - - MusE: save preset - MuzA: zapisz ustawienie + + Off + Wył. - - File Buttons - Przyciski Menu Plik + + Bar + - Load Preset - Załaduj Ustawienie + Snap + + + + + CurPos + Akt. Poz. Kursora: - Save Preset - Zapisz ustawienie + tempo at current position + Wstaw tempo w aktualnej pozycji kursora - - Error reading preset. Might not be right type for this plugin - + + time signature at current position + Wstaw tempo w aktualnej pozycji kursora - ProjectCreate + MusEGui::MidiInputTransformDialog - - Create Project - + + + New + Nowy + + + MusEGui::MidiStrip - - Project Name: + + + + off - - Project Path to song file: + + + double click on/off - - Create project folder (recommended for audio projects) - + + VariationSend + VariationSend - - Browse - + + Var + Var - - Song information: - + + ReverbSend + Wysyłka Pogłosu - - - QHeader - Port Number - Numer portu + + Rev + Pogł. - enable gui for device - Udostępnij interfejs dla urządzenia + + ChorusSend + Wysyłka Chorusa - Instrument connected to port - Instrument połączony do portu + + Cho + Chorus - State: result of opening the device - Status: rezultat otworzenia urządzenia + + dB + dB - mute instrument - wyłącz instrument + + Pan/Balance + Pan/Równowaga - sound name - nazwa brzmienia + + Pan + - quantisation -currently not used - kwantyzacja nie jest aktualnie używana + + record + - this input note triggers the sound - ta wysokość uruchamia brzmienie + + mute + wycisz - note length - długość dźwięku + + solo mode + - this note is send for the sound - ta wysokość jest wysłana do brzmienia + + iR + Wej. - output channel -currently not used - kanał wyjściowy jest aktualnie nie używany + + input routing + - output port -currently not used - port wyjściowy jest aktualnie nie używany + + oR + Wyj. - velocity level 1 - poziom predkości uderzenia (velocity) 1 + + output routing + połączenie Wyjścia + + + MusEGui::MidiSyncConfig - velocity level 2 - poziom predkości uderzenia (velocity) 2 + + + Port Number + Numer portu - velocity level 3 - poziom predkości uderzenia (velocity) 3 + + + Name of the midi device associated with this port number + Nazwa urządzenia midi skojarzona z tym numerem portu - velocity level 4 - poziom predkości uderzenia (velocity) 4 + + Midi clock input detected + - quantisation - kwantyzacja + + + Midi tick input detected + - output channel - kanał wyjściowy + + Midi real time input detected + - output port - port wyjściowy + + MMC input detected + - Enable Recording - Udostępnij nagrywanie + + MTC input detected + - Mute Indicator - Wyłącz wzkaźnik + + Detected SMPTE format + - Solo Indicator - Solo Wzkaźnik + + Receive id number. 127 = Global. Double click to edit. + - Track Type - Typ śladu + + Accept midi clock input + - Track Name - Nazwa śladu + + Accept midi real time input + - Output Channel Number - Numer kanału wyjściowego + + Accept MMC input + - Output Port - Port wyjsciowy + + Accept MTC input + - Time Lock - Zablokuj Ślad - + + Receive start rewinds before playing + + - Solo/Pre Fader Listening - Solo/ Odsłuch przed tłumikiem + + Transmit id number. 127 = Global. Double click to edit. + - Name of the midi device associated with this port number - Nazwa urządzenia midi skojarzona z tym numerem portu + + Send midi clock output + - enables reading from device - Pozwala na odczyt z urządzenia + + Send midi realtime output + - enables writing to device - Pozwala na zapis do urządzenia + + + Send MMC output + - - - QObject - - Other + + + Send MTC output - - - Error + + Midi clock input detected. +Current port actually used is red. +Click to force a port to be used. - - - Please first select the range for crescendo with the loop markers. + + Midi realtime input detected, including + start/stop/continue, and song position. - - - QWidget - - - Cannot convert sysex string - Nie można przekonwertować łańcucha sysex + + MMC input detected, including stop/play/deferred play, and locate. + - - - Hex String too long (2048 bytes limit) - Łańcuch Hex za długi (limit 2048 bajtów) + + MTC input detected, including forward quarter-frame sync and full-frame locate. +Current port actually used is red. Click to force a port to be current. + - - new - nowy + + Detected SMPTE format: 24fps, 25fps, 30fps drop frame, or 30fps non-drop +Detects format of MTC quarter and full frame, and MMC locate. + - - create peakfile for - stwórz plik szczytu dla + + Receive id number. 127 = global receive all, even if not global. + - - MusE: get file name - MuzA: weź nazwę pliku + + Accept midi clock input. Only one input is used for clock. +Auto-acquire: If two or more port realtime inputs are enabled, + the first clock detected is used, until clock is lost, + then another can take over. Best if each turns off its clock + at stop, so MusE can re-acquire the clock from another port. +Click on detect indicator to force another. + - the directory - - katalog + + Accept midi realtime input, including + start/stop/continue, and song position. +Non-clock events (start,stop etc) are + accepted by ALL enabled ports. +This means you may have several master + devices connected, and muse will accept + input from them. + - -does not exist -create? - nie istnieje -utworzyć? + + Accept MMC input, including stop/play/deferred play, and locate. + - &Create - &Twórz + + Accept MTC input, including forward quarter-frame sync and full-frame locate. +See 'rc' column for more help. + - Cancel - Anuluj + + When start is received, rewind before playing. +Note: It may be impossible to rewind fast + enough to synchronize with the external device. + - - MusE: create directory - MuzA: utwórz katalog + + Transmit id number. 127 = global transmit to all. + - creating dir failed - tworzenie katalogu nie powiodło się + Send midi clock output. If 'Slave to External Sync' is chosen, + muse can re-transmit clock to any other chosen ports. + - - File - - Plik + + Send midi realtime output, including start/stop/continue, + and song position. If 'Slave to external sync' is chosen, + muse can re-transmit midi realtime input messages to any + other chosen ports. This means you may have several slave + devices connected, and muse can re-send realtime messages + to any or all of them. + - -exists - istnieje + + Port + - - MusE: write - MuzA: zapis: + + Device Name + Nazwa Urządzenia - Overwrite - Nadpisz + + c + - Quit - Wyjdź + + k + - - Open File - - Otwórz plik + + r + - - -failed: - nie udane + + m + min. - - MusE: Open File - MuzA: Otwórz plik + + t + - - - None - Brak + + type + - - generic midi - generyczne midi + + rid + - - No selection. Ignoring + + rc - - The directory - + + rr - -does not exist. -Create it? + rm - - -exists. Overwrite? + + rt - - - QuantBase - - MusE: Quantize + + rw - - Range - Zakres + + tid + - - All Events - Wszytkie Elementy + + tc + - - Selected Events - Zaznaczone Elementy + + tr + - - Looped Events - Pomiędzy lokatorami + + tm + - - Selected Looped + + tt - - Values - Wartość + + MusE + MuzA - - Strength: + + Settings have changed +Apply sync settings? - - % - % + + &Apply + &Zastosuj - - Threshold (ticks): - - - - - Quantize Len - + + &No + &Nie - - Raster - + + &Abort + &Anuluj - - Whole + + <none> + + + MusEGui::MidiTrackInfo - - Half + + + <unknown> + + + MusEGui::MidiTransformerDialog - - Quarter - + + + New + Nowy + + + MusEGui::MixdownFileDialog - - 8th - + + Wave Files (*.wav);;All Files (*) + Pliki Wave (*.wav);;Wszystkie Pliki (*) + + + MusEGui::MusE - - 16th + + + Failed to start audio! - - 32th + + Was not able to start audio, check if jack is running. + - - Swing: + + Timeout waiting for audio to run. Check if jack is running. + - - If the proposed change in tick or length is smaller than threshold, nothing is done. -If swing=0, this is normal -If swing is 33, you get a 2:1-rhythm. -If swing is -33, you get a 1:2-rhythm. - - + + Und&o + Co&fnij - - OK - Akceptuj + + Re&do + Co&fnij - - Cancel - Anuluj + + undo last change to song + cofnij ostatnią zmianę w utworze - - - QuantConfig - Config Quantize - Konfiguruj Kwantyzację + + redo last undo + ponów ostanie cofnij - Strength - Siła + + Loop + Pętla - Don´t Quantize - Nie kwantyzuj + + loop between left mark and right mark + Zapętl pomiędzy lokatorami - Quant Len - Wartość kwantyzacji + + Punchin + Włącz wcinki (punch In) - MusE: Config Quantize - MuzA: Konfiguracja kwantyzacji + + record starts at left mark + Nagrywaj od lewego lokatora. - - - RemoveBase - - MusE: Erase Notes - + + Punchout + Wył. wcinki (punch out) - - Range - Zakres + + record stops at right mark + Nagrywaj od prawego lokatora. - - All Events - Wszytkie Elementy + + Start + - - Selected Events - Zaznaczone Elementy + + rewind to start position + Przewiń do początku. - - Looped Events - Pomiędzy lokatorami + + Rewind + Przewiń do tyłu - - Selected Looped - + + rewind current position + Przewijaj kursor do tyłu. - - Thresholds - + + Forward + Przewiń do przodu - - ticks - + + move current position + Przewijaj kursor do przodu. - - Velocity - + + Stop + Stop - - Length - + + stop sequencer + Zatrzymaj sekwencer. - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:7px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If nothing is checked, everything is removed.</p> -<p style=" margin-top:0px; margin-bottom:7px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If velocity is checked, only notes with velo &lt; threshold are removed.</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If both are checked, notes with velo &lt; threshold OR with length &lt; threshold are removed.</p></body></html> - + + Play + Odtwarzanie - - OK - Akceptuj + + start sequencer play + Uruchom odtwarzanie sekwencera. - - Cancel - Anuluj + + Record + Nagrywanie - - - RhythmBase - MusE: Random Rhythm Generator - MuzA: Generator Losowego Rytmu + + to record press record and then play + Aby nagrywać najpierw naciśnij nagrywanie, potem odtwarzanie. - Instrument Properties - Właściwości Instrumentu + + + Panic + Zatrzymaj wszystkie komunikaty midi! - counts/bar - ilość taktów + + send note off to all midi channels + Zatrzymaj komunikaty midi na wszystkich kanałach! - steps/count - ilość kroków + + &New + - # bars - # takty + + + Create New Song + Twórz nowy utwór. Można też nacisnąć skrót "Ctrl-N". - test - test + + &Open + &Otwórz - contrib - contrib + + + Click this button to open a <em>new song</em>.<br>You can also select the <b>Open command</b> from the File menu. + Otwórz nowy utwór. Można też wybrać <b>Otwórz</b> z menu Plik. + - randomize - ustaw w przypadkowej kolejności + + Open &Recent + Otwórz O&statnie - Group 1 - Grupa 1 + + + + &Save + &Zapisz - Group 2 - Grupa 2 + + + Click this button to save the song you are editing. You will be prompted for a file name. +You can also select the Save command from the File menu. + Zapisz edytowany utwór. Trzeba podać nazwę pliku. +Można też wybrać "Zapisz" z menu plik, lub "Ctrl-S". + - Group 3 - Grupa 3 + + Save &As + Zapisz &Jako - Group 4 - Grupa 4 + + Import Midifile + &Import Pliku Midi - Group 5 - Grupa 5 + + Export Midifile + &Export do pliku midi - listen - słuchaj + + Import Part + - Instrument - Instrument + + + Import Wave File + Import Pliku &Wave - Group - Grupa + + Find unused wave files + - &New - &Nowy + + &Quit + &Zakończ - create new entry - stwórz nowy wpis + + Song Info + - pressing the New button you create a new entry -in the MusE list of defined controllers - naciśnij przycisk Nowy aby utworzyć wpis na lisćie zdefiniowanych kontrolerów + + Transport Panel + Panel transportu - &Delete - &Kasuj + + Bigtime Window + Duży Zegar - delete selected entry - kasuj zaznaczone elementy + + Mixer A + - Up - W góre + + Mixer B + - Down - W dół + + Cliplist + - Instrument - Instrument + + Marker View + - steps/count - kroki/liczy + + Arranger View + - list of defined controllers - Lista zdefiniowanych kontrolerów + + Fullscreen + - This is the MusE list of defined controllers. - To jest lista MuzA zdefiniowanych midi kontrolerów. + + &Plugins + - &File - &Plik + + Edit Instrument + Edytuj Instrument - &Edit - &Edytuj + + Input Plugins + Wtyczki wejścia - &Help - P&omoc + + Transpose + Transponuj - Tools - Narzędzia + + Midi Input Transform + Przekształcanie Wejścia Midi - New - Nowy + + Midi Input Filter + Filtr Wejścia Midi - Open - Otwórz + + Midi Remote Control + Zdalne Sterowanie Midi - &Open... - &Otwórz... + + Rhythm Generator + - Save - Zapisz + + Reset Instr. + Reset Instr. - &Save - &Zapisz + + Init Instr. + Inicjalizacja Instr. - Save As - Zapisz jako + + Local Off + Local Off - Save &As... - Zapisz &Jako... + + Bounce to Track + +Zgrywanie śladu (bounce) - Print - Drukuj + + Bounce to File + Zgrywanie do Pliku (bounce) - &Print... - &Drukuj + + Restart Audio + Zrestartuj Audio - Exit - Zakończ + + Mixer Automation + Automatyka Miksera - E&xit - &Zakończ + + Take Snapshot + Zrób zrzut ekranu - Undo - Cofnij + + Clear Automation Data + Wyczyść automatykę - &Undo - &Cofnij + + Cascade + - Redo - Ponów + + Tile + - &Redo - &Ponów + + In rows + - Cut - Wytnij + + In columns + - &Cut - &Wytnij + + Global Settings + Globalne Ustawienia - Copy - Kopiuj + + Configure Shortcuts + Konfiguracja skrótów - C&opy - &Kopiuj + + Follow Song + podążanie kursora za utworem - Paste - Wklej + + Don't Follow Song + nie podążaj za utworem - &Paste - &Wklej + + Follow Page + kursor się przesuwa - Find - Szukaj + + Follow Continuous + takty się przesuwają (kursor stoi) - &Find... - &Szukaj + + Metronome + Metronom - Contents - Spis treści + + Midi Sync + Synchronizacja Midi - &Contents... - &Spis treści + + Midi File Import/Export + - Index - Indeks + + Appearance Settings + Ustawienia wyglądu - &Index... - &Indeks + + Midi Ports / Soft Synth + Porty Midi i Syntezatory Softowe - About - O programie + + &Manual + &Instrukcja Obłsugi - &About... - &O programie + + &MusE Homepage + strona domowa &MuzA - <b>Notice!</b><br> -Random Rhythm Generator is not enabled yet! - <b>Zauważ!</b><br> -Losowy Generator Rytmu jeszcze nie jest udostępniony! + + &Report Bug... + &Zgłoś Błąd... - Ctrl+N - Ctrl+N + + &About MusE + &Informacje o programie - Ctrl+O - Ctrl+O + + File Buttons + Przyciski Menu Plik - Ctrl+S - Ctrl+S + + Undo/Redo + - Ctrl+P - Ctrl+P - - - Ctrl+Z - Ctrl+Z + + Transport + Panel transportu - Ctrl+Y - Ctrl+Y + + &File + &Plik - Ctrl+X - Ctrl+X + + &View + &Przeglądaj - Ctrl+C - Ctrl+C + + &Midi + &Midi - Ctrl+V - Ctrl+V + + &Audio + &Audio - Ctrl+F - Ctrl+F + + A&utomation + - - - RhythmGenerator - Form3 - Form3 + + &Windows + - Instrument Settings: - Instrument Einstellungen + + MusE Se&ttings + - add - Zufgen + + &Help + P&omoc - delete - Entfernen + + Cannot read template + Nie można odczytać pliku szablonu - steps/count - ilość kroków + + File open error + Błąd odczytu pliku - # bars - # takty + + File read error + błąd odczytu pliku - Group - Gruppe + + Unknown File Format: %1 + - Group 1 - Grupa 1 + + + + MusE: Song: %1 + - Group 2 - Grupa 2 + + MusE: load project + MuzA: ładuj utwór - Group 3 - Grupa 3 + + MusE: load template + MuzA: ładuj szablon - Group 4 - Grupa 4 + + MusE: Write File failed + MuzA: Zapis pliku nie powiódł się - Group 5 - Grupa 5 + + The current Project contains unsaved data +Save Current Project? + Otwarty utwór zawiera niezapisane dane +Zapisać otwarty utwór? - contrib - contrib + + + S&kip + - listen - słuchaj + + &Cancel + - Save - Zapisz + + + MusE: Save As + MuzA: Zapisz Jako - - + + + Nothing to edit + Nie ma nic do edytowania - - - RouteDialogBase - - MusE: Routing - MuzA: Konfiguracja połączeń + + + + + + MusE: Bounce to Track + MuzA: Zgrywanie (bounce) do Śladu - - Add Route - Dodaj połączenie + + No wave tracks found + - - Source: - Źródło: + + + No audio output tracks found + - - Destination: - Odbiornik: + + Select one audio output track, +and one target wave track + - - Connect - Połącz + + Select one target wave track + - - connect source to destination - połącz źródło do odbiornika + + Select one target wave track, +and one audio output track + - - Current Routes - Aktualne połączenia + + + MusE: Bounce to File + MuzA: Zgrywanie (bounce) do Pliku - - Source - Źródło + + Select one audio output track + - - Destination - Odbiornik + + MusE: Bounce + MuzA: Zgrywanie (bounce) - - Remove - Usuń + + set left/right marker for bounce range + ustaw lokatory do zgrania (bounce) danego zakresu - - remove selected route - Usuń wybrane połączenie + + The current Project contains unsaved data +Load overwrites current Project: +Save Current Project? + Otwarty utwór zawiera niezapisane dane. +Załadowanie nadpisze otwarty utwór: +Zapisać otwarty utwór? - - - SS_PluginChooserBase - - SimpleDrums - Ladspa Plugin Chooser - + + + &Abort + &Anuluj - - Name - Nazwa + + MusE: Export Midi + MuzA: Exportuj Midi - - Label - Etykieta + + no help found at: + nie znalezniono pomocy - - Inports - + + MusE: Open Help + MuzA: Otwórz Pomoc - - Outports + + Unable to launch help - - Creator + + For some reason MusE has to launch the default +browser on your machine. - - &Cancel - + + MusE: Import Midi + MuzA: Importuj Midi - - Alt+C - Alt+C + + Add midi file to current project? + + Dodać plik midi do otwartego utworu? - - &OK - + + &Add to Project + &Dodaj do utworu - - Alt+O - + + &Replace + &Zastąp - - - SS_PluginFront - - Clear and unload effect + + reading midifile + + czytanie pliku midi + + + + +failed: - - Load effect + + Import part is only valid for midi and wave tracks! - - Toggle display of effect parameters + + MusE: load part + + No track selected for import + + + + + %n part(s) out of %1 could not be imported. +Likely the selected track is the wrong type. + + + + + - Turn effect on/off + %n part(s) could not be imported. +Likely the selected track is the wrong type. + + + + + + + to import an audio file you have first to selecta wave track - - - ScoreCanvas - - Treble + + Import Wavefile - - Bass + + This wave file has a samplerate of %1, +as opposed to current setting %2. +Do you still want to import it? - Grand Staff + &Yes + &Tak + + + + &No + &Nie + + + + MusEGui::NoteInfo + + + Note Info + Info o dźwięku + + + + Start - - Remove staff + + Len - - Ambiguous part + + Pitch - - There are two or more possible parts you could add the note to, but none matches the selected part. Please select the destination part by clicking on any note belonging to it and try again, or add a new stave containing only the destination part. + + Velo On + Prędk. uderz. + + + + Velo Off + Prędk. puszcz. + + + + MusEGui::PartCanvas + + + Cannot copy/move/clone to different Track-Type + Nie można skopiować/przenieść/sklonować do innego typu śladu + + + + C&ut - No part - + &Copy + &Kopiuj - - There are no parts you could add the note to. + + s&elect - - - ScoreEdit - - Undo/Redo tools + + clones - Step recording tools - + rename + zmień nazwę - Step Record + color + kolor + + + + delete - - panic - Zatrzymaj wszystkie komunikaty midi! + + split + podziel - - transport + + glue - - Note settings + + de-clone + sklonuj + + + + + + save part to disk - - Note length: + + wave edit + edycja audio + + + + file info - - last + + MusE: save part - - Velocity: + + Part name: %1 +Files: + + + %n part(s) out of %1 could not be pasted. +Likely the selected track is the wrong type. + + + + + + + %n part(s) could not be pasted. +Likely the selected track is the wrong type. + + + + + + + Cannot paste: multiple tracks selected + Nie można wkleić: zaznaczono kilka śladów + + + + Cannot paste: no track selected + Nie można wkleić: nie zaznaczono żadnych śladów + + + + Can only paste to midi/drum track + Można tylko wkleić do śladu midi, lub perkusji + - Off-Velocity: + Can only paste to wave track + Można wkleić tylko do śladu audio + + + + Can only paste to midi or wave track - - Quantisation settings + + Cannot paste: wrong data type + Nie można wkleić: nieprawidłowy typ danych + + + + MusEGui::PasteDialog + + + %n quarter(s) + + + + + + + %1 quarter + for floating-point arguments like 1.5 - Quantisation: + %1 quarters + for floating-point arguments like 1.5 + + + MusEGui::PasteEventsDialog + + + %n quarter(s) + + + + - - Pixels per whole: + + %1 quarter + for floating-point arguments like 1.5 - + + %1 quarters + for floating-point arguments like 1.5 + + + + + MusEGui::PianoRoll + + &Edit - + C&ut @@ -14148,1833 +13204,5872 @@ Losowy Generator Rytmu jeszcze nie jest udostępniony! &Outside Loop &Poza obrębem lokatorów + + + &Previous Part + + - Fu&nctions + &Next Part - - &Quantize + + Fu&nctions - - Change note &length + + Quantize - - Change note &velocity + + Modify Note Length - - Crescendo/Decrescendo + + Modify Velocity - + + Crescendo/Decrescendo + + + + Transpose Transponuj - + Erase Events - + Move Notes - + Set Fixed Length Ustaw stałą długość nut - + Delete Overlaps - + Legato - - Window &Config + + &Plugins - - Note head &colors + + Window &Config - &Black + &Event Color - - &Velocity + + &Blue - - &Part + + &Pitch colors - - Set up &preamble + + &Velocity colors - - Display &key signature + + Pianoroll tools - - Display &time signature + + Step Record - - Set Score &name + + Midi Input - - - Enter the new score title + + Play Events + Podgląd midi + + + + panic + Zatrzymaj wszystkie komunikaty midi! + + + + transport - - Error + + ctrl - - Changing score title failed: -the selected title is not unique + + Add Controller View - ScrollScale + MusEGui::PluginDialog - next page - następna strona + + MusE: select plugin + MuzA: wybierz wtyczkę - previous page - poprzednia strona + + Lib + Bibl. - current page number - aktualny numer strony + + Label + Etykieta - - - SetlenBase - - MusE: Set Note Length - + + Name + Nazwa - - Range - Zakres + + AI + AI - - All Events - Wszytkie Elementy + + AO + AO - - Selected Events - Zaznaczone Elementy + + CI + CI - - Looped Events - Pomiędzy lokatorami + + CO + CO - - Selected Looped - + + IP + IP - - Value - Wartość + + id + numer - - New length - + + Maker + Znacznik - - ticks - + + Copyright + Prawa autorskie - - OK + + Ok Akceptuj - + Cancel Anuluj - - - ShortcutCaptureDialog - Ok - Akceptuj + + Mono and Stereo + - Cancel - Anuluj + + Stereo + Stereo - Undefined - Niezdefiniowany + + Mono + Mono + + + + Show All + + + + + Select which types of plugins should be visible in the list.<br>Note that using mono plugins on stereo tracks is not a problem, two will be used in parallell.<br>Also beware that the 'all' alternative includes plugins that probably not are usable by MusE. + + + + + Search in 'Label' and 'Name': + - ShortcutCaptureDialogBase + MusEGui::PluginGui - - Enter shortcut sequence - Wprowadź skrót - kominację klawiszy + + File Buttons + Przyciski Menu Plik - - Press keys to enter shortcut sequence! - Naciśnij kombinację klawiszy by wprowadzić skrót! + + Load Preset + Załaduj Ustawienie - - Old shortcut: - Stary skrót + + Save Preset + Zapisz ustawienie - - - Undefined - Niezdefiniowany + + + bypass plugin + omiń wtyczkę (bypass) - - New shortcut: - Nowy skrót + + MusE: load preset + MuzA: załaduj ustawienie - - OK - Akceptuj + + Error reading preset. Might not be right type for this plugin + - - Cancel - Anuluj + + MusE: save preset + MuzA: zapisz ustawienie - ShortcutConfigBase - - - Configure Keyboard Shortcuts - Konfiguruj Skróty Klawiaturowe - + MusEGui::RoutePopupMenu - - Shortcut Category - Kategoria Skrótu + + + + + + + + + Channel + - - Description - Opis + + + + Soloing chain + - - Shortcut - Skrót + + + Audio returns + - - &Clear - &Wyczyść + + Warning: No input devices! + - - Alt+C - Alt+C + + Open midi config... + - - &Define - &Zdefiniuj + + + <none> + - - Alt+D - Alt+D + + Toggle all + - - &Apply - &Zastosuj + + More... + - - Alt+A - Alt+A + + Audio sends + - - - SigScale - signature scale - oś metrum + + Midi port sends + - SimpleDrumsGuiBase + MusEGui::ScoreCanvas - - DrumSynth 0.1 + + Treble + + + + + Bass + + + + + Grand Staff + + + + + Remove staff + + + + + Ambiguous part + + + + + There are two or more possible parts you could add the note to, but none matches the selected part. Please select the destination part by clicking on any note belonging to it and try again, or add a new stave containing only the destination part. + + + + + No part + + + + + There are no parts you could add the note to. - SimpleSynthGui + MusEGui::ScoreEdit - - &Load setup + + Undo/Redo tools + + + + + Step recording tools + + + + + Step Record + + + + + panic + Zatrzymaj wszystkie komunikaty midi! + + + + transport + + + + + Note settings + + + + + Note length: + + + + + last + + + + + + + Apply to new notes: + + + + + + Apply to selected notes: + + + + + Velocity: + + + + + Off-Velocity: + + + + + Quantisation settings - &Save setup + Quantisation: - - Load sample dialog + + Pixels per whole: + + + + + &Edit + + + + + C&ut + + + + + &Copy + &Kopiuj + + + + Copy events in range + + + + + &Paste + &Wklej + + + + Paste (with dialog) + + + + + Delete &Events + + + + + &Select + &Zaznacz + + + + Select &All + Zaznacz &wszystko + + + + &Deselect All + &Odznacz wszystko + + + + Invert &Selection + Odwróć &zaznaczenie + + + + &Inside Loop + &Pomiędzy lokatorami. + + + + &Outside Loop + &Poza obrębem lokatorów + + + + Fu&nctions + + + + + &Quantize + + + + + Change note &length + + + + + Change note &velocity + + + + + Crescendo/Decrescendo + + + + + Transpose + Transponuj + + + + Erase Events + + + + + Move Notes - - - Song - - Jack shutdown! - + + Set Fixed Length + Ustaw stałą długość nut + + + + Delete Overlaps + + + + + Legato + + + + + Window &Config + + + + + Note head &colors + + + + + &Black + + + + + &Velocity + + + + + &Part + + + + + Set up &preamble + + + + + Display &key signature + + + + + Display &time signature + + + + + Set Score &name + + + + + + Enter the new score title + + + + + Error + + + + + Changing score title failed: +the selected title is not unique + + + + + MusEGui::ScrollScale + + + next page + następna strona + + + + previous page + poprzednia strona + + + + current page number + aktualny numer strony + + + + MusEGui::ShortcutCaptureDialog + + + Ok + Akceptuj + + + + Cancel + Anuluj + + + + Shortcut conflicts with %1 + + + + + Undefined + Niezdefiniowany + + + + MusEGui::SigScale + + + signature scale + oś metrum + + + + MusEGui::TList + + + <none> + + + + + no clef + + + + + Treble + + + + + Bass + + + + + Grand + + + + + MusE: bad trackname + MuzA: zła nazwa śladu + + + + please choose a unique track name + proszę wybrać niepowtarzalną nazwę dla śladu + + + + + Update drummap? + Zaktualizować zestaw perkusyjny? + + + + Do you want to use same port for all instruments in the drummap? + Czy chcesz używać jednego portu midi dla wszystkich instrumentów w zestawie perkusyjnym? + + + + + &Yes + &Tak + + + + + &No + &Nie + + + + + show gui + pokaż interfejs użytkownika + + + + + show native gui + + + + + Treble clef + + + + + Bass clef + + + + + Grand Staff + + + + + Viewable automation + + + + + Delete Track + + + + + Track Comment + + + + + Insert Track + + + + + Midi + Midi + + + + Drum + Perkusja + + + + Do you want to use same port and channel for all instruments in the drummap? + Czy chcesz używać jednego portu i jednego kanału dla wszystkich instrumentów w zestawie perkusyjnym? + + + + MusEGui::TempoSig + + + Tempo/Sig + Tempo/Metrum + + + + MusEGui::Toolbar1 + + + + + Off + Wył. + + + + Solo + Solo + + + + Cursor + + + + + Snap + + + + + MusEGui::TopWin + + + As subwindow + + + + + Shares tools and menu + + + + + Fullscreen + + + + + Piano roll + + + + + List editor + + + + + Drum editor + + + + + Master track editor + + + + + Master track list editor + + + + + Wave editor + + + + + Clip list + + + + + Marker view + + + + + Score editor + + + + + Arranger + Główne Okno + + + + <unknown toplevel type> + + + + + MusEGui::TrackComment + + + MusE: Track Comment + MuzA: Opis Śladu + + + + Track Comment: + Opis Śladu + + + + MusEGui::Transport + + + Overdub + Dogrywanie + + + + + Replace + Zastępowania + + + + Rec Mode + Typ Nagrywania + + + + Normal + Normalny + + + + Mix + Miks + + + + Cycle Rec + Zapętl nagrywanie + + + + punchin + włącz wcinki (punch In) + + + + loop + pętla + + + + punchout + wył. wcinki (punch out)punchout + + + + + Punch In + Włącz wcinki (punch In) + + + + + Loop + Pętla + + + + + Punch Out + Wył. wcinki (punch out) + + + + Left Mark + Lewy Lokator + + + + Right Mark + Prawy Lokator + + + + rewind to start + przewiń do początku + + + + Click this button to rewind to start position + Przewiń do początku. + + + + rewind + + + + + Click this button to rewind + Przewijaj do tyłu. + + + + forward + + + + + Click this button to forward current play position + Przewijaj do przodu. + + + + stop + + + + + Click this button to stop playback + Zatrzymaj odtwarzanie. + + + + play + + + + + Click this button to start playback + Rozpocznij odtwarzanie. + + + + record + + + + + Click this button to enable recording + Naciśnij ten przycisk, aby pozwolić na nagrywanie + + + + AC + Aut. Kw. + + + + quantize during record + kwantyzuj podczas nagrywania + + + + Click + Metronom + + + + metronom click on/off + włącz/wyłącz metronom + + + + Sync + Synch. + + + + external sync on/off + synchronizowanie do zewn. urz. + + + + Jack + + + + + Jack transport sync on/off + + + + + Master + + + + + use master track + Używaj śladu tempo/metrum + + + + MusEGui::VisibleTracks + + + + Show wave tracks + + + + + + Show group tracks + + + + + + Show aux tracks + + + + + + Show input tracks + + + + + + Show output tracks + + + + + + Show midi tracks + + + + + + Show synth tracks + + + + + Visible track types + + + + + MusEGui::WaveEdit + + + &Edit + + + + + Func&tions + + + + + &Gain + + + + 200% + 200% + + + 150% + 150% + + + 75% + 75% + + + 50% + 50% + + + 25% + 25% + + + + Other + + + + + &Copy + &Kopiuj + + + + C&ut + + + + + &Paste + &Wklej + + + + Edit in E&xternal Editor + + + + + Mute Selection + + + + + Normalize Selection + + + + + Fade In Selection + + + + + Fade Out Selection + + + + + Reverse Selection + + + + + Select + + + + + Select &All + Zaznacz &wszystko + + + + &Deselect All + &Odznacz wszystko + + + + Window &Config + + + + + Wave edit tools + + + + + transport + + + + + WaveEdit tools + + + + + Solo + Solo + + + + Cursor + + + + + MusEGui::WaveView + + + MusE - external editor failed + + + + + MusE was unable to launch the external editor +check if the editor setting in: +Global Settings->Audio:External Waveditor +is set to a valid editor. + + + + + MusE - file size changed + + + + + When editing in external editor - you should not change the filesize +since it must fit the selected region. + +Missing data is muted + + + + + MusEMixer::AudioMixerApp + + &View + &Przeglądaj + + + Routing + Konfiguracja połączeń + + + + MusEMixer::AudioStrip + + panorama + Panorama + + + aux send level + Poziom syngału na wysyłce + + + 1/2 channel + kanał m/s + + + Pre + Przed + + + pre fader - post fader + przed/ za tłumikiem + + + dB + dB + + + mute + wycisz + + + record downmix + zgraj miks + + + iR + Wej. + + + oR + Wyj. + + + output routing + połączenie Wyjścia + + + Off + Wył. + + + Read + Czytaj + + + Touch + Dotknij + + + Write + Zapisz + + + automation type + typ automatyki + + + + MusEMixer::EffectRack + + effect rack + skrzynia efektów + + + new + nowy + + + change + zmień + + + move up + przesuń w górę + + + move down + przesuń w dół + + + remove + usuń + + + bypass + omiń (bypass) + + + show gui + pokaż interfejs użytkownika + + + + MusEMixer::MidiStrip + + VariationSend + VariationSend + + + Var + Var + + + ReverbSend + Wysyłka Pogłosu + + + Rev + Pogł. + + + ChorusSend + Wysyłka Chorusa + + + Cho + Chorus + + + dB + dB + + + Pan/Balance + Pan/Równowaga + + + mute + wycisz + + + iR + Wej. + + + oR + Wyj. + + + output routing + połączenie Wyjścia + + + + MusEWidget::BigTime + + minute + minuta + + + second + sekunda + + + frame + ramka + + + subframe + subramka + + + MusE: Bigtime + MuzA: Duży zegar + + + + MusEWidget::EditToolBar + + Edit Tools + Narzędzia Edycyjne + + + + MusEWidget::MidiSyncConfig + + Port Number + Numer portu + + + Name of the midi device associated with this port number + Nazwa urządzenia midi skojarzona z tym numerem portu + + + Device Name + Nazwa Urządzenia + + + m + min. + + + MusE + MuzA + + + &Apply + &Zastosuj + + + &No + &Nie + + + &Abort + &Anuluj + + + + MusEWidget::MixdownFileDialog + + Wave Files (*.wav);;All Files (*) + Pliki Wave (*.wav);;Wszystkie Pliki (*) + + + + MusEWidget::NoteInfo + + Note Info + Info o dźwięku + + + Velo On + Prędk. uderz. + + + Velo Off + Prędk. puszcz. + + + + MusEWidget::ScrollScale + + next page + następna strona + + + previous page + poprzednia strona + + + current page number + aktualny numer strony + + + + MusEWidget::ShortcutCaptureDialog + + Ok + Akceptuj + + + Cancel + Anuluj + + + Undefined + Niezdefiniowany + + + + MusEWidget::SigScale + + signature scale + oś metrum + + + + MusEWidget::Toolbar1 + + Solo + Solo + + + + MusEWidget::TrackComment + + MusE: Track Comment + MuzA: Opis Śladu + + + Track Comment: + Opis Śladu + + + + NoteInfo + + Start + Pozycja + + + Len + Długość + + + Pitch + Wysokość dźwięku + + + Velo On + Prędk. uderz. + + + Velo Off + Prędk. puszcz. + + + Note Info + Info o dźwięku + + + + OrganGuiBase + + + MusE: Organ + + + + + Drawbars + + + + + 16' + 16' + + + + 4' + 4' + + + + 2 2/3' + 2 2/3' + + + + 2' + 2' + + + + 5 1/3' + 5 1/3' + + + + 8' + 8' + + + + Envelope Hi + + + + + + Release + + + + + + Sustain + + + + + + Decay + + + + + + Attack + + + + + + + + + + ms + + + + + + cB + + + + + Envelope Lo + + + + + O-1 + + + + + Oscillator + + + + + Brass + + + + + Reed + + + + + Flute + + + + + Velocity + + + + + PageSettings + + Track Name + Spur Name + + + + PartCanvas + + C&ut + &Wytnij + + + &Copy + &Kopiuj + + + rename + zmień nazwę + + + delete + kasuj + + + split + podziel + + + glue + sklej + + + pianoroll + pianoroll + + + list + edytor lista + + + drums + edytor perkusja + + + Cannot copy/move/clone to different Track-Type + Nie można skopiować/przenieść/sklonować do innego typu śladu + + + color + kolor + + + de-clone + sklonuj + + + wave edit + edycja audio + + + Cannot paste: multiple tracks selected + Nie można wkleić: zaznaczono kilka śladów + + + Cannot paste: no track selected + Nie można wkleić: nie zaznaczono żadnych śladów + + + Cannot paste: wrong data type + Nie można wkleić: nieprawidłowy typ danych + + + Can only paste to midi/drum track + Można tylko wkleić do śladu midi, lub perkusji + + + Can only paste to wave track + Można wkleić tylko do śladu audio + + + + PasteDialogBase + + + MusE: Paste Parts + + + + + Number and raster + + + + + insert + + + + + times + + + + + raster + + + + + ticks + + + + + Move, Merge, Clone + + + + + Move everything to the right + + + + + Move only affected parts to the right + + + + + Put everything into a single track + + + + + Merge with existing parts + + + + + Insert as clones (where possible) + + + + + OK + Akceptuj + + + + Cancel + Anuluj + + + + PasteEventsDialogBase + + + MusE: Paste Events + + + + + Number and raster + + + + + insert + + + + + times + + + + + raster + + + + + + ticks + + + + + Paste options + + + + + Always into existing parts + + + + + Never into existing parts + + + + + Into existing parts if part has not +to be expanded by more than + + + + + Put everything into the (selected) part + + + + + OK + Akceptuj + + + + Cancel + Anuluj + + + + PatchBay + + MusE: ALSA MIDI Patch Bay + MuzA: krosownica ALSA MIDI + + + + PatchBayBase + + ALSA Patch Bay + krosownica ALSA + + + + PianoRoll + + &Edit + &Edycja + + + Cut + Wytnij + + + Copy + Kopiuj + + + Paste + Wklej + + + Delete Events + Kasuj Elementy + + + Select All + Zaznacz wszystko + + + Select None + Bez zaznaczenia + + + Invert + Odwróć zaznaczenie + + + Inside Loop + Pomiędzy lokatorami. + + + Outside Loop + Poza obrębem lokatorów + + + &Select + &Zaznacz + + + blue + niebieski + + + pitch colors + kolory wysokości dźwięków + + + velocity colors + kolory predkości uderzenia (velocity) + + + &Config + &Konfiguracja + + + event color + kolor elementu + + + &Functions + &Opcje + + + Over Quantize + Inteligentna kwantyzacja do najbliższej dozw. poz. (w tym samym kierunku) + + + Note On Quantize + Kwantyzacja do najbl. dozwolonej pozycji + + + Note On/Off Quantize + Kwantyzacja pocz i końca dźwięku + + + Iterative Quantize + Przesuwana Kwantyzacja + + + Pianoroll Tools + Narzędzia Pianoroll + + + Step Record + Nagrywanie krok po kroku + + + Midi Input + Wejście Midi + + + Play Events + Podgląd midi + + + Add Controller View + Dodaj wykres kontorolera + + + Config Quant... + Konfiguruj kwantyzację + + + Modify Gate Time + Modyfikuj czas bramki + + + Modify Velocity + Modyfikuj predkość uderzenia (velocity) + + + Crescendo + Crescendo + + + Transpose + Transponuj + + + Thin Out + Decresendo + + + Erase Event + Skasuj element + + + Note Shift + Przesuń dźwięk + + + Move Clock + Przesuń zegar + + + Copy Measure + Kopiuj takt + + + Erase Measure + Wyczyść takt + + + Delete Measure + Kasuj takt + + + Create Measure + Stwórz takt + + + ctrl + kontr. + + + &Copy + &Kopiuj + + + &Paste + &Wklej + + + Select &All + Zaznacz &wszystko + + + &Deselect All + &Odznacz wszystko + + + Invert &Selection + Odwróć &zaznaczenie + + + &Inside Loop + &Pomiędzy lokatorami. + + + &Outside Loop + &Poza obrębem lokatorów + + + Set Fixed Length + Ustaw stałą długość nut + + + panic + Zatrzymaj wszystkie komunikaty midi! + + + + PluginDialog + + Ok + Akceptuj + + + Cancel + Anuluj + + + MusE: select plugin + MuzA: wybierz wtyczkę + + + Lib + Bibl. + + + Label + Etykieta + + + Name + Nazwa + + + AI + AI + + + AO + AO + + + CI + CI + + + CO + CO + + + IP + IP + + + id + numer + + + Maker + Znacznik + + + Copyright + Prawa autorskie + + + Select which types of plugins should be visible in the list,<br>beware that 'all' includes plugins that probably are not usable by MusE. + Wybierz, które wtyczki mają być widoczne na liście, zwróć uwagę, że nie wszysktie mogą być używane przez MuzA. + + + Stereo and Mono + Stereo i Mono + + + Stereo + Stereo + + + Mono + Mono + + + All + Wszystko + + + + PluginGui + + bypass plugin + omiń wtyczkę (bypass) + + + MusE: load preset + MuzA: załaduj ustawienie + + + MusE: save preset + MuzA: zapisz ustawienie + + + File Buttons + Przyciski Menu Plik + + + Load Preset + Załaduj Ustawienie + + + Save Preset + Zapisz ustawienie + + + + ProjectCreate + + + Create Project + + + + + Project Name: + + + + + Project Path to song file: + + + + + Create project folder (recommended for audio projects) + + + + + Browse + + + + + Song information: + + + + + QHeader + + Port Number + Numer portu + + + enable gui for device + Udostępnij interfejs dla urządzenia + + + Instrument connected to port + Instrument połączony do portu + + + State: result of opening the device + Status: rezultat otworzenia urządzenia + + + mute instrument + wyłącz instrument + + + sound name + nazwa brzmienia + + + quantisation +currently not used + kwantyzacja nie jest aktualnie używana + + + this input note triggers the sound + ta wysokość uruchamia brzmienie + + + note length + długość dźwięku + + + this note is send for the sound + ta wysokość jest wysłana do brzmienia + + + output channel +currently not used + kanał wyjściowy jest aktualnie nie używany + + + output port +currently not used + port wyjściowy jest aktualnie nie używany + + + velocity level 1 + poziom predkości uderzenia (velocity) 1 + + + velocity level 2 + poziom predkości uderzenia (velocity) 2 + + + velocity level 3 + poziom predkości uderzenia (velocity) 3 + + + velocity level 4 + poziom predkości uderzenia (velocity) 4 + + + quantisation + kwantyzacja + + + output channel + kanał wyjściowy + + + output port + port wyjściowy + + + Enable Recording + Udostępnij nagrywanie + + + Mute Indicator + Wyłącz wzkaźnik + + + Solo Indicator + Solo Wzkaźnik + + + Track Type + Typ śladu + + + Track Name + Nazwa śladu + + + Output Channel Number + Numer kanału wyjściowego + + + Output Port + Port wyjsciowy + + + Time Lock + Zablokuj Ślad + + + Solo/Pre Fader Listening + Solo/ Odsłuch przed tłumikiem + + + Name of the midi device associated with this port number + Nazwa urządzenia midi skojarzona z tym numerem portu + + + enables reading from device + Pozwala na odczyt z urządzenia + + + enables writing to device + Pozwala na zapis do urządzenia + + + + QObject + + + Other + + + + + + Error + + + + + + Please first select the range for crescendo with the loop markers. + + + + + QWidget + + + + Cannot convert sysex string + Nie można przekonwertować łańcucha sysex + + + + + Hex String too long (2048 bytes limit) + Łańcuch Hex za długi (limit 2048 bajtów) + + + + new + nowy + + + + create peakfile for + stwórz plik szczytu dla + + + + MusE: get file name + MuzA: weź nazwę pliku + + + the directory + + katalog + + + +does not exist +create? + nie istnieje +utworzyć? + + + &Create + &Twórz + + + Cancel + Anuluj + + + + The directory +%1 +does not exist. +Create it? + + + + + MusE: create directory + MuzA: utwórz katalog + + + + creating dir failed + tworzenie katalogu nie powiodło się + + + + File +%1 +exists. Overwrite? + + + + + Open File +%1 +failed: %2 + + + + File + + Plik + + + +exists + istnieje + + + + MusE: write + MuzA: zapis: + + + Overwrite + Nadpisz + + + Quit + Wyjdź + + + Open File + + Otwórz plik + + + +failed: + nie udane + + + + MusE: Open File + MuzA: Otwórz plik + + + + + None + Brak + + + + generic midi + generyczne midi + + + + No selection. Ignoring + + + + + QuantBase + + + MusE: Quantize + + + + + Range + Zakres + + + + All Events + Wszytkie Elementy + + + + Selected Events + Zaznaczone Elementy + + + + Looped Events + Pomiędzy lokatorami + + + + Selected Looped + + + + + Values + Wartość + + + + Strength: + + + + + % + % + + + + Threshold (ticks): + + + + + Quantize Len + + + + + Raster + + + + + Whole + + + + + Half + + + + + 4th + + + + + 4th Triplet + + + + + 8th + + + + + 8th Triplet + + + + + 16th + + + + + 16th Triplet + + + + + 32th + + + + + 32th Triplet + + + + + Swing: + + + + + If the proposed change in tick or length is smaller than threshold, nothing is done. +If swing=0, this is normal +If swing is 33, you get a 2:1-rhythm. +If swing is -33, you get a 1:2-rhythm. + + + + + + OK + Akceptuj + + + + Cancel + Anuluj + + + + QuantConfig + + Config Quantize + Konfiguruj Kwantyzację + + + Strength + Siła + + + Don´t Quantize + Nie kwantyzuj + + + Quant Len + Wartość kwantyzacji + + + MusE: Config Quantize + MuzA: Konfiguracja kwantyzacji + + + + RemoveBase + + + MusE: Erase Notes + + + + + Range + Zakres + + + + All Events + Wszytkie Elementy + + + + Selected Events + Zaznaczone Elementy + + + + Looped Events + Pomiędzy lokatorami + + + + Selected Looped + + + + + Thresholds + + + + + ticks + + + + + Velocity + + + + + Length + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:7px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If nothing is checked, everything is removed.</p> +<p style=" margin-top:0px; margin-bottom:7px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If velocity is checked, only notes with velo &lt; threshold are removed.</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If both are checked, notes with velo &lt; threshold OR with length &lt; threshold are removed.</p></body></html> + + + + + OK + Akceptuj + + + + Cancel + Anuluj + + + + RhythmBase + + MusE: Random Rhythm Generator + MuzA: Generator Losowego Rytmu + + + Instrument Properties + Właściwości Instrumentu + + + counts/bar + ilość taktów + + + steps/count + ilość kroków + + + # bars + # takty + + + test + test + + + contrib + contrib + + + randomize + ustaw w przypadkowej kolejności + + + Group 1 + Grupa 1 + + + Group 2 + Grupa 2 + + + Group 3 + Grupa 3 + + + Group 4 + Grupa 4 + + + Group 5 + Grupa 5 + + + listen + słuchaj + + + Instrument + Instrument + + + Group + Grupa + + + &New + &Nowy + + + create new entry + stwórz nowy wpis + + + pressing the New button you create a new entry +in the MusE list of defined controllers + naciśnij przycisk Nowy aby utworzyć wpis na lisćie zdefiniowanych kontrolerów + + + &Delete + &Kasuj + + + delete selected entry + kasuj zaznaczone elementy + + + Up + W góre + + + Down + W dół + + + Instrument + Instrument + + + steps/count + kroki/liczy + + + list of defined controllers + Lista zdefiniowanych kontrolerów + + + This is the MusE list of defined controllers. + To jest lista MuzA zdefiniowanych midi kontrolerów. + + + &File + &Plik + + + &Edit + &Edytuj + + + &Help + P&omoc + + + Tools + Narzędzia + + + New + Nowy + + + Open + Otwórz + + + &Open... + &Otwórz... + + + Save + Zapisz + + + &Save + &Zapisz + + + Save As + Zapisz jako + + + Save &As... + Zapisz &Jako... + + + Print + Drukuj + + + &Print... + &Drukuj + + + Exit + Zakończ + + + E&xit + &Zakończ + + + Undo + Cofnij + + + &Undo + &Cofnij + + + Redo + Ponów + + + &Redo + &Ponów + + + Cut + Wytnij + + + &Cut + &Wytnij + + + Copy + Kopiuj + + + C&opy + &Kopiuj + + + Paste + Wklej + + + &Paste + &Wklej + + + Find + Szukaj + + + &Find... + &Szukaj + + + Contents + Spis treści + + + &Contents... + &Spis treści + + + Index + Indeks + + + &Index... + &Indeks + + + About + O programie + + + &About... + &O programie + + + <b>Notice!</b><br> +Random Rhythm Generator is not enabled yet! + <b>Zauważ!</b><br> +Losowy Generator Rytmu jeszcze nie jest udostępniony! + + + Ctrl+N + Ctrl+N + + + Ctrl+O + Ctrl+O + + + Ctrl+S + Ctrl+S + + + Ctrl+P + Ctrl+P + + + Ctrl+Z + Ctrl+Z + + + Ctrl+Y + Ctrl+Y + + + Ctrl+X + Ctrl+X + + + Ctrl+C + Ctrl+C + + + Ctrl+V + Ctrl+V + + + Ctrl+F + Ctrl+F + + + + RhythmGenerator + + Form3 + Form3 + + + Instrument Settings: + Instrument Einstellungen + + + add + Zufgen + + + delete + Entfernen + + + steps/count + ilość kroków + + + # bars + # takty + + + Group + Gruppe + + + Group 1 + Grupa 1 + + + Group 2 + Grupa 2 + + + Group 3 + Grupa 3 + + + Group 4 + Grupa 4 + + + Group 5 + Grupa 5 + + + contrib + contrib + + + listen + słuchaj + + + Save + Zapisz + + + + + + + + RouteDialogBase + + + MusE: Routing + MuzA: Konfiguracja połączeń + + + + Add Route + Dodaj połączenie + + + + Source: + Źródło: + + + + Destination: + Odbiornik: + + + + Connect + Połącz + + + + connect source to destination + połącz źródło do odbiornika + + + + Current Routes + Aktualne połączenia + + + + Source + Źródło + + + + Destination + Odbiornik + + + + Remove + Usuń + + + + remove selected route + Usuń wybrane połączenie + + + + SS_PluginChooserBase + + + SimpleDrums - Ladspa Plugin Chooser + + + + + Name + Nazwa + + + + Label + Etykieta + + + + Inports + + + + + Outports + + + + + Creator + + + + + &Cancel + + + + + Alt+C + Alt+C + + + + &OK + + + + + Alt+O + + + + + SS_PluginFront + + + Clear and unload effect + + + + + Load effect + + + + + Toggle display of effect parameters + + + + + Turn effect on/off + + + + + ScoreEdit + + panic + Zatrzymaj wszystkie komunikaty midi! + + + &Copy + &Kopiuj + + + &Paste + &Wklej + + + &Select + &Zaznacz + + + Select &All + Zaznacz &wszystko + + + &Deselect All + &Odznacz wszystko + + + Invert &Selection + Odwróć &zaznaczenie + + + &Inside Loop + &Pomiędzy lokatorami. + + + &Outside Loop + &Poza obrębem lokatorów + + + Transpose + Transponuj + + + Set Fixed Length + Ustaw stałą długość nut + + + + ScrollScale + + next page + następna strona + + + previous page + poprzednia strona + + + current page number + aktualny numer strony + + + + SetlenBase + + + MusE: Set Note Length + + + + + Range + Zakres + + + + All Events + Wszytkie Elementy + + + + Selected Events + Zaznaczone Elementy + + + + Looped Events + Pomiędzy lokatorami + + + + Selected Looped + + + + + Value + Wartość + + + + New length + + + + + ticks + + + + + OK + Akceptuj + + + + Cancel + Anuluj + + + + ShortcutCaptureDialog + + Ok + Akceptuj + + + Cancel + Anuluj + + + Undefined + Niezdefiniowany + + + + ShortcutCaptureDialogBase + + + Enter shortcut sequence + Wprowadź skrót - kominację klawiszy + + + + Press keys to enter shortcut sequence! + Naciśnij kombinację klawiszy by wprowadzić skrót! + + + + Old shortcut: + Stary skrót + + + + + Undefined + Niezdefiniowany + + + + New shortcut: + Nowy skrót + + + + OK + Akceptuj + + + + Cancel + Anuluj + + + + ShortcutConfigBase + + + Configure Keyboard Shortcuts + Konfiguruj Skróty Klawiaturowe + + + + Shortcut Category + Kategoria Skrótu + + + + Description + Opis + + + + Shortcut + Skrót + + + + &Clear + &Wyczyść + + + + Alt+C + Alt+C + + + + &Define + &Zdefiniuj + + + + Alt+D + Alt+D + + + + &Apply + &Zastosuj + + + + Alt+A + Alt+A + + + + SigScale + + signature scale + oś metrum + + + + SimpleDrumsGuiBase + + + DrumSynth 0.1 + + + + + SimpleSynthGui + + + &Load setup + + + + + &Save setup + + + + + Load sample dialog + + + + + Song + + &Ok + &Akceptuj + + + + SongInfo + + + Song Information + + + + + Show on song load + + + + + &Cancel + + + + + Alt+C + Alt+C + + + + &Ok + &Akceptuj + + + + Alt+O + + + + + SynthConfigBase + + + MusE: Synth Configuration + MuzA: Konfiguracja Syntezatora Softowego + + + + Soft Synthesizer + Syntezator Softowy + + + + File + Plik + + + + Instances + Urządzenia + + + + + Name + Nazwa + + + + list of available software synthesizers + lista wszystkich dostępnych syntezatorów softowych + + + + Add Instance + Dodaj urządzenie + + + + Remove Instance + Usuń urządzenie + + + + Midi Port + Port Midi + + + + Midi connections + Połączenia midi + + + + Inst + Instr. + + + + Version + Wersja + + + + Description + Opis + + + + TList + + Midi + Midi + + + Drum + Perkusja + + + Delete Track + Kasuj Ślad + + + Track Comment + Opis Śladu + + + Show Gui + Pokaż interfejs użytkownika + + + Add Midi Track + Dodaj ślad midi + + + Add Drum Track + Dodaj ślad perkusyjny + + + Add Wave Track + Dodaj ślad audio + + + MusE: bad trackname + MuzA: zła nazwa śladu + + + please choose a unique track name + proszę wybrać niepowtarzalną nazwę dla śladu + + + show gui + pokaż interfejs użytkownika + + + Add Output + Dodaj wyjście audio + + + Add Group + Dodaj szynę audio + + + Add Input + Dodaj wejście audio + + + Add Aux Send + Dodaj wysyłkę na efekty + + + Update drummap? + Zaktualizować zestaw perkusyjny? + + + Do you want to use same port for all instruments in the drummap? + Czy chcesz używać jednego portu midi dla wszystkich instrumentów w zestawie perkusyjnym? + + + &Yes + &Tak + + + &No + &Nie + + + Do you want to use same port and channel for all instruments in the drummap? + Czy chcesz używać jednego portu i jednego kanału dla wszystkich instrumentów w zestawie perkusyjnym? + + + + TempoSig + + Tempo/Sig + Tempo/Metrum + + + + Toolbar1 + + Solo + Solo + + + Snap + Przyciąganie + + + Quantize + Kwantyzacja + + + To + Zakres + + + All Events + Wszytkie Elementy + + + Looped Ev. + Pomiędzy lokatorami + + + Selected Ev. + Zaznaczone Elementy + + + Looped+Sel. + Zaznaczone + Pomiędzy lokatorami + + + Cursor + Kursor + + + + TopWin + + Arranger + Główne Okno + + + + TrackComment + + MusE: Track Comment + MuzA: Opis Śladu + + + Track Comment: + Opis Śladu + + + + Transport + + Punch In + Włącz wcinki (punch In) + + + Loop + Pętla + + + Punch Out + Wył. wcinki (punch out) + + + Left Mark + Lewy Lokator + + + Right Mark + Prawy Lokator + + + Overdub + Dogrywanie + + + Replace + Zastępowania + + + Rec Mode + Typ Nagrywania + + + Normal + Normalny + + + Mix + Miks + + + Cycle Rec + Zapętl nagrywanie + + + punchin + włącz wcinki (punch In) + + + loop + pętla + + + punchout + wył. wcinki (punch out)punchout + + + rewind to start + przewiń do początku + + + rewind + przewijaj do tyłu + + + forward + przewijaj do przodu + + + stop + stop + + + play + odtwarzanie + + + record + nagrywanie + + + AC + Aut. Kw. + + + quantize during record + kwantyzuj podczas nagrywania + + + Click + Metronom + + + metronom click on/off + włącz/wyłącz metronom + + + Sync + Synch. + + + external sync on/off + synchronizowanie do zewn. urz. + + + Master + Ślad Tempo/Metrum + + + use master track + Używaj śladu tempo/metrum + + + + TransposeBase + + + MusE: Transpose + + + + + Range + Zakres + + + + All Events + Wszytkie Elementy + + + + Selected Events + Zaznaczone Elementy + + + + Looped Events + Pomiędzy lokatorami + + + + Selected Looped + + + + + Value + Wartość + + + + Halftone-steps + + + + + OK + Akceptuj + + + + Cancel + Anuluj + + + + TransposeDialogBase + + MusE: Midi Transpose + MuzA: Transponuj Midi + + + Value + Wartość + + + halftones + Półtony + + + Time + Zakres + + + all + Wszystko + + + between markers + Pomiędzy znacznikami + + + Parts + Klocki + + + all in selected tracks + Wszystko na zaznaczonych śladach + + + OK + Akceptuj + + + Cancel + Anuluj + + + + UnusedWaveFiles + + + Dialog + + + + + List of unused audio files in current project directory: + + + + + Current project + + + + + All .med files +in current + directory + + + + + Move files to 'unused' subdir + + + + + Cancel + Anuluj + + + + VAMGui + + + MusE: Load VAM Presets + + + + + + MusE: Save VAM Presets + + + + + VAMGuiBase + + + Virtual Analogue for MusE + + + + + LFO + + + + + Freq + + + + + + + Waveform + + + + + + + Sine + + + + + + + Pulse + + + + + + + Saw + + + + + + + Triangle + + + + + Filter + + + + + EnvMod + + + + + + + Attack + + + + + + + Decay + + + + + + + Sustain + + + + + + + Release + + + + + Cutoff + + + + + Resonance + + + + + Invert + + + + + KeyTrack + + + + + Presets + + + + + Set + + + + + load preset list + + + + + save preset list + + + + + save preset list to a new file + + + + + delete preset + kasuj ustawienie + + + + DCO 1 + + + + + + Pitch + + + + + + Detune + + + + + + PWM + + + + + + FM + + + + + + PW + + + + + DCO 2 + + + + + On + + + + + VAM 1.0beta3 +Virtual Analog for MusE +Released under GPL. +Copyright(C) 2002 +Jotsif Lindman Hörnlund +( jotsif@linux.nu ) +Copyright(C) 2005 +Robert Jonsson +(rj@spamatica.se) + + + + + VelocityBase + + + MusE: Modify Velocity + MuzA: Modyfikuj predkość uderzenia (velocity) + + + + Range + Zakres + + + + All Events + Wszytkie Elementy + + + + Selected Events + Zaznaczone Elementy + + + + Looped Events + Pomiędzy lokatorami + + + Selected & Looped + Zaznaczone & Pomiędzy lokatorami + + + + Values + Wartość + + + + Rate: + Częstotliwość: + + + + Offset: + Offset: + + + + % + % - - Jack has detected a performance problem which has lead to -MusE being disconnected. -This could happen due to a number of reasons: -- a performance issue with your particular setup. -- a bug in MusE (or possibly in another connected software). -- a random hiccup which might never occur again. -- jack was voluntary stopped by you or someone else -- jack crashed -If there is a persisting problem you are much welcome to discuss it -on the MusE mailinglist. -(there is information about joining the mailinglist on the MusE - homepage which is available through the help menu) - -To proceed check the status of Jack and try to restart it and then . -click on the Restart button. + + Selected Looped - - previous event + + veloNew = (veloOld * rate) + offset - - next event - + + OK + Akceptuj - - - set event - + + Cancel + Anuluj + + + WTScale - - - add event - + bar scale + oś taktów + + + WaveEdit - - - erase event - + Normalize + Normalizuj - - erase range - + weTools + Narzędzia audio - - clear automation - + Solo + Solo - - Clear all controller events? - + Cursor + Kursor - - &Ok - &Akceptuj + &File + &Plik - - &Cancel - + Functions + Opcje - - MusE - external script failed - + 200% + 200% - - MusE was unable to launch the script, error message: - - + 150% + 150% - - Automation: - + 75% + 75% - - - SongInfo - - Song Information - + 50% + 50% - - Show on song load - + 25% + 25% - - &Cancel - + &Copy + &Kopiuj - - Alt+C - Alt+C + &Paste + &Wklej - - &Ok - &Akceptuj + Select &All + Zaznacz &wszystko - - Alt+O - + &Deselect All + &Odznacz wszystko - SynthConfigBase + WaveTrackInfoBase - - MusE: Synth Configuration - MuzA: Konfiguracja Syntezatora Softowego + MusE: TrackInfo + MuzA: Info o śladzie - - Soft Synthesizer - Syntezator Softowy + Track Info + Info o śladzie - - File - Plik + Track Name + Nazwa Śladu - - Instances - Urządzenia + Output Route: + połączenie Wyjścia - - - Name - Nazwa + Input Route: + połączenie wejścia - - list of available software synthesizers - lista wszystkich dostępnych syntezatorów softowych + Ports: + Porty - - Add Instance - Dodaj urządzenie + Mono + Mono - - Remove Instance - Usuń urządzenie + Stereo + Stereo + + + file_patterns - - Midi Port - Port Midi + + Midi/Kar (*.mid *.MID *.kar *.KAR *.mid.gz *.mid.bz2) + - - Midi connections - Połączenia midi + + Midi (*.mid *.MID *.mid.gz *.mid.bz2) + - - Inst - Instr. + + Karaoke (*.kar *.KAR *.kar.gz *.kar.bz2) + - - Version - Wersja + + + + + + + + + + + + + All Files (*) + Wszystkie Pliki (*) - - Description - Opis + + Midi (*.mid) + - - - TList - Midi - Midi + + Karaoke (*.kar) + - Drum - Perkusja + + all known files (*.med *.med.gz *.med.bz2 *.mid *.midi *.kar) + - Delete Track - Kasuj Ślad + + med Files (*.med *.med.gz *.med.bz2) + - Track Comment - Opis Śladu + + + Uncompressed med Files (*.med) + - Show Gui - Pokaż interfejs użytkownika + + + gzip compressed med Files (*.med.gz) + - Add Midi Track - Dodaj ślad midi + + + bzip2 compressed med Files (*.med.bz2) + - Add Drum Track - Dodaj ślad perkusyjny + + mid Files (*.mid *.midi *.kar *.MID *.MIDI *.KAR) + - Add Wave Track - Dodaj ślad audio + + (*.jpg *.gif *.png) + - MusE: bad trackname - MuzA: zła nazwa śladu + + (*.jpg) + - please choose a unique track name - proszę wybrać niepowtarzalną nazwę dla śladu + + (*.gif) + - show gui - pokaż interfejs użytkownika + + (*.png) + - Add Output - Dodaj wyjście audio + + part Files (*.mpt *.mpt.gz *.mpt.bz2) + - Add Group - Dodaj szynę audio + + part Files (*.mpt) + - Add Input - Dodaj wejście audio + + gzip compressed part Files (*.mpt.gz) + - Add Aux Send - Dodaj wysyłkę na efekty + + bzip2 compressed part Files (*.mpt.bz2) + - Update drummap? - Zaktualizować zestaw perkusyjny? + + Presets (*.pre *.pre.gz *.pre.bz2) + - Do you want to use same port for all instruments in the drummap? - Czy chcesz używać jednego portu midi dla wszystkich instrumentów w zestawie perkusyjnym? + + Presets (*.pre) + - &Yes - &Tak + + gzip compressed presets (*.pre.gz) + - &No - &Nie + + bzip2 compressed presets (*.pre.bz2) + - Do you want to use same port and channel for all instruments in the drummap? - Czy chcesz używać jednego portu i jednego kanału dla wszystkich instrumentów w zestawie perkusyjnym? + + Presets (*.map *.map.gz *.map.bz2) + - - - TempoSig - - Tempo/Sig - Tempo/Metrum + + Presets (*.map) + - - - Toolbar1 - Solo - Solo + + gzip compressed presets (*.map.gz) + - Snap - Przyciąganie + + bzip2 compressed presets (*.map.bz2) + - Quantize - Kwantyzacja + + Wave/Binary (*.wav *.ogg *.bin) + - To - Zakres + + Wave (*.wav *.ogg) + - All Events - Wszytkie Elementy + + Binary (*.bin) + + + + freeverb - Looped Ev. - Pomiędzy lokatorami + + FreeVerb + - Selected Ev. - Zaznaczone Elementy + + Room Size + - Looped+Sel. - Zaznaczone + Pomiędzy lokatorami + + Damping + - Cursor - Kursor + + Wet Level + - - - TopWin - - As subwindow + + Tap-Reverberator - - Shares tools and menu + + Decay [ms] - - Fullscreen + + + dB + dB + + + + Dry Level [dB] - - Piano roll + + Wet Level [dB] - - List editor + + Preset: - - Drum editor + + AfterBurn - - Master track editor + + AfterBurn (Long) - - Master track list editor + + Ambience - - Wave editor + + Ambience (Thick) - - Clip list + + Ambience (Thick) - HD - - Marker view + + Cathedral - - Score editor + + Cathedral - HD - - Arranger - Główne Okno + + Drum Chamber + - - <unknown toplevel type> + + Garage - - - TrackComment - MusE: Track Comment - MuzA: Opis Śladu + + Garage (Bright) + - Track Comment: - Opis Śladu + + Gymnasium + - - - Transport - - - Punch In - Włącz wcinki (punch In) + + Gymnasium (Bright) + - - - Loop - Pętla + + Gymnasium (Bright) - HD + - - - Punch Out - Wył. wcinki (punch out) + + Hall (Small) + - - Left Mark - Lewy Lokator + + Hall (Medium) + - - Right Mark - Prawy Lokator + + Hall (Large) + - - Overdub - Dogrywanie + + Hall (Large) - HD + - - - Replace - Zastępowania + + Plate (Small) + - - Rec Mode - Typ Nagrywania + + Plate (Medium) + - - Normal - Normalny + + Plate (Large) + - - Mix - Miks + + Plate (Large) - HD + - - Cycle Rec - Zapętl nagrywanie + + Pulse Chamber + - - punchin - włącz wcinki (punch In) + + Pulse Chamber (Reverse) + - - loop - pętla + + Resonator (96 ms) + - - punchout - wył. wcinki (punch out)punchout + + Resonator (152 ms) + - - rewind to start - przewiń do początku + + Resonator (208 ms) + - - rewind - przewijaj do tyłu + + Room (Small) + - - forward - przewijaj do przodu + + Room (Medium) + - - stop - stop + + Room (Large) + - - play - odtwarzanie + + Room (Large) - HD + - - record - nagrywanie + + Slap Chamber + - - AC - Aut. Kw. + + Slap Chamber - HD + - - quantize during record - kwantyzuj podczas nagrywania + + Slap Chamber (Bright) + - - Click - Metronom + + Slap Chamber (Bright) HD + - - metronom click on/off - włącz/wyłącz metronom + + Smooth Hall (Small) + - - Sync - Synch. + + Smooth Hall (Medium) + - - external sync on/off - synchronizowanie do zewn. urz. + + Smooth Hall (Large) + - - Master - Ślad Tempo/Metrum + + Smooth Hall (Large) - HD + - - use master track - Używaj śladu tempo/metrum + + Vocal Plate + - - Jack + + Vocal Plate - HD - - Jack transport sync on/off + + Warble Chamber - - - TransposeBase - - MusE: Transpose + + Warehoouse - - Range - Zakres + + Warehouse - HD + - - All Events - Wszytkie Elementy + + Comb Filters + - Selected Events - Zaznaczone Elementy - - - - Looped Events - Pomiędzy lokatorami + Allpass Filters + - Selected Looped + Bandpass Filters - - Value - Wartość + + Enhanced Stereo + + + + shortcuts - - Halftone-steps + + Transport: Start playback from current location - - OK - Akceptuj + + Transport: Toggle metronome + - - Cancel - Anuluj + + Transport: Stop Playback + - - - TransposeDialogBase - MusE: Midi Transpose - MuzA: Transponuj Midi + + Transport: Goto Start + - Value - Wartość + + Transport: Play, Stop, Rewind + - halftones - Półtony + + Transport: Goto left marker + - Time - Zakres + + Transport: Goto right marker + - all - Wszystko + + Transport: Toggle Loop section + - between markers - Pomiędzy znacznikami + + Transport: Toggle Record + - Parts - Klocki + + Transport: Clear all rec enabled tracks + - all in selected tracks - Wszystko na zaznaczonych śladach + + Toggle fullscreen + - OK - Akceptuj + + Edit: Copy + - Cancel - Anuluj + + Edit: Copy in range + - - - UnusedWaveFiles - - Dialog + + Edit: Undo - - List of unused audio files in current project directory: + + Edit: Redo - - Current project + + Edit: Cut - - All .med files -in current - directory + + Edit: Paste - - Move files to 'unused' subdir + + Edit: Paste (with dialog) - - Cancel - Anuluj + + Edit: Delete + - - - VAMGui - - MusE: Load VAM Presets + + File: New project - - - MusE: Save VAM Presets + + File: Open from disk - - - VAMGuiBase - - Virtual Analogue for MusE + + File: Save project - - LFO + + File: Open recent file - - Freq + + File: Save as - - - - Waveform + + File: Load template - - - - Sine + + File: Import midi file - - - - Pulse + + File: Export midi file - - - - Saw + + File: Import midi part - - - - Triangle + + File: Import audio file - - Filter + + File: Quit MusE - - EnvMod + + Edit: Select parts on track - - - - Attack + + Open pianoroll - - - - Decay + + Open drumeditor - - - - Sustain + + Open listeditor - - - - Release + + Open waveeditor - - Cutoff + + Open graphical mastertrack editor - - Resonance + + Open list mastertrack editor - - Invert + + Open midi transformer - - KeyTrack + + Add midi track - - Presets + + Add drum track - - Set + + Add wave track - - load preset list + + Add audio output - - save preset list + + Add audio group - - save preset list to a new file + + Add audio input - - delete preset - kasuj ustawienie + + Add audio aux + - - DCO 1 + + Structure: Global cut - - - Pitch + + Structure: Global insert - - - Detune + + Structure: Global split - - - PWM + + Structure: Cut events - - - FM + + View: Open mixer #1 window - - - PW + + View: Open mixer #2 window - - DCO 2 + + View: Toggle transport window - - On + + View: Toggle bigtime window - - - VAM 1.0beta3 -Virtual Analog for MusE -Released under GPL. -Copyright(C) 2002 -Jotsif Lindman Hörnlund -( jotsif@linux.nu ) -Copyright(C) 2005 -Robert Jonsson -(rj@spamatica.se) + + + View: Open marker window - - - VelocityBase - - MusE: Modify Velocity - MuzA: Modyfikuj predkość uderzenia (velocity) + + Settings: Follow song by page + - - Range - Zakres + + Settings: Follow song off + - - All Events - Wszytkie Elementy + + Settings: Follow song continuous + - - Selected Events - Zaznaczone Elementy + + Settings: Global configuration + - - Looped Events - Pomiędzy lokatorami + + Settings: Configure shortcuts + - Selected & Looped - Zaznaczone & Pomiędzy lokatorami + + Settings: Configure metronome + - - Values - Wartość + + Settings: Midi sync configuration + - - Rate: - Częstotliwość: + + Settings: Midi file import/export configuration + - - Offset: - Offset: + + Settings: Appearance settings + - - % - % + + Settings: Midi ports / Soft Synth + - - Selected Looped + + Settings: Audio subsystem configuration - - veloNew = (veloOld * rate) + offset + + Midi: Edit midi instruments - - OK - Akceptuj + + Midi: Open midi input transform + - - Cancel - Anuluj + + Midi: Open midi input filter + - - - WTScale - bar scale - oś taktów + + Midi: Midi input transpose + - - - WaveEdit - Normalize - Normalizuj + + Midi: Midi remote control + - weTools - Narzędzia audio + + Midi: Random rhythm generator + - - Solo - Solo + + Midi: Reset midi + - - Cursor - Kursor + + Midi: Init midi + - &File - &Plik + + Midi: Midi local off + - Functions - Opcje + + Audio: Bounce audio to track + - - &Edit + + Audio: Bounce audio to file - - Func&tions + + Audio: Restart audio - &Gain + Automation: Mixer automation - - 200% - 200% + + Automation: Take mixer snapshot + - - 150% - 150% + + Automation: Clear mixer automation + - - 75% - 75% + + Help: Open Manual + - - 50% - 50% + + Help: Toggle whatsthis mode + - - 25% - 25% + + Edit: Edit selected part + - - Other + + Edit: Select nearest part on track above - - &Copy - &Kopiuj + + Edit: Add nearest part on track above + - - C&ut + + Edit: Select nearest part on track below - - &Paste - &Wklej + + Edit: Add nearest part on track below + - - Edit in E&xternal Editor + + Edit: Insert empty measure - - Mute Selection + + Edit: Paste as clones - - Normalize Selection + + Edit: Paste as clones (with dialog) - - Fade In Selection + + Select track above - - Fade Out Selection + + Select track below - Reverse Selection + Midi: Transpose - Select + Edit: Select all - - Select &All - Zaznacz &wszystko + + Edit: Select none + - - &Deselect All - &Odznacz wszystko + + Edit: Invert Selection + - - Window &Config + + Edit: Select events/parts inside locators - - Wave edit tools + + Edit: Select events/parts outside locators + + + + + Edit: Select previous part - - transport + + Edit: Select next part - - WaveEdit tools + + Edit: Select nearest part/event to the left or move cursor - - - WaveTrackInfoBase - MusE: TrackInfo - MuzA: Info o śladzie + + Edit: Add nearest part/event to the left to selection + - Track Info - Info o śladzie + + Edit: Select nearest part/event to the right or move cursor + - Track Name - Nazwa Śladu + + Edit: Add nearest part/event to the right to selection + - Output Route: - połączenie Wyjścia + + Edit: Set locators to selection + - Input Route: - połączenie wejścia + + Edit: Increase pitch + - Ports: - Porty + + Edit: Decrease pitch + - Mono - Mono + + Edit: Increase event position + - Stereo - Stereo + + Edit: Decrease event position + - - - WaveView - - MusE - external editor failed + + View: Zoom in - MusE was unable to launch the external editor -check if the editor setting in: -Global Settings->Audio:External Waveditor -is set to a valid editor. + View: Zoom out - - MusE - file size changed + + View: Goto Current Position - When editing in external editor - you should not change the filesize -since it must fit the selected region. - -Missing data is muted + + View: Scroll left - - - freeverb - - FreeVerb + + Edit: Set Fixed Length on Midi Events - - Room Size + + Quantize - - Damping + + Modify Note Length - - Wet Level + + Modify Velocity - - Tap-Reverberator + + Edit: Crescendo - - Decay [ms] + + Edit: Thin Out - - - dB - dB + + Edit: Erase Event + - - Dry Level [dB] + + Edit: Delete Overlaps - - Wet Level [dB] + + Edit: Note Shift - - Preset: + + Edit: Move Clock - - AfterBurn + + Edit: Copy Measure - - AfterBurn (Long) + + Edit: Erase Measure - - Ambience + + Edit: Delete Measure - - Ambience (Thick) + + Edit: Create Measure - - Ambience (Thick) - HD + + Edit: Change Event Color - Cathedral + Tool: Pointer - - Cathedral - HD + + Tool: Pencil - - Drum Chamber + + Tool: Eraser - - Garage + + Tool: Line Draw - - Garage (Bright) + + Tool: Cursor - - Gymnasium + + Add note velocity 1 - - Gymnasium (Bright) + + Add note velocity 2 - - Gymnasium (Bright) - HD + + Add note velocity 3 - - Hall (Small) + + Add note velocity 4 - - Hall (Medium) + + Cursor step size: larger - - Hall (Large) + + Cursor step size: smaller - - Hall (Large) - HD + + Instrument/Cursor up - - Plate (Small) + + Instrument/Cursor down - - Plate (Medium) + + Tool: Scissor - - Plate (Large) + + Tool: Glue - - Plate (Large) - HD + + Tool: Mute - - Pulse Chamber + + Transport: Increase current position - - Pulse Chamber (Reverse) + + Transport: Decrease current position - - Resonator (96 ms) + + Transport: Increase current position, no snap - - Resonator (152 ms) + + Transport: Decrease current position, no snap - - Resonator (208 ms) + + Quantize: Set quantize to 1/1 note - - Room (Small) + + Quantize: Set quantize to 1/2 note - - Room (Medium) + + Quantize: Set quantize to 1/4 note - - Room (Large) + + Quantize: Set quantize to 1/8 note - - Room (Large) - HD + + Quantize: Set quantize to 1/16 note - - Slap Chamber + + Quantize: Set quantize to 1/32 note - - Slap Chamber - HD + + Quantize: Set quantize to 1/64 note - - Slap Chamber (Bright) + + Quantize: Toggle triol quantization - - Slap Chamber (Bright) HD + + Quantize: Toggle punctuation quantization - - Smooth Hall (Small) + + Quantize: Toggle punctuation quantization (2) - - Smooth Hall (Medium) + + Edit: Insert at location - - Smooth Hall (Large) + + Edit: Increase length - - Smooth Hall (Large) - HD + + Edit: Decrease length - - Vocal Plate - + + Insert Note + Wstaw nutę - - Vocal Plate - HD - + + Insert SysEx + wstaw SysEx + + + + Insert Ctrl + Wstaw kontroler + + + + Insert Meta + Wstaw Meta + + + + Insert Channel Aftertouch + Wstaw zmianę średniego nacisku pod uderzeniu (channel aftertouch) + + + + Insert Key Aftertouch + Wstaw pojedynczą zmiane nacisku pod uderzeniu - Warble Chamber + Insert Tempo - - Warehoouse + + Insert Signature - - Warehouse - HD + + Change Event Position - - Comb Filters + + Edit Event Value - - Allpass Filters + + Insert Key - - Bandpass Filters + + Goto Next Marker - - Enhanced Stereo + + Goto Prev Marker diff --git a/muse2/share/locale/muse_ru.ts b/muse2/share/locale/muse_ru.ts index cffebe53..eb103ae5 100644 --- a/muse2/share/locale/muse_ru.ts +++ b/muse2/share/locale/muse_ru.ts @@ -4,9 +4,8 @@ @default - Click this button to enable recording - Щелкните по этой кнопке для активизации режима записи + Щелкните по этой кнопке для активизации режима записи sets amount of quantization: @@ -17,42 +16,36 @@ 100 - полное квантование - select Pointer Tool: with the pointer tool you can: select parts move parts copy parts - выбрать инструмент "Указатель": + выбрать инструмент "Указатель": при помощи указателя можно: выделять партии(new line) перемещать партии(new line) копировать партии - Click this button to stop playback - Щелкните по этой кнопке для остановки воспроизведения + Щелкните по этой кнопке для остановки воспроизведения - Click this button to start playback - Щелкните по этой кнопке, чтобы начать воспроизведение + Щелкните по этой кнопке, чтобы начать воспроизведение - Click this button to rewind to start position - Щелкните по этой кнопке для перемещения к началу + Щелкните по этой кнопке для перемещения к началу - Click this button to rewind - Щелкните по этой кнопке для перемотки назад + Щелкните по этой кнопке для перемотки назад - Click this button to forward current play position - Щелкните по этой кнопке для перемещения вперёд + Щелкните по этой кнопке для перемещения вперёд don't quantize notes above this tick limit @@ -63,201 +56,144 @@ with the pointer tool you can: также квантовать длительность нот по умолчанию - Click this button to open a <em>new song</em>.<br>You can also select the <b>Open command</b> from the File menu. - Щелкните по этой кнопке для открытия другого проекта. Вы также можете выбрать пункт Открыть в меню "Файл". + Щелкните по этой кнопке для открытия другого проекта. Вы также можете выбрать пункт Открыть в меню "Файл". - Click this button to save the song you are editing. You will be prompted for a file name. You can also select the Save command from the File menu. - Щелкните по этой кнопке для сохранения проекта. Будет предложено ввести имя файла. + Щелкните по этой кнопке для сохранения проекта. Будет предложено ввести имя файла. Вы также можете выбрать пункт "Сохранить" в меню "Файл". - Create New Song - Создать новый проект + Создать новый проект - loop between left mark and right mark - цикл между левым и правым маркерами + цикл между левым и правым маркерами - record starts at left mark - запись начинается с левого маркера + запись начинается с левого маркера - record stops at right mark - запись останавливается на правом маркере + запись останавливается на правом маркере - rewind to start position - перемотать к начальной позиции + перемотать к начальной позиции - rewind current position - перемотать к текущей позиции + перемотать к текущей позиции - move current position - переместить текущую позицию + переместить текущую позицию - stop sequencer - остановить секвенсер + остановить секвенсер - start sequencer play - начать воспроизведение в секвенсере + начать воспроизведение в секвенсере - to record press record and then play - чтобы начать запись нажмите "запись", а затем "воспроизвести" + чтобы начать запись нажмите "запись", а затем "воспроизвести" - send note off to all midi channels - послать сообщение "note off" на все midi-каналы + послать сообщение "note off" на все midi-каналы - select Pencil Tool: with the pencil tool you can: create new parts modify length of parts - выбрать инструмент "Карандаш": + выбрать инструмент "Карандаш": с помощью инструмента "Карандаш" вы можете: создавать новые партии изменять длину партий - select Delete Tool: with the delete tool you can delete parts - выбрать инструмент "Ластик": + выбрать инструмент "Ластик": с помощью инструмента "Ластик" вы можете удалять партии - select Cut Tool: with the cut tool you can split a part - выбрать инструмент "Ножницы":(new line) + выбрать инструмент "Ножницы":(new line) с помощью инструмента "Ножницы" вы можете разрезать партию - select Glue Tool: with the glue tool you can glue two parts - выбрать инструмент "Клей": + выбрать инструмент "Клей": с помощью инструмента "Клей" вы можете соединить две партии - select Score Tool: - выбрать редактор партитур: + выбрать редактор партитур: - select Quantize Tool: insert display quantize event - выбрать инструмент "Квантование": + выбрать инструмент "Квантование": вставить отображение квантуемых событий - select Drawing Tool - выбрать инструмент "Рисование" + выбрать инструмент "Рисование" - select Muting Tool: click on part to mute/unmute - выбрать инструмент "Не проигрывать партию (Заглушить)": + выбрать инструмент "Не проигрывать партию (Заглушить)": Щелкните по партии, чтобы "Проигрывать" или "Не проигрывать" ее - - Manipulate automation - - - - - Cursor tool - - - - pointer - указатель + указатель - pencil - карандаш + карандаш - cutter - ножницы + ножницы - score - партитура + партитура - glue - клей + клей - quantize - квантовать + квантовать - draw - рисовать + рисовать - mute parts - заглушить партии - - - - edit automation - - - - - cursor - + заглушить партии - - - - - - - - Off - Выкл + Выкл presets (*.pre *.pre.gz *.pre.bz2) @@ -268,7 +204,7 @@ click on part to mute/unmute Все файлы (*) - + Add Midi Track Добавить Midi Трек @@ -283,217 +219,145 @@ click on part to mute/unmute Добавить wave-трек - + Add Audio Output Добавить аудиовыход - + Add Audio Group Добавить аудиогруппу - + Add Audio Input Добавить аудиовход - + Add Aux Send Добавить Aux посыл - eraser - ластик + ластик - MESS - MESS + MESS - DSSI - DSSI + DSSI - FST - FST + FST - + Add Synth Добавить синтезатор - Bar - Такт + Такт - Jack - Jack + Jack - ALSA: - ALSA: + ALSA: - SYNTH: - SYNTH: + SYNTH: - JACK: - JACK: + JACK: - - - - - - + Route Маршрут - - - - channel="%1" - канал="%1" + канал="%1" - - - - - + dest dest - - devtype="%1" - типУстр="%1" + типУстр="%1" - - - - - type="%1" - тип="%1" + тип="%1" - - - - - - name="%1"/ имя="%1"/ - - source - источник + источник - Velocity - Скорость нажатия + Скорость нажатия + + + + Warning: No output devices! + + + + + Open midi config... + + + + + Empty ports + - + <none> <ничего> - - channelMask="%1" МаскаКанала="%1" - dssi_synth - dssi_synth + dssi_synth - ladspa_efx - ladspa_efx + ladspa_efx - channels="%1" - каналы="%1" + каналы="%1" - remch="%1" - remch="%1" + remch="%1" - mport="%1"/ - mport="%1"/ - - - - - Show wave tracks - - - - - - Show group tracks - - - - - - Show aux tracks - - - - - - Show input tracks - - - - - - Show output tracks - - - - - - Show midi tracks - - - - - - Show synth tracks - + mport="%1"/ @@ -554,87 +418,61 @@ Published under the GNU Public License Appearance - MusE: load image - MusE: загрузить изображение + MusE: загрузить изображение - Main application font, and default font for any controls not defined here. - Главный шрифт приложения, и шрифт по умолчанию + Главный шрифт приложения, и шрифт по умолчанию для всех средств управления, здесь не определены. - For small controls like mixer strips. Also timescale small numbers, arranger part name overlay, and effects rack. - Для небольших средств контроля, типа линеек микшера. + Для небольших средств контроля, типа линеек микшера. Также для маленьких цифр на линейке времени, названий партий в компоновщике и рэка эффектов. - Midi track info panel. Transport controls. - Инфо-панель Midi-трека. Управление транспортом. + Инфо-панель Midi-трека. Управление транспортом. - Controller graph and S/X buttons. Large numbers for time and tempo scale, and time signature. - Диаграмма контроллера и S/X кнопки. Большие цифры для + Диаграмма контроллера и S/X кнопки. Большие цифры для линеек времени и темпа, а также для тактового размера. - Time scale markers. - Маркеры на линейке времени. + Маркеры на линейке времени. - List editor: meta event edit dialog multi-line edit box. - Редактор списка: редактирование мета-события многострочное окно редактирования. + Редактор списка: редактирование мета-события многострочное окно редактирования. - Mixer label font. Auto-font-sizing up to chosen font size. Word-breaking but only with spaces. - Шрифт метки микшера. Автоматическое изменение размера шрифта до выбранного размера. + Шрифт метки микшера. Автоматическое изменение размера шрифта до выбранного размера. Переносы только по пробелам. - Maximum mixer label auto-font-sizing font size. - Максимальный размер автоматически изменяющегося шрифта метки микшера. - - - - Global opacity (opposite of transparency). - - - - - Standard - - - - - Custom - + Максимальный размер автоматически изменяющегося шрифта метки микшера. <none> <ничего> - Select style sheet - Выберите таблицу стилей + Выберите таблицу стилей - Qt style sheets (*.qss) - Таблицы стилей Qt (*.qss) + Таблицы стилей Qt (*.qss) @@ -1514,29 +1352,16 @@ Right-click to show GUI. ClipListEdit - MusE: Clip List Editor - MusE: Редактор списка фрагментов - - - - Undo/Redo tools - + MusE: Редактор списка фрагментов - panic - паника + паника - transport - транспорт - - - - Window &Config - + транспорт @@ -1612,7 +1437,7 @@ Right-click to show GUI. Настроить экспорт midi-файла - + &OK &ОК @@ -1632,7 +1457,7 @@ Right-click to show GUI. 1 (несколько треков) - + Format: Формат: @@ -1652,12 +1477,12 @@ Right-click to show GUI. 384 - + Division: Деление(Division): - + Copyright: Copyright: @@ -1666,17 +1491,17 @@ Right-click to show GUI. Разрешить расширенный формат SMF - + MusE: Config Midi File Import/Export MusE: Настроить Импорт/Экспорт Midi-файла - + Import: Импорт: - + Split tracks into &parts Разделить треки на &партии @@ -1686,12 +1511,12 @@ Right-click to show GUI. Alt+P - + Split tracks into parts, or one single part Разделить треки на партии, или одну партию - + Export: Экспорт: @@ -1711,7 +1536,12 @@ Right-click to show GUI. Alt+2 - + + Note: Format 0 uses the FIRST midi track's name/comment in the arranger + + + + Save space by replacing note-offs with &zero velocity note-ons Сохранить место, заменяя note-offs на &note-ons с нулевой скоростью нажатия @@ -1792,87 +1622,50 @@ Right-click to show GUI. Выбр - select controller - выбрать контроллер + выбрать контроллер x x - remove panel - удалить панель + удалить панель - - Velocity - Скорость нажатия + Скорость нажатия - add new ... - Добавить новый... + Добавить новый... - S - S + S - X - X + X - manual adjust - настройка вручную + настройка вручную - double click on/off - двойной щелчок вкл/выкл + двойной щелчок вкл/выкл - off - выкл - - - - - Instrument-defined - - - - - - Add ... - - - - - Others - - - - - Edit instrument ... - - - - - Common Controls - + выкл DeicsOnzeGui - + Delete preset Удалить пресет @@ -3747,402 +3540,279 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t DrumEdit - &File - &Файл + &Файл - Load Map - Загрузить карту + Загрузить карту - Save Map - Сохранить карту + Сохранить карту - &Edit - &Правка + &Правка - Cut - Вырезать + Вырезать - Copy - Копировать + Копировать - Paste - Вставить + Вставить - Delete Events - Удалить события + Удалить события - Select All - Выделить всё + Выделить всё - Select None - Убрать выделение + Убрать выделение - Invert - Инвертировать + Инвертировать - Inside Loop - Внутри цикла + Внутри цикла - Outside Loop - Вне цикла + Вне цикла - &Select - &Выделение + &Выделение - Load Drummap - Загрузить драм-карту + Загрузить драм-карту - Store Drummap - Сохранить драм-карту + Сохранить драм-карту - Step Record - Пошаговая запись + Пошаговая запись - Midi Input - MIDI-вход + MIDI-вход - ctrl - ctrl + ctrl - Add Controller View - Показать контроллеры + Показать контроллеры - M - M + M - Sound - Звук + Звук - QNT - КВНТ + КВНТ - E-Note - E-Нота + E-Нота - Len - Дл + Дл - A-Note - A-Нота + A-Нота - Ch - Кан + Кан - Port - Порт + Порт - LV1 - LV1 + LV1 - LV2 - LV2 + LV2 - LV3 - LV3 + LV3 - LV4 - LV4 + LV4 drummaps драм-карты - Muse: Load Drum Map - Muse: Загрузить драм-карту + Muse: Загрузить драм-карту - MusE: Store Drum Map - Muse: Сохранить драм-карту + Muse: Сохранить драм-карту - Set Fixed Length - Установить фикс. длительность + Установить фикс. длительность &Functions &Функции - Modify Velocity - Изменить скорость нажатия + Изменить скорость нажатия - - mute instrument - заглушить инструмент + заглушить инструмент - - sound name - название звука + название звука - - volume percent - громкость в процентах + громкость в процентах - - quantisation - квантование + квантование - - this input note triggers the sound - эта входящая нота включает звук + эта входящая нота включает звук - - note length - длина ноты + длина ноты - - this is the note which is played - это нота, которая воспроизводится + это нота, которая воспроизводится - output channel (hold ctl to affect all rows) - канал выхода (удерживайте ctrl, чтобы воздействовать на все ряды) + канал выхода (удерживайте ctrl, чтобы воздействовать на все ряды) - - output port - порт выхода + порт выхода - - shift + control key: draw velocity level 1 - клавиши shift+control: рисовать уровень 1 скорости нажатия + клавиши shift+control: рисовать уровень 1 скорости нажатия - - control key: draw velocity level 2 - Клавиша control: рисовать уровень 2 скорости нажатия + Клавиша control: рисовать уровень 2 скорости нажатия - - shift key: draw velocity level 3 - Клавиша shift: рисовать уровень 3 скорости нажатия + Клавиша shift: рисовать уровень 3 скорости нажатия - - draw velocity level 4 - рисовать уровень 4 скорости нажатия + рисовать уровень 4 скорости нажатия - output channel (ctl: affect all rows) - канал выхода (ctrl: действует на все ряды) + канал выхода (ctrl: действует на все ряды) - Reset GM Map - Настроить карту GM по умолчанию - - - - Copy events in range - - - - - Paste (with Dialog) - + Настроить карту GM по умолчанию - Previous Part - Предыдущая партия + Предыдущая партия - Next Part - Следующая партия - - - - Fu&nctions - - - - - Re-order list - + Следующая партия - - Crescendo/Decrescendo - - - - Quantize - Квантовать + Квантовать - Erase Event - Удалить событие - - - - Move Notes - + Удалить событие - Delete Overlaps - Удалить наложения + Удалить наложения - &Plugins - &Плагины - - - - Window &Config - + &Плагины - Drum tools - Инструменты ударных - - - - cursor tools - - - - - Set step size for cursor edit - + Инструменты ударных - panic - паника + паника - transport - транспорт + транспорт - Vol - Громк + Громк - Drum map - Карта ударных + Карта ударных - Reset the drum map with GM defaults? - Сброс карты ударных на GM по умолчанию? + Сброс карты ударных на GM по умолчанию? EditCAfterDialog - MusE: Enter Channel Aftertouch - MusE: Ввести Channel Aftertouch + MusE: Ввести Channel Aftertouch - Time Position - Позиция по времени + Позиция по времени - Pressure - Давление + Давление @@ -4253,14 +3923,12 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t EditEventDialog - Ok - ОК + ОК - Cancel - Отмена + Отмена @@ -4324,188 +3992,137 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t EditInstrument - - MusE: Create file failed - MusE: Не удалось создать файл + MusE: Не удалось создать файл - MusE: Write File failed - MusE: Не удалось записать файл + MusE: Не удалось записать файл - - - - MusE: - MusE: + MusE: - - The user instrument directory - Пользовательский инструментальный каталог + Пользовательский инструментальный каталог - - does not exist yet. Create it now? - не существует. Создать? + не существует. Создать? (You can override with the environment variable MUSEINSTRUMENTS) (Вы можете переписать с переменной окружения MUSEINSTRUMENTS) - - - (You can change the user instruments directory at Settings->Global Settings->Midi) - - - - - Unable to create user instrument directory - Невозможно создать пользовательский инструментальный каталог + Невозможно создать пользовательский инструментальный каталог - - MusE: Save Instrument Definition - MusE: Сохранить Определение Инструмента + MusE: Сохранить Определение Инструмента - - Instrument Definition (*.idf) - Определение инструмента (*.idf) + Определение инструмента (*.idf) - - MusE: Save instrument as - MusE: Сохранить инструмент как + MusE: Сохранить инструмент как - Enter a new unique instrument name: - Введите неповторяющееся имя инструмента: + Введите неповторяющееся имя инструмента: - The user instrument: - Инструмент пользователя: + Инструмент пользователя: - already exists. This will overwrite its .idf instrument file. Are you sure? - уже существует. Нажатие на кнопку "ОК" + уже существует. Нажатие на кнопку "ОК" перепишет .idf файл инструмента. Вы уверены? - MusE: Bad instrument name - MusE: Неверное имя инструмента + MusE: Неверное имя инструмента - Please choose a unique instrument name. (The name might be used by a hidden instrument.) - Пожалуйста, выберите неповторяющееся имя для инструмента. + Пожалуйста, выберите неповторяющееся имя для инструмента. (Имя может использоваться в скрытых инструментах) - MusE: Bad patch name - MusE: Неверное имя патча + MusE: Неверное имя патча - Please choose a unique patch name - Пожалуйста, выберите неповторяющееся имя патча + Пожалуйста, выберите неповторяющееся имя патча - MusE: Bad patchgroup name - MusE: Неверное имя группы + MusE: Неверное имя группы - Please choose a unique patchgroup name - Пожалуйста, выберите неповторяющееся имя группы + Пожалуйста, выберите неповторяющееся имя группы - MusE: Bad controller name - MusE: Неверное имя контроллера + MusE: Неверное имя контроллера - Please choose a unique controller name - Пожалуйста, выберите неповторяющееся имя для контроллера + Пожалуйста, выберите неповторяющееся имя для контроллера - - MusE: Cannot add common controller - MusE: Невозможно добавить обычный контроллер + MusE: Невозможно добавить обычный контроллер - A controller named - Контроллер названый + Контроллер названый - - already exists. - уже существует. + уже существует. - A controller number - Номер контроллера + Номер контроллера - - MusE - MusE + MusE - - The current Instrument contains unsaved data Save Current Instrument? - Текущий Инструмент содержит несохраненные данные + Текущий Инструмент содержит несохраненные данные Сохранить этот Инструмент? - - &Save - &Сохранить + &Сохранить - - &Nosave - &Не сохранять + &Не сохранять - &Abort - &Отмена + &Отмена @@ -5315,24 +4932,20 @@ Typically, set to 127/127, or an unused EditMetaDialog - MusE: Enter Meta Event - MusE: Ввести метасобытие + MusE: Ввести метасобытие - Time Position - Позиция по времени + Позиция по времени - Meta Type - Метатип + Метатип - Enter Hex - Ввести Hex + Ввести Hex @@ -5412,24 +5025,20 @@ Typically, set to 127/127, or an unused EditPAfterDialog - MusE: Enter Poly Aftertouch - MusE: Ввести полиф. посленажатие + MusE: Ввести полиф. посленажатие - Time Position - Позиция по времени + Позиция по времени - Pitch - Высота тона + Высота тона - Pressure - Давление + Давление @@ -5841,13 +5450,31 @@ Configuration - + Allows some popup menus to stay open. Otherwise, hold Ctrl to keep them open. - + + In some areas, the middle mouse button decreases +values, while the right button increases. Users without a +middle mouse button can select this option to make the +left button behave like the middle button in such areas. + + + + + Use left mouse button for decreasing values + + + + + Shift + Right click sets left range marker + + + + MDI-subwindowness and sharing menus @@ -5887,7 +5514,7 @@ Otherwise, hold Ctrl to keep them open. &Отмена - + Audio Аудио @@ -6426,143 +6053,96 @@ Adjusts responsiveness of audio controls and LMaster - MusE: Mastertrack - MusE: Мастер-трек + MusE: Мастер-трек - Tempo - Темп + Темп - Timesig - Размер + Размер - new tempo - новый темп + новый темп - new signature - новый размер + новый размер - Meter - Индикатор + Индикатор - Time - Время + Время - Type - Тип + Тип - Value - Значение + Значение - &Edit - &Правка + &Правка - Insert Tempo - Вставить темп + Вставить темп - Insert Signature - Вставить размер - - - - Insert Key - + Вставить размер - Edit Positon - Изменить позицию + Изменить позицию - Edit Value - Изменить значение + Изменить значение - Delete Event - Удалить событие + Удалить событие - - Window &Config - - - - - Undo/Redo tools - - - - - Key - - - - - new key - - - - panic - паника + паника - transport - транспорт + транспорт - Reposition of the initial tempo and signature events is not allowed - Изменение начального темпа и размера запрещено + Изменение начального темпа и размера запрещено - MusE: List Editor - MusE: Редактор списка событий + MusE: Редактор списка событий - Input error, conversion not OK or value out of range - Ошибка ввода, неверная конверсия или значение вне диапазона + Ошибка ввода, неверная конверсия или значение вне диапазона - Reposition of tempo and signature events to start position is not allowed! - Изменение темпа и размера запрещено + Изменение темпа и размера запрещено Master tools Основные инструменты - Edit tools - Инструменты редактирования + Инструменты редактирования @@ -6635,89 +6215,68 @@ Adjusts responsiveness of audio controls and Вставить ноту - insert Note - вставить Ноту + вставить Ноту Insert SysEx Вставить SysEx - insert SysEx - вставить SysEx + вставить SysEx Insert Ctrl Вставить кнтрл - insert Ctrl - Вставить кнтрл + Вставить кнтрл Insert Meta Вставить Meta - insert Meta - вставить Meta + вставить Meta Insert Channel Aftertouch Вставить Channel Aftertouch - insert Channel Aftertouch - вставить Channel Aftertouch + вставить Channel Aftertouch Insert Key Aftertouch Вставить Key Aftertouch - insert Poly Aftertouch - вставить Poly Aftertouch + вставить Poly Aftertouch - &Edit - &Правка + &Правка - Cut - Вырезать + Вырезать - Copy - Скопировать + Скопировать - Paste - Вставить + Вставить - Delete Events - Удалить события - - - - Window &Config - - - - - Undo/Redo tools - + Удалить события List Tools @@ -6728,72 +6287,60 @@ Adjusts responsiveness of audio controls and Вставить инструменты - Tick - Тик + Тик - Bar - Такт + Такт Typ Тип - Ch - Кан + Кан - Val A - Знач. А + Знач. А - Val B - Знач. B + Знач. B - Val C - Знач. С + Знач. С - Len - Дл + Дл - Comment - Комментарий + Комментарий List tools Инструменты редактора списка - Insert tools - Инструменты для вставки + Инструменты для вставки - panic - паника + паника - transport - транспорт + транспорт - Type - Тип + Тип @@ -6831,193 +6378,100 @@ Adjusts responsiveness of audio controls and ничего - Port - Порт + Порт - GUI - ГИП + ГИП - Instrument - Инструмент + Инструмент - Device Name - Имя устройства + Имя устройства - State - Состояние + Состояние unknown неизвестно - I - Вх + Вх - O - Вых + Вых - MusE: bad device name - MusE: неверное имя устройства - - - - - Default input connections - + MusE: неверное имя устройства - - - Are you sure you want to apply to all existing midi tracks now? - - - - - - Default output connections - - - - - - Setting will apply to new midi tracks. -Do you want to apply to all existing midi tracks now? - - - - please choose a unique device name - пожалуйста выберите неповторяющееся имя для устройства + пожалуйста выберите неповторяющееся имя для устройства - - in - в + в - - out - вне (из) + вне (из) - Show first aliases - Показать первые псевдонимы + Показать первые псевдонимы - Show second aliases - Показать вторые псевдонимы - - - - - Toggle all - + Показать вторые псевдонимы - - - Change all tracks now - - - - Create - Создать + Создать - device - устройство + устройство - - Port Number - Номер порта + Номер порта - Enable gui - Разрешить ГИП + Разрешить ГИП - Enable reading - Разрешить чтение + Разрешить чтение - Enable writing - Разрешить запись + Разрешить запись - Port instrument - Инструмент, назначенный на порт + Инструмент, назначенный на порт - Midi device name. Click to edit (Jack) - Имя midi-устройства. Щелкните для редактирования (Jack) + Имя midi-устройства. Щелкните для редактирования (Jack) - Connections from Jack Midi outputs - Соединения от midi-выходов Jack + Соединения от midi-выходов Jack - Connections to Jack Midi inputs - Соединения к midi-входам Jack - - - - Auto-connect these channels to new midi tracks - - - - - Auto-connect new midi tracks to these channels - - - - - Auto-connect new midi tracks to this channel - - - - - Auto-connect these channels, on this port, to new midi tracks. - - - - - Connect new midi tracks to these channels, on this port. - - - - - Connect new midi tracks to this channel, on this port. - + Соединения к midi-входам Jack Connect these to new midi tracks @@ -7028,44 +6482,36 @@ Do you want to apply to all existing midi tracks now? Подсоединять новые midi-треки сюда (только к первому в списке) - Device state - Состояние устройства + Состояние устройства - Enable gui for device - Разрешить ГИП для устройства + Разрешить ГИП для устройства - Enable reading from device - Разрешить чтение с устройства + Разрешить чтение с устройства - Enable writing to device - Разрешить запись на устройство + Разрешить запись на устройство - Name of the midi device associated with this port number. Click to edit Jack midi name. - Имя midi-устройства связано с номером порта "Jack". Щелкните, чтобы редактировать его. + Имя midi-устройства связано с номером порта "Jack". Щелкните, чтобы редактировать его. - Instrument connected to port - Инструмент, подсоединённый к порту + Инструмент, подсоединённый к порту - Connections from Jack Midi output ports - Соединения от выходных midi-портов Jack + Соединения от выходных midi-портов Jack - Connections to Jack Midi input ports - Соединения с входными midi-портами Jack + Соединения с входными midi-портами Jack Connect these channels, on this port, to new midi tracks. @@ -7093,40 +6539,32 @@ NOTE: Currently only one output port and channel supported (first found) - State: result of opening the device - Состояние: результат открытия устройства + Состояние: результат открытия устройства - In routes - Маршруты входа + Маршруты входа - Out routes - Маршруты выхода + Маршруты выхода - Def in ch - вх кан по ум + вх кан по ум - Def out ch - вых кан по ум + вых кан по ум - <unknown> - <неизвестно> + <неизвестно> - - <none> - <ничего> + <ничего> @@ -7187,23 +6625,20 @@ NOTE: Currently only one output port and channel supported (first found) MarkerView - MusE: Marker - MusE: Маркер + MusE: Маркер - add marker - добавить маркер + добавить маркер Add Marker Добавить Маркер - delete marker - удалить маркер + удалить маркер Delete Marker @@ -7214,71 +6649,51 @@ NOTE: Currently only one output port and channel supported (first found)&Файл - &Edit - &Правка - - - - Window &Config - - - - - Undo/Redo tools - + &Правка - panic - паника + паника - transport - транспорт + транспорт - Bar:Beat:Tick - Такт:Доля:Тик + Такт:Доля:Тик - Hr:Mn:Sc:Fr:Sf - Чс:Мин:Сек:Фрм:Субфрм + Чс:Мин:Сек:Фрм:Субфрм - Lock - Закрыть + Закрыть - Text - Текст + Текст - Marker Properties - Свойства маркера + Свойства маркера marker-tools инструменты маркера - edit tools - инструменты редактирования + инструменты редактирования MasterEdit - MusE: Mastertrack - MusE: Мастер-трек + MusE: Мастер-трек edit tools @@ -7289,87 +6704,64 @@ NOTE: Currently only one output port and channel supported (first found)Разрешить(Мастер) - Info - Инфо + Инфо - Cursor - Курсор + Курсор Off выкл - Snap - Привязка + Привязка - time at cursor position - время в позиции курсора - - - - Window &Config - - - - - Undo/Redo tools - + время в позиции курсора - panic - паника + паника - transport - транспорт + транспорт - tempo at cursor position - темп в позиции курсора + темп в позиции курсора - CurPos - КурсПоз + КурсПоз - tempo at current position - темп в текущей позиции + темп в текущей позиции - time signature at current position - размер в текущей позиции + размер в текущей позиции - Enable - Разрешить + Разрешить - Enable usage of master track - Разрешить использование мастер-трека + Разрешить использование мастер-трека Master tools Основные инструменты - Enable master - Разрешить мастер(а) + Разрешить мастер(а) @@ -7860,10 +7252,8 @@ handled like normal controllers. MidiInputTransformDialog - - New - Новый + Новый @@ -9549,10 +8939,8 @@ recording: MidiTransformerDialog - - New - Новый + Новый @@ -10506,6662 +9894,11837 @@ Do you still want to import it? MusEApp::MusE - - Failed to start audio! - Не могу воспроизводить аудио! + Не могу воспроизводить аудио! - Was not able to start audio, check if jack is running. - Не могу воспроизводить аудио, проверте работает ли "Jack". + Не могу воспроизводить аудио, проверте работает ли "Jack". - Timeout waiting for audio to run. Check if jack is running. - Ожидание запуска аудио. Проверте, работает ли "Jack". + Ожидание запуска аудио. Проверте, работает ли "Jack". - Und&o - &Отменить действие + &Отменить действие - Re&do - &Повторить + &Повторить - undo last change to song - отменить последнее изменение в проекте + отменить последнее изменение в проекте - redo last undo - повторить последнюю отмену + повторить последнюю отмену - Loop - Цикл + Цикл - Punchin - Начало врезки + Начало врезки - Punchout - Конец врезки - - - - Start - + Конец врезки - Rewind - Перемотать назад + Перемотать назад - Forward - Перемотать вперёд + Перемотать вперёд - Stop - Остановить + Остановить - Play - Воспроизвести + Воспроизвести - Record - Записать + Записать - - Panic - Паника - - - - &New - + Паника - &Open - &Открыть + &Открыть - Open &Recent - Открыть &Недавние + Открыть &Недавние - - - &Save - &Сохранить + &Сохранить - Save &As - Сохранить &Как + Сохранить &Как - Import Midifile - Импортировать MIDI-файл + Импортировать MIDI-файл - Export Midifile - Экспортировать MIDI-файл + Экспортировать MIDI-файл - Import Part - Импортировать Партию + Импортировать Партию - - Import Wave File - Импортировать WAV-файл - - - - Find unused wave files - + Импортировать WAV-файл - &Quit - Вы&йти + Вы&йти - Song Info - Проект инфо + Проект инфо - Transport Panel - Панель транспорта + Панель транспорта - Bigtime Window - Окно хронометра + Окно хронометра - Mixer A - Микшер А + Микшер А - Mixer B - Микшер В + Микшер В - Cliplist - Список фрагментов + Список фрагментов - Marker View - Маркеры - - - - Arranger View - - - - - Fullscreen - + Маркеры - &Plugins - &Плагины + &Плагины - Edit Instrument - Редактировать Инструмент + Редактировать Инструмент - Input Plugins - Плагины на входе + Плагины на входе - Transpose - Транспонировать + Транспонировать - Midi Input Transform - Преобразование входящих MIDI-сообщений + Преобразование входящих MIDI-сообщений - Midi Input Filter - Фильтр входящих MIDI-событий + Фильтр входящих MIDI-событий - Midi Remote Control - Дистанционное управление MIDI + Дистанционное управление MIDI - Rhythm Generator - Генератор Ритма + Генератор Ритма - Reset Instr. - Перезагрузить Инстр. + Перезагрузить Инстр. - Init Instr. - Запустить Инстр. + Запустить Инстр. - Local Off - откл. локальное управление + откл. локальное управление - Bounce to Track - Свести в трек + Свести в трек - Bounce to File - Свести в файл + Свести в файл - Restart Audio - Перезапустить аудио + Перезапустить аудио - Mixer Automation - Автоматизация микшера + Автоматизация микшера - Take Snapshot - Сделать снимок + Сделать снимок - Clear Automation Data - Удалить Данные Автоматизации - - - - Cascade - - - - - Tile - - - - - In rows - - - - - In columns - + Удалить Данные Автоматизации - Global Settings - Общие настройки + Общие настройки - Configure Shortcuts - Настроить горячие клавиши + Настроить горячие клавиши - Follow Song - следовать за проектом + следовать за проектом - Don't Follow Song - не следовать за проектом + не следовать за проектом - Follow Page - следовать постранично + следовать постранично - Follow Continuous - следовать плавно + следовать плавно - Metronome - Метроном + Метроном - Midi Sync - MIDI-синхр + MIDI-синхр - Midi File Import/Export - Импорт/Экспорт midi-файла + Импорт/Экспорт midi-файла - Appearance Settings - Настройки вида + Настройки вида - Midi Ports / Soft Synth - MIDI-порты / Прогр. синтезаторы + MIDI-порты / Прогр. синтезаторы - &Manual - &Руководство + &Руководство - &MusE Homepage - &Домашняя страница MusE + &Домашняя страница MusE - &Report Bug... - &Сообщить об ошибке... + &Сообщить об ошибке... - &About MusE - &О программе MusE + &О программе MusE - File Buttons - Файловые кнопки - - - - Undo/Redo - + Файловые кнопки - Transport - Транспорт + Транспорт - &File - &Файл + &Файл - &View - &Вид + &Вид - &Midi - &MIDI + &MIDI - &Audio - &Аудио - - - - A&utomation - - - - - &Windows - - - - - MusE Se&ttings - - - - - &Help - + &Аудио - Cannot read template - Не могу прочитать шаблон + Не могу прочитать шаблон - File open error - Ошибка при открытии файла + Ошибка при открытии файла - File read error - Ошибка прочтения файла + Ошибка прочтения файла - Unknown File Format: - Несзвестный формат файла: + Несзвестный формат файла: - - - MusE: Song: - MusE: Проект: + MusE: Проект: - MusE: load project - MusE: Открыть проект + MusE: Открыть проект - MusE: load template - MusE: открыть шаблон - - - - MusE: Write File failed - + MusE: открыть шаблон - The current Project contains unsaved data Save Current Project? - Текущий проект содержит не сохранённые данные. + Текущий проект содержит не сохранённые данные. Сохранить текущий проект? - - - S&kip - - - - - &Cancel - - - - - MusE: Save As - MusE: Сохранить как + MusE: Сохранить как - - Nothing to edit - Нечего редактировать + Нечего редактировать - - - - - MusE: Bounce to Track - MusE: Сведение в Трек + MusE: Сведение в Трек - No wave tracks found - wave-треки не найдены + wave-треки не найдены - - No audio output tracks found - Выходные аудио треки не найдены + Выходные аудио треки не найдены - Select one audio output track, and one target wave track - Выберите один трек аудио выхода + Выберите один трек аудио выхода и один wave-трек, как цель - Select one target wave track - Выделите один wave-трек, как цель (трек назначения) + Выделите один wave-трек, как цель (трек назначения) - Select one target wave track, and one audio output track - Выберите один wave-трек, как цель, + Выберите один wave-трек, как цель, (трек назначения) и один трек аудио выхода - - MusE: Bounce to File - MusE: Свести в файл + MusE: Свести в файл - Select one audio output track - Выделите один трек аудио выхода + Выделите один трек аудио выхода - MusE: Bounce - MusE: Свести + MusE: Свести - set left/right marker for bounce range - настройте левый/правый маркеры для установки диапазона сведения + настройте левый/правый маркеры для установки диапазона сведения - The current Project contains unsaved data Load overwrites current Project: Save Current Project? - Текущий проект содержит не сохранённые данные. + Текущий проект содержит не сохранённые данные. Загрузка нового проекта приведёт к перезаписи данных текущего проекта. Сохранить текущий проект? - - &Abort - &Отмена + &Отмена - MusE: Export Midi - MusE:Экспорт MIDI + MusE:Экспорт MIDI - no help found at: - справка не найдена в: + справка не найдена в: - MusE: Open Help - MusE: Открыть справку - - - - Unable to launch help - - - - - For some reason MusE has to launch the default -browser on your machine. - + MusE: Открыть справку - MusE: Import Midi - MusE: Импорт MIDI + MusE: Импорт MIDI - Add midi file to current project? - Добавить midi файл в текущий проект? + Добавить midi файл в текущий проект? - &Add to Project - &Добавить в Проект + &Добавить в Проект - &Replace - &Заменить + &Заменить - reading midifile - читается MIDI-файл + читается MIDI-файл - failed: - + не удалось: - Import part is only valid for midi and wave tracks! - Импортирование партий допустимо только для midi и wave треков! + Импортирование партий допустимо только для midi и wave треков! - MusE: load part - MusE: открыть партию + MusE: открыть партию - No track selected for import - Не выбран трек для импорта - - - - out of - + Не выбран трек для импорта - parts - партии - - - - part - + партии - could not be imported. Likely the track is the wrong type. - не может быть импортирована + не может быть импортирована Возможно неверный тип трека. - to import an audio file you have first to selecta wave track - чтобы импортировать аудио файл, вы должны сначала выделить wave-трек + чтобы импортировать аудио файл, вы должны сначала выделить wave-трек - Import Wavefile - Импортировать wave-файл + Импортировать wave-файл - This wave file has a samplerate of %1, as opposed to current setting %2. Do you still want to import it? - Samplerate этого wave-файла %1, + Samplerate этого wave-файла %1, в то время как текущий Samplerate %2. Хотите ли вы импортировать его? - &Yes - &Да + &Да - &No - &Нет + &Нет MusEArranger::Arranger - Enable Recording - Разрешить запись + Разрешить запись - Mute/Off Indicator - Индикатор глушения вкл/выкл + Индикатор глушения вкл/выкл - Solo Indicator - Индикатор соло + Индикатор соло - Track Type - Тип трека + Тип трека - Track Name - Имя трека + Имя трека - Midi output channel number or audio channels - Номер выходного Midi-канала или аудио каналов + Номер выходного Midi-канала или аудио каналов - Midi output port or synth midi port - Выходной midi-порт или midi-порт синтезатора + Выходной midi-порт или midi-порт синтезатора - Time Lock - Изменение времени заблокировано - - - - Automation parameter selection - - - - - Notation clef - + Изменение времени заблокировано - Enable recording. Click to toggle. - Разрешить запись. Щелкните для переключения. + Разрешить запись. Щелкните для переключения. - Mute indicator. Click to toggle. Right-click to toggle track on/off. Mute is designed for rapid, repeated action. On/Off is not! - Индикатор заглушки. Щелкните для переключения. + Индикатор заглушки. Щелкните для переключения. Щелчок правой кнопкой мыши включает/выключает трек. Заглушка предназначена для быстрых, повторяющихся действий. А Вкл/Выкл нет! - Solo indicator. Click to toggle. Connected tracks are also 'phantom' soloed, indicated by a dark square. - Индикатор Соло. Щелкните для переключения. + Индикатор Соло. Щелкните для переключения. Все треки, связанные с этим треком тоже перейдут режим "фантомного" соло, Они будут обозначены темными квадратами. - Track type. Right-click to change midi and drum track types. - Тип трека. Щелкните правой кнопкой мыши чтобы + Тип трека. Щелкните правой кнопкой мыши чтобы изменить тип трека (midi-трек или трек ударных). - Track name. Double-click to edit. Right-click for more options. - Название трека. Редактирование - двойной щелчок. + Название трека. Редактирование - двойной щелчок. Большее количество опций - правый щелчок мыши. - Midi/drum track: Output channel number. Audio track: Channels. Mid/right-click to change. - Трек Midi/Ударных: номер канала выхода. + Трек Midi/Ударных: номер канала выхода. Аудио трек: Каналы. Чтобы изменить, щелкните Средней/Правой кнопкой мыши. - Midi/drum track: Output port. Synth track: Assigned midi port. Left-click to change. Right-click to show GUI. - Трек Midi/Ударных: Порт выхода. + Трек Midi/Ударных: Порт выхода. Трек синтезатора: Назначенный midi-порт. Щелчок левой кнопкой - изменить. Щелчок правой кнопкой - показать ГИП. - Time lock - Изменение времени заблокировано - - - - Notation clef. Select this tracks notation clef. - + Изменение времени заблокировано - Arranger - Компоновщик + Компоновщик - Cursor - Курсор + Курсор - Snap - Привязка + Привязка - Len - Дл + Дл - - song length - bars - длина проекта - в тактах + длина проекта - в тактах - Type - Тип + Тип - NO - НЕТ + НЕТ - GM - GM + GM - GS - GS + GS - XG - XG + XG - - midi song type - тип midi-проекта + тип midi-проекта - Pitch - Высота тона + Высота тона - midi pitch - midi высотность + midi высотность - global midi pitch shift - общий сдвиг midi-высотности + общий сдвиг midi-высотности - Tempo - Темп + Темп - - midi tempo - midi-темп + midi-темп - N - N + N - TrackInfo - ТрекИнфо + ТрекИнфо - R - R + R - M - M + M - S - S + S - C - Т + Т - Track - Трек + Трек - Port - Порт + Порт - Ch - Кан + Кан - T - Т + Т - Automation - Автоматизация - - - - Clef - + Автоматизация MusEArranger::ArrangerView - - MusE: Arranger - - - - - Undo/Redo tools - - - - panic - паника + паника - transport - транспорт + транспорт - C&ut - &Вырезать + &Вырезать - &Copy - С&копировать - - - - Copy in range - + С&копировать - &Paste - &Вставить - - - - Paste (show dialog) - + &Вставить - Paste c&lone - Вставить к&лон - - - - Paste clone (show dialog) - + Вставить к&лон - &Insert Empty Measure - &Вставить пустой такт + &Вставить пустой такт - Delete Selected Tracks - Удалить выделенные треки - - - - Shrink selected parts - - - - - Expand selected parts - - - - - Clean selected parts - + Удалить выделенные треки - Add Track - Добавить трек + Добавить трек - Select - Выделить - - - - Select &All - + Выделить - &Deselect All - &Убрать выделение - - - - Invert &Selection - + &Убрать выделение - &Inside Loop - &Внутри цикла + &Внутри цикла - &Outside Loop - &Вне цикла + &Вне цикла - All &Parts on Track - Все &партии в треке - - - - Score - - - - - all parts in one staff - - - - - one staff per part - - - - - New score window - + Все &партии в треке - Pianoroll - Пианоролл + Пианоролл - Drums - Ударные + Ударные - - List - Список + Список - Wave - Wave + Wave - Mastertrack - Мастер-трек + Мастер-трек - Graphic - Графика + Графика - Midi &Transform - &Преобразовать MIDI-сообщения + &Преобразовать MIDI-сообщения - Global Cut - Глобальное вырезание + Глобальное вырезание - Global Insert - Глобальная вставка + Глобальная вставка - Global Split - Глобальное разделение + Глобальное разделение - &Edit - &Правка + &Правка - &Structure - &Структура + &Структура - - Functions - + Transpose + Транспонировать - - &Quantize Notes - + New + Новый + + + MusEArranger::PartCanvas - - Change note &length - + Cannot copy/move/clone to different Track-Type + Невозможно копировать/перемещать/клонировать данные в другие типы дорожек - - Change note &velocity - + C&ut + &Вырезать - - Crescendo/Decrescendo - - - - - Transpose - Транспонировать - - - - Erase Events (Not Parts) - - - - - Move Events (Not Parts) - - - - - Set Fixed Note Length - - - - - Delete Overlapping Notes - - - - - Legato - - - - - Window &Config - - - - - - New - Новый - - - - MusEArranger::PartCanvas - - - Cannot copy/move/clone to different Track-Type - Невозможно копировать/перемещать/клонировать данные в другие типы дорожек - - - - C&ut - &Вырезать - - - &Copy - С&копировать + С&копировать - s&elect - В&ыбрать + В&ыбрать - clones - клоны + клоны - rename - Переименовать + Переименовать - color - цвет + цвет - delete - удалить + удалить - split - разделить - - - - glue - + разделить - de-clone - деклонировать - - - - - - save part to disk - + деклонировать - wave edit - Редактор семплов + Редактор семплов - file info - файл-инфо + файл-инфо - MusE: save part - MusE: сохранить партию + MusE: сохранить партию - Part name - Имя партии + Имя партии - Files - Файлы - - - - out of - + Файлы - parts - партии - - - - part - + партии - could not be pasted. Likely the selected track is the wrong type. - не может быть вставлена. + не может быть вставлена. Возможно выбранный трек не того типа. - Cannot paste: multiple tracks selected - Вставка невозможна: выделено несколько треков + Вставка невозможна: выделено несколько треков - Cannot paste: no track selected - Вставка невозможна: не выделено ни одного трека + Вставка невозможна: не выделено ни одного трека - Can only paste to midi/drum track - Можно вставить только в midi/drum трек + Можно вставить только в midi/drum трек - Can only paste to wave track - Можно вставить только в звуковой трек + Можно вставить только в звуковой трек - Can only paste to midi or wave track - Можно вставить только в midi или wave треки + Можно вставить только в midi или wave треки - Cannot paste: wrong data type - Вставка невозможна: неверный тип данных + Вставка невозможна: неверный тип данных MusEArranger::TList - <none> - <ничего> - - - - no clef - - - - - Treble - - - - - Bass - - - - - Grand - + <ничего> - MusE: bad trackname - MusE: неверное имя трека + MusE: неверное имя трека - please choose a unique track name - Выберите неповторяющееся имя для трека + Выберите неповторяющееся имя для трека - - Update drummap? - Обновить карту ударных? + Обновить карту ударных? - Do you want to use same port for all instruments in the drummap? - Вы хотите использовать один и тот же порт для всех инструментов в списке ударных? + Вы хотите использовать один и тот же порт для всех инструментов в списке ударных? - - &Yes - &Да + &Да - - &No - &Нет + &Нет - - show gui - показать ГИП + показать ГИП - - show native gui - показать ГИП + показать ГИП - - Treble clef - + Delete Track + Удалить трек - - Bass clef - + Track Comment + Комментарий к треку - - Grand Staff - + Drum + Ударные - - Viewable automation - + Do you want to use same port and channel for all instruments in the drummap? + Вы хотите использовать один и тот же порт и канал для всех инструментов в списке ударных? + + + MusECore::Song - - Delete Track - Удалить трек + + Jack shutdown! + Jack прекратил работу! - Track Comment - Комментарий к треку + Jack has detected a performance problem which has lead to +MusE being disconnected. +This could happen due to a number of reasons: +- a performance issue with your particular setup. +- a bug in MusE (or possibly in another connected software). +- a random hiccup which might never occur again. +- jack was voluntary stopped by you or someone else +- jack crashed +If there is a persisting problem you are much welcome to discuss it +on the MusE mailinglist. +(there is information about joining the mailinglist on the MusE + homepage which is available through the help menu) + +To proceed check the status of Jack and try to restart it and then . +click on the Restart button. + Проблемы в работе "Jack", привели к его рассоединению с "MusE". +Это могло произойти по разным причинам: +-проблемы в работе, вызванные особенностью ваших настроек. +-баг в "MusE" (или, возможно, в других подсоединенных программах). +-случайное выключение, которое больше никогда не повторится. +-"Jack" остановлен вами или кем-нибудь еще. +-"Jack" рухнул +Если это постоянная проблема мы приглашаем вас обсудить её +в почтовой рассылке "MusE". +(в меню "Помощь" есть информация о том, как присоединиться +к почтовой рассылке "MusE") + +Чтобы продолжить работу, проверте состояние "Jack", постарайтесь +перезапустить его, а затем щелкните по кнопке "Перезапустить". + + - - Insert Track + + + Automation: - - Midi - + + previous event + предыдущее событие - - Drum - Ударные + + next event + следующее событие - - Do you want to use same port and channel for all instruments in the drummap? - Вы хотите использовать один и тот же порт и канал для всех инструментов в списке ударных? + + + set event + настроить событие - - - MusEDialog::PasteDialog - - - %n quarter(s) - - - + + + + add event + добавить событие - - quarter - + + + erase event + стереть событие - - quarters - + + erase range + стереть диапазон - - - MusEDialog::PasteEventsDialog - - - %n quarter(s) - - - + + + clear automation + Очистить автоматизацию - - quarter - + + Clear all controller events? + Очистить все события контроллеров? - - quarters - + + &Ok + &ОК - - - MusEMixer::AudioMixerApp - - &Create + + &Cancel - - &View - &Вид + + MusE - external script failed + MusE - ошибка запуска внешнего скрипта - Routing - Маршрутизация + MusE was unable to launch the script, error message: +%1 + + + + MusEGui::Appearance - - Show Midi Tracks - Показать Midi-треки + + Main application font, and default font for any + controls not defined here. + Главный шрифт приложения, и шрифт по умолчанию +для всех средств управления, здесь не определены. - Show Drum Tracks - Показать треки ударных + For small controls like mixer strips. +Also timescale small numbers, arranger part name overlay, + and effects rack. + Для небольших средств контроля, типа линеек микшера. +Также для маленьких цифр на линейке времени, названий партий в компоновщике и рэка эффектов. - Show Wave Tracks - Показать Wave-треки - - - - Show Inputs - Показать входы + Midi track info panel. Transport controls. + Инфо-панель Midi-трека. Управление транспортом. - Show Outputs - Показать выходы + Controller graph and S/X buttons. Large numbers for time + and tempo scale, and time signature. + Диаграмма контроллера и S/X кнопки. Большие цифры для +линеек времени и темпа, а также для тактового размера. - Show Groups - Показать группы + Time scale markers. + Маркеры на линейке времени. - Show Auxs - Показать Auxs + List editor: meta event edit dialog multi-line edit box. + Редактор списка: редактирование мета-события многострочное окно редактирования. - Show Synthesizers - Показать синтезаторы + Mixer label font. Auto-font-sizing up to chosen font size. +Word-breaking but only with spaces. + Шрифт метки микшера. Автоматическое изменение размера шрифта до выбранного размера. +Переносы только по пробелам. - - - MusEMixer::AudioStrip - - panorama - панорама + + Maximum mixer label auto-font-sizing font size. + Максимальный размер автоматически изменяющегося шрифта метки микшера. - aux send level - уровень aux посыла - - - - Pan - Пан - - - - 1/2 channel - стерео-моно - - - - Pre - Пре - - - - pre fader - post fader - пре федер - пост федер + Global opacity (opposite of transparency). + - - dB + + Standard - - record + + Custom - - mute - заглушить + + MusE: load image + MusE: загрузить изображение - - record downmix - записать downmix + + Select style sheet + Выберите таблицу стилей - - - solo mode - режим соло + + Qt style sheets (*.qss) + Таблицы стилей Qt (*.qss) + + + MusEGui::Arranger - - off - выкл + + Enable Recording + Разрешить запись - - iR - вх + + Mute/Off Indicator + Индикатор глушения вкл/выкл - - input routing - маршрут входа + + Solo Indicator + Индикатор соло - - oR - вых + + Track Type + Тип трека - - output routing - маршрут выхода + + Track Name + Имя трека - - Off - + + Midi output channel number or audio channels + Номер выходного Midi-канала или аудио каналов - Read - Читать + Midi output port or synth midi port + Выходной midi-порт или midi-порт синтезатора - Touch - По касанию + Time Lock + Изменение времени заблокировано - Write + Automation parameter selection - - automation type - тип автоматизации + + Notation clef + - - - MusEMixer::EffectRack - - effect rack - рэк эффектов + + Enable recording. Click to toggle. + Разрешить запись. Щелкните для переключения. - - new - новый + + Mute indicator. Click to toggle. +Right-click to toggle track on/off. +Mute is designed for rapid, repeated action. +On/Off is not! + Индикатор заглушки. Щелкните для переключения. +Щелчок правой кнопкой мыши включает/выключает трек. +Заглушка предназначена для быстрых, повторяющихся действий. +А Вкл/Выкл нет! - change - изменить + Solo indicator. Click to toggle. +Connected tracks are also 'phantom' soloed, + indicated by a dark square. + Индикатор Соло. Щелкните для переключения. +Все треки, связанные с этим треком тоже перейдут режим "фантомного" соло, +Они будут обозначены темными квадратами. - move up - сдвинуть выше + Track type. Right-click to change + midi and drum track types. + Тип трека. Щелкните правой кнопкой мыши чтобы +изменить тип трека (midi-трек или трек ударных). - move down - сдвинуть ниже + Track name. Double-click to edit. +Right-click for more options. + Название трека. Редактирование - двойной щелчок. +Большее количество опций - правый щелчок мыши. - remove - удалить + Midi/drum track: Output channel number. +Audio track: Channels. +Mid/right-click to change. + Трек Midi/Ударных: номер канала выхода. +Аудио трек: Каналы. +Чтобы изменить, щелкните Средней/Правой кнопкой мыши. - bypass - обойти + Midi/drum track: Output port. +Synth track: Assigned midi port. +Left-click to change. +Right-click to show GUI. + Трек Midi/Ударных: Порт выхода. +Трек синтезатора: Назначенный midi-порт. +Щелчок левой кнопкой - изменить. +Щелчок правой кнопкой - показать ГИП. - show gui - показать ГИП + Time lock + Изменение времени заблокировано - show native gui - показать ГИП + Notation clef. Select this tracks notation clef. + - - save preset - сохранить пресет + + Arranger + Компоновщик - - MusE: Save Preset - MusE: Сохранить Пресет + + Cursor + Курсор - - Replace effect - Заменить эффект + + Off + - Do you really want to replace the effect %1? - Вы действительно хотите заменить эффект %1? - - - - MusEMixer::MidiStrip - - - - - off - выкл - - - - - double click on/off - двойной щелчок вкл/выкл + Bar + Такт - - VariationSend - Вариационный посыл + + Snap + Привязка - - Var - Вар + + Len + Дл + - ReverbSend - Посыл Реверберации + song length - bars + длина проекта - в тактах - - Rev - Ревер + + Type + Тип - ChorusSend - Посыл Хоруса - - - - Cho - Хорус + NO + НЕТ - - dB - + + GM + GM - - Pan/Balance - Пан/Баланс + + GS + GS - - Pan - Пан + + XG + XG - - record - + + + midi song type + тип midi-проекта - - mute - заглушить + + Pitch + Высота тона - - solo mode - режим соло + + midi pitch + midi высотность - - iR - вх + + global midi pitch shift + общий сдвиг midi-высотности - - input routing - маршрут входа + + Tempo + Темп - - oR - вых + + + midi tempo + midi-темп - - output routing - маршрут выхода + + N + N - - - MusEWidget::BigTime - - format display - формат дисплея + + TrackInfo + ТрекИнфо - - bar - такт + + R + R - beat - доля + M + M - - tick - тик + S + S - - minute - минут(а) + + C + Т - second - секунд(а) + Track + Трек - - frame - фреймов + Port + Порт - - subframe - субфреймов + + Ch + Кан - - MusE: Bigtime - MusE: Хронометр + + T + Т - - - MusEWidget::EditToolBar - - Edit Tools - Инструменты редактирования + + Automation + Автоматизация - - - MusEWidget::GlobalSettingsConfig - - Selects instruments directory + + Clef - MusEWidget::Header + MusEGui::ArrangerView - - Track Info Columns + + MusE: Arranger - - - MusEWidget::MTScale - - bar scale + + Undo/Redo tools - - - MusEWidget::MTScaleFlo - - bar scale - + + panic + паника - - - MusEWidget::MidiSyncConfig - - - Port Number - Номер порта + + transport + транспорт - - - Name of the midi device associated with this port number - Имя MIDI-устройства, ассоциированного с номером этого порта + + C&ut + &Вырезать - - Midi clock input detected - Обнаружен вход midi-clock + + &Copy + С&копировать - - Midi tick input detected - Обнаружен вход midi-тика + Copy in range + - - Midi real time input detected - Обнаружен midi-вход реального времени + + &Paste + &Вставить - MMC input detected - Обнаружен вход MMC + Paste (show dialog) + - MTC input detected - Обнаружен вход MTC + Paste c&lone + Вставить к&лон - Detected SMPTE format - Обнаруженые SMPTE форматы + Paste clone (show dialog) + - Receive id number. 127 = Global. Double click to edit. - Получить id номер. 127 = Глобально. Двойной щелчок для редактирования. + &Insert Empty Measure + &Вставить пустой такт - Accept midi clock input - Принять вход Midi-clock + Delete Selected Tracks + Удалить выделенные треки - - Accept midi real time input - Принять midi-вход реального времени + + Shrink selected parts + - Accept MMC input - Принять вход MMC + Expand selected parts + - Accept MTC input - Принять вход MTC + Clean selected parts + - - Receive start rewinds before playing - Получить перед воспроизведением сообщение о начале перемотки + + Add Track + Добавить трек - - Transmit id number. 127 = Global. Double click to edit. - Передать номер id. 127 = Общий. Двойной щелчок для редактирования. + + Select + Выделить + + + + Select &All + - Send midi clock output - Послать выход midi-clock + &Deselect All + &Убрать выделение - Send midi realtime output - Послать midi-выход реального времени + Invert &Selection + - - Send MMC output - Послать выход MMC + &Inside Loop + &Внутри цикла - - - Send MTC output - Послать выход MTC + + &Outside Loop + &Вне цикла - - Midi clock input detected. -Current port actually used is red. -Click to force a port to be used. - Обнаружен вход midi-clock. -Фактически используемый -текущий порт - красный. -Щелкните, чтобы принудительно -использовать порт. + + All &Parts on Track + Все &партии в треке - Midi realtime input detected, including - start/stop/continue, and song position. - Обнаружен midi-вход реального времени, -с "старт/стоп/продолжить" и позицией проекта. + Score + - - MMC input detected, including stop/play/deferred play, and locate. - Обнаружен MMC-вход c "старт/стоп/отложенное воспроизведение" - и локацией. + + all parts in one staff + - - MTC input detected, including forward quarter-frame sync and full-frame locate. -Current port actually used is red. Click to force a port to be current. - Обнаружен MTC-вход, с четверть-фреймовой -синхронизацией и полно-фреймовой локацией. -Фактически используемый -текущий порт - красный. -Щелкните, чтобы принудительно -сделать порт текущим. + + one staff per part + - - Detected SMPTE format: 24fps, 25fps, 30fps drop frame, or 30fps non-drop -Detects format of MTC quarter and full frame, and MMC locate. - Обнаруженые форматы SMPTE: 24fps, 25fps, 30fps с пропущенным -фреймом, или 30fps без пропущенного фрейма -Обнаруживает MTC-формат четверть и полно-фреймовый, и MMC локацию. + + New score window + - - Receive id number. 127 = global receive all, even if not global. - Получить номер id. 127 =глобальный получает все, даже если не глобальный. + + Pianoroll + Пианоролл - Accept midi clock input. Only one input is used for clock. -Auto-acquire: If two or more port realtime inputs are enabled, - the first clock detected is used, until clock is lost, - then another can take over. Best if each turns off its clock - at stop, so MusE can re-acquire the clock from another port. -Click on detect indicator to force another. - Принять вход midi-clock. Только один вход используется для "clock". -Авто-получение: если разрешены два или более входов реального времени на порт, то будут использован первый обнаруженный "clock", пока он не будет потерян, затем будет использован другой. Самое лучшее, если каждый отключит свой "clock" во время остановки, чтобы MusE снова получил "clock" с другого порта. Щелкните по индикатору обнаружения, чтобы сделать по другому. + Drums + Ударные + - Accept midi realtime input, including - start/stop/continue, and song position. -Non-clock events (start,stop etc) are - accepted by ALL enabled ports. -This means you may have several master - devices connected, and muse will accept - input from them. - Принять midi-вход реального времени -с "старт/стоп/продолжить" и позицией проекта. -События "Non-clock" (старт, стоп, и т. п.) принимаются -ВСЕМИ разрешенными портами. Это означает, что вы -можете иметь несколько подсоединенных мастер-устройств, -и MusE примет вход от них. + List + Список - - Accept MMC input, including stop/play/deferred play, and locate. - Принять вход MMC, с "стоп/старт/отложенным воспроизведением" и локацией. + + Wave + Wave - - Accept MTC input, including forward quarter-frame sync and full-frame locate. -See 'rc' column for more help. - Принять вход MTC, с четверть-фреймовой -синхронизацией и полно-фреймовой локацией. -См. колонку "rc" для получения помощи. + + Mastertrack + Мастер-трек - When start is received, rewind before playing. -Note: It may be impossible to rewind fast - enough to synchronize with the external device. - Когда сообщение "старт" получено, перемотать перед -воспроизведением. Примечание: может быть -так, что перемотка окажется недостаточно быстрой -для синхронизации с внешним устройством. + Graphic + Графика - Transmit id number. 127 = global transmit to all. - Передавать номер id. 127 =общая передача для всех. - - - - Send midi clock output. If 'Slave to External Sync' is chosen, - muse can re-transmit clock to any other chosen ports. - Посылать выход midi-clock. Если выбрано "Slave to External Sync", -то MusE может снова передать "clock" на любой другой выбранный порт. + Midi &Transform + &Преобразовать MIDI-сообщения - - Send midi realtime output, including start/stop/continue, - and song position. If 'Slave to external sync' is chosen, - muse can re-transmit midi realtime input messages to any - other chosen ports. This means you may have several slave - devices connected, and muse can re-send realtime messages - to any or all of them. - Послать midi-выход реального времени, с "старт/стоп/продолжить" -и позицией проекта. Если выбрано "Slave to External Sync", -то MusE может снова передать сообщения с midi-входа реального -времени на любой другой выбранный порт. Это значит, что вы можете -иметь несколько присоединенных ведомых устройств, и MusE может снова послать сообщения реального времени на любое из них или на все. + + Global Cut + Глобальное вырезание - - Port - Порт + + Global Insert + Глобальная вставка - Device Name - Имя устройства + Global Split + Глобальное разделение - - c - c + + &Edit + &Правка - - k - k + + &Structure + &Структура - - r - r + + Functions + - m + &Quantize Notes - t - t + Change note &length + - type - тип + Change note &velocity + - rid - rid + Crescendo/Decrescendo + - rc - rc + Transpose + Транспонировать - rr - rr + Erase Events (Not Parts) + - rm - rm + Move Events (Not Parts) + - rt - rt + Set Fixed Note Length + - rw - rw + Delete Overlapping Notes + - tid - tid + Legato + - - tc - tc + + Window &Config + - - tr - tr + + + New + Новый + + + MusEGui::AudioMixerApp - - tm - tm + + &Create + + + + + &View + &Вид - tt - tt + Routing + Маршрутизация - - MusE - MusE + + Show Midi Tracks + Показать Midi-треки - Settings have changed -Apply sync settings? - Настройки изменились -Применить настройки синхронизации? + Show Drum Tracks + Показать треки ударных - - &Apply - &Применить + + Show Wave Tracks + Показать Wave-треки - - &No - &Нет + + Show Inputs + Показать входы - - &Abort - &Отмена + + Show Outputs + Показать выходы - - <none> - <ничего> + + Show Groups + Показать группы - - - MusEWidget::MidiTrackInfo - - - <unknown> - <неизвестно> + + Show Auxs + Показать Auxs - - - MusEWidget::MixdownFileDialog - - Wave Files (*.wav);;All Files (*) - Файлы Wave (*.wav);;Все файлы (*) + + Show Synthesizers + Показать синтезаторы - MusEWidget::NoteInfo + MusEGui::AudioStrip - - Note Info - Информация о ноте + + panorama + панорама - - Start - + + aux send level + уровень aux посыла - - Len - Дл + + Pan + Пан - - Pitch - Высота тона + + 1/2 channel + стерео-моно - - Velo On - Скор. наж + + Pre + Пре - - Velo Off - Скор. снятия + + pre fader - post fader + пре федер - пост федер - - - MusEWidget::RoutePopupMenu - - - - - - - - - Channel - Канал + + dB + - - - - Soloing chain + + record - - - Audio returns - + + mute + заглушить - - Warning: No midi input devices! - + + record downmix + записать downmix - - Open midi config... - + + + solo mode + режим соло - - - <none> - <ничего> + + off + выкл - - Toggle all - + + iR + вх - - More... - + + input routing + маршрут входа - - Audio sends - + + oR + вых - - Midi port sends + + output routing + маршрут выхода + + + + Off - - - MusEWidget::ScrollScale - - next page - след страница + + Read + Читать - previous page - пред страница + Touch + По касанию - current page number - номер текущей страницы + Write + + + + + automation type + тип автоматизации - MusEWidget::ShortcutCaptureDialog + MusEGui::BigTime - - Ok - + + format display + формат дисплея + + + + bar + такт - Cancel - Отмена + beat + доля - - Shortcut conflicts with - "Горячая клавиша" конфликтует с + + + tick + тик - - Undefined - Не назначено + + minute + минут(а) - - - MusEWidget::SigScale - - signature scale - шкала ключей + + second + секунд(а) - - - MusEWidget::Toolbar1 - - Solo - Соло + + + frame + фреймов - - Cursor - Курсор + + subframe + субфреймов - Snap - Привязка + MusE: Bigtime + MusE: Хронометр - MusEWidget::TrackComment + MusEGui::ClipListEdit - - MusE: Track Comment - MusE: Комментарий к треку + + MusE: Clip List Editor + MusE: Редактор списка фрагментов - - Track Comment: - Комментарий к треку: + + Undo/Redo tools + + + + + panic + паника + + + + transport + транспорт + + + + Window &Config + - MusEWidget::VisibleTracks + MusEGui::ComboQuant - - Visible track types + + + + Off - NewPreset + MusEGui::CtrlPanel - New preset - Новый пресет + + S + S - Preset Name - Имя пресета + + select controller + выбрать контроллер - INIT VOICE - НАЧАЛЬНЫЙ ГОЛОС + + X + X - Subcategory - Субкатегория + + remove panel + удалить панель - NONE - НИЧЕГО + + manual adjust + настройка вручную - Category - Категория + + double click on/off + двойной щелчок вкл/выкл - Bank - Банк + + off + выкл - Bank numerous - Несколько банков + + + Velocity + - Prog - Прог + + add new ... + Добавить новый... - Program numerous - Несколько программ + + + Instrument-defined + - &Cancel - &Отмена + + + Add ... + - Alt+C - Alt+C + + Others + - &Ok - &ОК + + Edit instrument ... + - Alt+O - Alt+O + + Common Controls + - NoteInfo + MusEGui::DrumEdit - Note Info - Информация о ноте + + + mute instrument + заглушить инструмент - Start - Начало + + + sound name + название звука - Len - Дл + + + volume percent + громкость в процентах - Pitch - Высота тона + + + quantisation + квантование - Velo On - Скор. наж + + + this input note triggers the sound + - Velo Off - Скор. снятия + + + note length + длина ноты - - - OrganGuiBase - - MusE: Organ - MusE: Орган + + + this is the note which is played + это нота, которая воспроизводится - - O-1 - O-1 + + output channel (hold ctl to affect all rows) + канал выхода (удерживайте ctrl, чтобы воздействовать на все ряды) - - Oscillator - Осциллятор + + output port (hold ctl to affect all rows) + - - Brass - Медные духовые + + + shift + control key: draw velocity level 1 + клавиши shift+control: рисовать уровень 1 скорости нажатия - - Reed - Язычковые деревянные духовые + + + control key: draw velocity level 2 + Клавиша control: рисовать уровень 2 скорости нажатия - - Flute - Флейта + + + shift key: draw velocity level 3 + Клавиша shift: рисовать уровень 3 скорости нажатия - - 16' - 16' + + + draw velocity level 4 + рисовать уровень 4 скорости нажатия - - 4' - 4' + + output channel (ctl: affect all rows) + канал выхода (ctrl: действует на все ряды) - - 2 2/3' - 2 2/3' + + output port (ctl: affect all rows) + - - 2' - 2' + + &File + &Файл - - 8' - 8' + + Load Map + Загрузить карту - - 5 1/3' - 5 1/3' + + Save Map + Сохранить карту - - - Release - Послезвучие + + Reset GM Map + Настроить карту GM по умолчанию - - - Sustain - Стационарная часть звука + + &Edit + &Правка - - - Decay - Спад огибающей + + Cut + Вырезать - - - Attack - Атака + + Copy + - - - - - - - ms - мс + + Copy events in range + - - Velocity - Скорость нажатия + + Paste + Вставить - - Drawbars - Слайдеры регистров + + Paste (with Dialog) + - - Envelope Hi - Верх огибающей + + Delete Events + Удалить события - - - cB - cB + + &Select + - - Envelope Lo - Низ огибающей + + Select All + Выделить всё - - - PartCanvas - Cannot copy/move/clone to different Track-Type - Невозможно копировать/перемещать/клонировать данные в другие типы дорожек + + Select None + Убрать выделение - C&ut - &Вырезать + + Invert + Инвертировать - &Copy - С&копировать + + Inside Loop + Внутри цикла - rename - Переименовать + + Outside Loop + Вне цикла - color - цвет + + Previous Part + Предыдущая партия - delete - удалить + + Next Part + Следующая партия - split - разделить + + Fu&nctions + - glue - склеить + + Re-order list + - de-clone - деклонировать + + Set Fixed Length + - pianoroll - Пианорол + + Modify Velocity + - list - Редактор списка событий + + Crescendo/Decrescendo + - drums - Редактор ударных + + Quantize + Квантовать - wave edit - Редактор семплов + + Erase Event + Удалить событие - Cannot paste: multiple tracks selected - Вставка невозможна: выделено несколько треков + + Move Notes + - Cannot paste: no track selected - Вставка невозможна: не выделено ни одного трека + + Delete Overlaps + Удалить наложения - Cannot paste: wrong data type - Вставка невозможна: неверный тип данных + + &Plugins + &Плагины - Can only paste to midi/drum track - Можно вставить только в midi/drum трек + + Window &Config + - Can only paste to wave track - Можно вставить только в звуковой трек + + Drum tools + Инструменты ударных - export - экспорт + + Load Drummap + Загрузить драм-карту - MusE: save part - MusE: сохранить партию + + Store Drummap + Сохранить драм-карту - s&elect - В&ыбрать + + Step Record + Пошаговая запись - clones - клоны + + Midi Input + MIDI-вход - file info - файл-инфо + + cursor tools + - Part name - Имя партии + + Set step size for cursor edit + - Files - Файлы + + panic + паника - out of - из + + transport + транспорт - parts - партии + + ctrl + - part - партия + + Add Controller View + - could not be pasted. -Likely the selected track is the wrong type. - не может быть вставлена. -Возможно выбранный трек не того типа. + + M + M - Can only paste to midi or wave track - Можно вставить только в midi или wave треки + + Sound + Звук - - - PasteDialogBase - - MusE: Paste Parts - + + Vol + Громк - - Number and raster - + + QNT + КВНТ - - insert - + + E-Note + E-Нота - - times - + + Len + Дл - - raster - + + A-Note + A-Нота - - ticks - + + Ch + Кан - - Move, Merge, Clone - + + Port + Порт - - Move everything to the right - + + LV1 + LV1 - - Move only affected parts to the right - + + LV2 + LV2 - - Put everything into a single track - + + LV3 + LV3 - - Merge with existing parts - + + LV4 + LV4 - - Insert as clones (where possible) - + + Muse: Load Drum Map + Muse: Загрузить драм-карту - - OK - + + MusE: Store Drum Map + Muse: Сохранить драм-карту - - Cancel - Отмена + + Drum map + Карта ударных + + + + Reset the drum map with GM defaults? + Сброс карты ударных на GM по умолчанию? - PasteEventsDialogBase + MusEGui::EditCAfterDialog - - MusE: Paste Events - + + MusE: Enter Channel Aftertouch + MusE: Ввести Channel Aftertouch - - Number and raster - - + + Time Position + Позиция по времени + - - insert - + + Pressure + Давление + + + MusEGui::EditEventDialog - - times + + Ok - - raster - + + Cancel + Отмена + + + MusEGui::EditInstrument - - - ticks - + + + MusE: Create file failed + MusE: Не удалось создать файл - - Paste options + + MusE: Write File failed + - Always into existing parts - + + + MusE: + MusE: - - Never into existing parts + + + The user instrument directory +%1 +does not exist yet. Create it now? + - - Into existing parts if part has not -to be expanded by more than + + + (You can change the user instruments directory at Settings->Global Settings->Midi) - - Put everything into the (selected) part + + + Unable to create user instrument directory '%1' - - OK - + + + MusE: Save Instrument Definition + MusE: Сохранить Определение Инструмента - - Cancel - Отмена + + + Instrument Definition (*.idf) + Определение инструмента (*.idf) - - - PatchBay - MusE: ALSA MIDI Patch Bay - MusE: ALSA MIDI Patch Bay + + + MusE: Save instrument as + MusE: Сохранить инструмент как - - - PatchBayBase - ALSA Patch Bay - ALSA Patch Bay + + Enter a new unique instrument name: + Введите неповторяющееся имя инструмента: - - - PianoRoll - - &Edit - &Правка + + The user instrument '%1' already exists. This will overwrite its .idf instrument file. +Are you sure? + - Cut - Вырезать + + MusE: Bad instrument name + MusE: Неверное имя инструмента - Copy - Скопировать + + Please choose a unique instrument name. +(The name might be used by a hidden instrument.) + Пожалуйста, выберите неповторяющееся имя для инструмента. +(Имя может использоваться в скрытых инструментах) - Paste - Вставить + + MusE: Bad patch name + MusE: Неверное имя патча - Delete Events - Удалить события + + Please choose a unique patch name + Пожалуйста, выберите неповторяющееся имя патча - Select All - Выделить всё + + MusE: Bad patchgroup name + MusE: Неверное имя группы - Select None - Убрать выделение + + Please choose a unique patchgroup name + Пожалуйста, выберите неповторяющееся имя группы - Invert - Инвертировать + + MusE: Bad controller name + MusE: Неверное имя контроллера - Inside Loop - Внутри цикла + + Please choose a unique controller name + Пожалуйста, выберите неповторяющееся имя для контроллера - Outside Loop - Вне цикла + + + MusE: Cannot add common controller + MusE: Невозможно добавить обычный контроллер - - &Select - &Выбрать + + A controller named '%1' already exists. + - blue - голубой + + A controller number %1 already exists. + - pitch colors - цвета высоты тона + + + MusE + MusE - velocity colors - цвета скорости нажатия + + + The current Instrument contains unsaved data +Save Current Instrument? + Текущий Инструмент содержит несохраненные данные +Сохранить этот Инструмент? - &Config - &Настроить + + + &Save + &Сохранить - event color - цвет события + + + &Nosave + &Не сохранять - &Functions - &Функции + + &Abort + &Отмена + + + MusEGui::EditMetaDialog - Over Quantize - Квантовка + + MusE: Enter Meta Event + MusE: Ввести метасобытие - Note On Quantize - Квантовка начала ноты + + Time Position + Позиция по времени - Note On/Off Quantize - Квантовка начала/окончания ноты + + Meta Type + Метатип - Iterative Quantize - Повторная квантовка + + Enter Hex + Ввести Hex + + + MusEGui::EditPAfterDialog - Config Quant... - Настройка квантования + + MusE: Enter Poly Aftertouch + MusE: Ввести полиф. посленажатие - Modify Gate Time - Изменить время звучания + + Time Position + Позиция по времени - - Modify Velocity - Изменить скорость нажатия + + Pitch + Высота тона - Crescendo - Крещендо + + Pressure + Давление + + + MusEGui::EditToolBar - - Transpose - Транспонировать + + select Pointer Tool: +with the pointer tool you can: + select parts + move parts + copy parts + выбрать инструмент "Указатель": +при помощи указателя можно: + выделять партии(new line) + перемещать партии(new line) + копировать партии - Thin Out - Удалить дубли + + select Pencil Tool: +with the pencil tool you can: + create new parts + modify length of parts + выбрать инструмент "Карандаш": +с помощью инструмента "Карандаш" вы можете: + создавать новые партии + изменять длину партий - Erase Event - Удалить событие + + select Delete Tool: +with the delete tool you can delete parts + выбрать инструмент "Ластик": +с помощью инструмента "Ластик" вы можете удалять партии - Note Shift - Сдвиг ноты + + select Cut Tool: +with the cut tool you can split a part + выбрать инструмент "Ножницы":(new line) +с помощью инструмента "Ножницы" вы можете разрезать партию - Move Clock - Сдвинуть время + + select Glue Tool: +with the glue tool you can glue two parts + выбрать инструмент "Клей": +с помощью инструмента "Клей" вы можете соединить две партии - Copy Measure - Скопировать такт + + select Score Tool: + + выбрать редактор партитур: + - Erase Measure - Стереть такт + + select Quantize Tool: +insert display quantize event + выбрать инструмент "Квантование": +вставить отображение квантуемых событий - Delete Measure - Удалить такт + + select Drawing Tool + выбрать инструмент "Рисование" - Create Measure - Создать такт + + select Muting Tool: +click on part to mute/unmute + выбрать инструмент "Не проигрывать партию (Заглушить)": +Щелкните по партии, чтобы "Проигрывать" или "Не проигрывать" ее - Pianoroll Tools - Инструменты пианорола + + Manipulate automation + - - Step Record - Пошаговая запись + + Cursor tool + - - Midi Input - MIDI-вход + + pointer + указатель - - Play Events - Воспроизвести события + + pencil + карандаш - - ctrl - кнтр + + eraser + ластик - - Add Controller View - Добавить панель контроллеров + + cutter + ножницы - - Set Fixed Length - Установить фикс. длину + + score + партитура - - C&ut - &Вырезать + + glue + - - &Copy - С&копировать + + quantize + квантовать - - Copy events in range - + + draw + рисовать - - &Paste - &Вставить + + mute parts + заглушить партии - - &Paste (with dialog) + + edit automation - - Delete &Events - Удалить &События + + cursor + - - Select &All - Выбрать &Всё + + Edit Tools + Инструменты редактирования + + + MusEGui::EffectRack - - &Deselect All - &Убрать выделение + + effect rack + рэк эффектов - - Invert &Selection - Обратить В&ыделение + + new + новый - - &Inside Loop - &Внутри цикла + + change + изменить - - &Outside Loop - &Вне цикла + + move up + сдвинуть выше - - &Previous Part - &Предыдущая партия + + move down + сдвинуть ниже - - &Next Part - &Следующая партия + + remove + удалить - - Fu&nctions - + + bypass + обойти - - Window &Config - + + show gui + показать ГИП - - &Event Color - &Цвет события + + show native gui + показать ГИП - - &Blue - &Синий + + save preset + сохранить пресет - - &Pitch colors - &Цвета высоты тона + + MusE: Save Preset + MusE: Сохранить Пресет - - &Velocity colors - &Цвета скорости нажатия + + Replace effect + Заменить эффект - - Quantize - Квантовать + + Do you really want to replace the effect %1? + Вы действительно хотите заменить эффект %1? + + + MusEGui::GlobalSettingsConfig - - Modify Note Length + + Selects instruments directory + + + MusEGui::Header - - Crescendo/Decrescendo + + Track Info Columns + + + MusEGui::LMaster + + + MusE: Mastertrack + MusE: Мастер-трек + - - Erase Events - + + &Edit + &Правка - Move Notes - + Insert Tempo + Вставить темп - - Delete Overlaps - Удалить наложения + + Insert Signature + Вставить размер - - Legato + + Insert Key - - &Plugins - &Плагины + + Edit Positon + Изменить позицию - - Pianoroll tools - Инструменты пианоролла + + Edit Value + Изменить значение - - panic - паника + + Delete Event + Удалить событие - - transport - транспорт + + Window &Config + - - - PluginDialog - - MusE: select plugin - MusE: выбрать плагин + + Undo/Redo tools + - - Lib - Библ. + + Edit tools + Инструменты редактирования - - Label - Метка + + Tempo + Темп - Name - Имя + Timesig + Размер - AI - AI + Key + - AO - AO + new tempo + новый темп - CI - CI + new signature + новый размер - CO - CP + new key + - - IP - IP + + panic + паника + + + + transport + транспорт + + + + Meter + Индикатор - id - id + Time + Время - Maker - Создатель + Type + Тип - Copyright - Copyright + Value + Значение - - Ok - Ok + + Reposition of the initial tempo and signature events is not allowed + Изменение начального темпа и размера запрещено - - Cancel - Отмена + + MusE: List Editor + MusE: Редактор списка событий - Stereo and Mono - Стерео и Моно + + Input error, conversion not OK or value out of range + Ошибка ввода, неверная конверсия или значение вне диапазона - - Stereo - Стерео + + Reposition of tempo and signature events to start position is not allowed! + Изменение темпа и размера запрещено + + + MusEGui::ListEdit - - Mono - Моно + + insert Note + вставить Ноту - All - Все + + insert SysEx + вставить SysEx - - Select which types of plugins should be visible in the list.<br>Note that using mono plugins on stereo tracks is not a problem, two will be used in parallell.<br>Also beware that the 'all' alternative includes plugins that probably not are usable by MusE. - Выберите типы плагинов, которые будут видны в списке.<br>Обратите внимание, что можно использовать моно плагины в стерео треках, два будут использованы параллельно.<br>Также будте осторожны с плагинами категории "все" альтернативные, возможно их нельзя использовать в MusE. + + insert Ctrl + Вставить кнтрл - - Mono and Stereo - Моно и Стерео + + insert Meta + вставить Meta - - Show All - Показать Все + + insert Channel Aftertouch + вставить Channel Aftertouch - - Search in 'Label' and 'Name': - Искать по "Меткам" и "Именам": + + insert Poly Aftertouch + вставить Poly Aftertouch - - - PluginGui - - File Buttons - Файловые кнопки + + &Edit + &Правка - - Load Preset - Загрузить пресет + + Cut + Вырезать - Save Preset - Сохранить пресет - - - - - bypass plugin - обойти плагин + Copy + - - MusE: load preset - MusE: загрузить пресет + + Paste + Вставить - - MusE: save preset - MusE: сохранить пресет + + Delete Events + Удалить события - - Error reading preset. Might not be right type for this plugin - Ошибка прочтения пресета. Возможно неверный тип для этого плагина + + Window &Config + - - - ProjectCreate - - Create Project + + Undo/Redo tools - - Project Name: - + + Insert tools + Инструменты для вставки - - Project Path to song file: - + + panic + паника - - Create project folder (recommended for audio projects) - + + transport + транспорт - - Browse - + + Tick + Тик - - Song information: - + + Bar + Такт - - - QHeader - Port Number - Номер порта + + Type + Тип - enable gui for device - разрешить ГИП для устройства + + Ch + Кан - Name of the midi device associated with this port number - Имя MIDI-устройства, ассоциированного с номером этого порта + + Val A + Знач. А - Instrument connected to port - Инструмент, подсоединённый к порту + + Val B + Знач. B - State: result of opening the device - Состояние: результат открытия устройства + + Val C + Знач. С - mute instrument - заглушить инструмент + + Len + Дл - sound name - название звука + + Comment + Комментарий + + + MusEGui::MPConfig - quantisation -currently not used - квантование -сейчас не используется + + + Default input connections + - this input note triggers the sound - эта входящая нота переключает звук + + + Are you sure you want to apply to all existing midi tracks now? + - note length - длина ноты + + + Default output connections + - this note is send for the sound - это нота послана для звука + + + Setting will apply to new midi tracks. +Do you want to apply to all existing midi tracks now? + - output channel -currently not used - канал выхода -сейчас не используется + + MusE: bad device name + MusE: неверное имя устройства - output port -currently not used - порт выхода -сейчас не используется + + please choose a unique device name + пожалуйста выберите неповторяющееся имя для устройства - velocity level 1 - Уровень 1 силы нажатия + + + in + в - velocity level 2 - Уровень 2 силы нажатия + + + out + вне (из) - velocity level 3 - Уровень 3 силы нажатия + + Show first aliases + Показать первые псевдонимы - velocity level 4 - Уровень 4 силы нажатия + + Show second aliases + Показать вторые псевдонимы - quantisation - квантование + + + Toggle all + - output channel - канал выхода + + + Change all tracks now + - output port - порт выхода + Create + Создать - Enable Recording - Разрешить запись + device + устройство - Mute Indicator - Индикатор заглушки звука + + Create Jack device + - Solo Indicator - Индикатор соло + + + Port Number + Номер порта - Track Type - Тип трека + + Enable gui + Разрешить ГИП - Track Name - Имя трека + + Enable reading + Разрешить чтение - Output Channel Number - Номер канала выхода + + Enable writing + Разрешить запись - Output Port - Порт выхода + + Port instrument + Инструмент, назначенный на порт - Time Lock - Изменение времени заблокировано + + Midi device name. Click to edit (Jack) + Имя midi-устройства. Щелкните для редактирования (Jack) - Solo/Pre Fader Listening - Прослушивание Соло/Пре Федера + + Connections from Jack Midi outputs + Соединения от midi-выходов Jack - enables reading from device - разрешает чтение с устройства + + Connections to Jack Midi inputs + Соединения к midi-входам Jack - enables writing to device - разрешает запись на устройство + + Auto-connect these channels to new midi tracks + - - - QObject - - Other - Другой + + Auto-connect new midi tracks to these channels + - - - Error + + Auto-connect new midi tracks to this channel - - - Please first select the range for crescendo with the loop markers. - + + Device state + Состояние устройства - - - QWidget - - - Cannot convert sysex string - Невозможно конвертировать строку SysEx + + Enable gui for device + Разрешить ГИП для устройства - - - Hex String too long (2048 bytes limit) - Hex-строка слишком длинная (предел составляет 2048 байтов) + + Enable reading from device + Разрешить чтение с устройства - - generic midi - обычный MIDI + + Enable writing to device + Разрешить запись на устройство - - new - новый + + Name of the midi device associated with this port number. Click to edit Jack midi name. + Имя midi-устройства связано с номером порта "Jack". Щелкните, чтобы редактировать его. - - create peakfile for - создать пиковый файл для + + Instrument connected to port + Инструмент, подсоединённый к порту - - MusE: get file name - MusE: получить имя файла + + Connections from Jack Midi output ports + Соединения от выходных midi-портов Jack - the directory - - каталог - + + Connections to Jack Midi input ports + Соединения с входными midi-портами Jack - -does not exist -create? - -не существует -Создать? + + Auto-connect these channels, on this port, to new midi tracks. + - &Create - &Создать + + Connect new midi tracks to these channels, on this port. + - Cancel - Отмена + + Connect new midi tracks to this channel, on this port. + - - MusE: create directory - MusE: создать каталог + + State: result of opening the device + Состояние: результат открытия устройства - - creating dir failed - создание каталога не удалось + + Port + Порт - - File - - Файл + + GUI + ГИП - -exists - -существует + + I + Вх - - MusE: write - MusE: записать + + O + Вых - Overwrite - Перезаписать + + Instrument + Инструмент - Quit - Выйти + + Device Name + Имя устройства - - Open File - - Открыть файл + + In routes + Маршруты входа - - -failed: - -не удалось: + + Out routes + Маршруты выхода - - MusE: Open File - MusE: Открыть файл + + Def in ch + вх кан по ум - - - None - Ничего + + Def out ch + вых кан по ум - - No selection. Ignoring - Не выделено. Игнорируется + + State + Состояние - - The directory - - Директория - + + <unknown> + <неизвестно> - - -does not exist. -Create it? - -не существует. -Создать? + + + <none> + <ничего> + + + MusEGui::MTScale - - -exists. Overwrite? - -существует. Переписать? + + bar scale + - QuantBase + MusEGui::MTScaleFlo - - MusE: Quantize + + bar scale + + + MusEGui::MarkerView - - Range - Диапазон + + MusE: Marker + MusE: Маркер - - All Events - + + add marker + добавить маркер - - Selected Events - + + delete marker + удалить маркер - - Looped Events + + &Edit + &Правка + + + + Window &Config - Selected Looped + Undo/Redo tools - - Values - Значения + + edit tools + инструменты редактирования - - Strength: - + + panic + паника - - % - % + + transport + транспорт - - Threshold (ticks): - + + Bar:Beat:Tick + Такт:Доля:Тик - - Quantize Len - + + Hr:Mn:Sc:Fr:Sf + Чс:Мин:Сек:Фрм:Субфрм - - Raster - + + Lock + Закрыть - - Whole - + + Text + Текст - - Half - + + Marker Properties + Свойства маркера + + + MusEGui::MasterEdit - - Quarter - + + MusE: Mastertrack + MusE: Мастер-трек - - 8th + + Window &Config - - 16th + + Undo/Redo tools - 32th - + panic + паника - - Swing: - + + transport + транспорт - - If the proposed change in tick or length is smaller than threshold, nothing is done. -If swing=0, this is normal -If swing is 33, you get a 2:1-rhythm. -If swing is -33, you get a 1:2-rhythm. - - - - - - OK - + + Enable master + Разрешить мастер(а) - - Cancel - Отмена + + Enable + Разрешить - - - QuantConfig - MusE: Config Quantize - MusE: Настройка Квантования + + Enable usage of master track + Разрешить использование мастер-трека - Config Quantize - Настройка Квантования + + Info + Инфо - Strength - Степень + + Cursor + Курсор - Don´t Quantize - Не Квантовать + + time at cursor position + время в позиции курсора - Quant Len - Квант Дл + + tempo at cursor position + темп в позиции курсора - - - RemoveBase - - MusE: Erase Notes + + Off - - Range - Диапазон + + Bar + Такт - - All Events - + + Snap + Привязка - - Selected Events - + + CurPos + КурсПоз - - Looped Events - + + tempo at current position + темп в текущей позиции - - Selected Looped - + + time signature at current position + размер в текущей позиции + + + MusEGui::MidiInputTransformDialog - - Thresholds - + + + New + Новый + + + MusEGui::MidiStrip - - ticks - + + + + off + выкл - - Velocity - + + + double click on/off + двойной щелчок вкл/выкл - - Length - Длина + + VariationSend + Вариационный посыл - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:7px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If nothing is checked, everything is removed.</p> -<p style=" margin-top:0px; margin-bottom:7px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If velocity is checked, only notes with velo &lt; threshold are removed.</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If both are checked, notes with velo &lt; threshold OR with length &lt; threshold are removed.</p></body></html> - + + Var + Вар - - OK - + + ReverbSend + Посыл Реверберации - - Cancel - Отмена + + Rev + Ревер - - - RhythmBase - MusE: Random Rhythm Generator - MusE: Генератор случайного ритма + + ChorusSend + Посыл Хоруса - Instrument Properties - Свойства Инструмента + + Cho + Хорус - counts/bar - счет/такт + + dB + - steps/count - шаги/счет + + Pan/Balance + Пан/Баланс - # bars - #такты + + Pan + Пан - test - тест + + record + - contrib - внести + + mute + заглушить - randomize - случайным образом + + solo mode + режим соло - Group 1 - Группа 1 + + iR + вх - Group 2 - Группа 2 + + input routing + маршрут входа - Group 3 - Группа 3 + + oR + вых - Group 4 - Группа 4 + + output routing + маршрут выхода + + + MusEGui::MidiSyncConfig - Group 5 - Группа 5 + + + Port Number + Номер порта - listen - слушать + + + Name of the midi device associated with this port number + Имя MIDI-устройства, ассоциированного с номером этого порта - Instrument - Инструмент + + Midi clock input detected + Обнаружен вход midi-clock - Group - Группа + + + Midi tick input detected + Обнаружен вход midi-тика - &New - &Новый + + Midi real time input detected + Обнаружен midi-вход реального времени - create new entry - создать новую запись + + MMC input detected + Обнаружен вход MMC - pressing the New button you create a new entry -in the MusE list of defined controllers - нажав кнопку "Новая" вы создаёте новую запись -в списке назначенных в MusE контроллеров + + MTC input detected + Обнаружен вход MTC - &Delete - &Удалить + + Detected SMPTE format + Обнаруженые SMPTE форматы - delete selected entry - удалить выделенную запись + + Receive id number. 127 = Global. Double click to edit. + Получить id номер. 127 = Глобально. Двойной щелчок для редактирования. - Up - Вверх + + Accept midi clock input + Принять вход Midi-clock - Down - Вниз + + Accept midi real time input + Принять midi-вход реального времени - Instrument - Инструмент + + Accept MMC input + Принять вход MMC - steps/count - шаги/счет + + Accept MTC input + Принять вход MTC - list of defined controllers - список назначенных контроллеров + + Receive start rewinds before playing + Получить перед воспроизведением сообщение о начале перемотки - This is the MusE list of defined controllers. - Это список назначенных контроллеров для MusE + + Transmit id number. 127 = Global. Double click to edit. + Передать номер id. 127 = Общий. Двойной щелчок для редактирования. - &File - &Файл + + Send midi clock output + Послать выход midi-clock - &Edit - &Правка + + Send midi realtime output + Послать midi-выход реального времени - &Help - П&омощь + + + Send MMC output + Послать выход MMC - Tools - Инструменты + + + Send MTC output + Послать выход MTC - New - Новый + + Midi clock input detected. +Current port actually used is red. +Click to force a port to be used. + Обнаружен вход midi-clock. +Фактически используемый +текущий порт - красный. +Щелкните, чтобы принудительно +использовать порт. - Open - Открыть + + Midi realtime input detected, including + start/stop/continue, and song position. + Обнаружен midi-вход реального времени, +с "старт/стоп/продолжить" и позицией проекта. - &Open... - &Открыть... + + MMC input detected, including stop/play/deferred play, and locate. + Обнаружен MMC-вход c "старт/стоп/отложенное воспроизведение" + и локацией. - Save - Сохранить + + MTC input detected, including forward quarter-frame sync and full-frame locate. +Current port actually used is red. Click to force a port to be current. + Обнаружен MTC-вход, с четверть-фреймовой +синхронизацией и полно-фреймовой локацией. +Фактически используемый +текущий порт - красный. +Щелкните, чтобы принудительно +сделать порт текущим. - &Save - &Сохранить + + Detected SMPTE format: 24fps, 25fps, 30fps drop frame, or 30fps non-drop +Detects format of MTC quarter and full frame, and MMC locate. + Обнаруженые форматы SMPTE: 24fps, 25fps, 30fps с пропущенным +фреймом, или 30fps без пропущенного фрейма +Обнаруживает MTC-формат четверть и полно-фреймовый, и MMC локацию. - Save As - Сохранить как + + Receive id number. 127 = global receive all, even if not global. + Получить номер id. 127 =глобальный получает все, даже если не глобальный. - Save &As... - Сохранить &как... + + Accept midi clock input. Only one input is used for clock. +Auto-acquire: If two or more port realtime inputs are enabled, + the first clock detected is used, until clock is lost, + then another can take over. Best if each turns off its clock + at stop, so MusE can re-acquire the clock from another port. +Click on detect indicator to force another. + Принять вход midi-clock. Только один вход используется для "clock". +Авто-получение: если разрешены два или более входов реального времени на порт, то будут использован первый обнаруженный "clock", пока он не будет потерян, затем будет использован другой. Самое лучшее, если каждый отключит свой "clock" во время остановки, чтобы MusE снова получил "clock" с другого порта. Щелкните по индикатору обнаружения, чтобы сделать по другому. - Print - Печать + + Accept midi realtime input, including + start/stop/continue, and song position. +Non-clock events (start,stop etc) are + accepted by ALL enabled ports. +This means you may have several master + devices connected, and muse will accept + input from them. + Принять midi-вход реального времени +с "старт/стоп/продолжить" и позицией проекта. +События "Non-clock" (старт, стоп, и т. п.) принимаются +ВСЕМИ разрешенными портами. Это означает, что вы +можете иметь несколько подсоединенных мастер-устройств, +и MusE примет вход от них. - &Print... - &Печать... + + Accept MMC input, including stop/play/deferred play, and locate. + Принять вход MMC, с "стоп/старт/отложенным воспроизведением" и локацией. - Exit - Выйти + + Accept MTC input, including forward quarter-frame sync and full-frame locate. +See 'rc' column for more help. + Принять вход MTC, с четверть-фреймовой +синхронизацией и полно-фреймовой локацией. +См. колонку "rc" для получения помощи. - E&xit - В&ыйти + + When start is received, rewind before playing. +Note: It may be impossible to rewind fast + enough to synchronize with the external device. + Когда сообщение "старт" получено, перемотать перед +воспроизведением. Примечание: может быть +так, что перемотка окажется недостаточно быстрой +для синхронизации с внешним устройством. - Undo - Отмена + + Transmit id number. 127 = global transmit to all. + Передавать номер id. 127 =общая передача для всех. - &Undo - &Отмена + + Send midi clock output. If 'Slave to External Sync' is chosen, + muse can re-transmit clock to any other chosen ports. + Посылать выход midi-clock. Если выбрано "Slave to External Sync", +то MusE может снова передать "clock" на любой другой выбранный порт. - Redo - Повторить + + Send midi realtime output, including start/stop/continue, + and song position. If 'Slave to external sync' is chosen, + muse can re-transmit midi realtime input messages to any + other chosen ports. This means you may have several slave + devices connected, and muse can re-send realtime messages + to any or all of them. + Послать midi-выход реального времени, с "старт/стоп/продолжить" +и позицией проекта. Если выбрано "Slave to External Sync", +то MusE может снова передать сообщения с midi-входа реального +времени на любой другой выбранный порт. Это значит, что вы можете +иметь несколько присоединенных ведомых устройств, и MusE может снова послать сообщения реального времени на любое из них или на все. - &Redo - П&овторить + + Port + Порт - Cut - Вырезать + + Device Name + Имя устройства - &Cut - &Вырезать + + c + c - Copy - Скопировать + + k + k - C&opy - С&копировать + + r + r - Paste - Вставить + + m + - &Paste - &Вставить + + t + t - Find - Найти + + type + тип - &Find... - &Найти... + + rid + rid - Contents - Содержание + + rc + rc - &Contents... - &Содержание... + + rr + rr - Index - Индекс + + rm + rm - &Index... - &Индекс... + + rt + rt - About - О программе + + rw + rw - &About... - &О программе... + + tid + tid - <b>Notice!</b><br> -Random Rhythm Generator is not enabled yet! - <b>Уведомление!</b><br> -Генератора Случайного Ритма пока ещё нет! + + tc + tc - Ctrl+N - Ctrl+N + + tr + tr - Ctrl+O - Ctrl+O + + tm + tm - Ctrl+S - Ctrl+S + + tt + tt - Ctrl+P - Ctrl+P + + MusE + MusE - Ctrl+Z - Ctrl+Z + + Settings have changed +Apply sync settings? + Настройки изменились +Применить настройки синхронизации? - Ctrl+Y - Ctrl+Y + + &Apply + &Применить - Ctrl+X - Ctrl+X + + &No + &Нет - Ctrl+C - Ctrl+C + + &Abort + &Отмена - Ctrl+V - Ctrl+V + + <none> + <ничего> + + + MusEGui::MidiTrackInfo - Ctrl+F - Ctrl+F + + + <unknown> + <неизвестно> - RhythmGenerator + MusEGui::MidiTransformerDialog - Form3 - Форма3 + + + New + Новый + + + MusEGui::MixdownFileDialog - Instrument Settings: - Настройки инструмента: + + Wave Files (*.wav);;All Files (*) + Файлы Wave (*.wav);;Все файлы (*) + + + MusEGui::MusE - Instrument - Инструмент + + + Failed to start audio! + Не могу воспроизводить аудио! - Hi-Hat - Хай-хэт + + Was not able to start audio, check if jack is running. + + Не могу воспроизводить аудио, проверте работает ли "Jack". + - add - добавить + + Timeout waiting for audio to run. Check if jack is running. + + Ожидание запуска аудио. Проверте, работает ли "Jack". + - delete - удалить + + Und&o + &Отменить действие - Group Settings: - Настройки группы: + + Re&do + &Повторить - Group - Группа + + undo last change to song + отменить последнее изменение в проекте - Group 1 - Группа 1 + + redo last undo + повторить последнюю отмену - Group 2 - Группа 2 + + Loop + Цикл - Group 3 - Группа 3 + + loop between left mark and right mark + цикл между левым и правым маркерами - Group 4 - Группа 4 + + Punchin + Начало врезки - Group 5 - Группа 5 + + record starts at left mark + запись начинается с левого маркера - contrib - внести + + Punchout + Конец врезки - listen - слушать + + record stops at right mark + запись останавливается на правом маркере - Randomize - Случайным образом + + Start + - Rhythm Style: - Ритмический Стиль: + + rewind to start position + перемотать к начальной позиции - Clear - Очистить + + Rewind + Перемотать назад - Open... - Открыть... + + rewind current position + перемотать к текущей позиции - Save - Сохранить + + Forward + Перемотать вперёд - Save as... - Сохранить как... + + move current position + переместить текущую позицию - Generate - Сгенерировать + + Stop + Остановить - Close - Закрыть + + stop sequencer + остановить секвенсер - - + + Play + Воспроизвести - steps/count - шаги/счет + + start sequencer play + начать воспроизведение в секвенсере - count/bar - счет/такт + + Record + Записать - # bars - #такты + + to record press record and then play + чтобы начать запись нажмите "запись", а затем "воспроизвести" - - - RouteDialogBase - - MusE: Routing - MusE: Маршруты + + + Panic + Паника - - Add Route - Добавить маршрут + + send note off to all midi channels + послать сообщение "note off" на все midi-каналы - - Source: - Источник: + + &New + - - Destination: - Назначение: + + + Create New Song + Создать новый проект - - Connect - Соединить + + &Open + &Открыть - - connect source to destination - Соединить источник с назначением + + + Click this button to open a <em>new song</em>.<br>You can also select the <b>Open command</b> from the File menu. + Щелкните по этой кнопке для открытия другого проекта. Вы также можете выбрать пункт Открыть в меню "Файл". - - Current Routes - Текущие маршруты + + Open &Recent + Открыть &Недавние - - Source - Источник + + + + &Save + &Сохранить - - Destination - Назначение + + + Click this button to save the song you are editing. You will be prompted for a file name. +You can also select the Save command from the File menu. + Щелкните по этой кнопке для сохранения проекта. Будет предложено ввести имя файла. +Вы также можете выбрать пункт "Сохранить" в меню "Файл". - - Remove - Удалить + + Save &As + Сохранить &Как - - remove selected route - Удалить выбранный маршрут + + Import Midifile + Импортировать MIDI-файл - - - RoutePopupMenu - Channel - Канал + + Export Midifile + Экспортировать MIDI-файл - <none> - <ничего> + + Import Part + Импортировать Партию - - - SS_PluginChooserBase - - SimpleDrums - Ladspa Plugin Chooser - SimpleDrums - Выбор LADSPA-плагина + + + Import Wave File + Импортировать WAV-файл - - Name - Имя + + Find unused wave files + - - Label - Метка + + &Quit + Вы&йти - - Inports - Порты входа + + Song Info + Проект инфо - - Outports - Порты выхода + + Transport Panel + Панель транспорта - - Creator - Создатель + + Bigtime Window + Окно хронометра - - &Cancel - &Отменить + + Mixer A + Микшер А - - Alt+C - Alt+C + + Mixer B + Микшер В - - &OK - &ОК + + Cliplist + Список фрагментов - - Alt+O - Alt+О + + Marker View + Маркеры - - - SS_PluginFront - - Clear and unload effect - Очистить и выгрузить эффект + + Arranger View + - - Load effect - Загрузить эффект + + Fullscreen + - - Toggle display of effect parameters - Переключить дисплей параметров эффекта + + &Plugins + &Плагины - Turn effect on/off - Эффект вкл/выкл - - - - ScoreCanvas - - - Treble - + Edit Instrument + Редактировать Инструмент - - Bass - + + Input Plugins + Плагины на входе - - Grand Staff - + + Transpose + Транспонировать - - Remove staff - + + Midi Input Transform + Преобразование входящих MIDI-сообщений - - Ambiguous part - + + Midi Input Filter + Фильтр входящих MIDI-событий - - There are two or more possible parts you could add the note to, but none matches the selected part. Please select the destination part by clicking on any note belonging to it and try again, or add a new stave containing only the destination part. - + + Midi Remote Control + Дистанционное управление MIDI - - No part - + + Rhythm Generator + Генератор Ритма - - There are no parts you could add the note to. - + + Reset Instr. + Перезагрузить Инстр. - - - ScoreEdit - - Undo/Redo tools - + + Init Instr. + Запустить Инстр. - - Step recording tools - + + Local Off + откл. локальное управление - Step Record - Пошаговая запись - - - - panic - паника + Bounce to Track + Свести в трек - - transport - транспорт + + Bounce to File + Свести в файл - - Note settings - + + Restart Audio + Перезапустить аудио - Note length: - + Mixer Automation + Автоматизация микшера - - last - + + Take Snapshot + Сделать снимок - - Velocity: - + + Clear Automation Data + Удалить Данные Автоматизации - - Off-Velocity: + + Cascade - - Quantisation settings + + Tile - - Quantisation: + + In rows - - Pixels per whole: + + In columns - - &Edit - &Правка + + Global Settings + Общие настройки - - C&ut - &Вырезать + + Configure Shortcuts + Настроить горячие клавиши - - &Copy - С&копировать + + Follow Song + следовать за проектом - - Copy events in range - + + Don't Follow Song + не следовать за проектом - - &Paste - &Вставить + + Follow Page + следовать постранично - - Paste (with dialog) - + + Follow Continuous + следовать плавно - - Delete &Events - Удалить &События + + Metronome + Метроном - - &Select - + + Midi Sync + MIDI-синхр - - Select &All - + + Midi File Import/Export + Импорт/Экспорт midi-файла - - &Deselect All - &Убрать выделение - - - - Invert &Selection - - - - - &Inside Loop - &Внутри цикла - - - - &Outside Loop - &Вне цикла - - - - Fu&nctions - - - - - &Quantize - + + Appearance Settings + Настройки вида - Change note &length - + Midi Ports / Soft Synth + MIDI-порты / Прогр. синтезаторы - - Change note &velocity - + + &Manual + &Руководство - Crescendo/Decrescendo - + &MusE Homepage + &Домашняя страница MusE - Transpose - Транспонировать + &Report Bug... + &Сообщить об ошибке... - Erase Events - + &About MusE + &О программе MusE - - Move Notes - + + File Buttons + Файловые кнопки - - Set Fixed Length + + Undo/Redo - - Delete Overlaps - Удалить наложения + + Transport + Транспорт - - Legato - + + &File + &Файл - - Window &Config - + + &View + &Вид - - Note head &colors - + + &Midi + &MIDI - - &Black - + + &Audio + &Аудио - - &Velocity + + A&utomation - - &Part + + &Windows - - Set up &preamble + + MusE Se&ttings - - Display &key signature + + &Help - - Display &time signature - + + Cannot read template + Не могу прочитать шаблон - - Set Score &name - + + File open error + Ошибка при открытии файла - - - Enter the new score title - + + File read error + Ошибка прочтения файла - - Error + + Unknown File Format: %1 - - Changing score title failed: -the selected title is not unique + + + + MusE: Song: %1 - - - ScrollScale - - next page - след страница - - previous page - пред страница + + MusE: load project + MusE: Открыть проект - current page number - номер текущей страницы + + MusE: load template + MusE: открыть шаблон - - - SetlenBase - - MusE: Set Note Length + + MusE: Write File failed - - Range - Диапазон + + The current Project contains unsaved data +Save Current Project? + Текущий проект содержит не сохранённые данные. +Сохранить текущий проект? - - All Events + + + S&kip - - Selected Events + + &Cancel - - Looped Events - + + + MusE: Save As + MusE: Сохранить как - - Selected Looped - + + + Nothing to edit + Нечего редактировать + - Value - Значение + + + + MusE: Bounce to Track + MusE: Сведение в Трек - - New length - + + No wave tracks found + wave-треки не найдены - ticks - - - - - OK - + + No audio output tracks found + Выходные аудио треки не найдены - - Cancel - Отмена + + Select one audio output track, +and one target wave track + Выберите один трек аудио выхода +и один wave-трек, как цель - - - ShortcutCaptureDialog - Ok - OK + + Select one target wave track + Выделите один wave-трек, как цель (трек назначения) - Cancel - Отмена + + Select one target wave track, +and one audio output track + Выберите один wave-трек, как цель, +(трек назначения) и один трек аудио выхода - Shortcut conflicts with - "Горячая клавиша" конфликтует с + + + MusE: Bounce to File + MusE: Свести в файл - Undefined - Не назначено + + Select one audio output track + Выделите один трек аудио выхода - - - ShortcutCaptureDialogBase - - Enter shortcut sequence - Введите последовательность "горячих клавиш" + + MusE: Bounce + MusE: Свести - - Press keys to enter shortcut sequence! - Нажмите клавиши для задания "горячих клавиш"! + + set left/right marker for bounce range + настройте левый/правый маркеры для установки диапазона сведения - + + The current Project contains unsaved data +Load overwrites current Project: +Save Current Project? + Текущий проект содержит не сохранённые данные. +Загрузка нового проекта приведёт к перезаписи данных текущего проекта. +Сохранить текущий проект? + + + + + &Abort + &Отмена + + + + MusE: Export Midi + MusE:Экспорт MIDI + + + + no help found at: + справка не найдена в: + + + + MusE: Open Help + MusE: Открыть справку + + + + Unable to launch help + + + + + For some reason MusE has to launch the default +browser on your machine. + + + + + MusE: Import Midi + MusE: Импорт MIDI + + + + Add midi file to current project? + + Добавить midi файл в текущий проект? + + + + + &Add to Project + &Добавить в Проект + + + + &Replace + &Заменить + + + + reading midifile + + читается MIDI-файл + + + + + + +failed: + +не удалось: + + + + Import part is only valid for midi and wave tracks! + Импортирование партий допустимо только для midi и wave треков! + + + + MusE: load part + MusE: открыть партию + + + + No track selected for import + Не выбран трек для импорта + + + + %n part(s) out of %1 could not be imported. +Likely the selected track is the wrong type. + + + + + + + %n part(s) could not be imported. +Likely the selected track is the wrong type. + + + + + + + to import an audio file you have first to selecta wave track + чтобы импортировать аудио файл, вы должны сначала выделить wave-трек + + + + Import Wavefile + Импортировать wave-файл + + + + This wave file has a samplerate of %1, +as opposed to current setting %2. +Do you still want to import it? + Samplerate этого wave-файла %1, +в то время как текущий Samplerate %2. +Хотите ли вы импортировать его? + + + + &Yes + &Да + + + + &No + &Нет + + + + MusEGui::NoteInfo + + + Note Info + Информация о ноте + + + + Start + + + + + Len + Дл + + + + Pitch + Высота тона + + + + Velo On + Скор. наж + + + + Velo Off + Скор. снятия + + + + MusEGui::PartCanvas + + + Cannot copy/move/clone to different Track-Type + Невозможно копировать/перемещать/клонировать данные в другие типы дорожек + + + + C&ut + &Вырезать + + + + &Copy + С&копировать + + + + s&elect + В&ыбрать + + + + clones + клоны + + + + rename + Переименовать + + + + color + цвет + + + + delete + удалить + + + + split + разделить + + + + glue + + + + + de-clone + деклонировать + + + + + + save part to disk + + + + + wave edit + Редактор семплов + + + + file info + файл-инфо + + + + MusE: save part + MusE: сохранить партию + + + + Part name: %1 +Files: + + + + + %n part(s) out of %1 could not be pasted. +Likely the selected track is the wrong type. + + + + + + + %n part(s) could not be pasted. +Likely the selected track is the wrong type. + + + + + + + Cannot paste: multiple tracks selected + Вставка невозможна: выделено несколько треков + + + + Cannot paste: no track selected + Вставка невозможна: не выделено ни одного трека + + + + Can only paste to midi/drum track + Можно вставить только в midi/drum трек + + + + Can only paste to wave track + Можно вставить только в звуковой трек + + + + Can only paste to midi or wave track + Можно вставить только в midi или wave треки + + + + Cannot paste: wrong data type + Вставка невозможна: неверный тип данных + + + + MusEGui::PasteDialog + + + %n quarter(s) + + + + + + + %1 quarter + for floating-point arguments like 1.5 + + + + + %1 quarters + for floating-point arguments like 1.5 + + + + + MusEGui::PasteEventsDialog + + + %n quarter(s) + + + + + + + %1 quarter + for floating-point arguments like 1.5 + + + + + %1 quarters + for floating-point arguments like 1.5 + + + + + MusEGui::PianoRoll + + + &Edit + &Правка + + + + C&ut + &Вырезать + + + + &Copy + С&копировать + + + + Copy events in range + + + + + &Paste + &Вставить + + + + Paste (with dialog) + + + + + Delete &Events + Удалить &События + + + + &Select + + + + + Select &All + + + + + &Deselect All + &Убрать выделение + + + + Invert &Selection + + + + + &Inside Loop + &Внутри цикла + + + + &Outside Loop + &Вне цикла + + + + &Previous Part + &Предыдущая партия + + + + &Next Part + &Следующая партия + + + + Fu&nctions + + + + + Quantize + Квантовать + + + + Modify Note Length + + + + + Modify Velocity + + + + + Crescendo/Decrescendo + + + + + Transpose + Транспонировать + + + + Erase Events + + + + + Move Notes + + + + + Set Fixed Length + + + + + Delete Overlaps + Удалить наложения + + + + Legato + + + + + &Plugins + &Плагины + + + + Window &Config + + + + + &Event Color + &Цвет события + + + + &Blue + &Синий + + + + &Pitch colors + &Цвета высоты тона + + + + &Velocity colors + &Цвета скорости нажатия + + + + Pianoroll tools + Инструменты пианоролла + + + + Step Record + Пошаговая запись + + + + Midi Input + MIDI-вход + + + + Play Events + Воспроизвести события + + + + panic + паника + + + + transport + транспорт + + + + ctrl + + + + + Add Controller View + + + + + MusEGui::PluginDialog + + + MusE: select plugin + MusE: выбрать плагин + + + + Lib + Библ. + + + + Label + Метка + + + + Name + Имя + + + + AI + AI + + + + AO + AO + + + + CI + CI + + + + CO + CP + + + + IP + IP + + + + id + id + + + + Maker + Создатель + + + + Copyright + Copyright + + + + Ok + + + + + Cancel + Отмена + + + + Mono and Stereo + Моно и Стерео + + + + Stereo + Стерео + + + + Mono + Моно + + + + Show All + Показать Все + + + + Select which types of plugins should be visible in the list.<br>Note that using mono plugins on stereo tracks is not a problem, two will be used in parallell.<br>Also beware that the 'all' alternative includes plugins that probably not are usable by MusE. + Выберите типы плагинов, которые будут видны в списке.<br>Обратите внимание, что можно использовать моно плагины в стерео треках, два будут использованы параллельно.<br>Также будте осторожны с плагинами категории "все" альтернативные, возможно их нельзя использовать в MusE. + + + + Search in 'Label' and 'Name': + Искать по "Меткам" и "Именам": + + + + MusEGui::PluginGui + + + File Buttons + Файловые кнопки + + + + Load Preset + Загрузить пресет + + + + Save Preset + Сохранить пресет + + + + + bypass plugin + обойти плагин + + + + MusE: load preset + MusE: загрузить пресет + + + + Error reading preset. Might not be right type for this plugin + Ошибка прочтения пресета. Возможно неверный тип для этого плагина + + + + MusE: save preset + MusE: сохранить пресет + + + + MusEGui::RoutePopupMenu + + + + + + + + + + Channel + Канал + + + + + + Soloing chain + + + + + + Audio returns + + + + + Warning: No input devices! + + + + + Open midi config... + + + + + + <none> + <ничего> + + + + Toggle all + + + + + More... + + + + + Audio sends + + + + + Midi port sends + + + + + MusEGui::ScoreCanvas + + + Treble + + + + + Bass + + + + + Grand Staff + + + + + Remove staff + + + + + Ambiguous part + + + + + There are two or more possible parts you could add the note to, but none matches the selected part. Please select the destination part by clicking on any note belonging to it and try again, or add a new stave containing only the destination part. + + + + + No part + + + + + There are no parts you could add the note to. + + + + + MusEGui::ScoreEdit + + + Undo/Redo tools + + + + + Step recording tools + + + + + Step Record + Пошаговая запись + + + + panic + паника + + + + transport + транспорт + + + + Note settings + + + + + Note length: + + + + + last + + + + + + + Apply to new notes: + + + + + + Apply to selected notes: + + + + + Velocity: + + + + + Off-Velocity: + + + + + Quantisation settings + + + + + Quantisation: + + + + + Pixels per whole: + + + + + &Edit + &Правка + + + + C&ut + &Вырезать + + + + &Copy + С&копировать + + + + Copy events in range + + + + + &Paste + &Вставить + + + + Paste (with dialog) + + + + + Delete &Events + Удалить &События + + + + &Select + + + + + Select &All + + + + + &Deselect All + &Убрать выделение + + + + Invert &Selection + + + + + &Inside Loop + &Внутри цикла + + + + &Outside Loop + &Вне цикла + + + + Fu&nctions + + + + + &Quantize + + + + + Change note &length + + + + + Change note &velocity + + + + + Crescendo/Decrescendo + + + + + Transpose + Транспонировать + + + + Erase Events + + + + + Move Notes + + + + + Set Fixed Length + + + + + Delete Overlaps + Удалить наложения + + + + Legato + + + + + Window &Config + + + + + Note head &colors + + + + + &Black + + + + + &Velocity + + + + + &Part + + + + + Set up &preamble + + + + + Display &key signature + + + + + Display &time signature + + + + + Set Score &name + + + + + + Enter the new score title + + + + + Error + + + + + Changing score title failed: +the selected title is not unique + + + + + MusEGui::ScrollScale + + + next page + след страница + + + + previous page + пред страница + + + + current page number + номер текущей страницы + + + + MusEGui::ShortcutCaptureDialog + + + Ok + + + + + Cancel + Отмена + + + + Shortcut conflicts with %1 + + + + + Undefined + Не назначено + + + + MusEGui::SigScale + + + signature scale + шкала ключей + + + + MusEGui::TList + + + <none> + <ничего> + + + + no clef + + + + + Treble + + + + + Bass + + + + + Grand + + + + + MusE: bad trackname + MusE: неверное имя трека + + + + please choose a unique track name + Выберите неповторяющееся имя для трека + + + + + Update drummap? + Обновить карту ударных? + + + + Do you want to use same port for all instruments in the drummap? + Вы хотите использовать один и тот же порт для всех инструментов в списке ударных? + + + + + &Yes + &Да + + + + + &No + &Нет + + + + + show gui + показать ГИП + + + + + show native gui + показать ГИП + + + + Treble clef + + + + + Bass clef + + + + + Grand Staff + + + + + Viewable automation + + + + + Delete Track + Удалить трек + + + + Track Comment + Комментарий к треку + + + + Insert Track + + + + + Midi + + + + + Drum + Ударные + + + + Do you want to use same port and channel for all instruments in the drummap? + Вы хотите использовать один и тот же порт и канал для всех инструментов в списке ударных? + + + + MusEGui::TempoSig + + + Tempo/Sig + Темп/Знаки альтерации + + + + MusEGui::Toolbar1 + + + + + Off + + + + + Solo + Соло + + + + Cursor + Курсор + + + + Snap + Привязка + + + + MusEGui::TopWin + + + As subwindow + + + + + Shares tools and menu + + + + + Fullscreen + + + + + Piano roll + + + + + List editor + + + + + Drum editor + + + + + Master track editor + + + + + Master track list editor + + + + + Wave editor + + + + + Clip list + + + + + Marker view + + + + + Score editor + + + + + Arranger + Компоновщик + + + + <unknown toplevel type> + + + + + MusEGui::TrackComment + + + MusE: Track Comment + MusE: Комментарий к треку + + + + Track Comment: + Комментарий к треку: + + + + MusEGui::Transport + + + Overdub + Наложить + + + + + Replace + Заменить + + + + Rec Mode + Режим записи + + + + Normal + Норм. + + + + Mix + Смешать + + + + Cycle Rec + Циклич. запись + + + + punchin + + + + + loop + цикл + + + + punchout + + + + + + Punch In + Начало врезки + + + + + Loop + Цикл + + + + + Punch Out + Конец врезки + + + + Left Mark + Левый маркер + + + + Right Mark + Правый маркер + + + + rewind to start + перемотать к началу + + + + Click this button to rewind to start position + Щелкните по этой кнопке для перемещения к началу + + + + rewind + перемотать назад + + + + Click this button to rewind + Щелкните по этой кнопке для перемотки назад + + + + forward + перемотать вперёд + + + + Click this button to forward current play position + Щелкните по этой кнопке для перемещения вперёд + + + + stop + остановить + + + + Click this button to stop playback + Щелкните по этой кнопке для остановки воспроизведения + + + + play + воспроизвести + + + + Click this button to start playback + Щелкните по этой кнопке, чтобы начать воспроизведение + + + + record + + + + + Click this button to enable recording + Щелкните по этой кнопке для активизации режима записи + + + + AC + AC + + + + quantize during record + квантовать при записи + + + + Click + Метр. + + + + metronom click on/off + Метроном вкл/выкл + + + + Sync + Синхр. + + + + external sync on/off + Вкл/выкл внешн. синхр. + + + + Jack + Jack + + + + Jack transport sync on/off + Синхр. транспорта "Jack" вкл/выкл + + + + Master + Мастер + + + + use master track + использовать мастер-трек + + + + MusEGui::VisibleTracks + + + + Show wave tracks + + + + + + Show group tracks + + + + + + Show aux tracks + + + + + + Show input tracks + + + + + + Show output tracks + + + + + + Show midi tracks + + + + + + Show synth tracks + + + + + Visible track types + + + + + MusEGui::WaveEdit + + + &Edit + &Правка + + + + Func&tions + Фу&нкции + + + + &Gain + &Усиление + + + 200% + 200% + + + 150% + 150% + + + 75% + 75% + + + 50% + 50% + + + 25% + 25% + + + + Other + Другой + + + + &Copy + С&копировать + + + + C&ut + &Вырезать + + + + &Paste + &Вставить + + + + Edit in E&xternal Editor + Редактировать во &внешнем редакторе + + + + Mute Selection + Заглушить выделенное + + + + Normalize Selection + Нормализовать выделенное + + + + Fade In Selection + Нарастание звука в выделенном + + + + Fade Out Selection + Затихание звука в выделенном + + + + Reverse Selection + Перевернуть выделенное + + + + Select + Выделить + + + + Select &All + + + + + &Deselect All + &Убрать выделение + + + + Window &Config + + + + + Wave edit tools + Инструменты редактирования Wave + + + + transport + транспорт + + + + WaveEdit tools + + + + + Solo + Соло + + + + Cursor + Курсор + + + + MusEGui::WaveView + + + MusE - external editor failed + MusE - ошибка запуска внешнего редактора + + + + MusE was unable to launch the external editor +check if the editor setting in: +Global Settings->Audio:External Waveditor +is set to a valid editor. + "MusE" не может запустить внешний редактор. +Проверте, действительно ли в: +Общие настройки->Аудио:Внешний редактор +выбран правильный редактор. + + + + MusE - file size changed + MusE - размер файла изменился + + + + When editing in external editor - you should not change the filesize +since it must fit the selected region. + +Missing data is muted + При редактировании во внешнем редакторе - не изменяйте размер файла +так как он должен соответствовать выбранной области. + +Утерянные данные заглушены + + + + MusEMixer::AudioMixerApp + + &View + &Вид + + + Routing + Маршрутизация + + + Show Midi Tracks + Показать Midi-треки + + + Show Drum Tracks + Показать треки ударных + + + Show Wave Tracks + Показать Wave-треки + + + Show Inputs + Показать входы + + + Show Outputs + Показать выходы + + + Show Groups + Показать группы + + + Show Auxs + Показать Auxs + + + Show Synthesizers + Показать синтезаторы + + + + MusEMixer::AudioStrip + + panorama + панорама + + + aux send level + уровень aux посыла + + + Pan + Пан + + + 1/2 channel + стерео-моно + + + Pre + Пре + + + pre fader - post fader + пре федер - пост федер + + + mute + заглушить + + + record downmix + записать downmix + + + solo mode + режим соло + + + off + выкл + + + iR + вх + + + input routing + маршрут входа + + + oR + вых + + + output routing + маршрут выхода + + + Read + Читать + + + Touch + По касанию + + + automation type + тип автоматизации + + + + MusEMixer::EffectRack + + effect rack + рэк эффектов + + + new + новый + + + change + изменить + + + move up + сдвинуть выше + + + move down + сдвинуть ниже + + + remove + удалить + + + bypass + обойти + + + show gui + показать ГИП + + + show native gui + показать ГИП + + + save preset + сохранить пресет + + + MusE: Save Preset + MusE: Сохранить Пресет + + + Replace effect + Заменить эффект + + + Do you really want to replace the effect %1? + Вы действительно хотите заменить эффект %1? + + + + MusEMixer::MidiStrip + + off + выкл + + + double click on/off + двойной щелчок вкл/выкл + + + VariationSend + Вариационный посыл + + + Var + Вар + + + ReverbSend + Посыл Реверберации + + + Rev + Ревер + + + ChorusSend + Посыл Хоруса + + + Cho + Хорус + + + Pan/Balance + Пан/Баланс + + + Pan + Пан + + + mute + заглушить + + + solo mode + режим соло + + + iR + вх + + + input routing + маршрут входа + + + oR + вых + + + output routing + маршрут выхода + + + + MusEWidget::BigTime + + format display + формат дисплея + + + bar + такт + + + beat + доля + + + tick + тик + + + minute + минут(а) + + + second + секунд(а) + + + frame + фреймов + + + subframe + субфреймов + + + MusE: Bigtime + MusE: Хронометр + + + + MusEWidget::EditToolBar + + Edit Tools + Инструменты редактирования + + + + MusEWidget::MidiSyncConfig + + Port Number + Номер порта + + + Name of the midi device associated with this port number + Имя MIDI-устройства, ассоциированного с номером этого порта + + + Midi clock input detected + Обнаружен вход midi-clock + + + Midi tick input detected + Обнаружен вход midi-тика + + + Midi real time input detected + Обнаружен midi-вход реального времени + + + MMC input detected + Обнаружен вход MMC + + + MTC input detected + Обнаружен вход MTC + + + Detected SMPTE format + Обнаруженые SMPTE форматы + + + Receive id number. 127 = Global. Double click to edit. + Получить id номер. 127 = Глобально. Двойной щелчок для редактирования. + + + Accept midi clock input + Принять вход Midi-clock + + + Accept midi real time input + Принять midi-вход реального времени + + + Accept MMC input + Принять вход MMC + + + Accept MTC input + Принять вход MTC + + + Receive start rewinds before playing + Получить перед воспроизведением сообщение о начале перемотки + + + Transmit id number. 127 = Global. Double click to edit. + Передать номер id. 127 = Общий. Двойной щелчок для редактирования. + + + Send midi clock output + Послать выход midi-clock + + + Send midi realtime output + Послать midi-выход реального времени + + + Send MMC output + Послать выход MMC + + + Send MTC output + Послать выход MTC + + + Midi clock input detected. +Current port actually used is red. +Click to force a port to be used. + Обнаружен вход midi-clock. +Фактически используемый +текущий порт - красный. +Щелкните, чтобы принудительно +использовать порт. + + + Midi realtime input detected, including + start/stop/continue, and song position. + Обнаружен midi-вход реального времени, +с "старт/стоп/продолжить" и позицией проекта. + + + MMC input detected, including stop/play/deferred play, and locate. + Обнаружен MMC-вход c "старт/стоп/отложенное воспроизведение" + и локацией. + + + MTC input detected, including forward quarter-frame sync and full-frame locate. +Current port actually used is red. Click to force a port to be current. + Обнаружен MTC-вход, с четверть-фреймовой +синхронизацией и полно-фреймовой локацией. +Фактически используемый +текущий порт - красный. +Щелкните, чтобы принудительно +сделать порт текущим. + + + Detected SMPTE format: 24fps, 25fps, 30fps drop frame, or 30fps non-drop +Detects format of MTC quarter and full frame, and MMC locate. + Обнаруженые форматы SMPTE: 24fps, 25fps, 30fps с пропущенным +фреймом, или 30fps без пропущенного фрейма +Обнаруживает MTC-формат четверть и полно-фреймовый, и MMC локацию. + + + Receive id number. 127 = global receive all, even if not global. + Получить номер id. 127 =глобальный получает все, даже если не глобальный. + + + Accept midi clock input. Only one input is used for clock. +Auto-acquire: If two or more port realtime inputs are enabled, + the first clock detected is used, until clock is lost, + then another can take over. Best if each turns off its clock + at stop, so MusE can re-acquire the clock from another port. +Click on detect indicator to force another. + Принять вход midi-clock. Только один вход используется для "clock". +Авто-получение: если разрешены два или более входов реального времени на порт, то будут использован первый обнаруженный "clock", пока он не будет потерян, затем будет использован другой. Самое лучшее, если каждый отключит свой "clock" во время остановки, чтобы MusE снова получил "clock" с другого порта. Щелкните по индикатору обнаружения, чтобы сделать по другому. + + + Accept midi realtime input, including + start/stop/continue, and song position. +Non-clock events (start,stop etc) are + accepted by ALL enabled ports. +This means you may have several master + devices connected, and muse will accept + input from them. + Принять midi-вход реального времени +с "старт/стоп/продолжить" и позицией проекта. +События "Non-clock" (старт, стоп, и т. п.) принимаются +ВСЕМИ разрешенными портами. Это означает, что вы +можете иметь несколько подсоединенных мастер-устройств, +и MusE примет вход от них. + + + Accept MMC input, including stop/play/deferred play, and locate. + Принять вход MMC, с "стоп/старт/отложенным воспроизведением" и локацией. + + + Accept MTC input, including forward quarter-frame sync and full-frame locate. +See 'rc' column for more help. + Принять вход MTC, с четверть-фреймовой +синхронизацией и полно-фреймовой локацией. +См. колонку "rc" для получения помощи. + + + When start is received, rewind before playing. +Note: It may be impossible to rewind fast + enough to synchronize with the external device. + Когда сообщение "старт" получено, перемотать перед +воспроизведением. Примечание: может быть +так, что перемотка окажется недостаточно быстрой +для синхронизации с внешним устройством. + + + Transmit id number. 127 = global transmit to all. + Передавать номер id. 127 =общая передача для всех. + + + Send midi clock output. If 'Slave to External Sync' is chosen, + muse can re-transmit clock to any other chosen ports. + Посылать выход midi-clock. Если выбрано "Slave to External Sync", +то MusE может снова передать "clock" на любой другой выбранный порт. + + + Send midi realtime output, including start/stop/continue, + and song position. If 'Slave to external sync' is chosen, + muse can re-transmit midi realtime input messages to any + other chosen ports. This means you may have several slave + devices connected, and muse can re-send realtime messages + to any or all of them. + Послать midi-выход реального времени, с "старт/стоп/продолжить" +и позицией проекта. Если выбрано "Slave to External Sync", +то MusE может снова передать сообщения с midi-входа реального +времени на любой другой выбранный порт. Это значит, что вы можете +иметь несколько присоединенных ведомых устройств, и MusE может снова послать сообщения реального времени на любое из них или на все. + + + Port + Порт + + + Device Name + Имя устройства + + + c + c + + + k + k + + + r + r + + + t + t + + + type + тип + + + rid + rid + + + rc + rc + + + rr + rr + + + rm + rm + + + rt + rt + + + rw + rw + + + tid + tid + + + tc + tc + + + tr + tr + + + tm + tm + + + tt + tt + + + MusE + MusE + + + Settings have changed +Apply sync settings? + Настройки изменились +Применить настройки синхронизации? + + + &Apply + &Применить + + + &No + &Нет + + + &Abort + &Отмена + + + <none> + <ничего> + + + + MusEWidget::MidiTrackInfo + + <unknown> + <неизвестно> + + + + MusEWidget::MixdownFileDialog + + Wave Files (*.wav);;All Files (*) + Файлы Wave (*.wav);;Все файлы (*) + + + + MusEWidget::NoteInfo + + Note Info + Информация о ноте + + + Len + Дл + + + Pitch + Высота тона + + + Velo On + Скор. наж + + + Velo Off + Скор. снятия + + + + MusEWidget::RoutePopupMenu + + Channel + Канал + + + <none> + <ничего> + + + + MusEWidget::ScrollScale + + next page + след страница + + + previous page + пред страница + + + current page number + номер текущей страницы + + + + MusEWidget::ShortcutCaptureDialog + + Cancel + Отмена + + + Shortcut conflicts with + "Горячая клавиша" конфликтует с + + + Undefined + Не назначено + + + + MusEWidget::SigScale + + signature scale + шкала ключей + + + + MusEWidget::Toolbar1 + + Solo + Соло + + + Cursor + Курсор + + + Snap + Привязка + + + + MusEWidget::TrackComment + + MusE: Track Comment + MusE: Комментарий к треку + + + Track Comment: + Комментарий к треку: + + + + NewPreset + + New preset + Новый пресет + + + Preset Name + Имя пресета + + + INIT VOICE + НАЧАЛЬНЫЙ ГОЛОС + + + Subcategory + Субкатегория + + + NONE + НИЧЕГО + + + Category + Категория + + + Bank + Банк + + + Bank numerous + Несколько банков + + + Prog + Прог + + + Program numerous + Несколько программ + + + &Cancel + &Отмена + + + Alt+C + Alt+C + + + &Ok + &ОК + + + Alt+O + Alt+O + + + + NoteInfo + + Note Info + Информация о ноте + + + Start + Начало + + + Len + Дл + + + Pitch + Высота тона + + + Velo On + Скор. наж + + + Velo Off + Скор. снятия + + + + OrganGuiBase + + + MusE: Organ + MusE: Орган + + + + O-1 + O-1 + + + + Oscillator + Осциллятор + + + + Brass + Медные духовые + + + + Reed + Язычковые деревянные духовые + + + + Flute + Флейта + + + + 16' + 16' + + + + 4' + 4' + + + + 2 2/3' + 2 2/3' + + + + 2' + 2' + + + + 8' + 8' + + + + 5 1/3' + 5 1/3' + + + + + Release + Послезвучие + + + + + Sustain + Стационарная часть звука + + + + + Decay + Спад огибающей + + + + + Attack + Атака + + + + + + + + + ms + мс + + + + Velocity + Скорость нажатия + + + + Drawbars + Слайдеры регистров + + + + Envelope Hi + Верх огибающей + + + + + cB + cB + + + + Envelope Lo + Низ огибающей + + + + PartCanvas + + Cannot copy/move/clone to different Track-Type + Невозможно копировать/перемещать/клонировать данные в другие типы дорожек + + + C&ut + &Вырезать + + + &Copy + С&копировать + + + rename + Переименовать + + + color + цвет + + + delete + удалить + + + split + разделить + + + glue + склеить + + + de-clone + деклонировать + + + pianoroll + Пианорол + + + list + Редактор списка событий + + + drums + Редактор ударных + + + wave edit + Редактор семплов + + + Cannot paste: multiple tracks selected + Вставка невозможна: выделено несколько треков + + + Cannot paste: no track selected + Вставка невозможна: не выделено ни одного трека + + + Cannot paste: wrong data type + Вставка невозможна: неверный тип данных + + + Can only paste to midi/drum track + Можно вставить только в midi/drum трек + + + Can only paste to wave track + Можно вставить только в звуковой трек + + + export + экспорт + + + MusE: save part + MusE: сохранить партию + + + s&elect + В&ыбрать + + + clones + клоны + + + file info + файл-инфо + + + Part name + Имя партии + + + Files + Файлы + + + out of + из + + + parts + партии + + + part + партия + + + could not be pasted. +Likely the selected track is the wrong type. + не может быть вставлена. +Возможно выбранный трек не того типа. + + + Can only paste to midi or wave track + Можно вставить только в midi или wave треки + + + + PasteDialogBase + + + MusE: Paste Parts + + + + + Number and raster + + + + + insert + + + + + times + + + + + raster + + + + + ticks + + + + + Move, Merge, Clone + + + + + Move everything to the right + + + + + Move only affected parts to the right + + + + + Put everything into a single track + + + + + Merge with existing parts + + + + + Insert as clones (where possible) + + + + + OK + + + + + Cancel + Отмена + + + + PasteEventsDialogBase + + + MusE: Paste Events + + + + + Number and raster + + + + + insert + + + + + times + + + + + raster + + + + + + ticks + + + + + Paste options + + + + + Always into existing parts + + + + + Never into existing parts + + + + + Into existing parts if part has not +to be expanded by more than + + + + + Put everything into the (selected) part + + + + + OK + + + + + Cancel + Отмена + + + + PatchBay + + MusE: ALSA MIDI Patch Bay + MusE: ALSA MIDI Patch Bay + + + + PatchBayBase + + ALSA Patch Bay + ALSA Patch Bay + + + + PianoRoll + + &Edit + &Правка + + + Cut + Вырезать + + + Copy + Скопировать + + + Paste + Вставить + + + Delete Events + Удалить события + + + Select All + Выделить всё + + + Select None + Убрать выделение + + + Invert + Инвертировать + + + Inside Loop + Внутри цикла + + + Outside Loop + Вне цикла + + + &Select + &Выбрать + + + blue + голубой + + + pitch colors + цвета высоты тона + + + velocity colors + цвета скорости нажатия + + + &Config + &Настроить + + + event color + цвет события + + + &Functions + &Функции + + + Over Quantize + Квантовка + + + Note On Quantize + Квантовка начала ноты + + + Note On/Off Quantize + Квантовка начала/окончания ноты + + + Iterative Quantize + Повторная квантовка + + + Config Quant... + Настройка квантования + + + Modify Gate Time + Изменить время звучания + + + Modify Velocity + Изменить скорость нажатия + + + Crescendo + Крещендо + + + Transpose + Транспонировать + + + Thin Out + Удалить дубли + + + Erase Event + Удалить событие + + + Note Shift + Сдвиг ноты + + + Move Clock + Сдвинуть время + + + Copy Measure + Скопировать такт + + + Erase Measure + Стереть такт + + + Delete Measure + Удалить такт + + + Create Measure + Создать такт + + + Pianoroll Tools + Инструменты пианорола + + + Step Record + Пошаговая запись + + + Midi Input + MIDI-вход + + + Play Events + Воспроизвести события + + + ctrl + кнтр + + + Add Controller View + Добавить панель контроллеров + + + Set Fixed Length + Установить фикс. длину + + + C&ut + &Вырезать + + + &Copy + С&копировать + + + &Paste + &Вставить + + + Delete &Events + Удалить &События + + + Select &All + Выбрать &Всё + + + &Deselect All + &Убрать выделение + + + Invert &Selection + Обратить В&ыделение + + + &Inside Loop + &Внутри цикла + + + &Outside Loop + &Вне цикла + + + &Previous Part + &Предыдущая партия + + + &Next Part + &Следующая партия + + + &Event Color + &Цвет события + + + &Blue + &Синий + + + &Pitch colors + &Цвета высоты тона + + + &Velocity colors + &Цвета скорости нажатия + + + Quantize + Квантовать + + + Delete Overlaps + Удалить наложения + + + &Plugins + &Плагины + + + Pianoroll tools + Инструменты пианоролла + + + panic + паника + + + transport + транспорт + + + + PluginDialog + + MusE: select plugin + MusE: выбрать плагин + + + Lib + Библ. + + + Label + Метка + + + Name + Имя + + + AI + AI + + + AO + AO + + + CI + CI + + + CO + CP + + + IP + IP + + + id + id + + + Maker + Создатель + + + Copyright + Copyright + + + Ok + Ok + + + Cancel + Отмена + + + Stereo and Mono + Стерео и Моно + + + Stereo + Стерео + + + Mono + Моно + + + All + Все + + + Select which types of plugins should be visible in the list.<br>Note that using mono plugins on stereo tracks is not a problem, two will be used in parallell.<br>Also beware that the 'all' alternative includes plugins that probably not are usable by MusE. + Выберите типы плагинов, которые будут видны в списке.<br>Обратите внимание, что можно использовать моно плагины в стерео треках, два будут использованы параллельно.<br>Также будте осторожны с плагинами категории "все" альтернативные, возможно их нельзя использовать в MusE. + + + Mono and Stereo + Моно и Стерео + + + Show All + Показать Все + + + Search in 'Label' and 'Name': + Искать по "Меткам" и "Именам": + + + + PluginGui + + File Buttons + Файловые кнопки + + + Load Preset + Загрузить пресет + + + Save Preset + Сохранить пресет + + + bypass plugin + обойти плагин + + + MusE: load preset + MusE: загрузить пресет + + + MusE: save preset + MusE: сохранить пресет + + + Error reading preset. Might not be right type for this plugin + Ошибка прочтения пресета. Возможно неверный тип для этого плагина + + + + ProjectCreate + + + Create Project + + + + + Project Name: + + + + + Project Path to song file: + + + + + Create project folder (recommended for audio projects) + + + + + Browse + + + + + Song information: + + + + + QHeader + + Port Number + Номер порта + + + enable gui for device + разрешить ГИП для устройства + + + Name of the midi device associated with this port number + Имя MIDI-устройства, ассоциированного с номером этого порта + + + Instrument connected to port + Инструмент, подсоединённый к порту + + + State: result of opening the device + Состояние: результат открытия устройства + + + mute instrument + заглушить инструмент + + + sound name + название звука + + + quantisation +currently not used + квантование +сейчас не используется + + + this input note triggers the sound + эта входящая нота переключает звук + + + note length + длина ноты + + + this note is send for the sound + это нота послана для звука + + + output channel +currently not used + канал выхода +сейчас не используется + + + output port +currently not used + порт выхода +сейчас не используется + + + velocity level 1 + Уровень 1 силы нажатия + + + velocity level 2 + Уровень 2 силы нажатия + + + velocity level 3 + Уровень 3 силы нажатия + + + velocity level 4 + Уровень 4 силы нажатия + + + quantisation + квантование + + + output channel + канал выхода + + + output port + порт выхода + + + Enable Recording + Разрешить запись + + + Mute Indicator + Индикатор заглушки звука + + + Solo Indicator + Индикатор соло + + + Track Type + Тип трека + + + Track Name + Имя трека + + + Output Channel Number + Номер канала выхода + + + Output Port + Порт выхода + + + Time Lock + Изменение времени заблокировано + + + Solo/Pre Fader Listening + Прослушивание Соло/Пре Федера + + + enables reading from device + разрешает чтение с устройства + + + enables writing to device + разрешает запись на устройство + + + + QObject + + + Other + Другой + + + + + Error + + + + + + Please first select the range for crescendo with the loop markers. + + + + + QWidget + + + + Cannot convert sysex string + Невозможно конвертировать строку SysEx + + + + + Hex String too long (2048 bytes limit) + Hex-строка слишком длинная (предел составляет 2048 байтов) + + + + generic midi + обычный MIDI + + + + new + новый + + + + create peakfile for + создать пиковый файл для + + + + MusE: get file name + MusE: получить имя файла + + + the directory + + каталог + + + + +does not exist +create? + +не существует +Создать? + + + &Create + &Создать + + + Cancel + Отмена + + + + The directory +%1 +does not exist. +Create it? + + + + + MusE: create directory + MusE: создать каталог + + + + creating dir failed + создание каталога не удалось + + + + File +%1 +exists. Overwrite? + + + + + Open File +%1 +failed: %2 + + + + File + + Файл + + + +exists + +существует + + + + MusE: write + MusE: записать + + + Overwrite + Перезаписать + + + Quit + Выйти + + + Open File + + Открыть файл + + + +failed: + +не удалось: + + + + MusE: Open File + MusE: Открыть файл + + + + + None + Ничего + + + + No selection. Ignoring + Не выделено. Игнорируется + + + The directory + + Директория + + + + +does not exist. +Create it? + +не существует. +Создать? + + + +exists. Overwrite? + +существует. Переписать? + + + + QuantBase + + + MusE: Quantize + + + + + Range + Диапазон + + + + All Events + + + + + Selected Events + + + + + Looped Events + + + + + Selected Looped + + + + + Values + Значения + + + + Strength: + + + + + % + % + + + + Threshold (ticks): + + + + + Quantize Len + + + + + Raster + + + + + Whole + + + + + Half + + + + + 4th + + + + + 4th Triplet + + + + + 8th + + + + + 8th Triplet + + + + + 16th + + + + + 16th Triplet + + + + + 32th + + + + + 32th Triplet + + + + + Swing: + + + + + If the proposed change in tick or length is smaller than threshold, nothing is done. +If swing=0, this is normal +If swing is 33, you get a 2:1-rhythm. +If swing is -33, you get a 1:2-rhythm. + + + + + + OK + + + + + Cancel + Отмена + + + + QuantConfig + + MusE: Config Quantize + MusE: Настройка Квантования + + + Config Quantize + Настройка Квантования + + + Strength + Степень + + + Don´t Quantize + Не Квантовать + + + Quant Len + Квант Дл + + + + RemoveBase + + + MusE: Erase Notes + + + + + Range + Диапазон + + + + All Events + + + + + Selected Events + + + + + Looped Events + + + + + Selected Looped + + + + + Thresholds + + + + + ticks + + + + + Velocity + + + + + Length + Длина + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:7px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If nothing is checked, everything is removed.</p> +<p style=" margin-top:0px; margin-bottom:7px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If velocity is checked, only notes with velo &lt; threshold are removed.</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If both are checked, notes with velo &lt; threshold OR with length &lt; threshold are removed.</p></body></html> + + + + + OK + + + + + Cancel + Отмена + + + + RhythmBase + + MusE: Random Rhythm Generator + MusE: Генератор случайного ритма + + + Instrument Properties + Свойства Инструмента + + + counts/bar + счет/такт + + + steps/count + шаги/счет + + + # bars + #такты + + + test + тест + + + contrib + внести + + + randomize + случайным образом + + + Group 1 + Группа 1 + + + Group 2 + Группа 2 + + + Group 3 + Группа 3 + + + Group 4 + Группа 4 + + + Group 5 + Группа 5 + + + listen + слушать + + + Instrument + Инструмент + + + Group + Группа + + + &New + &Новый + + + create new entry + создать новую запись + + + pressing the New button you create a new entry +in the MusE list of defined controllers + нажав кнопку "Новая" вы создаёте новую запись +в списке назначенных в MusE контроллеров + + + &Delete + &Удалить + + + delete selected entry + удалить выделенную запись + + + Up + Вверх + + + Down + Вниз + + + Instrument + Инструмент + + + steps/count + шаги/счет + + + list of defined controllers + список назначенных контроллеров + + + This is the MusE list of defined controllers. + Это список назначенных контроллеров для MusE + + + &File + &Файл + + + &Edit + &Правка + + + &Help + П&омощь + + + Tools + Инструменты + + + New + Новый + + + Open + Открыть + + + &Open... + &Открыть... + + + Save + Сохранить + + + &Save + &Сохранить + + + Save As + Сохранить как + + + Save &As... + Сохранить &как... + + + Print + Печать + + + &Print... + &Печать... + + + Exit + Выйти + + + E&xit + В&ыйти + + + Undo + Отмена + + + &Undo + &Отмена + + + Redo + Повторить + + + &Redo + П&овторить + + + Cut + Вырезать + + + &Cut + &Вырезать + + + Copy + Скопировать + + + C&opy + С&копировать + + + Paste + Вставить + + + &Paste + &Вставить + + + Find + Найти + + + &Find... + &Найти... + + + Contents + Содержание + + + &Contents... + &Содержание... + + + Index + Индекс + + + &Index... + &Индекс... + + + About + О программе + + + &About... + &О программе... + + + <b>Notice!</b><br> +Random Rhythm Generator is not enabled yet! + <b>Уведомление!</b><br> +Генератора Случайного Ритма пока ещё нет! + + + Ctrl+N + Ctrl+N + + + Ctrl+O + Ctrl+O + + + Ctrl+S + Ctrl+S + + + Ctrl+P + Ctrl+P + + + Ctrl+Z + Ctrl+Z + + + Ctrl+Y + Ctrl+Y + + + Ctrl+X + Ctrl+X + + + Ctrl+C + Ctrl+C + + + Ctrl+V + Ctrl+V + + + Ctrl+F + Ctrl+F + + + + RhythmGenerator + + Form3 + Форма3 + + + Instrument Settings: + Настройки инструмента: + + + Instrument + Инструмент + + + Hi-Hat + Хай-хэт + + + add + добавить + + + delete + удалить + + + Group Settings: + Настройки группы: + + + Group + Группа + + + Group 1 + Группа 1 + + + Group 2 + Группа 2 + + + Group 3 + Группа 3 + + + Group 4 + Группа 4 + + + Group 5 + Группа 5 + + + contrib + внести + + + listen + слушать + + + Randomize + Случайным образом + + + Rhythm Style: + Ритмический Стиль: + + + Clear + Очистить + + + Open... + Открыть... + + + Save + Сохранить + + + Save as... + Сохранить как... + + + Generate + Сгенерировать + + + Close + Закрыть + + + + + + + steps/count + шаги/счет + + + count/bar + счет/такт + + + # bars + #такты + + + + RouteDialogBase + + + MusE: Routing + MusE: Маршруты + + + + Add Route + Добавить маршрут + + + + Source: + Источник: + + + + Destination: + Назначение: + + + + Connect + Соединить + + + + connect source to destination + Соединить источник с назначением + + + + Current Routes + Текущие маршруты + + + + Source + Источник + + + + Destination + Назначение + + + + Remove + Удалить + + + + remove selected route + Удалить выбранный маршрут + + + + RoutePopupMenu + + Channel + Канал + + + <none> + <ничего> + + + + SS_PluginChooserBase + + + SimpleDrums - Ladspa Plugin Chooser + SimpleDrums - Выбор LADSPA-плагина + + + + Name + Имя + + + + Label + Метка + + + + Inports + Порты входа + + + + Outports + Порты выхода + + + + Creator + Создатель + + + + &Cancel + &Отменить + + + + Alt+C + Alt+C + + + + &OK + &ОК + + + + Alt+O + Alt+О + + + + SS_PluginFront + + + Clear and unload effect + Очистить и выгрузить эффект + + + + Load effect + Загрузить эффект + + + + Toggle display of effect parameters + Переключить дисплей параметров эффекта + + + + Turn effect on/off + Эффект вкл/выкл + + + + ScoreEdit + + Step Record + Пошаговая запись + + + panic + паника + + + transport + транспорт + + + &Edit + &Правка + + + C&ut + &Вырезать + + + &Copy + С&копировать + + + &Paste + &Вставить + + + Delete &Events + Удалить &События + + + &Deselect All + &Убрать выделение + + + &Inside Loop + &Внутри цикла + + + &Outside Loop + &Вне цикла + + + Transpose + Транспонировать + + + Delete Overlaps + Удалить наложения + + + + ScrollScale + + next page + след страница + + + previous page + пред страница + + + current page number + номер текущей страницы + + + + SetlenBase + + + MusE: Set Note Length + + + + + Range + Диапазон + + + + All Events + + + + + Selected Events + + + + + Looped Events + + + + + Selected Looped + + + + + Value + Значение + + + + New length + + + + + ticks + + + + + OK + + + + + Cancel + Отмена + + + + ShortcutCaptureDialog + + Ok + OK + + + Cancel + Отмена + + + Shortcut conflicts with + "Горячая клавиша" конфликтует с + + + Undefined + Не назначено + + + + ShortcutCaptureDialogBase + + + Enter shortcut sequence + Введите последовательность "горячих клавиш" + + + + Press keys to enter shortcut sequence! + Нажмите клавиши для задания "горячих клавиш"! + + + Old shortcut: Старое сочетание: - - - Undefined - Не назначено + + + Undefined + Не назначено + + + + New shortcut: + Новое сочетание: + + + + OK + ОК + + + + Cancel + Отмена + + + + ShortcutConfigBase + + + Configure Keyboard Shortcuts + Настроить "горячие клавиши" + + + + Shortcut Category + Категория "горячих клавиш" + + + + Description + Описание + + + + Shortcut + "Горячая клавиша" + + + + &Clear + &Очистить + + + + Alt+C + Alt+C + + + + &Define + Н&азначить + + + + Alt+D + Alt+D + + + + &Apply + &Применить + + + + Alt+A + Alt+A + + + + SigScale + + signature scale + шкала ключей + + + + SimpleDrumsGuiBase + + + DrumSynth 0.1 + DrumSynth 0.1 + + + + SimpleSynthGui + + + &Load setup + З&агрузить настройки + + + + &Save setup + &Сохранить настройки + + + + Load sample dialog + Загрузить диалог сэмплов + + + + Song + + Jack shutdown! + Jack прекратил работу! + + + Jack has detected a performance problem which has lead to +MusE being disconnected. +This could happen due to a number of reasons: +- a performance issue with your particular setup. +- a bug in MusE (or possibly in another connected software). +- a random hiccup which might never occur again. +- jack was voluntary stopped by you or someone else +- jack crashed +If there is a persisting problem you are much welcome to discuss it +on the MusE mailinglist. +(there is information about joining the mailinglist on the MusE + homepage which is available through the help menu) + +To proceed check the status of Jack and try to restart it and then . +click on the Restart button. + Проблемы в работе "Jack", привели к его рассоединению с "MusE". +Это могло произойти по разным причинам: +-проблемы в работе, вызванные особенностью ваших настроек. +-баг в "MusE" (или, возможно, в других подсоединенных программах). +-случайное выключение, которое больше никогда не повторится. +-"Jack" остановлен вами или кем-нибудь еще. +-"Jack" рухнул +Если это постоянная проблема мы приглашаем вас обсудить её +в почтовой рассылке "MusE". +(в меню "Помощь" есть информация о том, как присоединиться +к почтовой рассылке "MusE") + +Чтобы продолжить работу, проверте состояние "Jack", постарайтесь +перезапустить его, а затем щелкните по кнопке "Перезапустить". + + + + + previous event + предыдущее событие + + + next event + следующее событие + + + set event + настроить событие + + + add event + добавить событие + + + erase event + стереть событие + + + erase range + стереть диапазон + + + clear automation + Очистить автоматизацию + + + Clear all controller events? + Очистить все события контроллеров? + + + &Ok + &ОК + + + &Cancel + &Отменить + + + MusE - external script failed + MusE - ошибка запуска внешнего скрипта + + + MusE was unable to launch the script + + MusE не может запустить скрипт + + + + SongInfo + + + Song Information + Информация о проекте + + + + Show on song load + + + + + &Cancel + &Отменить + + + + Alt+C + Alt+C + + + + &Ok + &ОК + + + + Alt+O + Alt+O + + + + SynthConfigBase + + + MusE: Synth Configuration + MusE: Настройка програм. синт. + + + + Soft Synthesizer + Программный синтезатор + + + + File + Файл + + + + Instances + Выбранный + + + + + Name + Имя + + + + list of available software synthesizers + список доступных программных синтезаторов + + + + Add Instance + Добавить выбранный + + + + Remove Instance + Удалить выбранный + + + + Midi connections + MIDI-соединения + + + + Midi Port + MIDI-порт + + + + Inst + Инстр + + + + Version + Версия + + + + Description + Описание + + + + TList + + Show Gui + Показать ГИП + + + Add Midi Track + Добавить MIDI-трек + + + Add Drum Track + Добавить трек с ударными + + + Add Wave Track + Добавить Wave-трек + + + Delete Track + Удалить трек + + + Track Comment + Комментарий к треку + + + Midi + MIDI + + + Drum + Ударные + + + MusE: bad trackname + MusE: неверное имя трека + + + please choose a unique track name + Выберите неповторяющееся имя для трека + + + show gui + показать ГИП + + + show native gui + показать ГИП + + + Add Output + Добавить Выход + + + Add Group + Добавить Группу + + + Add Input + Добавить Вход + + + Add Aux Send + Добавить Aux Посыл + + + Update drummap? + Обновить карту ударных? + + + Do you want to use same port for all instruments in the drummap? + Вы хотите использовать один и тот же порт для всех инструментов в списке ударных? + + + &Yes + &Да + + + &No + &Нет + + + Do you want to use same port and channel for all instruments in the drummap? + Вы хотите использовать один и тот же порт и канал для всех инструментов в списке ударных? + + + <none> + <ничего> + + + + TempoSig + + Tempo/Sig + Темп/Знаки альтерации + + + + TimeCanvas + + Ctrl + Ctrl + + + + Add Controller View + Добавить Панель Контроллеров + + + + Toolbar1 + + Solo + Соло + + + Cursor + Курсор + + + Snap + Привязка + + + Quantize + Квантовать + + + To + К + + + All Events + Все события + + + Looped Ev. + Соб. в цикле + + + Selected Ev. + Выделенное соб. + + + Looped+Sel. + В цикле+Выделенн. + + + + TopWin + + Arranger + Компоновщик + + + + TrackComment + + MusE: Track Comment + MusE: Комментарий к треку + + + Track Comment: + Комментарий к треку: + + + + Transport + + Overdub + Наложить + + + Replace + Заменить + + + Rec Mode + Режим записи + + + Normal + Норм. + + + Mix + Смешать + + + Cycle Rec + Циклич. запись + + + punchin + нач. врезки + + + loop + цикл + + + punchout + кнц. врезки + + + Punch In + Начало врезки + + + Loop + Цикл + + + Punch Out + Конец врезки + + + Left Mark + Левый маркер + + + Right Mark + Правый маркер + + + rewind to start + перемотать к началу + + + rewind + перемотать назад + + + forward + перемотать вперёд + + + stop + остановить + + + play + воспроизвести + + + record + записать + + + AC + AC + + + quantize during record + квантовать при записи + + + Click + Метр. + + + metronom click on/off + Метроном вкл/выкл + + + Sync + Синхр. + + + external sync on/off + Вкл/выкл внешн. синхр. + + + Master + Мастер + + + use master track + использовать мастер-трек + + + Jack + Jack + + + Jack transport sync on/off + Синхр. транспорта "Jack" вкл/выкл + + + + TransposeBase + + + MusE: Transpose + + + + + Range + Диапазон + + + + All Events + + + + + Selected Events + + + + + Looped Events + + + + + Selected Looped + + + + + Value + Значение + + + + Halftone-steps + + + + + OK + + + + + Cancel + Отмена + + + + TransposeDialogBase + + MusE: Midi Transpose + MusE: MIDI-транспонирование + + + Value + Значение + + + halftones + полутонов + + + Time + Время + + + all + всё + + + between markers + между маркерами + + + Parts + Партии + + + all in selected tracks + все в выбранных треках + + + OK + ОК + + + Cancel + Отмена + + + + UnusedWaveFiles + + + Dialog + + + + + List of unused audio files in current project directory: + + + + + Current project + + + + + All .med files +in current + directory + + + + + Move files to 'unused' subdir + + + + + Cancel + Отмена + + + + VAMGui + + + MusE: Load VAM Presets + MusE: загрузить пресеты VAM + + + + + MusE: Save VAM Presets + MusE: сохраненить пресеты VAM + + + + VAMGuiBase + + + Virtual Analogue for MusE + Виртуальный Аналог для MusE + + + + LFO + LFO + + + + Freq + Частота + + + + + + Waveform + Форма волны + + + + + + Sine + Синусоида + + + + + + Pulse + Пульс + + + + + + Saw + Пилообразная + + + + + + Triangle + Треугольная + + + + Filter + Фильтр + + + + EnvMod + Режим Огибающей + + + + + + Attack + Атака + + + + + + Decay + Спад + + + + + + Sustain + Стационарная часть + + + + + + Release + Послезвучие + + + + Cutoff + Отсечка + + + + Resonance + Резонанс + + + + Invert + Инвертировать + + + + KeyTrack + Трекинг клавиатуры - - New shortcut: - Новое сочетание: + + Presets + Пресеты - - OK - ОК + + Set + Установить - - Cancel - Отмена + + load preset list + Загрузить список пресетов + + + + save preset list + Сохранить список пресетов + + + + save preset list to a new file + Сохранить список пресетов в новый файл + + + + delete preset + Удалить пресет + + + + DCO 1 + DCO 1 + + + + + Pitch + Высота тона + + + + + Detune + Расстройка + + + + + PWM + PWM + + + + + FM + FM + + + + + PW + PW + + + + DCO 2 + DCO 2 + + + + On + Вкл + + + VAM 1.0beta2 +Virtual Analog for MusE +Released under GPL. +Copyright(C) 2002 +Jotsif Lindman Hörnlund +( jotsif@linux.nu ) + VAM 1.0beta2 +Виртуальный Аналог для MusE +Выпущено на условиях GPL. +Copyright(C) 2002 +Jotsif Lindman Hörnlund +( jotsif@linux.nu ) + + + + VAM 1.0beta3 +Virtual Analog for MusE +Released under GPL. +Copyright(C) 2002 +Jotsif Lindman Hörnlund +( jotsif@linux.nu ) +Copyright(C) 2005 +Robert Jonsson +(rj@spamatica.se) + VAM 1.0бета3 +Виртуальный Аналог для MusE +Выпущен на условиях GPL. +Copyright(C) 2002 +Jotsif Lindman Hörnlund +( jotsif@linux.nu ) +Copyright(C) 2005 +Robert Jonsson +(rj@spamatica.se) - ShortcutConfigBase + VelocityBase - - Configure Keyboard Shortcuts - Настроить "горячие клавиши" + + MusE: Modify Velocity + MusE: Изменить скорость нажатия - - Shortcut Category - Категория "горячих клавиш" + + Range + Диапазон - - Description - Описание + + All Events + Все События - - Shortcut - "Горячая клавиша" + + Selected Events + Выбранные События - - &Clear - &Очистить + + Looped Events + События в Цикле - - Alt+C - Alt+C + Selected & Looped + Выбранные & в Цикле - - &Define - Н&азначить + + Values + Значения - - Alt+D - Alt+D + + Rate: + Частота: - &Apply - &Применить + Offset: + Смещение: - - Alt+A - Alt+A + + % + % - - - SigScale - signature scale - шкала ключей + + Selected Looped + + + + + veloNew = (veloOld * rate) + offset + + + + + OK + + + + + Cancel + Отмена - SimpleDrumsGuiBase + WTScale - - DrumSynth 0.1 - DrumSynth 0.1 + bar scale + линейка тактов - SimpleSynthGui + WaveEdit - - &Load setup - З&агрузить настройки + &File + &Файл - - &Save setup - &Сохранить настройки + weTools + weTools - - Load sample dialog - Загрузить диалог сэмплов + Solo + Соло + + + Cursor + Курсор + + + &Edit + &Правка + + + Func&tions + Фу&нкции + + + 200% + 200% + + + 150% + 150% + + + 75% + 75% + + + 50% + 50% + + + 25% + 25% + + + Other + Другой - - - Song - - Jack shutdown! - Jack прекратил работу! + &Gain + &Усиление - - Jack has detected a performance problem which has lead to -MusE being disconnected. -This could happen due to a number of reasons: -- a performance issue with your particular setup. -- a bug in MusE (or possibly in another connected software). -- a random hiccup which might never occur again. -- jack was voluntary stopped by you or someone else -- jack crashed -If there is a persisting problem you are much welcome to discuss it -on the MusE mailinglist. -(there is information about joining the mailinglist on the MusE - homepage which is available through the help menu) - -To proceed check the status of Jack and try to restart it and then . -click on the Restart button. - Проблемы в работе "Jack", привели к его рассоединению с "MusE". -Это могло произойти по разным причинам: --проблемы в работе, вызванные особенностью ваших настроек. --баг в "MusE" (или, возможно, в других подсоединенных программах). --случайное выключение, которое больше никогда не повторится. --"Jack" остановлен вами или кем-нибудь еще. --"Jack" рухнул -Если это постоянная проблема мы приглашаем вас обсудить её -в почтовой рассылке "MusE". -(в меню "Помощь" есть информация о том, как присоединиться -к почтовой рассылке "MusE") - -Чтобы продолжить работу, проверте состояние "Jack", постарайтесь -перезапустить его, а затем щелкните по кнопке "Перезапустить". - - + &Copy + С&копировать - - previous event - предыдущее событие + C&ut + &Вырезать - - next event - следующее событие + &Paste + &Вставить - - - set event - настроить событие + Edit in E&xternal Editor + Редактировать во &внешнем редакторе - - - add event - добавить событие + Mute Selection + Заглушить выделенное - - - erase event - стереть событие + Normalize Selection + Нормализовать выделенное - - erase range - стереть диапазон + Fade In Selection + Нарастание звука в выделенном - - clear automation - Очистить автоматизацию + Fade Out Selection + Затихание звука в выделенном - - Clear all controller events? - Очистить все события контроллеров? + Reverse Selection + Перевернуть выделенное - - &Ok - &ОК + Select &All + Выделить &Всё - - &Cancel - &Отменить + &Deselect All + &Убрать выделение - - MusE - external script failed - MusE - ошибка запуска внешнего скрипта + Select + Выделить - - MusE was unable to launch the script, error message: - - + Wave edit tools + Инструменты редактирования Wave - MusE was unable to launch the script - - MusE не может запустить скрипт + transport + транспорт - - Automation: - + Pianoroll tools + Инструменты пианоролла - SongInfo - - - Song Information - Информация о проекте - + WaveTrackInfoBase - - Show on song load - + MusE: TrackInfo + MusE: Трекинфо - - &Cancel - &Отменить + Track Info + Трек Инфо - - Alt+C - Alt+C + Track Name + Имя трека - - &Ok - &ОК + Output Route: + Маршрут выхода: - - Alt+O - Alt+O + Input Route: + Маршрут входа: - - - SynthConfigBase - - MusE: Synth Configuration - MusE: Настройка програм. синт. + Ports: + Порты: - - Soft Synthesizer - Программный синтезатор + Mono + Моно - - File - Файл + Stereo + Стерео + + + WaveView - - Instances - Выбранный + MusE - file size changed + MusE - размер файла изменился - - - Name - Имя + When editing in external editor - you should not change the filesize +since it must fit the selected region. + +Missing data is muted + При редактировании во внешнем редакторе - не изменяйте размер файла +так как он должен соответствовать выбранной области. + +Утерянные данные заглушены - - list of available software synthesizers - список доступных программных синтезаторов + MusE - external editor failed + MusE - ошибка запуска внешнего редактора - - Add Instance - Добавить выбранный + MusE was unable to launch the external editor +check if the editor setting in: +Global Settings->Audio:External Waveditor +is set to a valid editor. + "MusE" не может запустить внешний редактор. +Проверте, действительно ли в: +Общие настройки->Аудио:Внешний редактор +выбран правильный редактор. + + + file_patterns - - Remove Instance - Удалить выбранный + + Midi/Kar (*.mid *.MID *.kar *.KAR *.mid.gz *.mid.bz2) + - - Midi connections - MIDI-соединения + + Midi (*.mid *.MID *.mid.gz *.mid.bz2) + - - Midi Port - MIDI-порт + + Karaoke (*.kar *.KAR *.kar.gz *.kar.bz2) + - - Inst - Инстр + + + + + + + + + + + + + All Files (*) + Все файлы (*) - - Version - Версия + + Midi (*.mid) + - - Description - Описание + + Karaoke (*.kar) + - - - TList - Show Gui - Показать ГИП + + all known files (*.med *.med.gz *.med.bz2 *.mid *.midi *.kar) + - Add Midi Track - Добавить MIDI-трек + + med Files (*.med *.med.gz *.med.bz2) + - Add Drum Track - Добавить трек с ударными + + + Uncompressed med Files (*.med) + - Add Wave Track - Добавить Wave-трек + + + gzip compressed med Files (*.med.gz) + - Delete Track - Удалить трек + + + bzip2 compressed med Files (*.med.bz2) + - Track Comment - Комментарий к треку + + mid Files (*.mid *.midi *.kar *.MID *.MIDI *.KAR) + - Midi - MIDI + + (*.jpg *.gif *.png) + - Drum - Ударные + + (*.jpg) + - MusE: bad trackname - MusE: неверное имя трека + + (*.gif) + - please choose a unique track name - Выберите неповторяющееся имя для трека + + (*.png) + - show gui - показать ГИП + + part Files (*.mpt *.mpt.gz *.mpt.bz2) + - show native gui - показать ГИП + + part Files (*.mpt) + - Add Output - Добавить Выход + + gzip compressed part Files (*.mpt.gz) + - Add Group - Добавить Группу + + bzip2 compressed part Files (*.mpt.bz2) + - Add Input - Добавить Вход + + Presets (*.pre *.pre.gz *.pre.bz2) + - Add Aux Send - Добавить Aux Посыл + + Presets (*.pre) + - Update drummap? - Обновить карту ударных? + + gzip compressed presets (*.pre.gz) + - Do you want to use same port for all instruments in the drummap? - Вы хотите использовать один и тот же порт для всех инструментов в списке ударных? + + bzip2 compressed presets (*.pre.bz2) + - &Yes - &Да + + Presets (*.map *.map.gz *.map.bz2) + - &No - &Нет + + Presets (*.map) + - Do you want to use same port and channel for all instruments in the drummap? - Вы хотите использовать один и тот же порт и канал для всех инструментов в списке ударных? + + gzip compressed presets (*.map.gz) + - <none> - <ничего> + + bzip2 compressed presets (*.map.bz2) + - - - TempoSig - - Tempo/Sig - Темп/Знаки альтерации + + Wave/Binary (*.wav *.ogg *.bin) + - - - TimeCanvas - Ctrl - Ctrl - + + Wave (*.wav *.ogg) + - Add Controller View - Добавить Панель Контроллеров + + Binary (*.bin) + - Toolbar1 - - Solo - Соло - + freeverb - Cursor - Курсор + + FreeVerb + FreeVerb - Snap - Привязка + Rooom Size + Размер помещения - Quantize - Квантовать + + Damping + Демпфирование - To - К + + Wet Level + Уровень "Влажного" сигнала - All Events - Все события + + Tap-Reverberator + Пленочный Ревербератор - Looped Ev. - Соб. в цикле + + Decay [ms] + Спад(мсек) - Selected Ev. - Выделенное соб. + + + dB + дБ - Looped+Sel. - В цикле+Выделенн. + + Dry Level [dB] + Уровень "Сухого" сигнала [дб] - - - TopWin - - As subwindow - + + Wet Level [dB] + Уровень "Влажного" сигнала [Дб] - - Shares tools and menu - + + Preset: + Пресет: - - Fullscreen - + + AfterBurn + Запаздывающее Нарастание - - Piano roll - + + AfterBurn (Long) + Запаздывающее Нарастание (Длинное) - - List editor - + + Ambience + Окружение - - Drum editor - + + Ambience (Thick) + Окружение (Плотное) - - Master track editor - + + Ambience (Thick) - HD + Окружение (Плотное) - HD - - Master track list editor - + + Cathedral + Кафедральный Собор - - Wave editor - + + Cathedral - HD + Кафедральный Собор - HD - - Clip list - + + Drum Chamber + Комната для Ударных - - Marker view - + + Garage + Гараж - - Score editor - + + Garage (Bright) + Гараж (Яркий) - - Arranger - Компоновщик + + Gymnasium + Гимнастический зал - - <unknown toplevel type> - + + Gymnasium (Bright) + Гимнастический зал (Яркий) - - - TrackComment - MusE: Track Comment - MusE: Комментарий к треку + + Gymnasium (Bright) - HD + Гимнастический зал (Яркий) - HD - Track Comment: - Комментарий к треку: + + Hall (Small) + Зал (Небольшой) - - - Transport - - Overdub - Наложить + + Hall (Medium) + Зал (Средний) - - - Replace - Заменить + + Hall (Large) + Зал (Большой) - - Rec Mode - Режим записи + + Hall (Large) - HD + Зал (Большой) - HD - - Normal - Норм. + + Plate (Small) + Plate реверб (Маленькая) - - Mix - Смешать + + Plate (Medium) + Plate реверб (Средняя) - - Cycle Rec - Циклич. запись + + Room Size + Размер помещения - - punchin - нач. врезки + + Plate (Large) + Plate реверб (Большая) - - loop - цикл + + Plate (Large) - HD + Plate реверб (Большая) - HD - - punchout - кнц. врезки + + Pulse Chamber + Пульсирующая комната - - - Punch In - Начало врезки + + Pulse Chamber (Reverse) + Пульсирующая комната (Реверс) - - - Loop - Цикл + + Resonator (96 ms) + Резонатор (96 мсек) - - - Punch Out - Конец врезки + + Resonator (152 ms) + Резонатор (152 мсек) - - Left Mark - Левый маркер + + Resonator (208 ms) + Резонатор (208 мсек) - - Right Mark - Правый маркер + + Room (Small) + Помещение (Маленькое) - - rewind to start - перемотать к началу + + Room (Medium) + Помещение (Среднее) - - rewind - перемотать назад + + Room (Large) + Помещение (Большое) - - forward - перемотать вперёд + + Room (Large) - HD + Помещение (Большое) - HD - - stop - остановить + + Slap Chamber + Комната "slap" - - play - воспроизвести + + Slap Chamber - HD + Комната "slap" - HD - - record - записать + + Slap Chamber (Bright) + Комната "slap" (Яркая) - - AC - AC + + Slap Chamber (Bright) HD + Комната "slap" (Яркая) HD - - quantize during record - квантовать при записи + + Smooth Hall (Small) + Ровный зал (Небольшой) - - Click - Метр. + + Smooth Hall (Medium) + Ровный зал (Средний) - - metronom click on/off - Метроном вкл/выкл + + Smooth Hall (Large) + Ровный зал (Большой) - - Sync - Синхр. + + Smooth Hall (Large) - HD + Ровный зал (Большой) - HD - - external sync on/off - Вкл/выкл внешн. синхр. + + Vocal Plate + Вокальная Plate-реверб - - Master - Мастер + + Vocal Plate - HD + Вокальная Plate-реверб - HD - - use master track - использовать мастер-трек + + Warble Chamber + Журчащая комната - - Jack - Jack + + Warehoouse + Склад - - Jack transport sync on/off - Синхр. транспорта "Jack" вкл/выкл + + Warehouse - HD + Склад - HD - - - TransposeBase - - MusE: Transpose - + + Comb Filters + Причесывающие фильтры - - Range - Диапазон + + Allpass Filters + Широкополосный фильтр - - All Events - + + Bandpass Filters + Полосовой фильтр - Selected Events - + Enhanced Stereo + Расширенное стерео + + + shortcuts - - Looped Events + + Transport: Start playback from current location - - Selected Looped + + Transport: Toggle metronome - - Value - Значение + + Transport: Stop Playback + - - Halftone-steps + + Transport: Goto Start - - OK + + Transport: Play, Stop, Rewind - - Cancel - Отмена + + Transport: Goto left marker + - - - TransposeDialogBase - MusE: Midi Transpose - MusE: MIDI-транспонирование + + Transport: Goto right marker + - Value - Значение + + Transport: Toggle Loop section + - halftones - полутонов + + Transport: Toggle Record + - Time - Время + + Transport: Clear all rec enabled tracks + - all - всё + + Toggle fullscreen + - between markers - между маркерами + + Edit: Copy + - Parts - Партии + + Edit: Copy in range + - all in selected tracks - все в выбранных треках + + Edit: Undo + - OK - ОК + + Edit: Redo + - Cancel - Отмена + + Edit: Cut + - - - UnusedWaveFiles - - Dialog + + Edit: Paste - - List of unused audio files in current project directory: + + Edit: Paste (with dialog) - - Current project + + Edit: Delete - - All .med files -in current - directory + + File: New project - - Move files to 'unused' subdir + + File: Open from disk - - Cancel - Отмена + + File: Save project + - - - VAMGui - - MusE: Load VAM Presets - MusE: загрузить пресеты VAM + + File: Open recent file + - - - MusE: Save VAM Presets - MusE: сохраненить пресеты VAM + + File: Save as + - - - VAMGuiBase - - Virtual Analogue for MusE - Виртуальный Аналог для MusE + + File: Load template + - - LFO - LFO + + File: Import midi file + - - Freq - Частота + + File: Export midi file + - - - - Waveform - Форма волны + + File: Import midi part + - - - - Sine - Синусоида + + File: Import audio file + - - - - Pulse - Пульс + + File: Quit MusE + - - - - Saw - Пилообразная + + Edit: Select parts on track + - - - - Triangle - Треугольная + + Open pianoroll + - - Filter - Фильтр + + Open drumeditor + - - EnvMod - Режим Огибающей + + Open listeditor + - - - - Attack - Атака + + Open waveeditor + - - - - Decay - Спад + + Open graphical mastertrack editor + - - - - Sustain - Стационарная часть + + Open list mastertrack editor + - - - - Release - Послезвучие + + Open midi transformer + - - Cutoff - Отсечка + + Add midi track + - - Resonance - Резонанс + + Add drum track + - - Invert - Инвертировать + + Add wave track + - - KeyTrack - Трекинг клавиатуры + + Add audio output + - - Presets - Пресеты + + Add audio group + - - Set - Установить + + Add audio input + - - load preset list - Загрузить список пресетов + + Add audio aux + - - save preset list - Сохранить список пресетов + + Structure: Global cut + - - save preset list to a new file - Сохранить список пресетов в новый файл + + Structure: Global insert + - - delete preset - Удалить пресет + + Structure: Global split + - - DCO 1 - DCO 1 + + Structure: Cut events + - - - Pitch - Высота тона + + View: Open mixer #1 window + - - - Detune - Расстройка + + View: Open mixer #2 window + - - - PWM - PWM + + View: Toggle transport window + - - - FM - FM + + View: Toggle bigtime window + - - - PW - PW + + View: Open marker window + - - DCO 2 - DCO 2 + + Settings: Follow song by page + - - On - Вкл - - - VAM 1.0beta2 -Virtual Analog for MusE -Released under GPL. -Copyright(C) 2002 -Jotsif Lindman Hörnlund -( jotsif@linux.nu ) - VAM 1.0beta2 -Виртуальный Аналог для MusE -Выпущено на условиях GPL. -Copyright(C) 2002 -Jotsif Lindman Hörnlund -( jotsif@linux.nu ) + + Settings: Follow song off + - - - VAM 1.0beta3 -Virtual Analog for MusE -Released under GPL. -Copyright(C) 2002 -Jotsif Lindman Hörnlund -( jotsif@linux.nu ) -Copyright(C) 2005 -Robert Jonsson -(rj@spamatica.se) - VAM 1.0бета3 -Виртуальный Аналог для MusE -Выпущен на условиях GPL. -Copyright(C) 2002 -Jotsif Lindman Hörnlund -( jotsif@linux.nu ) -Copyright(C) 2005 -Robert Jonsson -(rj@spamatica.se) + + + Settings: Follow song continuous + - - - VelocityBase - - MusE: Modify Velocity - MusE: Изменить скорость нажатия + + Settings: Global configuration + - - Range - Диапазон + + Settings: Configure shortcuts + - - All Events - Все События + + Settings: Configure metronome + - - Selected Events - Выбранные События + + Settings: Midi sync configuration + - - Looped Events - События в Цикле + + Settings: Midi file import/export configuration + - Selected & Looped - Выбранные & в Цикле + + Settings: Appearance settings + - - Values - Значения + + Settings: Midi ports / Soft Synth + - - Rate: - Частота: + + Settings: Audio subsystem configuration + - - Offset: - Смещение: + + Midi: Edit midi instruments + - - % - % + + Midi: Open midi input transform + - - Selected Looped + + Midi: Open midi input filter - - veloNew = (veloOld * rate) + offset + + Midi: Midi input transpose - - OK - + + Midi: Midi remote control + - - Cancel - Отмена + + Midi: Random rhythm generator + - - - WTScale - bar scale - линейка тактов + + Midi: Reset midi + - - - WaveEdit - &File - &Файл + + Midi: Init midi + - weTools - weTools + + Midi: Midi local off + - - Solo - Соло + + Audio: Bounce audio to track + - - Cursor - Курсор + + Audio: Bounce audio to file + - - &Edit - &Правка + + Audio: Restart audio + - Func&tions - Фу&нкции + Automation: Mixer automation + - - 200% - 200% + + Automation: Take mixer snapshot + - - 150% - 150% + + Automation: Clear mixer automation + - - 75% - 75% + + Help: Open Manual + - - 50% - 50% + + Help: Toggle whatsthis mode + - - 25% - 25% + + Edit: Edit selected part + - - Other - Другой + + Edit: Select nearest part on track above + - - &Gain - &Усиление + + Edit: Add nearest part on track above + - - &Copy - С&копировать + + Edit: Select nearest part on track below + - - C&ut - &Вырезать + + Edit: Add nearest part on track below + - - &Paste - &Вставить + + Edit: Insert empty measure + - - Edit in E&xternal Editor - Редактировать во &внешнем редакторе + + Edit: Paste as clones + - - Mute Selection - Заглушить выделенное + + Edit: Paste as clones (with dialog) + - - Normalize Selection - Нормализовать выделенное + + Select track above + - - Fade In Selection - Нарастание звука в выделенном + + Select track below + - Fade Out Selection - Затихание звука в выделенном + Midi: Transpose + - Reverse Selection - Перевернуть выделенное + Edit: Select all + - - Select &All - Выделить &Всё + + Edit: Select none + - - &Deselect All - &Убрать выделение + + Edit: Invert Selection + - - Window &Config + + Edit: Select events/parts inside locators - - WaveEdit tools + + Edit: Select events/parts outside locators - - Select - Выделить + + Edit: Select previous part + - - Wave edit tools - Инструменты редактирования Wave + + Edit: Select next part + - - transport - транспорт + + Edit: Select nearest part/event to the left or move cursor + - Pianoroll tools - Инструменты пианоролла + + Edit: Add nearest part/event to the left to selection + - - - WaveTrackInfoBase - MusE: TrackInfo - MusE: Трекинфо + + Edit: Select nearest part/event to the right or move cursor + - Track Info - Трек Инфо + + Edit: Add nearest part/event to the right to selection + - Track Name - Имя трека + + Edit: Set locators to selection + - Output Route: - Маршрут выхода: + + Edit: Increase pitch + - Input Route: - Маршрут входа: + + Edit: Decrease pitch + - Ports: - Порты: + + Edit: Increase event position + - Mono - Моно + + Edit: Decrease event position + - Stereo - Стерео + + View: Zoom in + - - - WaveView - - MusE - file size changed - MusE - размер файла изменился + + View: Zoom out + - When editing in external editor - you should not change the filesize -since it must fit the selected region. - -Missing data is muted - При редактировании во внешнем редакторе - не изменяйте размер файла -так как он должен соответствовать выбранной области. - -Утерянные данные заглушены + View: Goto Current Position + - - MusE - external editor failed - MusE - ошибка запуска внешнего редактора + + + View: Scroll left + - - MusE was unable to launch the external editor -check if the editor setting in: -Global Settings->Audio:External Waveditor -is set to a valid editor. - "MusE" не может запустить внешний редактор. -Проверте, действительно ли в: -Общие настройки->Аудио:Внешний редактор -выбран правильный редактор. + + Edit: Set Fixed Length on Midi Events + - - - freeverb - - FreeVerb - FreeVerb + + Quantize + Квантовать - Rooom Size - Размер помещения + + Modify Note Length + - - Damping - Демпфирование + + Modify Velocity + - - Wet Level - Уровень "Влажного" сигнала + + Edit: Crescendo + - - Tap-Reverberator - Пленочный Ревербератор + + Edit: Thin Out + - - Decay [ms] - Спад(мсек) + + Edit: Erase Event + - - - dB - дБ + + Edit: Delete Overlaps + + + + + Edit: Note Shift + - - Dry Level [dB] - Уровень "Сухого" сигнала [дб] + + Edit: Move Clock + - - Wet Level [dB] - Уровень "Влажного" сигнала [Дб] + + Edit: Copy Measure + - - Preset: - Пресет: + + Edit: Erase Measure + - - AfterBurn - Запаздывающее Нарастание + + Edit: Delete Measure + - - AfterBurn (Long) - Запаздывающее Нарастание (Длинное) + + Edit: Create Measure + - - Ambience - Окружение + + Edit: Change Event Color + - Ambience (Thick) - Окружение (Плотное) + Tool: Pointer + - - Ambience (Thick) - HD - Окружение (Плотное) - HD + + Tool: Pencil + - - Cathedral - Кафедральный Собор + + Tool: Eraser + - - Cathedral - HD - Кафедральный Собор - HD + + Tool: Line Draw + - - Drum Chamber - Комната для Ударных + + Tool: Cursor + - - Garage - Гараж + + Add note velocity 1 + - - Garage (Bright) - Гараж (Яркий) + + Add note velocity 2 + - - Gymnasium - Гимнастический зал + + Add note velocity 3 + - - Gymnasium (Bright) - Гимнастический зал (Яркий) + + Add note velocity 4 + - - Gymnasium (Bright) - HD - Гимнастический зал (Яркий) - HD + + Cursor step size: larger + - - Hall (Small) - Зал (Небольшой) + + Cursor step size: smaller + - - Hall (Medium) - Зал (Средний) + + Instrument/Cursor up + - - Hall (Large) - Зал (Большой) + + Instrument/Cursor down + - - Hall (Large) - HD - Зал (Большой) - HD + + Tool: Scissor + - - Plate (Small) - Plate реверб (Маленькая) + + Tool: Glue + - - Plate (Medium) - Plate реверб (Средняя) + + Tool: Mute + - - Room Size - Размер помещения + + Transport: Increase current position + - - Plate (Large) - Plate реверб (Большая) + + Transport: Decrease current position + - - Plate (Large) - HD - Plate реверб (Большая) - HD + + Transport: Increase current position, no snap + - - Pulse Chamber - Пульсирующая комната + + Transport: Decrease current position, no snap + - - Pulse Chamber (Reverse) - Пульсирующая комната (Реверс) + + Quantize: Set quantize to 1/1 note + - - Resonator (96 ms) - Резонатор (96 мсек) + + Quantize: Set quantize to 1/2 note + - - Resonator (152 ms) - Резонатор (152 мсек) + + Quantize: Set quantize to 1/4 note + - - Resonator (208 ms) - Резонатор (208 мсек) + + Quantize: Set quantize to 1/8 note + - - Room (Small) - Помещение (Маленькое) + + Quantize: Set quantize to 1/16 note + - - Room (Medium) - Помещение (Среднее) + + Quantize: Set quantize to 1/32 note + - - Room (Large) - Помещение (Большое) + + Quantize: Set quantize to 1/64 note + - - Room (Large) - HD - Помещение (Большое) - HD + + Quantize: Toggle triol quantization + - - Slap Chamber - Комната "slap" + + Quantize: Toggle punctuation quantization + - - Slap Chamber - HD - Комната "slap" - HD + + Quantize: Toggle punctuation quantization (2) + - - Slap Chamber (Bright) - Комната "slap" (Яркая) + + Edit: Insert at location + - - Slap Chamber (Bright) HD - Комната "slap" (Яркая) HD + + Edit: Increase length + - - Smooth Hall (Small) - Ровный зал (Небольшой) + + Edit: Decrease length + - - Smooth Hall (Medium) - Ровный зал (Средний) + + Insert Note + Вставить ноту - - Smooth Hall (Large) - Ровный зал (Большой) + + Insert SysEx + Вставить SysEx - - Smooth Hall (Large) - HD - Ровный зал (Большой) - HD + + Insert Ctrl + Вставить кнтрл - - Vocal Plate - Вокальная Plate-реверб + + Insert Meta + Вставить Meta - - Vocal Plate - HD - Вокальная Plate-реверб - HD + + Insert Channel Aftertouch + Вставить Channel Aftertouch - - Warble Chamber - Журчащая комната + + Insert Key Aftertouch + Вставить Key Aftertouch - Warehoouse - Склад + Insert Tempo + Вставить темп - - Warehouse - HD - Склад - HD + + Insert Signature + Вставить размер - - Comb Filters - Причесывающие фильтры + + Change Event Position + - - Allpass Filters - Широкополосный фильтр + + Edit Event Value + - - Bandpass Filters - Полосовой фильтр + + Insert Key + - - Enhanced Stereo - Расширенное стерео + + Goto Next Marker + + + + + Goto Prev Marker + diff --git a/muse2/share/locale/muse_sv_SE.ts b/muse2/share/locale/muse_sv_SE.ts index 16a3d37b..545ffd1e 100644 --- a/muse2/share/locale/muse_sv_SE.ts +++ b/muse2/share/locale/muse_sv_SE.ts @@ -4,9 +4,8 @@ @default - Click this button to enable recording - Klicka här för att spela in + Klicka här för att spela in sets amount of quantization: @@ -17,42 +16,36 @@ 100 - full kvantisering - select Pointer Tool: with the pointer tool you can: select parts move parts copy parts - välj pek-verktyg: + välj pek-verktyg: med pekverktyget kan du: välja parter flytta parter kopiera parter - Click this button to stop playback - Klicka här för att stoppa uppspelning + Klicka här för att stoppa uppspelning - Click this button to start playback - Klicka här för att starta uppspelning + Klicka här för att starta uppspelning - Click this button to rewind to start position - Klicka här för att spola tillbaks till början + Klicka här för att spola tillbaks till början - Click this button to rewind - Klicka här för att flytta markören bakåt + Klicka här för att flytta markören bakåt - Click this button to forward current play position - Klicka här för att flytta markören framåt + Klicka här för att flytta markören framåt don't quantize notes above this tick limit @@ -63,229 +56,157 @@ med pekverktyget kan du: Kvantisera "note len" som standard - Click this button to open a <em>new song</em>.<br>You can also select the <b>Open command</b> from the File menu. - Klicka här för att öppna en <em>ny sång</em>.<br>Du kan också välja menyvalet <b>Öppna</b> från Arkivmenyn. + Klicka här för att öppna en <em>ny sång</em>.<br>Du kan också välja menyvalet <b>Öppna</b> från Arkivmenyn. - Click this button to save the song you are editing. You will be prompted for a file name. You can also select the Save command from the File menu. - Klicka här för att spara den sång du håller på att redigera. En förfrågan om filnamn kommer att ställas. + Klicka här för att spara den sång du håller på att redigera. En förfrågan om filnamn kommer att ställas. Du kan också välja menyalternativet Spara från Arkivmenyn. - Create New Song - Ny sång + Ny sång - loop between left mark and right mark - loopa mellan vänster och höger markering + loopa mellan vänster och höger markering - record starts at left mark - inspelning börjar vid vänster markering + inspelning börjar vid vänster markering - record stops at right mark - inspelning slutar vid höger markering + inspelning slutar vid höger markering - rewind to start position - spola tillbaka till startposition + spola tillbaka till startposition - rewind current position - flytta markör bakåt + flytta markör bakåt - move current position - flytta markör + flytta markör - stop sequencer - stoppa sequencer + stoppa sequencer - start sequencer play - starta sequenceruppspelning + starta sequenceruppspelning - to record press record and then play - för att spela in, tryck på record och sedan play + för att spela in, tryck på record och sedan play - send note off to all midi channels - skicka note-off till alla midi kanaler + skicka note-off till alla midi kanaler - select Pencil Tool: with the pencil tool you can: create new parts modify length of parts - välj Pennverktyg: + välj Pennverktyg: med pennverktyget kan du: skapa parter ändra längden på parter - select Delete Tool: with the delete tool you can delete parts - välj Suddverktyg: + välj Suddverktyg: med suddverktyget kan du ta bort parter - select Cut Tool: with the cut tool you can split a part - välj Delningsverktyg: + välj Delningsverktyg: med delningsverktyget kan du dela på parter - select Glue Tool: with the glue tool you can glue two parts - välj Limverktyg: + välj Limverktyg: med limverktyget kan du limma ihop två parter - select Score Tool: - välj Partiturverktyg: + välj Partiturverktyg: - select Quantize Tool: insert display quantize event - välj Kvantiseringsverktyg: + välj Kvantiseringsverktyg: sätt in kvantiseringshändelser - select Drawing Tool - välj Ritverktyg + välj Ritverktyg - select Muting Tool: click on part to mute/unmute - välj Tystningsverktyg: + välj Tystningsverktyg: klicka på en part för att Tysta/Avtysta - - Manipulate automation - - - - - Cursor tool - - - - pointer - pekare + pekare - pencil - penna - - - - edit automation - - - - - cursor - + penna rubber sudd - cutter - delare + delare - score - partitur + partitur - glue - lim + lim - quantize - kvantisering + kvantisering - draw - rita + rita - mute parts - tysta parter + tysta parter - - - - - - - - Off - Av + Av All Files (*) Alla filer (*) - - MESS - - - - - DSSI - - - - - FST - - - - + Add Midi Track Lägg till Midispår @@ -300,201 +221,80 @@ klicka på en part för att Tysta/Avtysta Lägg till Wavespår - + Add Audio Output Lägg till Ljudutgång - + Add Audio Group Lägg till Ljudgrupp - + Add Audio Input Lägg till Ljudingång - + Add Aux Send Lägg till Aux-Send - eraser - sudd + sudd - + Add Synth - Bar - Takt - - - - Jack - - - - - ALSA: - - - - - SYNTH: - - - - - JACK: - + Takt - - - - - - + Route - - - - - channel="%1" - - - - - - - - + dest - - - - devtype="%1" - - - - - - - - - type="%1" - - - - - - - - name="%1"/ - - - source - - - - Velocity - Hastighet - - - - <none> - - - - - - - channelMask="%1" - - - - - dssi_synth - - - - - ladspa_efx - - - - - channels="%1" - - - - - remch="%1" - - - - - mport="%1"/ - - - - - - Show wave tracks - - - - - - Show group tracks - + Hastighet - - - Show aux tracks + + Warning: No output devices! - - - Show input tracks + + Open midi config... - - - Show output tracks + + Empty ports - - - Show midi tracks + + <none> - - - Show synth tracks + + channelMask="%1" @@ -573,130 +373,59 @@ Published under the GNU Public License audioeditor bakgrundsfärg - MusE: load image - MusE: ladda bild + MusE: ladda bild + + + AppearanceDialogBase - - Main application font, and default font for any - controls not defined here. - + MusE: Appearance Settings + MusE: Utseendeinställningar - - For small controls like mixer strips. -Also timescale small numbers, arranger part name overlay, - and effects rack. - + + Apply + Verkställ - - Midi track info panel. Transport controls. + + Ok - - Controller graph and S/X buttons. Large numbers for time - and tempo scale, and time signature. - + + Cancel + Avbryt - - Time scale markers. - + + Arranger + Arrangerare - - List editor: meta event edit dialog multi-line edit box. - + + Parts + Parter - - Mixer label font. Auto-font-sizing up to chosen font size. -Word-breaking but only with spaces. - + show frames + visa ramar - - Maximum mixer label auto-font-sizing font size. - + + show names + visa namn - - Global opacity (opposite of transparency). - + + show events + visa händelser(events) - - Standard - - - - - Custom - - - - - Select style sheet - - - - - Qt style sheets (*.qss) - - - - - AppearanceDialogBase - - MusE: Appearance Settings - MusE: Utseendeinställningar - - - - Apply - Verkställ - - - - Ok - - - - - Cancel - Avbryt - - - - Arranger - Arrangerare - - - - Parts - Parter - - - show frames - visa ramar - - - - show names - visa namn - - - - show events - visa händelser(events) - - - - show Cakewalk Style - använd Cakewalkstil + + show Cakewalk Style + använd Cakewalkstil @@ -1416,29 +1145,12 @@ Word-breaking but only with spaces. ClipListEdit - MusE: Clip List Editor - MusE: Clip-listredigerare - - - - Undo/Redo tools - + MusE: Clip-listredigerare - panic - panik - - - - transport - - - - - Window &Config - + panik @@ -1510,7 +1222,7 @@ Word-breaking but only with spaces. ConfigMidiFileBase - + &OK &Ok @@ -1530,7 +1242,7 @@ Word-breaking but only with spaces. 1 (flera spår) - + Format: @@ -1550,12 +1262,12 @@ Word-breaking but only with spaces. - + Division: - + Copyright: @@ -1564,17 +1276,17 @@ Word-breaking but only with spaces. Slå på utbyggt smf-format - + MusE: Config Midi File Import/Export - + Import: - + Split tracks into &parts @@ -1584,12 +1296,12 @@ Word-breaking but only with spaces. - + Split tracks into parts, or one single part - + Export: @@ -1609,7 +1321,12 @@ Word-breaking but only with spaces. - + + Note: Format 0 uses the FIRST midi track's name/comment in the arranger + + + + Save space by replacing note-offs with &zero velocity note-ons @@ -1686,20 +1403,16 @@ Word-breaking but only with spaces. CtrlPanel - select controller - välj controller + välj controller - remove panel - ta bort panel + ta bort panel - - Velocity - Hastighet + Hastighet Pitch @@ -1710,67 +1423,18 @@ Word-breaking but only with spaces. annat ... - add new ... - lägg till ny... - - - - S - + lägg till ny... - - X - - - - - manual adjust - - - - - double click on/off - - - - off - av - - - - - Instrument-defined - - - - - - Add ... - - - - - Others - - - - - Edit instrument ... - - - - - Common Controls - + av DeicsOnzeGui - + Delete preset Ta bort preset @@ -3569,402 +3233,155 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t DrumEdit - &File - &Arkiv + &Arkiv - Load Map - Ladda mappning + Ladda mappning - Save Map - Spara Mappning + Spara Mappning - &Edit - &Redigera + &Redigera - Cut - Klipp ut + Klipp ut - Copy - Kopiera + Kopiera - Paste - Klistra in + Klistra in - Delete Events - Ta bort händelser + Ta bort händelser - Select All - Välj Allt + Välj Allt - Select None - Välj Ingen + Välj Ingen - Invert - Invertera + Invertera - Inside Loop - I loop + I loop - Outside Loop - Utanför loop + Utanför loop - &Select - &Välj + &Välj - Load Drummap - Ladda trummappning + Ladda trummappning - Store Drummap - Spara trummappning + Spara trummappning - Step Record - Stegvis inspelning + Stegvis inspelning - - Midi Input - + Add Controller View + Lägg till Controller vy - - ctrl - + Sound + Ljud - - Add Controller View - Lägg till Controller vy + Len + Längd - - M - + drummaps + trummappningar - - Sound - Ljud + Muse: Load Drum Map + Muse: Ladda trummappning - - QNT - + MusE: Store Drum Map + MusE: Spara trummappning - - E-Note - + Set Fixed Length + Sätt fast längd - - Len - Längd + &Functions + &Funktioner - - A-Note - + Modify Velocity + Modifiera Velocity - - Ch - + mute instrument + tysta instrument - - Port - + sound name + ljudnamn - - LV1 - + quantisation + kvantisering - - LV2 - + this input note triggers the sound + denna in-not triggar ljudet - - LV3 - + note length + notlängd - - LV4 - + output port + utgångsport - drummaps - trummappningar + Quantize + Kvantisera - - Muse: Load Drum Map - Muse: Ladda trummappning - - - - MusE: Store Drum Map - MusE: Spara trummappning - - - - Set Fixed Length - Sätt fast längd - - - &Functions - &Funktioner - - - - Modify Velocity - Modifiera Velocity - - - - - mute instrument - tysta instrument - - - - - sound name - ljudnamn - - - - - volume percent - - - - - - quantisation - kvantisering - - - - - this input note triggers the sound - denna in-not triggar ljudet - - - - - note length - notlängd - - - - - this is the note which is played - - - - - output channel (hold ctl to affect all rows) - - - - - - output port - utgångsport - - - - - shift + control key: draw velocity level 1 - - - - - - control key: draw velocity level 2 - - - - - - shift key: draw velocity level 3 - - - - - - draw velocity level 4 - - - - - output channel (ctl: affect all rows) - - - - - Reset GM Map - - - - - Copy events in range - - - - - Paste (with Dialog) - - - - - Previous Part - - - - - Next Part - - - - - Fu&nctions - - - - - Re-order list - - - - - Crescendo/Decrescendo - - - - - Quantize - Kvantisera - - - Erase Event - Ta bort Händelse - - - - Move Notes - - - - - Delete Overlaps - - - - - &Plugins - - - - - Window &Config - - - - - Drum tools - - - - - cursor tools - - - - - Set step size for cursor edit - + Ta bort Händelse - panic - panik - - - - transport - - - - - Vol - - - - - Drum map - - - - - Reset the drum map with GM defaults? - + panik EditCAfterDialog - - MusE: Enter Channel Aftertouch - - - - Time Position - Tidsposition + Tidsposition - Pressure - Tryck + Tryck @@ -4097,14 +3514,8 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t EditEventDialog - - Ok - - - - Cancel - Avbryt + Avbryt @@ -4168,187 +3579,27 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t EditInstrument - - - MusE: Create file failed - + MusE: Write File failed + MusE: Misslyckades med att skriva Fil - - MusE: Write File failed - MusE: Misslyckades med att skriva Fil + &Save + &Spara - - - - - MusE: - + &Nosave + &Inte spara - - - The user instrument directory - - + &Abort + &Avbryt + + + EditInstrumentBase - - - -does not exist yet. Create it now? - - - - - - - (You can change the user instruments directory at Settings->Global Settings->Midi) - - - - - - Unable to create user instrument directory - - - - - - - MusE: Save Instrument Definition - - - - - - Instrument Definition (*.idf) - - - - - - MusE: Save instrument as - - - - - Enter a new unique instrument name: - - - - - The user instrument: - - - - - - -already exists. This will overwrite its .idf instrument file. -Are you sure? - - - - - MusE: Bad instrument name - - - - - Please choose a unique instrument name. -(The name might be used by a hidden instrument.) - - - - - MusE: Bad patch name - - - - - Please choose a unique patch name - - - - - MusE: Bad patchgroup name - - - - - Please choose a unique patchgroup name - - - - - MusE: Bad controller name - - - - - Please choose a unique controller name - - - - - - MusE: Cannot add common controller - - - - - A controller named - - - - - - already exists. - - - - - A controller number - - - - - - MusE - - - - - - The current Instrument contains unsaved data -Save Current Instrument? - - - - - - &Save - &Spara - - - - - &Nosave - &Inte spara - - - - &Abort - &Avbryt - - - - EditInstrumentBase - - - MusE: Instrument Editor + + MusE: Instrument Editor @@ -5081,24 +4332,20 @@ Typically, set to 127/127, or an unused EditMetaDialog - MusE: Enter Meta Event - MusE: Mata in Meta Händelse + MusE: Mata in Meta Händelse - Time Position - Tidsposition + Tidsposition - Meta Type - Metatyp + Metatyp - Enter Hex - Mata in Hex + Mata in Hex @@ -5170,24 +4417,20 @@ Typically, set to 127/127, or an unused EditPAfterDialog - MusE: Enter Poly Aftertouch - MusE: Mata in Poly Aftertouch + MusE: Mata in Poly Aftertouch - Time Position - Tidsposition + Tidsposition - Pitch - Tonhöjd + Tonhöjd - Pressure - Tryck + Tryck @@ -5613,13 +4856,31 @@ Configuration - + Allows some popup menus to stay open. Otherwise, hold Ctrl to keep them open. - + + In some areas, the middle mouse button decreases +values, while the right button increases. Users without a +middle mouse button can select this option to make the +left button behave like the middle button in such areas. + + + + + Use left mouse button for decreasing values + + + + + Shift + Right click sets left range marker + + + + MDI-subwindowness and sharing menus @@ -5659,7 +4920,7 @@ Otherwise, hold Ctrl to keep them open. &Avbryt - + Audio Ljud @@ -6153,139 +5414,68 @@ Adjusts responsiveness of audio controls and LMaster - MusE: Mastertrack - MusE: Masterspår - - - - Tempo - - - - - Timesig - + MusE: Masterspår - new tempo - nytt tempo + nytt tempo - new signature - ny signatur - - - - Meter - + ny signatur - Time - Tid + Tid - Type - Typ + Typ - Value - Värde + Värde - &Edit - &Redigera + &Redigera - Insert Tempo - Sätt in tempo + Sätt in tempo - Insert Signature - Sätt in signatur - - - - Insert Key - + Sätt in signatur - Edit Positon - Editera position + Editera position - Edit Value - Editera värde + Editera värde - Delete Event - Ta bort event - - - - Window &Config - - - - - Undo/Redo tools - - - - - Key - - - - - new key - + Ta bort event - panic - panik - - - - transport - + panik - Reposition of the initial tempo and signature events is not allowed - Ompositionering av initalt tempo och/eller signaturevent är inte tillåtet - - - - MusE: List Editor - + Ompositionering av initalt tempo och/eller signaturevent är inte tillåtet - Input error, conversion not OK or value out of range - Inmatningsfel, konvertering felaktig eller värde utanför område + Inmatningsfel, konvertering felaktig eller värde utanför område - Reposition of tempo and signature events to start position is not allowed! - Ompositionering av tempo och/eller signaturevent till startposition är inte tillåtet - - - - Edit tools - + Ompositionering av tempo och/eller signaturevent till startposition är inte tillåtet @@ -6358,36 +5548,32 @@ Adjusts responsiveness of audio controls and Mata in Not - insert Note - Mata in Not + Mata in Not Insert SysEx Mata in SysEx - insert SysEx - Mata in SysEx + Mata in SysEx Insert Ctrl Mata in Ctrl - insert Ctrl - Mata in Ctrl + Mata in Ctrl Insert Meta Mata in Meta - insert Meta - Mata in Meta + Mata in Meta Insert Pitch @@ -6402,43 +5588,36 @@ Adjusts responsiveness of audio controls and Mata in Aftertouch för kanal - insert Channel Aftertouch - Mata in Aftertouch för kanal + Mata in Aftertouch för kanal Insert Key Aftertouch Mata in Key Aftertouch - insert Poly Aftertouch - Mata in Poly Aftertouch + Mata in Poly Aftertouch - &Edit - &Redigera + &Redigera - Cut - Klipp ut + Klipp ut - Copy - Kopiera + Kopiera - Paste - Klistra in + Klistra in - Delete Events - Ta bort Händelser + Ta bort Händelser List Tools @@ -6449,74 +5628,24 @@ Adjusts responsiveness of audio controls and Inmatningsverktyg - - Window &Config - - - - - Undo/Redo tools - - - - panic - panik - - - - transport - - - - - Tick - + panik - Bar - Takt - - - - Ch - - - - - Val A - - - - - Val B - - - - - Val C - + Takt - Len - Längd + Längd - Comment - Kommentar - - - - Insert tools - + Kommentar - Type - Typ + Typ @@ -6562,4139 +5691,7965 @@ Adjusts responsiveness of audio controls and MusE: Midiporttabell - - Port - - - - - GUI - - - - - Instrument - - - - Device Name - Enhetsnamn + Enhetsnamn - State - Status + Status unknown okänd - - I - + Port Number + Portnummer - - O - + Instrument connected to port + Instrument kopplat till denna port - - MusE: bad device name - + State: result of opening the device + Status: resultat av öppning av enhet + + + MRConfigBase - - - Default input connections - + + MusE: Midi Input Plugin: Remote Control + MusE: Midiinputplugin: Fjärrkontroll - - - Are you sure you want to apply to all existing midi tracks now? - + + Activate + Aktivera - - - Default output connections - + + On + - - - Setting will apply to new midi tracks. -Do you want to apply to all existing midi tracks now? + + Actions - - please choose a unique device name - + + Stop + Stopp - - - in - + + Record + Spela in - - - out - + + Goto Left Mark + Gå till vänster markering - - Show first aliases - + + Play + Spela - - Show second aliases + + Insert rest (step rec) + + + MTScale - - - Toggle all - + bar scale + takt skala + + + MarkerView - - - Change all tracks now - + MusE: Marker + MusE: Markör - - Create - + add marker + lägg till markör - - device - + Add Marker + Lägg till Markör - - - Port Number - Portnummer + delete marker + ta bort markör - - Enable gui - + Delete Marker + Ta bort Markör - - Enable reading - + &File + &Arkiv - - Enable writing - + &Edit + &Redigera - - Port instrument - + panic + panik - - Midi device name. Click to edit (Jack) - + Bar:Beat:Tick + Takt:Slag:Tick - - Connections from Jack Midi outputs - + Lock + Lås - - Connections to Jack Midi inputs - + Text + Text - - Auto-connect these channels to new midi tracks - + Marker Properties + Markörinställningar - - Auto-connect new midi tracks to these channels - + edit tools + redigeringsverktyg + + + MasterEdit - - Auto-connect new midi tracks to this channel - + MusE: Mastertrack + MusE: Masterspår - - Auto-connect these channels, on this port, to new midi tracks. - + edit tools + redigeringsverktyg - - Connect new midi tracks to these channels, on this port. - + EnableMaster + Aktivera Master - - Connect new midi tracks to this channel, on this port. - + use master track + använd master track - - Device state - + Cursor + Markör - - Enable gui for device - + Off + Av - - Enable reading from device - + Snap + Fäst vid - - Enable writing to device - + time at cursor position + tid vid markörposition - - Name of the midi device associated with this port number. Click to edit Jack midi name. - + panic + panik - - Instrument connected to port - Instrument kopplat till denna port + tempo at cursor position + tempo vid markörposition - - Connections from Jack Midi output ports - + tempo at current position + tempo vid nuvarande position - - Connections to Jack Midi input ports - + time signature at current position + time signature vid nuvarande position - - State: result of opening the device - Status: resultat av öppning av enhet + Enable + Aktivera - - In routes - + Enable usage of master track + Aktivera användning av masterspår + + + MdiSettingsBase - - Out routes + + Form - - Def in ch + + GroupBox - - Def out ch + + MDI subwin - - <unknown> + + Shares menu when subwin - - - <none> + + Shares menu when free - MRConfigBase + MetronomeConfigBase - - MusE: Midi Input Plugin: Remote Control - MusE: Midiinputplugin: Fjärrkontroll + + MusE: Metronome Config + MusE: Metronomeconfiguration - - Activate - Aktivera + + Metronome + Metronom - - On - + + Audio Beep + Audio - Ton - - Actions - + + MIDI Click + Midiklick - - Stop - Stopp + + Midi Channel + Midikanal - Record - Spela in + Measure Note + Taktnot - - Goto Left Mark - Gå till vänster markering + + Measure Velocity + Taktanslag - Play - Spela + Beat Velocity + Slaganslag - - Insert rest (step rec) - + + Beat Note + Slagnot - - - MTScale - bar scale - takt skala + + Midi Port + Midiport - - - MarkerView - - MusE: Marker - MusE: Markör + + Precount + Inräkning - - add marker - lägg till markör + + enable + - Add Marker - Lägg till Markör + + Bars + Takter - - delete marker - ta bort markör + + From Mastertrack + Från Masterspår - Delete Marker - Ta bort Markör + + / + - &File - &Arkiv + + Signature + - - &Edit - &Redigera + + Prerecord + - - Window &Config + + Preroll - - Undo/Redo tools - + + &Apply + &Verställ - - panic - panik + + &OK + &Ok - - transport + + &Cancel + &Avbryt + + + + Choose outputs... - - Bar:Beat:Tick - Takt:Slag:Tick + + 50 + - - Hr:Mn:Sc:Fr:Sf + + % Audio volume - - Lock - Lås + + Hint: Enable metronome in Transportpanel + - - Text - Text + + Alt+A + Alt+L - - Marker Properties - Markörinställningar + + Alt+O + - - edit tools - redigeringsverktyg + + Alt+C + - MasterEdit + MidiController - - MusE: Mastertrack - MusE: Masterspår + Velocity + Hastighet + + + MidiControllerEditDialog - edit tools - redigeringsverktyg + MusE: save midi controller list + MusE: spara midi-controller lista - EnableMaster - Aktivera Master + MusE: load midi controller list + MusE:ladda midi-controller lista + + + MidiControllerEditDialogBase - use master track - använd master track + MusE: Define Midi Controller + MusE: Definiera Midi-controller - - Info - + replace controller set + ersätt controller-set - - Cursor - Markör + merge controller set + slå ihop controller-set - Off - Av + save controller set as + spara controller-set - - Snap - Fäst vid + Name + Namn - - time at cursor position - tid vid markörposition + Type + Typ - - Window &Config - + Min Val + Min.värde - - Undo/Redo tools - + Max Val + Max.värde - - panic - panik + list of defined controllers + lista med definierade controllers - - transport - + This is the MusE list of defined controllers. + Detta är MusEs lista med definierade controllers. - - tempo at cursor position - tempo vid markörposition + Properties + Egenskaper - - CurPos - + Name + Namn - - tempo at current position - tempo vid nuvarande position + Max Value + Max.värde - - time signature at current position - time signature vid nuvarande position + Min Value + Min.värde - - Enable - Aktivera + Type + Typ - - Enable usage of master track - Aktivera användning av masterspår + &New + &Ny - - Enable master - + create new entry + skapa nytt inlägg - - - MdiSettingsBase - - Form - + pressing the New button you create a new entry +in the MusE list of defined controllers + tryck på Ny knappen för att skapa nytt inlägg +i MusEs lista med definierade controllers - - GroupBox - + &Delete + &Ta bort - - MDI subwin - + delete selected entry + ta bort valt inlägg - - Shares menu when subwin - + &OK + &Ok - - Shares menu when free - + &Cancel + &Avbryt - - - MetronomeConfigBase - - MusE: Metronome Config - MusE: Metronomeconfiguration + &Add + &Lägg till - - Metronome - Metronom + Alt+A + Alt+L - - Audio Beep - Audio - Ton + Predefined Controller: + Fördefinieradecontrollers: - - MIDI Click - Midiklick + Managed Controller for Port + Hanterad controller för port - - Midi Channel - Midikanal + Channel + Kanal - - Measure Note - Taktnot + This is a list of commonly used midi controllers. +Note that in MusE pitch and program changes are +handled like normal controllers. + Detta är en lista med vanligt använda midi-controllers. +Notera att tonhöjd- och program-change hanteras +som vanliga controllers i MusE. - - Measure Velocity - Taktanslag + Pitch + Tonhöjd - - Beat Velocity - Slaganslag + Midi Controller Number High Byte + Midicontrollernummer, hög byte - - Beat Note - Slagnot + Midi Controller Number Low Byte + Midicontrollernummer, låg byte - - Midi Port - Midiport + Range + Område + + + MidiFileConfig - - Precount - Inräkning + Config exported Midi Files + Inställningar exporterade midifiler - - enable - + MusE: Config exported Midi Files + MusE: Inställningar exporterade midifiler - - Bars - Takter + Enable extended smf format + Slå på utbyggt smf-format + + + MidiFilterConfigBase - - From Mastertrack - Från Masterspår + + MusE: Midi Input Filter + - - / - + + Record Filter + Inspelningsfilter - - Signature + + + Note On + Noteon + + + + + Poly Pressure - - Prerecord + + + Controller - - Preroll + + + Program Change - - &Apply - &Verställ + + + After Touch + - - &OK - &Ok + + + Pitch Bend + - - &Cancel - &Avbryt + + + Sysex + - - Choose outputs... + + Thru Filter - - 50 + + Controller Filter - - % Audio volume + + Channel Filter - - Hint: Enable metronome in Transportpanel + + 14 - - Alt+A - Alt+L + + 10 + - - Alt+O + + 6 - - Alt+C + + 12 - - - MidiController - Velocity - Hastighet + + 4 + - - - MidiControllerEditDialog - MusE: save midi controller list - MusE: spara midi-controller lista + + 2 + - MusE: load midi controller list - MusE:ladda midi-controller lista + + 9 + + + + + 8 + + + + + 3 + + + + + 13 + + + + + 15 + + + + + 16 + + + + + 7 + + + + + 11 + + + + + 5 + + + + + 1 + - MidiControllerEditDialogBase + MidiInputTransformDialog - MusE: Define Midi Controller - MusE: Definiera Midi-controller + New + Ny + + + MidiInputTransformDialogBase - replace controller set - ersätt controller-set + + MusE: Midi Input Transformator + MusE: Midi inputtransformator - merge controller set - slå ihop controller-set + + Filter + Filter - save controller set as - spara controller-set + + All + Alla - Name - Namn + + + + + + Equal + Lika - Type - Typ + + + + + + Unequal + Ej lika - Min Val - Min.värde + + Note + Not - Max Val - Max.värde + + + Poly Pressure + - list of defined controllers - lista med definierade controllers + + + Control Change + - This is the MusE list of defined controllers. - Detta är MusEs lista med definierade controllers. + + + Aftertouch + - Properties - Egenskaper + + + Pitch Bend + + + + + + NRPN + + + + + + RPN + + + + + + + Value 2 + Värde 2 + + + + + + + + Value 1 + Värde 1 + + + + + Event Type + Händelsetyp + + + + + + + Ignore + Ignorera + + + + + + + Higher + Högre + + + + + + + Lower + Lägre + + + + + + + Inside + Innanför + + + + + + + Outside + Utanför + + + + + Channel + Kanal + + + + + Port + + + + + Processing + Bearbetar + + + + + + + + Keep + Behåll + + + + + + + + Fix + + + + + + + + Plus + + + + + + + + Minus + + + + + + + + Multiply + Multiplicera + + + + + + + Divide + Dela + + + + + + + Invert + Invertera + + + + ScaleMap + Skalmap + + + + Flip + Vänd + + + + + + + Dyn + + + + + + + + Random + Slumpmässig + + + + Modules + Moduler + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + enable modul 1 + aktivera modul 1 + + + + enable modul 2 + aktivera modul 2 + + + + enable modul 3 + aktivera modul 3 + + + + enable modul 4 + aktivera modul 4 + + + + Preset + + + + + Name: + Namn: + + + + Comment: + Kommentar: + + + + Function + Funktion + + + + &New + &Ny + + + + create new preset + skapa ny preset + + + + &Delete + &Ta bort + + + + delete preset + ta bort preset + + + + &Dismiss + &Stäng + + + + PresetList + Presetlista + + + + MidiPortRouteBase + + Output + Utgång + + + Input + Ingång + + + + MidiRawDeviceDialogBase + + MusE: raw midi device configuration + MusE: raw midienhets-inställningar + + + Name + Namn + + + Type + Typ + + + Virt. Ports + Virt. port + + + Speed + Hastighet + + + Handshaking + Handskakning + + + Virt.Ports + Virt.port + + + Serial Port + Serieport + + + None + Ingen + + + &New + &Ny + + + &Delete + &Ta bort + + + &OK + &Ok + + + &Cancel + &Avbryt + + + + MidiStrip + + off + av + + + Pan/Balance + Pan/Balans + + + record + spela in + + + mute + tysta + + + pre fader listening + pre fader lyssning + + + Off + Av + + + Read + Läs + + + Write + Skriv + + + automation type + automationstyp + + + output routing + utgångsrouting + + + + MidiSyncConfig + + Port Number + Portnummer + + + Name of the midi device associated with this port number + Namn på midienhet associerad med detta portnummer + + + Device Name + Enhetsnamn + + + &No + &Nej + + + &Abort + &Avbryt + + + + MidiSyncConfigBase + + + MusE: Midi Sync + MusE: Midisync + + + Sync Mode + Synkläge + + + Master + Master + + + Slave + Slav + + + Sync Source + Sync-källa + + + accept MTC + acceptera MTC + + + accept Midi Clock + acceptera Midiclocka + + + accept MMC + acceptera MMC + + + all + alla + + + midi port + midiport + + + Midi Clock + Midiklocka + + + + Apply + Verkställ + + + + Ok + + + + + Cancel + Avbryt + + + + MTC + + + + + Type: + Typ: + + + + 24 + + + + + 25 + + + + + 30D + + + + + 30N + + + + + Offset: + Offset: + + + + hour + timma + + + + h + + + + + minute + minut + + + + m + + + + + second + sekund + + + + s + + + + + frame + + + + + f + + + + + subframe + + + + + Sync receiving and sending + + + + + Send and receive Jack transport + + + + + Send and receive Jack transport information, + including stop, start and position. + + + + + Use Jack transport + + + + + Make MusE the Jack transport Timebase Master + + + + + Make MusE the Jack transport Timebase Master. +Allows Jack to show time as + MusE Bars, Beats, and Ticks. +MusE will try to become master, but other + Jack clients can also take over later. +You can always click here again for Master. + + + + + Jack transport Timebase Master + + + + + Control MusE timing by external midi clock or MTC sync + + + + + When in slave mode, tempo is + controlled externally. +MusE can sync to midi clock, or MTC quarter frame sync. +Enabled inputs in the list will + be in effect (RMC, RMMC, RMTC). + + + + + Slave to external sync + + + + + Send start to first clock delay + + + + + Allows 'slow sync' devices time + to synchronize to MusE. This value is the + delay from sending start to sending + the first clock. + + + + + ms + + + + + Send sync delay + + + + + MidiTrackInfoBase + + + MusE: TrackInfo + MusE: Spårinfo + + + + output channel + utgångskanal + + + all midi events are send to this output channel + alla midihändelser skickas till denna utkanal + + + Track Info + Spårinfo + + + + + % + + + + Track Name + Spårnamn + + + + output port + utgångsport + + + + iR + + + + + + + + + + + off + av + + + change stereo position + byt stereoposition + + + select instrument patch + välj instrumentpatch + + + + Transp. + + + + Volume + Volym + + + + Channel Info + Kanalinfo + + + + Rec: + + + + + Prog + + + + + Vol + + + + + Pan + + + + + Delay + + + + + H-Bank + + + + + Compr. + + + + + L-Bank + + + + + Velocity + Hastighet + + + + Length + Längd + + + input ports + inputportar + + + input channels + inputkanaler + + + Events from all configured channels are +recorded to this track. +You can specify more than one channel for +recording: + 1 2 3 record from channel 1 2 and 3 + 1-3 same + 1-3 5 record from channel 1 2 3 and 5 + Händelser från alla konfigurerade kanaler +spelas in på detta spår +Du kan specificera mer än en kanal för +inspelning: + 1 2 3 spela in på kanal 1 2 och 3 + 1-3 samma + 1-3 5 spela in på kanal 1 2 3 och 5 + + + record: + spela in: + + + add settings to song + lägg inställningar till sång + + + Bank Select LSB + Välj bank LSB + + + Bank Select MSB + Välj bank MSB + + + + all midi events are sent to this output channel + + + + + Out ch + + + + + input routing + + + + Inputs + Ingångar + + + + output routing + utgångsrouting + + + + oR + + + + + input detect + + + + + Input detect indicator. Detects all note on-off, controller, aftertouch, + program change, and pitchbend (but not sysex or realtime) events + on the selected channels, on the selected midi ports. + + + + + W + + + + + Midi thru + + + + + Pass input events through ('thru') to output. + + + + + Select instrument patch + + + + + <unknown> + + + + + Add all settings to song + + + + + All + Alla + + + + Bank Select MSB. Double-click on/off. + + + + + Bank Select LSB. Double-click on/off. + + + + + Program. Double-click on/off. + + + + + Add bank + prog settings to song + + + + + Volume. Double-click on/off. + + + + + Add vol setting to song + + + + + + Change stereo position. Double-click on/off. + + + + + Add pan setting to song + + + + + MidiTransformDialogBase + + + MusE: Midi Transformator + + + + + &New + &Ny + + + + &Delete + &Ta bort + + + + &Apply + &Verkställ + + + + &OK + &Ok + + + + &Cancel + &Avbryt + + + + PresetList + Presetlista + + + + Processing + Bearbetar + + + + + Event Type + Händelsetyp + + + + + + + + Keep + Behåll + + + + + + + Fix + + + + + + Note + Not + + + + + Poly Pressure + + + + + + Control Change + + + + + + Aftertouch + + + + + + Pitch Bend + + + + + + NRPN + + + + + + RPN + + + + + + + + Plus + + + + + + + + Minus + + + + + + + + Multiply + Multiplicera + + + + + + + Divide + Dela + + + + + + Value 2 + Värde 2 + + + + + Invert + Invertera + + + + ScaleMap + Skalmap + + + + Flip + Vänd + + + + + Dyn + + + + + + Random + Slumpmässig + + + + + + Value 1 + Värde 1 + + + + + Length + Längd + + + + Position + + + + + Filter + Filter + + + + All + Alla + + + + + + + + Equal + Lika + + + + + + + + Unequal + Ej lika + + + + + + + Ignore + Ignorera + + + + + + + Higher + Högre + + + + + + + Lower + Lägre + + + + + + + Inside + Innanför + + + + + + + Outside + Utanför + + + + Bar Range + Takt Område + + + + Preset + + + + + Name: + Namn: + + + + Comment: + Kommentar: + + + + Range + Område + + + + process all events + bearbeta alla händelser + + + + selected tracks + valda spår + + + + inside loop + I loop + + + + Function + Funktion + + + + Select + Välj + + + + Quantize + Kvantisera + + + + Delete + Ta bort + + + + Transform + Transformera + + + + Insert + Sätt in + + + + Copy + Kopiera + + + + Extract + Extrahera + + + + Quantize Value + Kvantisera värde + + + + MidiTransformerDialog + + New + Ny + + + + MixdownFileDialog + + Wave Files (*.wav);;All Files (*) + Ljudfiler (*.wav);;Alla filer (*) + + + + MixdownFileDialogBase + + + MusE: Set Mixdown Wavefile + MusE: Välj mixdown-ljudfil + + + + &OK + &Ok + + + + &Cancel + &Avbryt + + + + File Path + Sökväg till fil + + + + Channel + Kanal + + + + Stereo + + + + + Mono + + + + + 5.1 + + + + + wav,16 Bit + + + + + wav, 24 Bit + + + + + wav, 32 Bit (float) + + + + + Format + + + + + Mixer + + MusE: Midi Mixer + MusE: Midimixer + + + Master + Master + + + + MoveBase + + + MusE: Move Notes + + + + + Range + Område + + + + All Events + Alla Händelser + + + + Selected Events + Valda Händelser + + + + Looped Events + Loopade Händelser + + + + Selected Looped + + + + + Value + Värde + + + + Move by + + + + + ticks + + + + + OK + + + + + Cancel + Avbryt + + + + MusE + + to import a audio file you have first to selecta audio track + för att importera en ljudfil måste du ha valt ett ljudspår + + + Import Wave File + Importera ljudfil + + + UndoRedo + ÅngraGörom + + + undo + ångra + + + Und&o + &Ångra + + + redo + gör om + + + Re&do + &Gör om + + + undo last change to song + ångra sista ändring i sång + + + redo last undo + gör om sista ångring + + + rewind + flytta tillbaka + + + Rewind + Flytta tillbaka + + + forward + frammåt + + + Forward + Frammåt + + + stop + stopp + + + Stop + Stopp + + + play + spela + + + Play + Spela + + + record + spela in + + + Record + Spela in + + + panic + panik + + + Panic + Panik + + + new + ny + + + &New + &Ny + + + open + öppna + + + &Open + &Öppna + + + save + spara + + + &Save + &Spara + + + pianoroll + pianorulle + + + Pianoroll + Pianorulle + + + score + partitur + + + Score + Partitur + + + marker + markör + + + Marker + Markör + + + File Buttons + Arkivknappar + + + &File + &Arkiv + + + Open &Recent + &Nyligen öppnade + + + Save &As + S&para som + + + Config &Printer + &Konfigurera skrivare + + + Import Midifile + Importera midifil + + + Export Midifile + Exportera midifil + + + &Quit + A&vsluta + + + &Edit + &Redigera + + + C&ut + Klipp &ut + + + &Copy + &Kopiera + + + &Paste + K&listra in + + + Delete Track + Ta bort spår + + + Add Track + Lägg Till Spår + + + Select &All + Markera &Allt + + + &Deselect All + A&vmarkera Allt + + + Invert &Selection + Invertera &Markering + + + &Inside Loop + &I Loop + + + &Outside Loop + &Utanför Loop + + + All &Parts on Track + Alla &Parter i spår + + + Select + Välj + + + Drums + Trummor + + + List + Lista + + + Graphic + Grafik + + + Mastertrack + Masterspår + + + Midi &Transform + Midi &Transform + + + Modify Gate Time + Modifiera Gate Time + + + Modify Velocity + Modifiera Velocity + + + Transpose + Transponera + + + Thin Out + Tunna ut + + + Erase Event + Ta bort Händelse + + + Note Shift + Shifta Not + + + Move Clock + Flytta Klocka + + + Copy Measure + Kopiera Takt + + + Erase Measure + Radera Takt + + + Delete Measure + Ta bort Takt + + + Create Measure + Skapa Takt + + + Mix Track + Mixa Spår + + + Midi + Midi + + + &Structure + &Struktur + + + Global Cut + Globalt klipp + + + Global Insert + Global insättning + + + Global Split + Global delning + + + Copy Range + Kopiera Område + + + Cut Events + Klipp ut Händelse + + + Transport Panel + Transportpanel + + + Bigtime Window + Bigtime fönster + + + Don't Follow Song + följ inte Sång + + + Follow Page + följ sida + + + Follow Continuous + följ kontinuerligt + + + &Config + &Inställningar + + + Global Settings + Globala Inställningar + + + Follow Song + följ sång + + + Metronome + Metronom + + + Midi Sync + Midi Synk + + + Midi File Config + Midi Filkonfigurering + + + Appearance Settings + Utseendeinställningar + + + Soft Synthesizer + Mjukvarusynthar + + + Midi Ports + Midiportar + + + Audio System + Audiosubsystem + + + Save Configuration + Spara Inställningar + + + Midi Remote Control + Midi-fjärrkontroll + + + Random Rhythm Generator + Slumprytmgenerator + + + Define Controller + Definiera Controller + + + Reset Instr. + Resetta Instr. + + + Local Off + lokal av + + + &Audio + L&jud + + + Bounce to Track + Bounce till Spår + + + Bounce to File + Bounce till Fil + + + &Help + &Hjälp + + + Browser + Läsare + + + &About + &Om + + + About&Qt + Om &Qt + + + What's &This + Vad är &Detta + + + Unknown File Format + Okänt filformat + + + none + inget + + + MusE: load project + MusE: Öppna projekt + + + MusE: Write File failed + MusE: Misslyckades med att skriva Fil + + + The current Project contains unsaved data +Save Current Project? + Det nuvarande Projektet innehåller osparade ändringar +Spara nuvarande Projekt? + + + &Nosave + &Inte spara + + + &Abort + &Avbryt + + + MusE: About + MusE: Om + + + MusE: Save As + MusE: Spara Som + + + MusE: Song: + MusE: Sång: + + + MusE: Import Midi + MusE: Importera Midi + + + MusE: Export Midi + MusE: Exportera Midi + + + reading midifile + + läser midifil + + + +failed + misslyckades + + + Nothing to edit + Inget att redigera + + + MusE: Copy Range + MusE: Kopiera område + + + not implemented + ej implementerat + + + MusE: Cut Events + MusE: Klipp ut Händelse + + + MusE: Bounce to Track + MusE: Bounce till Spår + + + more than one target track selected + mer än ett spår valt som mål + + + wrong target track type, +select wave track as target + fel spårtyp som mål +välj wave-spår som mål + + + no target track selected + inget spår valt som mål + + + The current Project contains unsaved data +Load overwrites current Project: +Save Current Project? + Det nuvarande Projektet innehåller osparade ändringar +Öppning skriver över nuvarande Projekt +Spara nuvarande Projekt? + + + &Overwrite + Skriv &över + + + no help found at: + ingen h jälp hittad vid: + + + MusE: Open Help + Muse: Arkiv hjälp + + + to import a audio file you have first to selecta wave track + för att importa en ljudfil så måste du första välja ett wavespår + + + Delete Selected Tracks + Ta bort valda spår + + + View + Vy + + + Restart Audio + Starta om Audio + + + Mixer Automation + Mixerautomation + + + Take Snapshot + Ta ett snapshot + + + Clear Automation Data + Rensa automationsdata + + + Settings + Inställningar + + + Configure Shortcuts + Konfigurera kortkommandon + + + Midi File Export + Midifilexport + + + Midi Ports / Soft Synth + Midiportar / Mjukvarusyntar + + + &MusE Homepage + M&usEs hemsida + + + &Report Bug... + &Rapportera fel... + + + &About MusE + &Om MusE + + + What's &This? + Vad är &detta? + + + Cannot read template + Kan inte läsa mall + + + File open error + Fel vid öppning av fil + + + File read error + Fel vid läsning av fil + + + MusE: load template + MusE: ladda mall + + + set left/right marker for bounce range + sätt vänster och höger markör till bounce-område + + + MusE: Bounce to File + MusE: Bounce till fil + + + no output track found + hittar inget utgångsspår + + + Add midi file to current project? + + Lägg midifil till nuvarande projekt? + + + &Add to Project + &Lägg till projekt + + + &Replace + &Ersätt + + + +failed: + +misslyckades: + + + Import Part + Importera Part + + + Marker View + Markörvy + + + &Skip + &Hoppa över + + + Import part is only valid for midi tracks! + Bara midispår kan importera parter! + + + MusE: load part + MusE: ladda part + + + No track selected for import + Inget spår valt för import + + + Wave + Wave + + + &Cancel + &Avbryt + + + New + Ny + + + &Yes + &Ja + + + &No + &Nej + + + + MusEApp::MusE + + Und&o + &Ångra + + + Re&do + &Gör om + + + undo last change to song + ångra sista ändring i sång + + + redo last undo + gör om sista ångring + + + Rewind + Flytta tillbaka + + + Forward + Frammåt + + + Stop + Stopp + + + Play + Spela + + + Record + Spela in + + + Panic + Panik + + + &New + &Ny + + + &Open + &Öppna + + + Open &Recent + &Nyligen öppnade + + + &Save + &Spara + + + Save &As + S&para som + + + Import Midifile + Importera midifil + + + Export Midifile + Exportera midifil + + + Import Part + Importera Part + + + Import Wave File + Importera ljudfil + + + &Quit + A&vsluta + + + Transport Panel + Transportpanel + + + Bigtime Window + Bigtime fönster + + + Marker View + Markörvy + + + Transpose + Transponera + + + Midi Remote Control + Midi-fjärrkontroll + + + Reset Instr. + Resetta Instr. + + + Local Off + lokal av + + + Bounce to Track + Bounce till Spår + + + Bounce to File + Bounce till Fil + + + Restart Audio + Starta om Audio + + + Mixer Automation + Mixerautomation + + + Take Snapshot + Ta ett snapshot + + + Clear Automation Data + Rensa automationsdata + + + Global Settings + Globala Inställningar + + + Configure Shortcuts + Konfigurera kortkommandon + + + Follow Song + följ sång + + + Don't Follow Song + följ inte Sång + + + Follow Page + följ sida + + + Follow Continuous + följ kontinuerligt + + + Metronome + Metronom + + + Midi Sync + Midi Synk + + + Appearance Settings + Utseendeinställningar + + + Midi Ports / Soft Synth + Midiportar / Mjukvarusyntar + + + &MusE Homepage + M&usEs hemsida + + + &Report Bug... + &Rapportera fel... + + + &About MusE + &Om MusE + + + &File + &Arkiv + + + &Audio + L&jud + + + &Help + &Hjälp + + + Cannot read template + Kan inte läsa mall + + + File open error + Fel vid öppning av fil + + + File read error + Fel vid läsning av fil + + + MusE: Song: + MusE: Sång: + + + MusE: load project + MusE: Öppna projekt + + + MusE: load template + MusE: ladda mall + + + MusE: Write File failed + MusE: Misslyckades med att skriva Fil + + + The current Project contains unsaved data +Save Current Project? + Det nuvarande Projektet innehåller osparade ändringar +Spara nuvarande Projekt? + + + &Cancel + &Avbryt + + + MusE: Save As + MusE: Spara Som + + + Nothing to edit + Inget att redigera + + + MusE: Bounce to Track + MusE: Bounce till Spår + + + MusE: Bounce to File + MusE: Bounce till fil + + + set left/right marker for bounce range + sätt vänster och höger markör till bounce-område + + + The current Project contains unsaved data +Load overwrites current Project: +Save Current Project? + Det nuvarande Projektet innehåller osparade ändringar +Öppning skriver över nuvarande Projekt +Spara nuvarande Projekt? + + + &Abort + &Avbryt + + + MusE: Export Midi + MusE: Exportera Midi + + + no help found at: + ingen h jälp hittad vid: + + + MusE: Open Help + Muse: Arkiv hjälp + + + MusE: Import Midi + MusE: Importera Midi + + + Add midi file to current project? + + Lägg midifil till nuvarande projekt? + + + &Add to Project + &Lägg till projekt + + + &Replace + &Ersätt + + + reading midifile + + läser midifil + + + +failed: + +misslyckades: + + + MusE: load part + MusE: ladda part + + + No track selected for import + Inget spår valt för import + + + &Yes + &Ja + + + &No + &Nej + + + + MusEArranger::Arranger + + Enable Recording + Slå på Inspelning + + + Solo Indicator + Solo-Indikator + + + Track Type + Spårtyp + + + Track Name + Spårnamn + + + Time Lock + Tidlås + + + Arranger + Arrangerare + + + Cursor + Markör + + + Snap + Fäst vid + + + Len + Längd + + + Type + Typ + + + midi song type + typ av midsång + + + Pitch + Tonhöjd + + + TrackInfo + Spårinfo + + + Track + Spår + + + + MusEArranger::ArrangerView + + panic + panik + + + C&ut + Klipp &ut + + + &Copy + &Kopiera + + + &Paste + K&listra in + + + Delete Selected Tracks + Ta bort valda spår + + + Add Track + Lägg Till Spår + + + Select + Välj + + + Select &All + Markera &Allt + + + &Deselect All + A&vmarkera Allt + + + Invert &Selection + Invertera &Markering + + + &Inside Loop + &I Loop + + + &Outside Loop + &Utanför Loop + + + All &Parts on Track + Alla &Parter i spår + + + Score + Partitur + + + Pianoroll + Pianorulle + + + Drums + Trummor + + + List + Lista + + + Wave + Wave + + + Mastertrack + Masterspår + + + Graphic + Grafik + + + Midi &Transform + Midi &Transform + + + Global Cut + Globalt klipp + + + Global Insert + Global insättning + + + Global Split + Global delning + + + &Edit + &Redigera + + + &Structure + &Struktur + + + Functions + Funktioner + + + Transpose + Transponera + + + New + Ny + + + + MusEArranger::PartCanvas + + Cannot copy/move/clone to different Track-Type + Kan inte kopiera/flytta/klona till annan Spårtyp + + + C&ut + Klipp &ut + + + &Copy + &Kopiera + + + rename + byt namn + + + color + färg + + + delete + ta bort + + + split + dela + + + glue + lim + + + de-clone + häv kloning + + + wave edit + wave redigering + + + MusE: save part + MusE: spara part + + + Cannot paste: multiple tracks selected + Kan inte klistra in: flera spår valda + + + Cannot paste: no track selected + Kan inte klistra in: inget spår valt + + + Can only paste to midi/drum track + Kan endast klistra in på midi/trummspår + + + Can only paste to wave track + Kan endast klistra till wavespår + + + Cannot paste: wrong data type + Kan inte klistra in: fel datatyp + + + + MusEArranger::TList + + MusE: bad trackname + MusE: dåligt spårnamn + + + please choose a unique track name + vänligen välj ett unikt spårnamn + + + Update drummap? + Updatera trum-map? + + + Do you want to use same port for all instruments in the drummap? + Vill du använda samma port för alla instrument i trum-map:en? + + + &Yes + &Ja + + + &No + &Nej + + + show gui + visa gui + + + Delete Track + Ta bort spår + + + Midi + Midi + + + Drum + Trumma + + + Do you want to use same port and channel for all instruments in the drummap? + Vill du använda samma port och kanal för alla instrument i trummap:en? + + + + MusECore::Song + + + Jack shutdown! + + + + + Jack has detected a performance problem which has lead to +MusE being disconnected. +This could happen due to a number of reasons: +- a performance issue with your particular setup. +- a bug in MusE (or possibly in another connected software). +- a random hiccup which might never occur again. +- jack was voluntary stopped by you or someone else +- jack crashed +If there is a persisting problem you are much welcome to discuss it +on the MusE mailinglist. +(there is information about joining the mailinglist on the MusE + homepage which is available through the help menu) + +To proceed check the status of Jack and try to restart it and then . +click on the Restart button. + + + + + + Automation: + + + + + previous event + + + + + next event + + + + + + set event + + + + + + add event + + + + + + erase event + + + + + erase range + + + + + clear automation + + + + + Clear all controller events? + + + + + &Ok + + + + + &Cancel + &Avbryt + + + + MusE - external script failed + + + + + MusE was unable to launch the script, error message: +%1 + + + + + MusEGui::Appearance + + + Main application font, and default font for any + controls not defined here. + + + + + For small controls like mixer strips. +Also timescale small numbers, arranger part name overlay, + and effects rack. + + + + + Midi track info panel. Transport controls. + + + + + Controller graph and S/X buttons. Large numbers for time + and tempo scale, and time signature. + + + + + Time scale markers. + + + + + List editor: meta event edit dialog multi-line edit box. + + + + + Mixer label font. Auto-font-sizing up to chosen font size. +Word-breaking but only with spaces. + + + + + Maximum mixer label auto-font-sizing font size. + + + + + Global opacity (opposite of transparency). + + + + + Standard + + + + + Custom + + + + + MusE: load image + MusE: ladda bild + + + + Select style sheet + + + + + Qt style sheets (*.qss) + + + + + MusEGui::Arranger + + + Enable Recording + Slå på Inspelning + + + + Mute/Off Indicator + + + + + Solo Indicator + Solo-Indikator + + + + Track Type + Spårtyp + + + + Track Name + Spårnamn + + + + Midi output channel number or audio channels + + + + + Midi output port or synth midi port + + + + + Time Lock + Tidlås + + + + Automation parameter selection + + + + + Notation clef + + + + + Enable recording. Click to toggle. + + + + + Mute indicator. Click to toggle. +Right-click to toggle track on/off. +Mute is designed for rapid, repeated action. +On/Off is not! + + + + + Solo indicator. Click to toggle. +Connected tracks are also 'phantom' soloed, + indicated by a dark square. + + + + + Track type. Right-click to change + midi and drum track types. + + + + + Track name. Double-click to edit. +Right-click for more options. + + + + + Midi/drum track: Output channel number. +Audio track: Channels. +Mid/right-click to change. + + + + + Midi/drum track: Output port. +Synth track: Assigned midi port. +Left-click to change. +Right-click to show GUI. + + + + + Time lock + + + + + Notation clef. Select this tracks notation clef. + + + + + Arranger + Arrangerare + + + + Cursor + Markör + + + + Off + Av + + + + Bar + Takt + + + + Snap + Fäst vid + + + + Len + Längd + + + + + song length - bars + + + + + Type + Typ + + + + NO + + + + + GM + + + + + GS + + + + + XG + + + + + + midi song type + typ av midsång + + + + Pitch + Tonhöjd + + + + midi pitch + + + + + global midi pitch shift + + + + + Tempo + + + + + + midi tempo + + + + + N + + + + + TrackInfo + Spårinfo + + + + R + + + + + M + + + + + S + + + + + C + + + + + Track + Spår + + + + Port + + + + + Ch + + + + + T + + + + + Automation + + + + + Clef + + + + + MusEGui::ArrangerView + + + MusE: Arranger + + + + + Undo/Redo tools + + + + + panic + panik + + + + transport + + + + + C&ut + Klipp &ut + + + + &Copy + &Kopiera + + + + Copy in range + + + + + &Paste + K&listra in + + + + Paste (show dialog) + + + + + Paste c&lone + + + + + Paste clone (show dialog) + + + + + &Insert Empty Measure + + + + + Delete Selected Tracks + Ta bort valda spår + + + + Shrink selected parts + + + + + Expand selected parts + + + + + Clean selected parts + + + + + Add Track + Lägg Till Spår + + + + Select + Välj + + + + Select &All + Markera &Allt + + + + &Deselect All + A&vmarkera Allt + + + + Invert &Selection + Invertera &Markering + + + + &Inside Loop + &I Loop + + + + &Outside Loop + &Utanför Loop + + + + All &Parts on Track + Alla &Parter i spår + + + + Score + Partitur + + + + all parts in one staff + + + + + one staff per part + + + + + New score window + + + + + Pianoroll + Pianorulle + + + + Drums + Trummor + + + + + List + Lista + + + + Wave + Wave + + + + Mastertrack + Masterspår + + + + Graphic + Grafik + + + + Midi &Transform + Midi &Transform + + + + Global Cut + Globalt klipp + + + + Global Insert + Global insättning + + + + Global Split + Global delning + + + + &Edit + &Redigera + + + + &Structure + &Struktur + + + + Functions + Funktioner + + + + &Quantize Notes + + + + + Change note &length + + + + + Change note &velocity + + + + + Crescendo/Decrescendo + + + + + Transpose + Transponera + + + + Erase Events (Not Parts) + + + + + Move Events (Not Parts) + + + + + Set Fixed Note Length + + + + + Delete Overlapping Notes + + + + + Legato + + + + + Window &Config + + + + + + New + Ny + + + + MusEGui::AudioMixerApp + + + &Create + &Skapa + + + + &View + + + + + Routing + + + + + Show Midi Tracks + + + + + Show Drum Tracks + + + + + Show Wave Tracks + + + + + Show Inputs + + + + + Show Outputs + - Name - Namn + + Show Groups + - Max Value - Max.värde + + Show Auxs + - Min Value - Min.värde + + Show Synthesizers + + + + MusEGui::AudioStrip - Type - Typ + + panorama + - &New - &Ny + + aux send level + aux send nivå - create new entry - skapa nytt inlägg + + Pan + - pressing the New button you create a new entry -in the MusE list of defined controllers - tryck på Ny knappen för att skapa nytt inlägg -i MusEs lista med definierade controllers + + 1/2 channel + 1/2 kanal - &Delete - &Ta bort + + Pre + - delete selected entry - ta bort valt inlägg + + pre fader - post fader + - &OK - &Ok + + dB + - &Cancel - &Avbryt + + record + - &Add - &Lägg till + + mute + tysta - Alt+A - Alt+L + + record downmix + spela in nermixning - Predefined Controller: - Fördefinieradecontrollers: + + + solo mode + - Managed Controller for Port - Hanterad controller för port + + off + av - Channel - Kanal + + iR + - This is a list of commonly used midi controllers. -Note that in MusE pitch and program changes are -handled like normal controllers. - Detta är en lista med vanligt använda midi-controllers. -Notera att tonhöjd- och program-change hanteras -som vanliga controllers i MusE. + + input routing + - Pitch - Tonhöjd + + oR + - Midi Controller Number High Byte - Midicontrollernummer, hög byte + + output routing + utgångsrouting - Midi Controller Number Low Byte - Midicontrollernummer, låg byte + + Off + Av - Range - Område + + Read + Läs - - - MidiFileConfig - Config exported Midi Files - Inställningar exporterade midifiler + + Touch + - MusE: Config exported Midi Files - MusE: Inställningar exporterade midifiler + + Write + Skriv - Enable extended smf format - Slå på utbyggt smf-format + + automation type + automationstyp - MidiFilterConfigBase + MusEGui::BigTime - - MusE: Midi Input Filter + + format display - - Record Filter - Inspelningsfilter + + bar + - - - Note On - Noteon + + beat + - - - Poly Pressure + + + tick - - - Controller - + + minute + minut - - - Program Change - + + second + sekund - - - After Touch + + + frame - - - Pitch Bend + + subframe - - - Sysex + + MusE: Bigtime + + + MusEGui::ClipListEdit - - Thru Filter - + + MusE: Clip List Editor + MusE: Clip-listredigerare - - Controller Filter + + Undo/Redo tools - - Channel Filter - + + panic + panik - - 14 + + transport - - 10 + + Window &Config + + + MusEGui::ComboQuant - - 6 - + + + + Off + Av + + + MusEGui::CtrlPanel - - 12 + + S - - 4 - + + select controller + välj controller - - 2 + + X - - 9 - + + remove panel + ta bort panel - - 8 + + manual adjust - - 3 + + double click on/off - - 13 - + + off + av - - 15 - + + + Velocity + Hastighet - - 16 - + + add new ... + lägg till ny... - - 7 + + + Instrument-defined - - 11 + + + Add ... - - 5 + + Others - - 1 + + Edit instrument ... - - - MidiInputTransformDialog - - - New - Ny + + Common Controls + - MidiInputTransformDialogBase + MusEGui::DrumEdit - - MusE: Midi Input Transformator - MusE: Midi inputtransformator + + + mute instrument + tysta instrument - - Filter - Filter + + + sound name + ljudnamn - - All - Alla + + + volume percent + - - - - - - Equal - Lika + + + quantisation + kvantisering - - - - - - Unequal - Ej lika + + + this input note triggers the sound + denna in-not triggar ljudet - - Note - Not + + + note length + notlängd - - - Poly Pressure + + + this is the note which is played - - - Control Change + + output channel (hold ctl to affect all rows) - - - Aftertouch + + output port (hold ctl to affect all rows) - - - Pitch Bend + + + shift + control key: draw velocity level 1 - - - NRPN + + + control key: draw velocity level 2 - - - RPN + + + shift key: draw velocity level 3 - - - - Value 2 - Värde 2 + + + draw velocity level 4 + - - - - - - Value 1 - Värde 1 + + output channel (ctl: affect all rows) + - - - Event Type - Händelsetyp + + output port (ctl: affect all rows) + - - - - - Ignore - Ignorera + + &File + &Arkiv - - - - - Higher - Högre + + Load Map + Ladda mappning - - - - - Lower - Lägre + + Save Map + Spara Mappning - - - - - Inside - Innanför + + Reset GM Map + - - - - - Outside - Utanför + + &Edit + &Redigera - - - Channel - Kanal + + Cut + Klipp ut - - - Port - + + Copy + Kopiera - - Processing - Bearbetar + + Copy events in range + - - - - - - Keep - Behåll + + Paste + Klistra in - - - - - - Fix + + Paste (with Dialog) - - - - - Plus + + Delete Events - - - - - Minus - + + &Select + &Välj - - - - - Multiply - Multiplicera + + Select All + Välj Allt - - - - - Divide - Dela + + Select None + Välj Ingen - - - - + Invert - Invertera + Invertera - - ScaleMap - Skalmap + + Inside Loop + I loop - - Flip - Vänd + + Outside Loop + Utanför loop - - - - - Dyn + + Previous Part - - - - - Random - Slumpmässig + + Next Part + - - Modules - Moduler + + Fu&nctions + - - 1 + + Re-order list - - 2 - + + Set Fixed Length + Sätt fast längd - - 3 - + + Modify Velocity + Modifiera Velocity - - 4 + + Crescendo/Decrescendo - - enable modul 1 - aktivera modul 1 + + Quantize + Kvantisera - - enable modul 2 - aktivera modul 2 + + Erase Event + Ta bort Händelse - - enable modul 3 - aktivera modul 3 + + Move Notes + - - enable modul 4 - aktivera modul 4 + + Delete Overlaps + - - Preset + + &Plugins - - Name: - Namn: + + Window &Config + - - Comment: - Kommentar: + + Drum tools + - - Function - Funktion + + Load Drummap + Ladda trummappning - - &New - &Ny + + Store Drummap + Spara trummappning - - create new preset - skapa ny preset + + Step Record + Stegvis inspelning - - &Delete - &Ta bort + + Midi Input + - - delete preset - ta bort preset + + cursor tools + - - &Dismiss - &Stäng + + Set step size for cursor edit + - - PresetList - Presetlista + + panic + panik - - - MidiPortRouteBase - Output - Utgång + + transport + - Input - Ingång + + ctrl + - - - MidiRawDeviceDialogBase - MusE: raw midi device configuration - MusE: raw midienhets-inställningar + + Add Controller View + - Name - Namn + + M + - Type - Typ + + Sound + Ljud - Virt. Ports - Virt. port + + Vol + - Speed - Hastighet + + QNT + - Handshaking - Handskakning + + E-Note + - Virt.Ports - Virt.port + + Len + Längd - Serial Port - Serieport + + A-Note + - None - Ingen + + Ch + - &New - &Ny + + Port + - &Delete - &Ta bort + + LV1 + - &OK - &Ok + + LV2 + - &Cancel - &Avbryt + + LV3 + - - - MidiStrip - off - av + + LV4 + - Pan/Balance - Pan/Balans + + Muse: Load Drum Map + Muse: Ladda trummappning - record - spela in + + MusE: Store Drum Map + MusE: Spara trummappning - mute - tysta + + Drum map + - pre fader listening - pre fader lyssning + + Reset the drum map with GM defaults? + + + + MusEGui::EditCAfterDialog - Off - Av + + MusE: Enter Channel Aftertouch + - Read - Läs + + Time Position + Tidsposition - Write - Skriv + + Pressure + Tryck + + + MusEGui::EditEventDialog - automation type - automationstyp + + Ok + - output routing - utgångsrouting + + Cancel + Avbryt - MidiSyncConfig + MusEGui::EditInstrument - Port Number - Portnummer + + + MusE: Create file failed + - Name of the midi device associated with this port number - Namn på midienhet associerad med detta portnummer + + MusE: Write File failed + MusE: Misslyckades med att skriva Fil - Device Name - Enhetsnamn + + + + + MusE: + - &No - &Nej + + + The user instrument directory +%1 +does not exist yet. Create it now? + + - &Abort - &Avbryt + + + (You can change the user instruments directory at Settings->Global Settings->Midi) + - - - MidiSyncConfigBase - - MusE: Midi Sync - MusE: Midisync + + + Unable to create user instrument directory '%1' + - Sync Mode - Synkläge + + + MusE: Save Instrument Definition + - Master - Master + + + Instrument Definition (*.idf) + - Slave - Slav + + + MusE: Save instrument as + - Sync Source - Sync-källa + + Enter a new unique instrument name: + - accept MTC - acceptera MTC + + The user instrument '%1' already exists. This will overwrite its .idf instrument file. +Are you sure? + - accept Midi Clock - acceptera Midiclocka + + MusE: Bad instrument name + - accept MMC - acceptera MMC + + Please choose a unique instrument name. +(The name might be used by a hidden instrument.) + - all - alla + + MusE: Bad patch name + - midi port - midiport + + Please choose a unique patch name + - Midi Clock - Midiklocka + + MusE: Bad patchgroup name + - - Apply - Verkställ + + Please choose a unique patchgroup name + - - Ok + + MusE: Bad controller name - - Cancel - Avbryt + + Please choose a unique controller name + + - MTC + MusE: Cannot add common controller - - Type: - Typ: + + A controller named '%1' already exists. + - - 24 + + A controller number %1 already exists. + - 25 + MusE + - 30D + The current Instrument contains unsaved data +Save Current Instrument? + - 30N - + &Save + &Spara - - Offset: - Offset: + + + &Nosave + &Inte spara - - hour - timma + + &Abort + &Avbryt + + + MusEGui::EditMetaDialog - - h - + + MusE: Enter Meta Event + MusE: Mata in Meta Händelse - - minute - minut + + Time Position + Tidsposition - - m + + Meta Type + Metatyp + + + + Enter Hex + + + MusEGui::EditPAfterDialog - - second - sekund + + MusE: Enter Poly Aftertouch + MusE: Mata in Poly Aftertouch - - s - + + Time Position + Tidsposition + + + + Pitch + Tonhöjd + + + + Pressure + Tryck + + + + MusEGui::EditToolBar + + + select Pointer Tool: +with the pointer tool you can: + select parts + move parts + copy parts + välj pek-verktyg: +med pekverktyget kan du: + välja parter + flytta parter + kopiera parter + + + + select Pencil Tool: +with the pencil tool you can: + create new parts + modify length of parts + välj Pennverktyg: +med pennverktyget kan du: + skapa parter + ändra längden på parter + + + + + select Delete Tool: +with the delete tool you can delete parts + välj Suddverktyg: +med suddverktyget kan du ta bort parter + + + + select Cut Tool: +with the cut tool you can split a part + välj Delningsverktyg: +med delningsverktyget kan du dela på parter + + + + select Glue Tool: +with the glue tool you can glue two parts + välj Limverktyg: +med limverktyget kan du limma ihop två parter + + + + select Score Tool: + + välj Partiturverktyg: + - - frame - + + select Quantize Tool: +insert display quantize event + välj Kvantiseringsverktyg: +sätt in kvantiseringshändelser - - f - + + select Drawing Tool + välj Ritverktyg + - - subframe - + + select Muting Tool: +click on part to mute/unmute + välj Tystningsverktyg: +klicka på en part för att Tysta/Avtysta - - Sync receiving and sending + + Manipulate automation - - Send and receive Jack transport + + Cursor tool - Send and receive Jack transport information, - including stop, start and position. - + pointer + pekare - - Use Jack transport - + + pencil + penna - - Make MusE the Jack transport Timebase Master - + + eraser + sudd - - Make MusE the Jack transport Timebase Master. -Allows Jack to show time as - MusE Bars, Beats, and Ticks. -MusE will try to become master, but other - Jack clients can also take over later. -You can always click here again for Master. - + + cutter + delare - - Jack transport Timebase Master - + + score + partitur - - Control MusE timing by external midi clock or MTC sync - + + glue + lim - - When in slave mode, tempo is - controlled externally. -MusE can sync to midi clock, or MTC quarter frame sync. -Enabled inputs in the list will - be in effect (RMC, RMMC, RMTC). - + + quantize + kvantisering - - Slave to external sync - + + draw + rita - - Send start to first clock delay - + + mute parts + tysta parter - - Allows 'slow sync' devices time - to synchronize to MusE. This value is the - delay from sending start to sending - the first clock. + + edit automation - - ms + + cursor - - Send sync delay - + + Edit Tools + Redigeringsverktyg - MidiTrackInfoBase + MusEGui::EffectRack - - MusE: TrackInfo - MusE: Spårinfo + + effect rack + effektrack - - output channel - utgångskanal + + new + ny - all midi events are send to this output channel - alla midihändelser skickas till denna utkanal + + change + ändra - Track Info - Spårinfo + + move up + flytta upp - - - % + + move down + flytta ner + + + + remove + ta bort + + + + bypass - Track Name - Spårnamn + + show gui + visa gui - - output port - utgångsport + + show native gui + - - iR + + save preset - - - - - - - - off - av + + MusE: Save Preset + - change stereo position - byt stereoposition + + Replace effect + Byt effekt - select instrument patch - välj instrumentpatch + + Do you really want to replace the effect %1? + Vill du verkligen ersätta effekten %1? + + + MusEGui::GlobalSettingsConfig - - Transp. + + Selects instruments directory + + + MusEGui::Header - Volume - Volym + + Track Info Columns + + + + + MusEGui::LMaster + + + MusE: Mastertrack + MusE: Masterspår - - Channel Info - Kanalinfo + + &Edit + &Redigera - - Rec: - + + Insert Tempo + Sätt in tempo - - Prog - + + Insert Signature + Sätt in signatur - - Vol + + Insert Key - - Pan - + + Edit Positon + Editera position - - Delay - + + Edit Value + Editera värde - - H-Bank - + + Delete Event + Ta bort event - - Compr. + + Window &Config - - L-Bank + + Undo/Redo tools - - Velocity - Hastighet + + Edit tools + - - Length - Längd + + Tempo + - input ports - inputportar + + Timesig + - input channels - inputkanaler + + Key + - Events from all configured channels are -recorded to this track. -You can specify more than one channel for -recording: - 1 2 3 record from channel 1 2 and 3 - 1-3 same - 1-3 5 record from channel 1 2 3 and 5 - Händelser från alla konfigurerade kanaler -spelas in på detta spår -Du kan specificera mer än en kanal för -inspelning: - 1 2 3 spela in på kanal 1 2 och 3 - 1-3 samma - 1-3 5 spela in på kanal 1 2 3 och 5 + + new tempo + nytt tempo - record: - spela in: + + new signature + ny signatur - add settings to song - lägg inställningar till sång + + new key + - Bank Select LSB - Välj bank LSB + + panic + panik - Bank Select MSB - Välj bank MSB + + transport + - - all midi events are sent to this output channel + + Meter - - Out ch - + + Time + Tid - - input routing - + + Type + Typ - Inputs - Ingångar + + Value + Värde - - output routing - utgångsrouting + + Reposition of the initial tempo and signature events is not allowed + Ompositionering av initalt tempo och/eller signaturevent är inte tillåtet - - oR + + MusE: List Editor - - input detect - + + Input error, conversion not OK or value out of range + Inmatningsfel, konvertering felaktig eller värde utanför område - - Input detect indicator. Detects all note on-off, controller, aftertouch, - program change, and pitchbend (but not sysex or realtime) events - on the selected channels, on the selected midi ports. - + + Reposition of tempo and signature events to start position is not allowed! + Ompositionering av tempo och/eller signaturevent till startposition är inte tillåtet + + + MusEGui::ListEdit - - W - + + insert Note + Mata in Not - - Midi thru - + + insert SysEx + Mata in SysEx - - Pass input events through ('thru') to output. - + + insert Ctrl + Mata in Ctrl - - Select instrument patch - + + insert Meta + Mata in Meta - - <unknown> - + + insert Channel Aftertouch + Mata in Aftertouch för kanal - - Add all settings to song - + + insert Poly Aftertouch + Mata in Poly Aftertouch - - All - Alla + + &Edit + &Redigera - - Bank Select MSB. Double-click on/off. - + + Cut + Klipp ut - - Bank Select LSB. Double-click on/off. - + + Copy + Kopiera - - Program. Double-click on/off. - + + Paste + Klistra in - - Add bank + prog settings to song + + Delete Events - - Volume. Double-click on/off. + + Window &Config - - Add vol setting to song + + Undo/Redo tools - - - Change stereo position. Double-click on/off. + + Insert tools - - Add pan setting to song + + panic + panik + + + + transport - - - MidiTransformDialogBase - - MusE: Midi Transformator + + Tick - - &New - &Ny + + Bar + Takt - - &Delete - &Ta bort + + Type + Typ - - &Apply - &Verkställ + + Ch + - - &OK - &Ok + + Val A + - - &Cancel - &Avbryt + + Val B + - - PresetList - Presetlista + + Val C + - - Processing - Bearbetar + + Len + Längd - - - Event Type - Händelsetyp + + Comment + Kommentar + + + MusEGui::MPConfig - - - - - - Keep - Behåll + + + Default input connections + - - - - - Fix + + + Are you sure you want to apply to all existing midi tracks now? - - - Note - Not + + + Default output connections + + + + + + Setting will apply to new midi tracks. +Do you want to apply to all existing midi tracks now? + - - - Poly Pressure + + MusE: bad device name - - - Control Change + + please choose a unique device name - - - Aftertouch + + + in - - - Pitch Bend + + + out - - - NRPN + + Show first aliases - - - RPN + + Show second aliases - - - - - Plus + + + Toggle all - - - - - Minus + + + Change all tracks now - - - - - Multiply - Multiplicera + + Create Jack device + - - - - - Divide - Dela + + + Port Number + Portnummer - - - - Value 2 - Värde 2 + + Enable gui + - - - Invert - Invertera + + Enable reading + - - ScaleMap - Skalmap + + Enable writing + - - Flip - Vänd + + Port instrument + - - - Dyn + + Midi device name. Click to edit (Jack) - - - Random - Slumpmässig + + Connections from Jack Midi outputs + - - - - Value 1 - Värde 1 + + Connections to Jack Midi inputs + - - - Length - Längd + + Auto-connect these channels to new midi tracks + - - Position + + Auto-connect new midi tracks to these channels - - Filter - Filter + + Auto-connect new midi tracks to this channel + - - All - Alla + + Device state + - - - - - - Equal - Lika + + Enable gui for device + - - - - - - Unequal - Ej lika + + Enable reading from device + - - - - - Ignore - Ignorera + + Enable writing to device + - - - - - Higher - Högre + + Name of the midi device associated with this port number. Click to edit Jack midi name. + - - - - - Lower - Lägre + + Instrument connected to port + Instrument kopplat till denna port - - - - - Inside - Innanför + + Connections from Jack Midi output ports + - - - - - Outside - Utanför + + Connections to Jack Midi input ports + - - Bar Range - Takt Område + + Auto-connect these channels, on this port, to new midi tracks. + - - Preset + + Connect new midi tracks to these channels, on this port. - - Name: - Namn: + + Connect new midi tracks to this channel, on this port. + - - Comment: - Kommentar: + + State: result of opening the device + Status: resultat av öppning av enhet - - Range - Område + + Port + - - process all events - bearbeta alla händelser + + GUI + - - selected tracks - valda spår + + I + - - inside loop - I loop + + O + - - Function - Funktion + + Instrument + Instrument - - - Select - Välj + + + Device Name + Enhetsnamn - - Quantize - Kvantisera + + In routes + - - Delete - Ta bort + + Out routes + - - Transform - Transformera + + Def in ch + - - Insert - Sätt in + + Def out ch + - - Copy - Kopiera + + State + Status - - Extract - Extrahera + + <unknown> + - - Quantize Value - Kvantisera värde + + + <none> + - MidiTransformerDialog + MusEGui::MTScale - - - New - Ny + + bar scale + - MixdownFileDialog + MusEGui::MTScaleFlo - Wave Files (*.wav);;All Files (*) - Ljudfiler (*.wav);;Alla filer (*) + + bar scale + - MixdownFileDialogBase + MusEGui::MarkerView - - MusE: Set Mixdown Wavefile - MusE: Välj mixdown-ljudfil + + MusE: Marker + MusE: Markör - - &OK - &Ok + + add marker + lägg till markör - - &Cancel - &Avbryt + + delete marker + ta bort markör - - File Path - Sökväg till fil + + &Edit + &Redigera - - Channel - Kanal + + Window &Config + - - Stereo + + Undo/Redo tools - - Mono - + + edit tools + redigeringsverktyg - 5.1 - + panic + panik - - wav,16 Bit + + transport - - wav, 24 Bit - + + Bar:Beat:Tick + Takt:Slag:Tick - - wav, 32 Bit (float) + + Hr:Mn:Sc:Fr:Sf - - Format - + + Lock + Lås - - - Mixer - MusE: Midi Mixer - MusE: Midimixer + + Text + Text - Master - Master + + Marker Properties + Markörinställningar - MoveBase - - - MusE: Move Notes - - - - - Range - Område - - - - All Events - Alla Händelser - - - - Selected Events - Valda Händelser - + MusEGui::MasterEdit - - Looped Events - Loopade Händelser + + MusE: Mastertrack + MusE: Masterspår - Selected Looped + Window &Config - - Value - Värde - - - - Move by + + Undo/Redo tools - - ticks - + + panic + panik - - OK + + transport - - Cancel - Avbryt + + Enable master + - - - MusE - to import a audio file you have first to selecta audio track - för att importera en ljudfil måste du ha valt ett ljudspår + + Enable + Aktivera - Import Wave File - Importera ljudfil + + Enable usage of master track + Aktivera användning av masterspår - UndoRedo - ÅngraGörom + + Info + - undo - ångra + + Cursor + Markör - Und&o - &Ångra + + time at cursor position + tid vid markörposition - redo - gör om + + tempo at cursor position + tempo vid markörposition - Re&do - &Gör om + + Off + Av - undo last change to song - ångra sista ändring i sång + + Bar + Takt - redo last undo - gör om sista ångring + + Snap + Fäst vid - rewind - flytta tillbaka + + CurPos + - Rewind - Flytta tillbaka + + tempo at current position + tempo vid nuvarande position - forward - frammåt + + time signature at current position + time signature vid nuvarande position + + + MusEGui::MidiInputTransformDialog - Forward - Frammåt + + + New + Ny + + + MusEGui::MidiStrip - stop - stopp + + + + off + av - Stop - Stopp + + + double click on/off + - play - spela + + VariationSend + - Play - Spela + + Var + - record - spela in + + ReverbSend + - Record - Spela in + + Rev + - panic - panik + + ChorusSend + - Panic - Panik + + Cho + - new - ny + + dB + - &New - &Ny + + Pan/Balance + Pan/Balans - open - öppna + + Pan + - &Open - &Öppna + + record + - save - spara + + mute + tysta - &Save - &Spara + + solo mode + - pianoroll - pianorulle + + iR + - Pianoroll - Pianorulle + + input routing + - score - partitur + + oR + - Score - Partitur + + output routing + utgångsrouting + + + MusEGui::MidiSyncConfig - marker - markör + + + Port Number + Portnummer - Marker - Markör + + + Name of the midi device associated with this port number + Namn på midienhet associerad med detta portnummer - File Buttons - Arkivknappar + + Midi clock input detected + - &File - &Arkiv + + + Midi tick input detected + - Open &Recent - &Nyligen öppnade + + Midi real time input detected + - Save &As - S&para som + + MMC input detected + - Config &Printer - &Konfigurera skrivare + + MTC input detected + - Import Midifile - Importera midifil + + Detected SMPTE format + - Export Midifile - Exportera midifil + + Receive id number. 127 = Global. Double click to edit. + - &Quit - A&vsluta + + Accept midi clock input + - &Edit - &Redigera + + Accept midi real time input + - C&ut - Klipp &ut + + Accept MMC input + - &Copy - &Kopiera + + Accept MTC input + - &Paste - K&listra in + + Receive start rewinds before playing + - Delete Track - Ta bort spår + + Transmit id number. 127 = Global. Double click to edit. + - Add Track - Lägg Till Spår + + Send midi clock output + - Select &All - Markera &Allt + + Send midi realtime output + - &Deselect All - A&vmarkera Allt + + + Send MMC output + - Invert &Selection - Invertera &Markering + + + Send MTC output + - &Inside Loop - &I Loop + + Midi clock input detected. +Current port actually used is red. +Click to force a port to be used. + - &Outside Loop - &Utanför Loop + + Midi realtime input detected, including + start/stop/continue, and song position. + - All &Parts on Track - Alla &Parter i spår + + MMC input detected, including stop/play/deferred play, and locate. + - Select - Välj + + MTC input detected, including forward quarter-frame sync and full-frame locate. +Current port actually used is red. Click to force a port to be current. + - Drums - Trummor + + Detected SMPTE format: 24fps, 25fps, 30fps drop frame, or 30fps non-drop +Detects format of MTC quarter and full frame, and MMC locate. + - List - Lista + + Receive id number. 127 = global receive all, even if not global. + - Graphic - Grafik + + Accept midi clock input. Only one input is used for clock. +Auto-acquire: If two or more port realtime inputs are enabled, + the first clock detected is used, until clock is lost, + then another can take over. Best if each turns off its clock + at stop, so MusE can re-acquire the clock from another port. +Click on detect indicator to force another. + - Mastertrack - Masterspår + + Accept midi realtime input, including + start/stop/continue, and song position. +Non-clock events (start,stop etc) are + accepted by ALL enabled ports. +This means you may have several master + devices connected, and muse will accept + input from them. + - Midi &Transform - Midi &Transform + + Accept MMC input, including stop/play/deferred play, and locate. + - Modify Gate Time - Modifiera Gate Time + + Accept MTC input, including forward quarter-frame sync and full-frame locate. +See 'rc' column for more help. + - Modify Velocity - Modifiera Velocity + + When start is received, rewind before playing. +Note: It may be impossible to rewind fast + enough to synchronize with the external device. + - Transpose - Transponera + + Transmit id number. 127 = global transmit to all. + - Thin Out - Tunna ut + + Send midi clock output. If 'Slave to External Sync' is chosen, + muse can re-transmit clock to any other chosen ports. + - Erase Event - Ta bort Händelse + + Send midi realtime output, including start/stop/continue, + and song position. If 'Slave to external sync' is chosen, + muse can re-transmit midi realtime input messages to any + other chosen ports. This means you may have several slave + devices connected, and muse can re-send realtime messages + to any or all of them. + - Note Shift - Shifta Not + + Port + - Move Clock - Flytta Klocka + + Device Name + Enhetsnamn - Copy Measure - Kopiera Takt + + c + - Erase Measure - Radera Takt + + k + - Delete Measure - Ta bort Takt + + r + - Create Measure - Skapa Takt + + m + - Mix Track - Mixa Spår + + t + - Midi - Midi + + type + - &Structure - &Struktur + + rid + - Global Cut - Globalt klipp + + rc + - Global Insert - Global insättning + + rr + - Global Split - Global delning + + rm + - Copy Range - Kopiera Område + + rt + - Cut Events - Klipp ut Händelse + + rw + - Transport Panel - Transportpanel + + tid + - Bigtime Window - Bigtime fönster + + tc + - Don't Follow Song - följ inte Sång + + tr + - Follow Page - följ sida + + tm + - Follow Continuous - följ kontinuerligt + + tt + - &Config - &Inställningar + + MusE + - Global Settings - Globala Inställningar + + Settings have changed +Apply sync settings? + - Follow Song - följ sång + + &Apply + - Metronome - Metronom + + &No + &Nej - Midi Sync - Midi Synk + + &Abort + &Avbryt - Midi File Config - Midi Filkonfigurering + + <none> + + + + MusEGui::MidiTrackInfo - Appearance Settings - Utseendeinställningar + + + <unknown> + + + + MusEGui::MidiTransformerDialog - Soft Synthesizer - Mjukvarusynthar + + + New + Ny + + + MusEGui::MixdownFileDialog - Midi Ports - Midiportar + + Wave Files (*.wav);;All Files (*) + Ljudfiler (*.wav);;Alla filer (*) + + + MusEGui::MusE - Audio System - Audiosubsystem + + + Failed to start audio! + - Save Configuration - Spara Inställningar + + Was not able to start audio, check if jack is running. + + - Midi Remote Control - Midi-fjärrkontroll + + Timeout waiting for audio to run. Check if jack is running. + + - Random Rhythm Generator - Slumprytmgenerator + + Und&o + &Ångra - Define Controller - Definiera Controller + + Re&do + &Gör om - Reset Instr. - Resetta Instr. + + undo last change to song + ångra sista ändring i sång - Local Off - lokal av + + redo last undo + gör om sista ångring - &Audio - L&jud + + Loop + - Bounce to Track - Bounce till Spår + + loop between left mark and right mark + loopa mellan vänster och höger markering - Bounce to File - Bounce till Fil + + Punchin + - &Help - &Hjälp + + record starts at left mark + inspelning börjar vid vänster markering - Browser - Läsare + + Punchout + - &About - &Om + + record stops at right mark + inspelning slutar vid höger markering - About&Qt - Om &Qt + + Start + - What's &This - Vad är &Detta + + rewind to start position + spola tillbaka till startposition - Unknown File Format - Okänt filformat + + Rewind + Flytta tillbaka - none - inget + + rewind current position + flytta markör bakåt - MusE: load project - MusE: Öppna projekt + + Forward + Frammåt - MusE: Write File failed - MusE: Misslyckades med att skriva Fil + + move current position + flytta markör - The current Project contains unsaved data -Save Current Project? - Det nuvarande Projektet innehåller osparade ändringar -Spara nuvarande Projekt? + + Stop + Stopp - &Nosave - &Inte spara + + stop sequencer + stoppa sequencer - &Abort - &Avbryt + + Play + Spela - MusE: About - MusE: Om + + start sequencer play + starta sequenceruppspelning - MusE: Save As - MusE: Spara Som + + Record + Spela in - MusE: Song: - MusE: Sång: + + to record press record and then play + för att spela in, tryck på record och sedan play - MusE: Import Midi - MusE: Importera Midi + + + Panic + Panik - MusE: Export Midi - MusE: Exportera Midi + + send note off to all midi channels + skicka note-off till alla midi kanaler - reading midifile - - läser midifil + + &New + &Ny - -failed - misslyckades + + + Create New Song + Ny sång - Nothing to edit - Inget att redigera + + &Open + &Öppna - MusE: Copy Range - MusE: Kopiera område + + + Click this button to open a <em>new song</em>.<br>You can also select the <b>Open command</b> from the File menu. + Klicka här för att öppna en <em>ny sång</em>.<br>Du kan också välja menyvalet <b>Öppna</b> från Arkivmenyn. - not implemented - ej implementerat + + Open &Recent + &Nyligen öppnade - MusE: Cut Events - MusE: Klipp ut Händelse + + + + &Save + &Spara - MusE: Bounce to Track - MusE: Bounce till Spår + + + Click this button to save the song you are editing. You will be prompted for a file name. +You can also select the Save command from the File menu. + Klicka här för att spara den sång du håller på att redigera. En förfrågan om filnamn kommer att ställas. +Du kan också välja menyalternativet Spara från Arkivmenyn. - more than one target track selected - mer än ett spår valt som mål + + Save &As + S&para som - wrong target track type, -select wave track as target - fel spårtyp som mål -välj wave-spår som mål + + Import Midifile + Importera midifil - no target track selected - inget spår valt som mål + + Export Midifile + Exportera midifil - The current Project contains unsaved data -Load overwrites current Project: -Save Current Project? - Det nuvarande Projektet innehåller osparade ändringar -Öppning skriver över nuvarande Projekt -Spara nuvarande Projekt? + + Import Part + Importera Part - &Overwrite - Skriv &över + + + Import Wave File + Importera ljudfil - no help found at: - ingen h jälp hittad vid: + + Find unused wave files + - MusE: Open Help - Muse: Arkiv hjälp + + &Quit + A&vsluta - to import a audio file you have first to selecta wave track - för att importa en ljudfil så måste du första välja ett wavespår + + Song Info + - Delete Selected Tracks - Ta bort valda spår + + Transport Panel + Transportpanel - View - Vy + + Bigtime Window + Bigtime fönster - Restart Audio - Starta om Audio + + Mixer A + - Mixer Automation - Mixerautomation + + Mixer B + - Take Snapshot - Ta ett snapshot + + Cliplist + - Clear Automation Data - Rensa automationsdata + + Marker View + Markörvy - Settings - Inställningar + + Arranger View + - Configure Shortcuts - Konfigurera kortkommandon + + Fullscreen + - Midi File Export - Midifilexport + + &Plugins + - Midi Ports / Soft Synth - Midiportar / Mjukvarusyntar + + Edit Instrument + - &MusE Homepage - M&usEs hemsida + + Input Plugins + - &Report Bug... - &Rapportera fel... + + Transpose + Transponera - &About MusE - &Om MusE + + Midi Input Transform + - What's &This? - Vad är &detta? + + Midi Input Filter + - Cannot read template - Kan inte läsa mall + + Midi Remote Control + Midi-fjärrkontroll - File open error - Fel vid öppning av fil + + Rhythm Generator + - File read error - Fel vid läsning av fil + + Reset Instr. + Resetta Instr. - MusE: load template - MusE: ladda mall + + Init Instr. + - set left/right marker for bounce range - sätt vänster och höger markör till bounce-område + + Local Off + lokal av - MusE: Bounce to File - MusE: Bounce till fil + + Bounce to Track + Bounce till Spår - no output track found - hittar inget utgångsspår + + Bounce to File + Bounce till Fil - Add midi file to current project? - - Lägg midifil till nuvarande projekt? + + Restart Audio + Starta om Audio - &Add to Project - &Lägg till projekt + + Mixer Automation + Mixerautomation - &Replace - &Ersätt + + Take Snapshot + Ta ett snapshot - -failed: - -misslyckades: + + Clear Automation Data + Rensa automationsdata - Import Part - Importera Part + + Cascade + - Marker View - Markörvy + + Tile + - &Skip - &Hoppa över + + In rows + - Import part is only valid for midi tracks! - Bara midispår kan importera parter! + + In columns + - MusE: load part - MusE: ladda part + + Global Settings + Globala Inställningar - No track selected for import - Inget spår valt för import + + Configure Shortcuts + Konfigurera kortkommandon - Wave - Wave + + Follow Song + följ sång - &Cancel - &Avbryt + + Don't Follow Song + följ inte Sång - New - Ny + + Follow Page + följ sida - &Yes - &Ja + + Follow Continuous + följ kontinuerligt - &No - &Nej + + Metronome + Metronom - - - MusEApp::MusE - - - Failed to start audio! - + + Midi Sync + Midi Synk - - Was not able to start audio, check if jack is running. - + + Midi File Import/Export - - Timeout waiting for audio to run. Check if jack is running. - - + + Appearance Settings + Utseendeinställningar - - Und&o - &Ångra + + Midi Ports / Soft Synth + Midiportar / Mjukvarusyntar - - Re&do - &Gör om + + &Manual + - - undo last change to song - ångra sista ändring i sång + + &MusE Homepage + M&usEs hemsida - redo last undo - gör om sista ångring + &Report Bug... + &Rapportera fel... - - Loop - + + &About MusE + &Om MusE - - Punchin + + File Buttons - Punchout + Undo/Redo - - Start + + Transport - - Rewind - Flytta tillbaka + + &File + &Arkiv - - Forward - Frammåt + + &View + - - Stop - Stopp + + &Midi + - - Play - Spela + + &Audio + L&jud - - Record - Spela in + + A&utomation + - - - Panic - Panik + + &Windows + - - &New - &Ny + + MusE Se&ttings + - - &Open - &Öppna + + &Help + &Hjälp - - Open &Recent - &Nyligen öppnade + + Cannot read template + Kan inte läsa mall - - - - &Save - &Spara + + File open error + Fel vid öppning av fil - - Save &As - S&para som + + File read error + Fel vid läsning av fil - - Import Midifile - Importera midifil + + Unknown File Format: %1 + - - Export Midifile - Exportera midifil + + + + MusE: Song: %1 + - - Import Part - Importera Part + + MusE: load project + MusE: Öppna projekt - - - Import Wave File - Importera ljudfil + + MusE: load template + MusE: ladda mall - - Find unused wave files - + + MusE: Write File failed + MusE: Misslyckades med att skriva Fil - - &Quit - A&vsluta + + The current Project contains unsaved data +Save Current Project? + Det nuvarande Projektet innehåller osparade ändringar +Spara nuvarande Projekt? - Song Info + + S&kip - - Transport Panel - Transportpanel + + &Cancel + &Avbryt - - Bigtime Window - Bigtime fönster + + + MusE: Save As + MusE: Spara Som - - Mixer A + + + Nothing to edit + Inget att redigera + + + + + + + + MusE: Bounce to Track + MusE: Bounce till Spår + + + + No wave tracks found - - Mixer B + + + No audio output tracks found - - Cliplist + + Select one audio output track, +and one target wave track - - Marker View - Markörvy + + Select one target wave track + - - Arranger View + + Select one target wave track, +and one audio output track - - Fullscreen - + + + MusE: Bounce to File + MusE: Bounce till fil - - &Plugins + + Select one audio output track - - Edit Instrument + + MusE: Bounce - Input Plugins - + set left/right marker for bounce range + sätt vänster och höger markör till bounce-område - - Transpose - Transponera + + The current Project contains unsaved data +Load overwrites current Project: +Save Current Project? + Det nuvarande Projektet innehåller osparade ändringar +Öppning skriver över nuvarande Projekt +Spara nuvarande Projekt? - - Midi Input Transform - + + + &Abort + &Avbryt - - Midi Input Filter - + + MusE: Export Midi + MusE: Exportera Midi - - Midi Remote Control - Midi-fjärrkontroll + + no help found at: + ingen h jälp hittad vid: - Rhythm Generator - + MusE: Open Help + Muse: Arkiv hjälp - - Reset Instr. - Resetta Instr. + + Unable to launch help + - Init Instr. + For some reason MusE has to launch the default +browser on your machine. - - Local Off - lokal av + + MusE: Import Midi + MusE: Importera Midi - - Bounce to Track - Bounce till Spår + + Add midi file to current project? + + Lägg midifil till nuvarande projekt? - Bounce to File - Bounce till Fil + &Add to Project + &Lägg till projekt - Restart Audio - Starta om Audio + &Replace + &Ersätt - - Mixer Automation - Mixerautomation + + reading midifile + + läser midifil - Take Snapshot - Ta ett snapshot + +failed: + +misslyckades: - - Clear Automation Data - Rensa automationsdata + + Import part is only valid for midi and wave tracks! + - - Cascade - + + MusE: load part + MusE: ladda part + + No track selected for import + Inget spår valt för import + + + + %n part(s) out of %1 could not be imported. +Likely the selected track is the wrong type. + + + + + - Tile - + %n part(s) could not be imported. +Likely the selected track is the wrong type. + + + - - In rows + + to import an audio file you have first to selecta wave track - - In columns + + Import Wavefile - - Global Settings - Globala Inställningar + + This wave file has a samplerate of %1, +as opposed to current setting %2. +Do you still want to import it? + - - Configure Shortcuts - Konfigurera kortkommandon + + &Yes + &Ja - - Follow Song - följ sång + + &No + &Nej + + + MusEGui::NoteInfo - - Don't Follow Song - följ inte Sång + + Note Info + Notinfo - - Follow Page - följ sida + + Start + - - Follow Continuous - följ kontinuerligt + + Len + Längd - - Metronome - Metronom + + Pitch + Tonhöjd - - Midi Sync - Midi Synk + + Velo On + - - Midi File Import/Export + + Velo Off + + + MusEGui::PartCanvas - - Appearance Settings - Utseendeinställningar + + Cannot copy/move/clone to different Track-Type + Kan inte kopiera/flytta/klona till annan Spårtyp - - Midi Ports / Soft Synth - Midiportar / Mjukvarusyntar + + C&ut + Klipp &ut - - &Manual - + + &Copy + &Kopiera - - &MusE Homepage - M&usEs hemsida + + s&elect + - - &Report Bug... - &Rapportera fel... + + clones + - - &About MusE - &Om MusE + + rename + byt namn - - File Buttons - + + color + färg - - Undo/Redo - + + delete + ta bort - - Transport - + + split + dela - - &File - &Arkiv + + glue + lim - - &View - + + de-clone + häv kloning - - &Midi + + + + save part to disk - - &Audio - L&jud + + wave edit + wave redigering - - A&utomation + + file info - - &Windows - + + MusE: save part + MusE: spara part - - MusE Se&ttings + + Part name: %1 +Files: - - - &Help - &Hjälp + + + %n part(s) out of %1 could not be pasted. +Likely the selected track is the wrong type. + + + - - - Cannot read template - Kan inte läsa mall + + + %n part(s) could not be pasted. +Likely the selected track is the wrong type. + + + - - File open error - Fel vid öppning av fil + + Cannot paste: multiple tracks selected + Kan inte klistra in: flera spår valda - - File read error - Fel vid läsning av fil + + Cannot paste: no track selected + Kan inte klistra in: inget spår valt - - Unknown File Format: - + + Can only paste to midi/drum track + Kan endast klistra in på midi/trummspår - - - - MusE: Song: - MusE: Sång: + + Can only paste to wave track + Kan endast klistra till wavespår - - MusE: load project - MusE: Öppna projekt + + Can only paste to midi or wave track + - - MusE: load template - MusE: ladda mall + + Cannot paste: wrong data type + Kan inte klistra in: fel datatyp - - - MusE: Write File failed - MusE: Misslyckades med att skriva Fil + + + MusEGui::PasteDialog + + + %n quarter(s) + + + - - The current Project contains unsaved data -Save Current Project? - Det nuvarande Projektet innehåller osparade ändringar -Spara nuvarande Projekt? + + %1 quarter + for floating-point arguments like 1.5 + - - S&kip + %1 quarters + for floating-point arguments like 1.5 + + + MusEGui::PasteEventsDialog + + + %n quarter(s) + + + + - - &Cancel - &Avbryt + + %1 quarter + for floating-point arguments like 1.5 + - - - MusE: Save As - MusE: Spara Som + + %1 quarters + for floating-point arguments like 1.5 + + + + MusEGui::PianoRoll - - - Nothing to edit - Inget att redigera + + &Edit + &Redigera - - - - - - MusE: Bounce to Track - MusE: Bounce till Spår + + C&ut + Klipp &ut - - No wave tracks found - + + &Copy + &Kopiera - - - No audio output tracks found + + Copy events in range - - Select one audio output track, -and one target wave track - + + &Paste + K&listra in - - Select one target wave track + + Paste (with dialog) - - Select one target wave track, -and one audio output track + + Delete &Events - - - MusE: Bounce to File - MusE: Bounce till fil + + &Select + &Välj - - Select one audio output track - + + Select &All + Markera &Allt - - MusE: Bounce - + + &Deselect All + A&vmarkera Allt - - set left/right marker for bounce range - sätt vänster och höger markör till bounce-område + + Invert &Selection + Invertera &Markering - - The current Project contains unsaved data -Load overwrites current Project: -Save Current Project? - Det nuvarande Projektet innehåller osparade ändringar -Öppning skriver över nuvarande Projekt -Spara nuvarande Projekt? + + &Inside Loop + &I Loop - - - &Abort - &Avbryt + + &Outside Loop + &Utanför Loop - - MusE: Export Midi - MusE: Exportera Midi + + &Previous Part + - - no help found at: - ingen h jälp hittad vid: + + &Next Part + - - MusE: Open Help - Muse: Arkiv hjälp + + Fu&nctions + - - Unable to launch help - + + Quantize + Kvantisera - - For some reason MusE has to launch the default -browser on your machine. + + Modify Note Length - - MusE: Import Midi - MusE: Importera Midi + + Modify Velocity + Modifiera Velocity - - Add midi file to current project? - - Lägg midifil till nuvarande projekt? + + Crescendo/Decrescendo + - - &Add to Project - &Lägg till projekt + + Transpose + Transponera - - &Replace - &Ersätt + + Erase Events + - - reading midifile - - läser midifil + + Move Notes + - - -failed: - -misslyckades: + + Set Fixed Length + Sätt fast längd - - Import part is only valid for midi and wave tracks! + + Delete Overlaps - - MusE: load part - MusE: ladda part + + Legato + - - No track selected for import - Inget spår valt för import + + &Plugins + - - out of + + Window &Config - - parts + + &Event Color - - part + + &Blue - - could not be imported. -Likely the track is the wrong type. + + &Pitch colors - - to import an audio file you have first to selecta wave track + + &Velocity colors - - Import Wavefile + + Pianoroll tools - - This wave file has a samplerate of %1, -as opposed to current setting %2. -Do you still want to import it? - + + Step Record + Stegvis inspelning - - &Yes - &Ja + + Midi Input + - - &No - &Nej + + Play Events + Spela Händelser - - - MusEArranger::Arranger - - Enable Recording - Slå på Inspelning + + panic + panik - - Mute/Off Indicator + + transport - - Solo Indicator - Solo-Indikator + + ctrl + - - Track Type - Spårtyp + + Add Controller View + + + + MusEGui::PluginDialog - - Track Name - Spårnamn + + MusE: select plugin + MusE: välj plugin - - Midi output channel number or audio channels + + Lib - Midi output port or synth midi port - + Label + Etikett - Time Lock - Tidlås + Name + Namn - Automation parameter selection + AI - Notation clef + AO - - Enable recording. Click to toggle. + + CI - Mute indicator. Click to toggle. -Right-click to toggle track on/off. -Mute is designed for rapid, repeated action. -On/Off is not! + CO - Solo indicator. Click to toggle. -Connected tracks are also 'phantom' soloed, - indicated by a dark square. + IP - Track type. Right-click to change - midi and drum track types. + id - Track name. Double-click to edit. -Right-click for more options. - + Maker + Upphovsman - Midi/drum track: Output channel number. -Audio track: Channels. -Mid/right-click to change. + Copyright - - Midi/drum track: Output port. -Synth track: Assigned midi port. -Left-click to change. -Right-click to show GUI. + + Ok - - Time lock + + Cancel + Avbryt + + + + Mono and Stereo - - Notation clef. Select this tracks notation clef. + + Stereo - - Arranger - Arrangerare + + Mono + - - Cursor - Markör + + Show All + - - Snap - Fäst vid + + Select which types of plugins should be visible in the list.<br>Note that using mono plugins on stereo tracks is not a problem, two will be used in parallell.<br>Also beware that the 'all' alternative includes plugins that probably not are usable by MusE. + Välj vilka typer av plugins som skall vara synliga i listan.<br>Notera att användning av mono plugins på ett stereospår inte är något problem, två instanser kommer<br> att att användas parallellt. Var också medveten om att 'alla' alternativet inkluderar plugins som MusE antagligen inte kan använda. - - Len - Längd + + Search in 'Label' and 'Name': + + + + MusEGui::PluginGui - - - song length - bars + + File Buttons + + + Load Preset + Öppna Preset + - Type - Typ + Save Preset + Spara Preset - - NO - + + + bypass plugin + koppla ur plugin - - GM - + + MusE: load preset + MusE: öppna preset - - GS + + Error reading preset. Might not be right type for this plugin - - XG - + + MusE: save preset + MusE: spara preset + + + MusEGui::RoutePopupMenu + - - midi song type - typ av midsång + + + + + + + Channel + Kanal - - Pitch - Tonhöjd + + + + Soloing chain + - - midi pitch + + + Audio returns - - - global midi pitch shift + + + Warning: No input devices! - - Tempo + + Open midi config... - - - midi tempo + + + <none> - - N + + Toggle all - - TrackInfo - Spårinfo + + More... + - - R + + Audio sends - - M + + Midi port sends + + + MusEGui::ScoreCanvas - - S + + Treble - - C + + Bass - - Track - Spår + + Grand Staff + - - Port + + Remove staff - - Ch + + Ambiguous part - - T + + There are two or more possible parts you could add the note to, but none matches the selected part. Please select the destination part by clicking on any note belonging to it and try again, or add a new stave containing only the destination part. - - Automation + + No part - - Clef + + There are no parts you could add the note to. - MusEArranger::ArrangerView + MusEGui::ScoreEdit - - MusE: Arranger + + Undo/Redo tools - - Undo/Redo tools + + Step recording tools - + + Step Record + Stegvis inspelning + + + panic panik @@ -10704,5732 +13659,5670 @@ Right-click to show GUI. - - C&ut - Klipp &ut + + Note settings + - - &Copy - &Kopiera + + Note length: + - - Copy in range + + last + - &Paste - K&listra in + + Apply to new notes: + - - Paste (show dialog) + + + Apply to selected notes: - - Paste c&lone + + Velocity: - - Paste clone (show dialog) + + Off-Velocity: - - &Insert Empty Measure + + Quantisation settings - - Delete Selected Tracks - Ta bort valda spår + + Quantisation: + - - Shrink selected parts + + Pixels per whole: - - Expand selected parts + + &Edit + &Redigera + + + + C&ut + Klipp &ut + + + + &Copy + &Kopiera + + + + Copy events in range - - Clean selected parts + + &Paste + K&listra in + + + + Paste (with dialog) - - Add Track - Lägg Till Spår + + Delete &Events + - - Select - Välj + + &Select + &Välj - + Select &All Markera &Allt - + &Deselect All A&vmarkera Allt - + Invert &Selection Invertera &Markering - + &Inside Loop &I Loop - + &Outside Loop &Utanför Loop - - All &Parts on Track - Alla &Parter i spår - - - - Score - Partitur + + Fu&nctions + - - all parts in one staff + + &Quantize - one staff per part + Change note &length - - New score window + + Change note &velocity - Pianoroll - Pianorulle + Crescendo/Decrescendo + - Drums - Trummor + Transpose + Transponera - - List - Lista - - - - Wave - Wave - - - - Mastertrack - Masterspår + Erase Events + - - Graphic - Grafik + + Move Notes + - - Midi &Transform - Midi &Transform + + Set Fixed Length + Sätt fast längd - - Global Cut - Globalt klipp + + Delete Overlaps + - Global Insert - Global insättning + Legato + - - Global Split - Global delning + + Window &Config + - - &Edit - &Redigera + + Note head &colors + - - &Structure - &Struktur + + &Black + - - Functions - Funktioner + + &Velocity + - &Quantize Notes + &Part - - Change note &length + + Set up &preamble - Change note &velocity + Display &key signature - Crescendo/Decrescendo + Display &time signature - - Transpose - Transponera + + Set Score &name + + - Erase Events (Not Parts) + Enter the new score title - - Move Events (Not Parts) + + Error - - Set Fixed Note Length + + Changing score title failed: +the selected title is not unique + + + MusEGui::ScrollScale + + + next page + nästa sida + - Delete Overlapping Notes - + previous page + förra sidan - Legato + current page number + nuvarande sidnummer + + + + MusEGui::ShortcutCaptureDialog + + + Ok - - Window &Config + + Cancel + Avbryt + + + + Shortcut conflicts with %1 - - - New - Ny + + Undefined + Odefinierad - MusEArranger::PartCanvas + MusEGui::SigScale - - Cannot copy/move/clone to different Track-Type - Kan inte kopiera/flytta/klona till annan Spårtyp + + signature scale + signaturskala + + + MusEGui::TList - - C&ut - Klipp &ut + + <none> + - - &Copy - &Kopiera + + no clef + - - s&elect + + Treble - - clones + + Bass - - rename - byt namn + + Grand + - - color - färg + + MusE: bad trackname + MusE: dåligt spårnamn - - delete - ta bort + + please choose a unique track name + vänligen välj ett unikt spårnamn - - split - dela + + + Update drummap? + Updatera trum-map? - - glue - lim + + Do you want to use same port for all instruments in the drummap? + Vill du använda samma port för alla instrument i trum-map:en? - - de-clone - häv kloning + + + &Yes + &Ja - - - - save part to disk - + + + &No + &Nej - - wave edit - wave redigering + + + show gui + visa gui - - file info + + + show native gui - - MusE: save part - MusE: spara part + + Treble clef + - - Part name + + Bass clef - - Files + + Grand Staff - - out of + + Viewable automation + + + Delete Track + Ta bort spår + - parts + Track Comment - - part + + Insert Track - - could not be pasted. -Likely the selected track is the wrong type. - + + Midi + Midi - - Cannot paste: multiple tracks selected - Kan inte klistra in: flera spår valda + + Drum + Trumma - - Cannot paste: no track selected - Kan inte klistra in: inget spår valt + + Do you want to use same port and channel for all instruments in the drummap? + Vill du använda samma port och kanal för alla instrument i trummap:en? + + + MusEGui::TempoSig - - Can only paste to midi/drum track - Kan endast klistra in på midi/trummspår + + Tempo/Sig + + + + MusEGui::Toolbar1 - - Can only paste to wave track - Kan endast klistra till wavespår + + + + Off + Av - - Can only paste to midi or wave track + + Solo - Cannot paste: wrong data type - Kan inte klistra in: fel datatyp + Cursor + Markör + + + + Snap + Fäst vid - MusEArranger::TList + MusEGui::TopWin - - <none> + + As subwindow - - no clef + + Shares tools and menu + + + + + Fullscreen + + + + + Piano roll + + + + + List editor + + + + + Drum editor + + + + + Master track editor + + + + + Master track list editor + + + + + Wave editor - - Treble + + Clip list - - Bass + + Marker view - - Grand + + Score editor - - MusE: bad trackname - MusE: dåligt spårnamn + + Arranger + Arrangerare - please choose a unique track name - vänligen välj ett unikt spårnamn + <unknown toplevel type> + + + + MusEGui::TrackComment - - - Update drummap? - Updatera trum-map? + + MusE: Track Comment + MusE: Spårkommentar - - Do you want to use same port for all instruments in the drummap? - Vill du använda samma port för alla instrument i trum-map:en? + + Track Comment: + Spårkommentar: + + + + MusEGui::Transport + + + Overdub + - - &Yes - &Ja + + Replace + Ersätt - - - &No - &Nej + + Rec Mode + Recläge - - - show gui - visa gui + + Normal + - - - show native gui + + Mix - - Treble clef + + Cycle Rec - - Bass clef + + punchin - Grand Staff + loop - - Viewable automation + + punchout - - Delete Track - Ta bort spår + + + Punch In + - - Track Comment + + + Loop + - Insert Track + Punch Out - - Midi - Midi + + Left Mark + Vänster Markering - - Drum - Trumma + + Right Mark + Höger Markering - - Do you want to use same port and channel for all instruments in the drummap? - Vill du använda samma port och kanal för alla instrument i trummap:en? - - - - MusEDialog::PasteDialog - - - %n quarter(s) - - - + + rewind to start + flytta tillbaka till början - - quarter - + + Click this button to rewind to start position + Klicka här för att spola tillbaks till början - quarters - - - - - MusEDialog::PasteEventsDialog - - - %n quarter(s) - - - + rewind + flytta tillbaka - - quarter - + + Click this button to rewind + Klicka här för att flytta markören bakåt - quarters - + forward + frammåt - - - MusEMixer::AudioMixerApp - - &Create - &Skapa + + Click this button to forward current play position + Klicka här för att flytta markören framåt - - &View - + + stop + stopp - - Routing - + + Click this button to stop playback + Klicka här för att stoppa uppspelning - - Show Midi Tracks - + + play + spela - Show Drum Tracks + Click this button to start playback + Klicka här för att starta uppspelning + + + + record - Show Wave Tracks - + Click this button to enable recording + Klicka här för att spela in - - Show Inputs + + AC - - Show Outputs - + + quantize during record + kvantisera under inspelning - - Show Groups + + Click - - Show Auxs - + + metronom click on/off + metronomklick av/på - - Show Synthesizers - + + Sync + Synk - - - MusEMixer::AudioStrip - - panorama - + + external sync on/off + externsynk. av/på - aux send level - aux send nivå + Jack + - - Pan + + Jack transport sync on/off - - 1/2 channel - 1/2 kanal + + Master + Master - - Pre + + use master track + + + MusEGui::VisibleTracks - - pre fader - post fader + + + Show wave tracks - - dB + + + Show group tracks - - record + + + Show aux tracks - - mute - tysta - - - - record downmix - spela in nermixning + + + Show input tracks + - - - solo mode + + + Show output tracks - - off - av + + + Show midi tracks + - - iR + + + Show synth tracks - - input routing + + Visible track types + + + MusEGui::WaveEdit - - oR - + + &Edit + &Redigera - output routing - utgångsrouting + Func&tions + Funk&tioner - - Off - Av + + &Gain + - - Read - Läs + + Other + Andra - - Touch - + + &Copy + &Kopiera - - Write - Skriv + + C&ut + Klipp &ut - - automation type - automationstyp + + &Paste + K&listra in - - - MusEMixer::EffectRack - - effect rack - effektrack + + Edit in E&xternal Editor + Editera i e&xtern redigerare - - new - ny + + Mute Selection + Tysta markering - - change - ändra + + Normalize Selection + Normalisera markering - - move up - flytta upp + + Fade In Selection + Tona in markering - - move down - flytta ner + + Fade Out Selection + Tona ut Markering - - remove - ta bort + + Reverse Selection + Reversera markering - - bypass - + + Select + Välj - - show gui - visa gui + + Select &All + Markera &Allt - - show native gui - + + &Deselect All + A&vmarkera Allt - - save preset + + Window &Config - - MusE: Save Preset + + Wave edit tools - - Replace effect - Byt effekt - - - - Do you really want to replace the effect %1? - Vill du verkligen ersätta effekten %1? + + transport + - - - MusEMixer::MidiStrip - - - - off - av + + WaveEdit tools + - - - double click on/off + + Solo - - VariationSend - + + Cursor + Markör + + + MusEGui::WaveView - - Var - + + MusE - external editor failed + MusE - fel med extern redigerare - ReverbSend - + MusE was unable to launch the external editor +check if the editor setting in: +Global Settings->Audio:External Waveditor +is set to a valid editor. + MusE kunde inte starta extern redigerare +kontrollera om inställningarna i: +Globala inställningar->Ljud:Extern ljudredigerare +är satt till en giltig redigerarbinär - - Rev - + + MusE - file size changed + MusE - filstorleken har förändrats - ChorusSend - + When editing in external editor - you should not change the filesize +since it must fit the selected region. + +Missing data is muted + Vid editering i extern editor - bör du inte ändra filstorleken +eftersom den måste passa i regionen. + +Saknat data tystas + + + MusEMixer::AudioMixerApp - - Cho - + &Create + &Skapa + + + MusEMixer::AudioStrip - - dB - + aux send level + aux send nivå - - Pan/Balance - Pan/Balans + 1/2 channel + 1/2 kanal - - Pan - + mute + tysta - - record - + record downmix + spela in nermixning - - mute - tysta + off + av - - solo mode - + output routing + utgångsrouting - - iR - + Off + Av - - input routing - + Read + Läs - - oR - + Write + Skriv - - output routing - utgångsrouting + automation type + automationstyp - MusEWidget::BigTime - - - format display - - + MusEMixer::EffectRack - - bar - + effect rack + effektrack - - beat - + new + ny - - - tick - + change + ändra - - minute - minut + move up + flytta upp - - second - sekund + move down + flytta ner - - - frame - + remove + ta bort - - subframe - + show gui + visa gui - - MusE: Bigtime - + Replace effect + Byt effekt - - - MusEWidget::EditToolBar - - Edit Tools - Redigeringsverktyg + Do you really want to replace the effect %1? + Vill du verkligen ersätta effekten %1? - MusEWidget::GlobalSettingsConfig + MusEMixer::MidiStrip - - Selects instruments directory - + off + av - - - MusEWidget::Header - - Track Info Columns - + Pan/Balance + Pan/Balans + + + mute + tysta + + + output routing + utgångsrouting - MusEWidget::MTScale + MusEWidget::BigTime - - bar scale - + minute + minut + + + second + sekund - MusEWidget::MTScaleFlo + MusEWidget::EditToolBar - - bar scale - + Edit Tools + Redigeringsverktyg MusEWidget::MidiSyncConfig - - Port Number - Portnummer + Portnummer - - Name of the midi device associated with this port number - Namn på midienhet associerad med detta portnummer + Namn på midienhet associerad med detta portnummer - - Midi clock input detected - + Device Name + Enhetsnamn - - - Midi tick input detected - + &No + &Nej - - Midi real time input detected - + &Abort + &Avbryt + + + MusEWidget::MixdownFileDialog - - MMC input detected - + Wave Files (*.wav);;All Files (*) + Ljudfiler (*.wav);;Alla filer (*) + + + MusEWidget::NoteInfo - - MTC input detected - + Note Info + Notinfo - - Detected SMPTE format - + Len + Längd - - Receive id number. 127 = Global. Double click to edit. - + Pitch + Tonhöjd + + + MusEWidget::RoutePopupMenu - - Accept midi clock input - + Channel + Kanal + + + MusEWidget::ScrollScale - - Accept midi real time input - + next page + nästa sida - - Accept MMC input - + previous page + förra sidan - - Accept MTC input - + current page number + nuvarande sidnummer + + + MusEWidget::ShortcutCaptureDialog - - Receive start rewinds before playing - + Cancel + Avbryt - - Transmit id number. 127 = Global. Double click to edit. - + Shortcut conflicts with + Kortkommando konfliktar med - - Send midi clock output - + Undefined + Odefinierad + + + MusEWidget::SigScale - - Send midi realtime output - + signature scale + signaturskala + + + MusEWidget::Toolbar1 - - - Send MMC output - + Cursor + Markör - - - Send MTC output - + Snap + Fäst vid + + + MusEWidget::TrackComment - - Midi clock input detected. -Current port actually used is red. -Click to force a port to be used. - + MusE: Track Comment + MusE: Spårkommentar - - Midi realtime input detected, including - start/stop/continue, and song position. - + Track Comment: + Spårkommentar: + + + NewPreset - - MMC input detected, including stop/play/deferred play, and locate. - + New preset + Ny preset - - MTC input detected, including forward quarter-frame sync and full-frame locate. -Current port actually used is red. Click to force a port to be current. - + Preset Name + Presetnamn - - Detected SMPTE format: 24fps, 25fps, 30fps drop frame, or 30fps non-drop -Detects format of MTC quarter and full frame, and MMC locate. - + Subcategory + Underkategori - - Receive id number. 127 = global receive all, even if not global. - + Category + Kategori - - Accept midi clock input. Only one input is used for clock. -Auto-acquire: If two or more port realtime inputs are enabled, - the first clock detected is used, until clock is lost, - then another can take over. Best if each turns off its clock - at stop, so MusE can re-acquire the clock from another port. -Click on detect indicator to force another. - + &Cancel + &Avbryt + + + NoteInfo - - Accept midi realtime input, including - start/stop/continue, and song position. -Non-clock events (start,stop etc) are - accepted by ALL enabled ports. -This means you may have several master - devices connected, and muse will accept - input from them. - + Note Info + Notinfo - - Accept MMC input, including stop/play/deferred play, and locate. - + Len + Längd - - Accept MTC input, including forward quarter-frame sync and full-frame locate. -See 'rc' column for more help. - + Pitch + Tonhöjd + + + OrganGuiBase - - When start is received, rewind before playing. -Note: It may be impossible to rewind fast - enough to synchronize with the external device. - + Presets + Preset - - Transmit id number. 127 = global transmit to all. - + load preset list + öppna presetlista - - Send midi clock output. If 'Slave to External Sync' is chosen, - muse can re-transmit clock to any other chosen ports. - + save preset list + spara presetlista - - Send midi realtime output, including start/stop/continue, - and song position. If 'Slave to external sync' is chosen, - muse can re-transmit midi realtime input messages to any - other chosen ports. This means you may have several slave - devices connected, and muse can re-send realtime messages - to any or all of them. - + + Velocity + Hastighet - - Port + + MusE: Organ - - Device Name - Enhetsnamn + + Drawbars + - - c + + 16' - - k + + 4' - - r + + 2 2/3' - - m + + 2' - - t + + 5 1/3' - - type + + 8' - - rid + + Envelope Hi - - rc + + + Release - - rr + + + Sustain - - rm + + + Decay - - rt + + + Attack - - rw + + + + + + + ms - - tid + + + cB - - tc + + Envelope Lo - - tr + + O-1 - - tm + + Oscillator - - tt + + Brass - - MusE + + Reed - - Settings have changed -Apply sync settings? + + Flute + + + PageSettings - - &Apply - + Paper Size + Pappersstorlek - - &No - &Nej + user + användare - - &Abort - &Avbryt + Margins + Marginal - - <none> - + left Margin + vänster Marginal - - - MusEWidget::MidiTrackInfo - - - <unknown> - + top Margin + övre Marginal - - - MusEWidget::MixdownFileDialog - - Wave Files (*.wav);;All Files (*) - Ljudfiler (*.wav);;Alla filer (*) + right Margin + höger Marginal - - - MusEWidget::NoteInfo - - Note Info - Notinfo + bottom Margin + undre Marginal - - Start - + Header + Överskrift - - Len - Längd + Title + Titel - - Pitch - Tonhöjd + Author + Författare - - Velo On - + Fonts + Typsnitt - - Velo Off - + Page No. + Sidnummer. - - - MusEWidget::RoutePopupMenu - - - - - - - - - Channel - Kanal + Measure No + Taktnummer - - - - Soloing chain - + Track Name + Spårnamn - - - Audio returns - + Lyrics + Text - - Warning: No midi input devices! - + Layout + Utseende - - Open midi config... - + Bars across the Page + Takter över sidan - - - <none> - + Scale + Skala + + + Flags + Flaggor - - Toggle all - + show page no. + visa sida nr. - - More... - + show measure no. + visa takt nr. - - Audio sends - + show track name + visa spårnamn - - Midi port sends - + Apply + Verkställ + + + Cancel + Avbryt - MusEWidget::ScrollScale + PartCanvas - - next page - nästa sida + Cannot copy/move/clone to different Track-Type + Kan inte kopiera/flytta/klona till annan Spårtyp - - previous page - förra sidan + C&ut + Klipp &ut - - current page number - nuvarande sidnummer + &Copy + &Kopiera - - - MusEWidget::ShortcutCaptureDialog - - Ok - + rename + byt namn - - Cancel - Avbryt + color + färg - - Shortcut conflicts with - Kortkommando konfliktar med + delete + ta bort - - Undefined - Odefinierad + split + dela - - - MusEWidget::SigScale - - signature scale - signaturskala + glue + lim - - - MusEWidget::Toolbar1 - - Solo - + de-clone + häv kloning - - Cursor - Markör + pianoroll + pianorulle - - Snap - Fäst vid + score + partitur - - - MusEWidget::TrackComment - - MusE: Track Comment - MusE: Spårkommentar + list + lista - - Track Comment: - Spårkommentar: + drums + trummor - - - MusEWidget::VisibleTracks - - Visible track types - + wave edit + wave redigering - - - NewPreset - New preset - Ny preset + Cannot paste: multiple tracks selected + Kan inte klistra in: flera spår valda - Preset Name - Presetnamn + Cannot paste: no track selected + Kan inte klistra in: inget spår valt - Subcategory - Underkategori + Cannot paste midi parts to wave track + Kan inte klistra in midipart till wavespår - Category - Kategori + Cannot paste wave parts to midi track + Kan inte klistra in wavepart på midispår - &Cancel - &Avbryt + Cannot paste: wrong data type + Kan inte klistra in: fel datatyp - - - NoteInfo - Note Info - Notinfo + Can only paste to midi/drum track + Kan endast klistra in på midi/trummspår - Len - Längd + Can only paste to wave track + Kan endast klistra till wavespår - Pitch - Tonhöjd + export + exportera + + + MusE: save part + MusE: spara part - OrganGuiBase + PasteDialogBase - Presets - Preset + + MusE: Paste Parts + - load preset list - öppna presetlista + + Number and raster + - save preset list - spara presetlista + + insert + - - Velocity - Hastighet + + times + - - MusE: Organ + + raster - - Drawbars + + ticks - - 16' + + Move, Merge, Clone - - 4' + + Move everything to the right - - 2 2/3' + + Move only affected parts to the right - - 2' + + Put everything into a single track - - 5 1/3' + + Merge with existing parts - - 8' + + Insert as clones (where possible) - - Envelope Hi + + OK + + + + + Cancel + Avbryt + + + + PasteEventsDialogBase + + + MusE: Paste Events - - Release + Number and raster - - - Sustain + + insert - - - Decay + + times - - - Attack + + raster - - - - - - - ms + + + ticks - - - cB + + Paste options - - Envelope Lo + + Always into existing parts - - O-1 + + Never into existing parts - - Oscillator + + Into existing parts if part has not +to be expanded by more than - - Brass + + Put everything into the (selected) part - - Reed + + OK - Flute - + Cancel + Avbryt - PageSettings + PianoRoll - Paper Size - Pappersstorlek + &Edit + &Redigera - user - användare + Cut + Klipp ut - Margins - Marginal + Copy + Kopiera - left Margin - vänster Marginal + Paste + Klistra in - top Margin - övre Marginal + Delete Events + Ta bort Händelser - right Margin - höger Marginal + Select All + Välj Allt - bottom Margin - undre Marginal + Select None + Välj Ingen - Header - Överskrift + Invert + Invertera - Title - Titel + Inside Loop + I loop - Author - Författare + Outside Loop + Utanför loop - Fonts - Typsnitt + &Select + &Välj - Page No. - Sidnummer. + blue + blå - Measure No - Taktnummer + pitch colors + pitchfärger - Track Name - Spårnamn + velocity colors + velocityfärger - Lyrics - Text + &Config + &Inställningar - Layout - Utseende + event color + händelsefärg - Bars across the Page - Takter över sidan + &Functions + &Funktioner - Scale - Skala + Over Quantize + Över Kvantisera - Flags - Flaggor + Note On Quantize + Note On-kvantisera - show page no. - visa sida nr. + Note On/Off Quantize + Note On/Off Kvantisera - show measure no. - visa takt nr. + Iterative Quantize + Iterativ kvantisering - show track name - visa spårnamn + Config Quant... + Konfigurera Kvant... - Apply - Verkställ + Modify Gate Time + Modifiera Gate Time - Cancel - Avbryt + Modify Velocity + Modifiera Velocity - - - PartCanvas - Cannot copy/move/clone to different Track-Type - Kan inte kopiera/flytta/klona till annan Spårtyp + Transpose + Transponera - C&ut - Klipp &ut + Thin Out + Tunna ut - &Copy - &Kopiera + Erase Event + Ta bort Händelse - rename - byt namn + Note Shift + Shifta Not - color - färg + Move Clock + Flytta Klocka - delete - ta bort + Copy Measure + Kopiera Takt - split - dela + Erase Measure + Radera Takt - glue - lim + Delete Measure + Ta bort Takt - de-clone - häv kloning + Create Measure + Skapa Takt - pianoroll - pianorulle + Pianoroll Tools + Verktyg Pianorulle - score - partitur + Step Record + Stegvis inspelning - list - lista + Play Events + Spela Händelser - drums - trummor + Add Controller View + Lägg till Controller Vy - wave edit - wave redigering + Set Fixed Length + Sätt fast längd - Cannot paste: multiple tracks selected - Kan inte klistra in: flera spår valda + C&ut + Klipp &ut - Cannot paste: no track selected - Kan inte klistra in: inget spår valt + &Copy + &Kopiera - Cannot paste midi parts to wave track - Kan inte klistra in midipart till wavespår + &Paste + K&listra in - Cannot paste wave parts to midi track - Kan inte klistra in wavepart på midispår + Select &All + Markera &Allt - Cannot paste: wrong data type - Kan inte klistra in: fel datatyp + &Deselect All + A&vmarkera Allt - Can only paste to midi/drum track - Kan endast klistra in på midi/trummspår + Invert &Selection + Invertera &Markering - Can only paste to wave track - Kan endast klistra till wavespår + &Inside Loop + &I Loop - export - exportera + &Outside Loop + &Utanför Loop - MusE: save part - MusE: spara part + Quantize + Kvantisera + + + panic + panik - PasteDialogBase + PluginDialog - - MusE: Paste Parts - + MusE: select plugin + MusE: välj plugin - - Number and raster - + Label + Etikett - - insert - + Name + Namn - - times - + Maker + Upphovsman - - raster - + Cancel + Avbryt - - ticks - + Stereo and Mono + Stereo och mono - - Move, Merge, Clone - + All + Alla - - Move everything to the right - + Select which types of plugins should be visible in the list.<br>Note that using mono plugins on stereo tracks is not a problem, two will be used in parallell.<br>Also beware that the 'all' alternative includes plugins that probably not are usable by MusE. + Välj vilka typer av plugins som skall vara synliga i listan.<br>Notera att användning av mono plugins på ett stereospår inte är något problem, två instanser kommer<br> att att användas parallellt. Var också medveten om att 'alla' alternativet inkluderar plugins som MusE antagligen inte kan använda. + + + PluginGui - - Move only affected parts to the right - + File Buttons + Arkiv Knappar - - Put everything into a single track - + Load Preset + Öppna Preset - - Merge with existing parts - + Save Preset + Spara Preset - - Insert as clones (where possible) - + bypass plugin + koppla ur plugin - - OK - + MusE: load preset + MusE: öppna preset - - Cancel - Avbryt + MusE: save preset + MusE: spara preset - PasteEventsDialogBase - - - MusE: Paste Events - - + PrinterConfig - - Number and raster - + MusE: Config Printer + MusE: Konfigurera Skrivare - - insert - + Print to file + Skriv till fil - - times - + Print Command + Utskriftskommando - - raster - + Preview Command + Förhandsgranskningskommando - - - ticks - + Cancel + Avbryt + + + ProjectCreate - - Paste options + + Create Project - - Always into existing parts + + Project Name: - - Never into existing parts + + Project Path to song file: - - Into existing parts if part has not -to be expanded by more than + + Create project folder (recommended for audio projects) - - Put everything into the (selected) part + + Browse - - OK + + Song information: - - - Cancel - Avbryt - - PianoRoll + QHeader - - &Edit - &Redigera + Port Number + Portnummer - Cut - Klipp ut + enable gui for device + visa gui för enhet - Copy - Kopiera + enables recording from the device + slå på inspelning från enhet - Paste - Klistra in + Name of the midi device associated with this port number + Namn på midienhet associerad med detta portnummer - Delete Events - Ta bort Händelser + Instrument connected to port + Instrument kopplat till denna port - Select All - Välj Allt + State: result of opening the device + Status: resultat av öppning av enhet - Select None - Välj Ingen + mute instrument + tysta instrument - Invert - Invertera + sound name + ljudnamn - Inside Loop - I loop + quantisation +currently not used + kvantisering +används inte för tillfället - Outside Loop - Utanför loop + this input note triggers the sound + denna in-not triggar ljudet - - &Select - &Välj + note length + notlängd - blue - blå + this note is send for the sound + denna not skickas för ljudet - pitch colors - pitchfärger + output channel +currently not used + utgångskanal +används inte för tillfället - velocity colors - velocityfärger + output port +currently not used + utgångsport +används inte för tillfället - &Config - &Inställningar + velocity level 1 + velocity nivå 1 - event color - händelsefärg + velocity level 2 + velocity nivå 2 - &Functions - &Funktioner + velocity level 3 + velocity nivå 3 - Over Quantize - Över Kvantisera + velocity level 4 + velocity nivå 4 - Note On Quantize - Note On-kvantisera + quantisation + kvantisering - Note On/Off Quantize - Note On/Off Kvantisera + output channel + utgångskanal - Iterative Quantize - Iterativ kvantisering + output port + utgångsport - Config Quant... - Konfigurera Kvant... + Enable Recording + Slå på Inspelning - Modify Gate Time - Modifiera Gate Time + Track Activity + Spåraktivitet - - Modify Velocity - Modifiera Velocity + Mute Indicator + Tyst-Indikator - - Transpose - Transponera + Solo Indicator + Solo-Indikator - Thin Out - Tunna ut + Track Type + Spårtyp - Erase Event - Ta bort Händelse + Track Name + Spårnamn - Note Shift - Shifta Not + Output Channel Number + Kanalnummer för utgång - Move Clock - Flytta Klocka + Output Port + Utgångsport - Copy Measure - Kopiera Takt + Time Lock + Tidlås - Erase Measure - Radera Takt + Solo/Pre Fader Listening + Solo/För-reglage lyssning - Delete Measure - Ta bort Takt + enables reading from device + slår på läsning från device - Create Measure - Skapa Takt + enables writing to device + slår på skrivning till device + + + QObject - Pianoroll Tools - Verktyg Pianorulle + + Other + Andra - - Step Record - Stegvis inspelning + + + Error + - - Midi Input + + + Please first select the range for crescendo with the loop markers. + + + QWidget + + Velocity + Hastighet + - - Play Events - Spela Händelser + + + Cannot convert sysex string + Kan inte konvertera sysex-sträng - - ctrl - + + + Hex String too long (2048 bytes limit) + Hex-sträng för lång (2048 bytes maxgräns) - - Add Controller View - Lägg till Controller Vy + + generic midi + generell midi - - Set Fixed Length - Sätt fast längd + + new + ny - - C&ut - Klipp &ut + + create peakfile for + skapa "peak"-fil - - &Copy - &Kopiera + Cannot transform non empty track + Kan inte transformera ej tomt spår - - Copy events in range - + + MusE: get file name + MusE: hämta filnamn - - &Paste - K&listra in + the directory + + katalogen - - &Paste (with dialog) - + +does not exist +create? + +finns inte +skapa? - - Delete &Events - + &Create + &Skapa - - Select &All - Markera &Allt + Cancel + Avbryt - - &Deselect All - A&vmarkera Allt + + The directory +%1 +does not exist. +Create it? + - - Invert &Selection - Invertera &Markering + + MusE: create directory + MusE: skapa katalog - - &Inside Loop - &I Loop + + creating dir failed + misslyckades med att skapa katalog - - &Outside Loop - &Utanför Loop + + File +%1 +exists. Overwrite? + - - &Previous Part + + Open File +%1 +failed: %2 - - &Next Part - + File + + Arkiv - - Fu&nctions - + +exists + existerar - - Window &Config - + + MusE: write + MusE: skriv - - &Event Color - + Overwrite + Spara inte - - &Blue - + Quit + Avsluta - - &Pitch colors - + Open File + + Öppna fil - - &Velocity colors - + +failed: + +misslyckades: - - Quantize - Kvantisera + + MusE: Open File + MusE: Öppna fil - - Modify Note Length - + + + None + Ingen - - Crescendo/Decrescendo - + Master + Master - - Erase Events - + Group %c + Grupp %c - - Move Notes - + Unknown + Okänd - - Delete Overlaps - + Group + Grupp - - Legato + + No selection. Ignoring + + + QuantBase - - &Plugins + + MusE: Quantize - - Pianoroll tools - + + Range + Område - - panic - panik + + All Events + Alla Händelser - - transport - + + Selected Events + Valda Händelser - - - PluginDialog - - MusE: select plugin - MusE: välj plugin + + Looped Events + Loopade Händelser - Lib + Selected Looped - - Label - Etikett - - - - Name - Namn + + Values + Värden - - AI + + Strength: - - AO + + % - - CI + + Threshold (ticks): - - CO + + Quantize Len - - IP - + + Raster + Rutnät - - id + + Whole - - Maker - Upphovsman + + Half + - - Copyright + + 4th - - Ok + + 4th Triplet - - Cancel - Avbryt + + 8th + - Stereo and Mono - Stereo och mono + + 8th Triplet + - - Stereo + + 16th - Mono + 16th Triplet - All - Alla + + 32th + - - Select which types of plugins should be visible in the list.<br>Note that using mono plugins on stereo tracks is not a problem, two will be used in parallell.<br>Also beware that the 'all' alternative includes plugins that probably not are usable by MusE. - Välj vilka typer av plugins som skall vara synliga i listan.<br>Notera att användning av mono plugins på ett stereospår inte är något problem, två instanser kommer<br> att att användas parallellt. Var också medveten om att 'alla' alternativet inkluderar plugins som MusE antagligen inte kan använda. + + 32th Triplet + - - Mono and Stereo + + Swing: - - Show All + + If the proposed change in tick or length is smaller than threshold, nothing is done. +If swing=0, this is normal +If swing is 33, you get a 2:1-rhythm. +If swing is -33, you get a 1:2-rhythm. + - - Search in 'Label' and 'Name': + + OK + + + Cancel + Avbryt + - PluginGui + QuantConfig - - File Buttons - Arkiv Knappar + MusE: Config Quantize + MusE: Konfigurera Kvantisering - - Load Preset - Öppna Preset + Config Quantize + Konfigurera Kvantisering - - Save Preset - Spara Preset + Strength + Styrka - - - bypass plugin - koppla ur plugin + Don´t Quantize + Kvantisera Inte - - MusE: load preset - MusE: öppna preset + Quant Len + Kvant Längd + + + QuantDialog - - MusE: save preset - MusE: spara preset + Display Quantize + Visa Kvantisering - - Error reading preset. Might not be right type for this plugin - + Note Quantize + Not Kvantisering + + + Rest Quantize + Rest Kvantisering + + + Cancel + Avbryt - PrinterConfig + RemoveBase - MusE: Config Printer - MusE: Konfigurera Skrivare + + MusE: Erase Notes + - Print to file - Skriv till fil + + Range + Område - Print Command - Utskriftskommando + + All Events + Alla Händelser - Preview Command - Förhandsgranskningskommando + + Selected Events + Valda Händelser - Cancel - Avbryt + + Looped Events + Loopade Händelser - - - ProjectCreate - - Create Project + + Selected Looped - - Project Name: + + Thresholds - - Project Path to song file: + + ticks - - Create project folder (recommended for audio projects) - + + Velocity + Hastighet - - Browse + + Length + Längd + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:7px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If nothing is checked, everything is removed.</p> +<p style=" margin-top:0px; margin-bottom:7px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If velocity is checked, only notes with velo &lt; threshold are removed.</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If both are checked, notes with velo &lt; threshold OR with length &lt; threshold are removed.</p></body></html> - - Song information: + + OK - - - QHeader - Port Number - Portnummer + + Cancel + Avbryt + + + RhythmBase - enable gui for device - visa gui för enhet + MusE: Random Rhythm Generator + MusE: Slumprytmgenerator - enables recording from the device - slå på inspelning från enhet + Instrument Properties + Instrumentinställningar - Name of the midi device associated with this port number - Namn på midienhet associerad med detta portnummer + counts/bar + slag/takt - Instrument connected to port - Instrument kopplat till denna port + # bars + # takter - State: result of opening the device - Status: resultat av öppning av enhet + randomize + slumpa - mute instrument - tysta instrument + Group 1 + Grupp 1 - sound name - ljudnamn + Group 2 + Grupp 2 - quantisation -currently not used - kvantisering -används inte för tillfället + Group 3 + Grupp 3 - this input note triggers the sound - denna in-not triggar ljudet + Group 4 + Grupp 4 - note length - notlängd + Group 5 + Grupp 5 - this note is send for the sound - denna not skickas för ljudet + listen + lyssna - output channel -currently not used - utgångskanal -används inte för tillfället + Instrument + Instrument - output port -currently not used - utgångsport -används inte för tillfället + Group + Grupp - velocity level 1 - velocity nivå 1 + &New + &Ny - velocity level 2 - velocity nivå 2 + create new entry + skapa nytt inlägg - velocity level 3 - velocity nivå 3 + pressing the New button you create a new entry +in the MusE list of defined controllers + skapa nytt inlägg genom att trycka på Ny knappen +i MusEs lista över definierade controllers - velocity level 4 - velocity nivå 4 + &Delete + &Ta bort - quantisation - kvantisering + delete selected entry + ta bort valt inlägg - output channel - utgångskanal + Up + Upp - output port - utgångsport + Down + Ner - Enable Recording - Slå på Inspelning + list of defined controllers + lista med definierade controllers - Track Activity - Spåraktivitet + This is the MusE list of defined controllers. + Detta är MusEs lista med definierade controllers. - Mute Indicator - Tyst-Indikator + &File + &Arkiv - Solo Indicator - Solo-Indikator + &Edit + &Redigera - Track Type - Spårtyp + &Help + &Hjälp - Track Name - Spårnamn + Tools + Verktyg - Output Channel Number - Kanalnummer för utgång + New + Ny - Output Port - Utgångsport + Open + Öppna - Time Lock - Tidlås + &Open... + &Öppna... - Solo/Pre Fader Listening - Solo/För-reglage lyssning + Ctrl+O + Ctrl+Ö - enables reading from device - slår på läsning från device + Save + Spara - enables writing to device - slår på skrivning till device + &Save + &Spara - - - QObject - - Other - Andra + Save As + Spara som - - - Error - + Save &As... + S&para som... - - - Please first select the range for crescendo with the loop markers. - + Print + Skriv ut - - - QWidget - Velocity - Hastighet + &Print... + Skriv &ut... - - - Cannot convert sysex string - Kan inte konvertera sysex-sträng + Exit + Stäng - - - Hex String too long (2048 bytes limit) - Hex-sträng för lång (2048 bytes maxgräns) + E&xit + S&täng - - generic midi - generell midi + Undo + Ångra - - new - ny + &Undo + &Ångra - - create peakfile for - skapa "peak"-fil + Redo + Gör om - Cannot transform non empty track - Kan inte transformera ej tomt spår + &Redo + Gör &om - - MusE: get file name - MusE: hämta filnamn + Cut + Klipp ut - the directory - - katalogen + &Cut + Klipp &ut - -does not exist -create? - -finns inte -skapa? + Copy + Kopiera - &Create - &Skapa + C&opy + &Öppna - Cancel - Avbryt + Paste + Klistra in - - MusE: create directory - MusE: skapa katalog + &Paste + K&listra in - - creating dir failed - misslyckades med att skapa katalog + Find + Sök - - File - - Arkiv + &Find... + &Sök... - -exists - existerar + Contents + Innehåll - - MusE: write - MusE: skriv + &Contents... + &Innehåll... - Overwrite - Spara inte + About + Om - Quit - Avsluta + &About... + &Om... + + + RhythmGenerator - - Open File - - Öppna fil + Instrument Settings: + Instrumentinställningar: - - -failed: - -misslyckades: + Instrument + Instrument - - MusE: Open File - MusE: Öppna fil + add + lägg till - - - None - Ingen + delete + ta bort - Master - Master + count/bar + slag/takt - Group %c - Grupp %c + # bars + # takt - Unknown - Okänd + Group Settings: + Gruppinställningar: Group Grupp - - No selection. Ignoring - + Group 1 + Grupp 1 - - The directory - - + Group 2 + Grupp 2 - - -does not exist. -Create it? - + Group 3 + Grupp 3 - - -exists. Overwrite? - + Group 4 + Grupp 4 - - - QuantBase - - MusE: Quantize - + Group 5 + Grupp 5 - - Range - Område + listen + lyssna - - All Events - Alla Händelser + Randomize + Slumpa - - Selected Events - Valda Händelser + Rhythm Style: + Rytmstil: - - Looped Events - Loopade Händelser + Clear + Rensa - - Selected Looped - + Open... + Öppna... - - Values - Värden + Save + Spara - - Strength: - + Save as... + Spara som... - - % - + Generate + Generera - - Threshold (ticks): - + Close + Stäng + + + + + + + RouteDialogBase - - Quantize Len + + MusE: Routing - - Raster - Rutnät + + Add Route + Lägg till rutt - - Whole - + + Source: + Källa: - - Half + + Destination: - - Quarter - + + Connect + Koppla - - 8th - + + connect source to destination + koppla källa till destination - - 16th - + + Current Routes + Nuvarande rutter - - 32th - + + Source + Källa - - Swing: + + Destination - - If the proposed change in tick or length is smaller than threshold, nothing is done. -If swing=0, this is normal -If swing is 33, you get a 2:1-rhythm. -If swing is -33, you get a 1:2-rhythm. - - + + Remove + Ta bort - - OK - + + remove selected route + Ta bort vald rutt + + + RoutePopupMenu - - Cancel - Avbryt + Channel + Kanal - QuantConfig + SS_PluginChooserBase - MusE: Config Quantize - MusE: Konfigurera Kvantisering + + SimpleDrums - Ladspa Plugin Chooser + SimpleDrums - Ladspa pluginväljare - Config Quantize - Konfigurera Kvantisering + + Name + Namn - Strength - Styrka + + Label + Etikett - Don´t Quantize - Kvantisera Inte + + Inports + Inporta - Quant Len - Kvant Längd + + Outports + Utportar - - - QuantDialog - Display Quantize - Visa Kvantisering + + Creator + Upphovsman - Note Quantize - Not Kvantisering + + &Cancel + &Avbryt - Rest Quantize - Rest Kvantisering + + Alt+C + Alt+A - Cancel - Avbryt + + &OK + &Ok - - - RemoveBase - - MusE: Erase Notes + + Alt+O + + + SS_PluginFront - - Range - Område - - - - All Events - Alla Händelser + + Clear and unload effect + - - Selected Events - Valda Händelser + + Load effect + - - Looped Events - Loopade Händelser + + Toggle display of effect parameters + - - Selected Looped + + Turn effect on/off + + + Score - - Thresholds - + Dynamics + Dynamik - - ticks - + &Config + &Inställningar - - Velocity - Hastighet + Page Settings + Sidinställningar - - Length - Längd + Staff Settings + Notsystem inställningar - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:7px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If nothing is checked, everything is removed.</p> -<p style=" margin-top:0px; margin-bottom:7px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If velocity is checked, only notes with velo &lt; threshold are removed.</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If both are checked, notes with velo &lt; threshold OR with length &lt; threshold are removed.</p></body></html> - + Background Pixmap + Bakgrundsbild - - OK - + Palettes + Palett - - Cancel - Avbryt + Print + Skriv ut - - - RhythmBase - MusE: Random Rhythm Generator - MusE: Slumprytmgenerator + Preview Print + Förhandsgranska utskrift - Instrument Properties - Instrumentinställningar + Lyrics + Text - counts/bar - slag/takt + enter lyrics + skriv in text - # bars - # takter + Text + Text - randomize - slumpa + enter text + skriv in Text - Group 1 - Grupp 1 + enter chord symbol + skriv in ackordsymbol - Group 2 - Grupp 2 + Score + Partitur - Group 3 - Grupp 3 + to previous voice + till föregående röst - Group 4 - Grupp 4 + to next voice + till nästa röst - Group 5 - Grupp 5 + flip stem direction + ändra stämriktning - listen - lyssna + move marked notes to previous voice or to upper stave in a split system + flytta de markerade noterna till föregående röst eller till övre notsystem i ett delat notssystem - Instrument - Instrument + move marked notes to next voice or to lower stave in a split system + flytta de markerade noterna till nästa röst eller undre notsystem i ett delat notsystem - Group - Grupp + flip stem direction of selected notes + byt stämriktning för valda noter - &New - &Ny + StaffSettings + Notsysteminställningar - create new entry - skapa nytt inlägg + MusE: config wallpaper + MusE: konfigurera bakgrundsbild + + + ScoreConfig - pressing the New button you create a new entry -in the MusE list of defined controllers - skapa nytt inlägg genom att trycka på Ny knappen -i MusEs lista över definierade controllers + Staff Settings: + Partiturinställningar: - &Delete - &Ta bort + Track List + Spårlista - delete selected entry - ta bort valt inlägg + Key/Clef + Stämma/Klav - Up - Upp + Upper Staff + Övre notplan - Down - Ner + Lower Staff + Nedre notplan - list of defined controllers - lista med definierade controllers + Raster + Rutnät - This is the MusE list of defined controllers. - Detta är MusEs lista med definierade controllers. + Note Quantize + Notkvantisera - &File - &Arkiv + Rest Quantize + Restkvantisera - &Edit - &Redigera + Mode + Läge - &Help - &Hjälp + Split System + Delat system - Tools - Verktyg + Splitpoint + Delningspunkt - New - Ny + Apply + Verkställ - Open - Öppna + Cancel + Avbryt + + + ScoreEdit - &Open... - &Öppna... + Step Record + Stegvis inspelning - Ctrl+O - Ctrl+Ö + panic + panik - Save - Spara + &Edit + &Redigera - &Save - &Spara + C&ut + Klipp &ut - Save As - Spara som + &Copy + &Kopiera - Save &As... - S&para som... + &Paste + K&listra in - Print - Skriv ut + &Select + &Välj - &Print... - Skriv &ut... + Select &All + Markera &Allt - Exit - Stäng + &Deselect All + A&vmarkera Allt - E&xit - S&täng + Invert &Selection + Invertera &Markering - Undo - Ångra + &Inside Loop + &I Loop - &Undo - &Ångra + &Outside Loop + &Utanför Loop - Redo - Gör om + Transpose + Transponera - &Redo - Gör &om + Set Fixed Length + Sätt fast längd + + + ScrollScale - Cut - Klipp ut + next page + nästa sida - &Cut - Klipp &ut + previous page + förra sidan - Copy - Kopiera + current page number + nuvarande sidnummer + + + SetlenBase - C&opy - &Öppna + + MusE: Set Note Length + - Paste - Klistra in + + Range + Område - &Paste - K&listra in + + All Events + Alla Händelser - Find - Sök + + Selected Events + Valda Händelser - &Find... - &Sök... + + Looped Events + Loopade Händelser - Contents - Innehåll + + Selected Looped + - &Contents... - &Innehåll... + + Value + Värde - About - Om + + New length + - &About... - &Om... + + ticks + - - - RhythmGenerator - Instrument Settings: - Instrumentinställningar: + + OK + - Instrument - Instrument + + Cancel + Avbryt + + + ShortcutCaptureDialog - add - lägg till + Cancel + Avbryt - delete - ta bort + Shortcut conflicts with + Kortkommando konfliktar med - count/bar - slag/takt + Undefined + Odefinierad + + + ShortcutCaptureDialogBase - # bars - # takt + + Enter shortcut sequence + Ange kortkommandosekvens - Group Settings: - Gruppinställningar: + + Press keys to enter shortcut sequence! + Tryck på tangenter för att ange kortkommandosekvens: - Group - Grupp + + Old shortcut: + Gammalt kortkommando - Group 1 - Grupp 1 + + + Undefined + Odefinierad - Group 2 - Grupp 2 + + New shortcut: + Nytt kortkommando - Group 3 - Grupp 3 + + OK + - Group 4 - Grupp 4 + + Cancel + Avbryt + + + ShortcutConfigBase - Group 5 - Grupp 5 + + Configure Keyboard Shortcuts + Konfigurera tangentbordskortkommando - listen - lyssna + + Shortcut Category + Kortkommandokategori - Randomize - Slumpa + + Description + Beskrivning - Rhythm Style: - Rytmstil: + + Shortcut + Kortkommando - Clear - Rensa + + &Clear + &Rensa - Open... - Öppna... + + Alt+C + Alt+R - Save - Spara + + &Define + &Definiera - Save as... - Spara som... + + Alt+D + - Generate - Generera + + &Apply + &Verkställ - Close - Stäng + + Alt+A + Alt+L + + + SigScale - - + signature scale + signaturskala - RouteDialogBase + SimpleDrumsGuiBase - - MusE: Routing + + DrumSynth 0.1 + + + SimpleSynthGui - - Add Route - Lägg till rutt + + &Load setup + &Ladda setup - - Source: - Källa: + + &Save setup + &Spara setup - - Destination: + + Load sample dialog + + + Song - - Connect - Koppla + &Cancel + &Avbryt + + + SongInfo - - connect source to destination - koppla källa till destination + + Song Information + - - Current Routes - Nuvarande rutter + + Show on song load + - - Source - Källa + + &Cancel + &Avbryt - - Destination + + Alt+C - - Remove - Ta bort + + &Ok + - - remove selected route - Ta bort vald rutt + + Alt+O + - RoutePopupMenu + StkGuiBase - Channel - Kanal + Voices + Röster - - - SS_PluginChooserBase - - SimpleDrums - Ladspa Plugin Chooser - SimpleDrums - Ladspa pluginväljare + Edit + Redigera + + + SynthConfigBase - - Name - Namn + + MusE: Synth Configuration + MusE: Syntinställningar - - Label - Etikett + + Soft Synthesizer + Mjukvarusynt - - Inports - Inporta + + File + Arkiv - - Outports - Utportar + + Instances + Instanser - - Creator - Upphovsman + + + Name + Namn - - &Cancel - &Avbryt + + list of available software synthesizers + lista med tillgängliga mjukvarusyntar - - Alt+C - Alt+A + + Add Instance + Lägg till instans - - &OK - &Ok + + Remove Instance + Ta bort instans - - Alt+O - + + Midi Port + Midiport - - - SS_PluginFront - - Clear and unload effect - + + Midi connections + Midikopplingar - - Load effect + + Inst - - Toggle display of effect parameters + + Version - - Turn effect on/off - + + Description + Beskrivning - Score - - Dynamics - Dynamik - - - &Config - &Inställningar - - - Page Settings - Sidinställningar - + TList - Staff Settings - Notsystem inställningar + Show Gui + Visa Gui - Background Pixmap - Bakgrundsbild + Add Midi Track + Lägg till Midispår - Palettes - Palett + Add Drum Track + Lägg till Trumspår - Print - Skriv ut + Add Wave Track + Lägg till Wavespår - Preview Print - Förhandsgranska utskrift + Delete Track + Ta bort spår - Lyrics - Text + Track Comment + Spårkommentar - enter lyrics - skriv in text + Midi + Midi - Text - Text + Drum + Trumma - enter text - skriv in Text + Wave + Wave - enter chord symbol - skriv in ackordsymbol + This is your first wave track and the project +doesn't appear to be saved yet. + +It is recommended that you save a project file now! + +By doing that you are implicitly selecting a folder +where the audio files will end up. + Detta är ditt första ljudspår och projektet verkar inte vara sparat ännu. + +Du rekommenderas att spara projektet nu! + +Genom att göra det så väljer du indirekt den katalog där +ljudfilerna skall hamna. - Score - Partitur + Save dialog + Spara dialog - to previous voice - till föregående röst + Cancel + Avbryt - to next voice - till nästa röst + MusE: bad trackname + MusE: dåligt spårnamn - flip stem direction - ändra stämriktning + please choose a unique track name + vänligen välj ett unikt spårnamn - move marked notes to previous voice or to upper stave in a split system - flytta de markerade noterna till föregående röst eller till övre notsystem i ett delat notssystem + Add Output + Lägg till utgång - move marked notes to next voice or to lower stave in a split system - flytta de markerade noterna till nästa röst eller undre notsystem i ett delat notsystem + Add Group + Lägg till grupp - flip stem direction of selected notes - byt stämriktning för valda noter + Add Input + Lägg till ingång - StaffSettings - Notsysteminställningar + Add Aux Send + Lägg till aux-send - MusE: config wallpaper - MusE: konfigurera bakgrundsbild + Update drummap? + Updatera trum-map? - - - ScoreCanvas - - Treble - + Do you want to use same port for all instruments in the drummap? + Vill du använda samma port för alla instrument i trum-map:en? - - Bass - + &Yes + &Ja - - Grand Staff - + &No + &Nej - - Remove staff - + show gui + visa gui - - Ambiguous part - + Do you want to use same port and channel for all instruments in the drummap? + Vill du använda samma port och kanal för alla instrument i trummap:en? + + + Toolbar1 - - There are two or more possible parts you could add the note to, but none matches the selected part. Please select the destination part by clicking on any note belonging to it and try again, or add a new stave containing only the destination part. - + Cursor + Markör - - No part - + Snap + Fäst vid - - There are no parts you could add the note to. - + Quantize + Kvantisera - - - ScoreConfig - Staff Settings: - Partiturinställningar: + To + Till - Track List - Spårlista + All Events + Alla Händelser - Key/Clef - Stämma/Klav + Looped Ev. + Loopade Händelser. - Upper Staff - Övre notplan + Selected Ev. + Valda Händelser. - Lower Staff - Nedre notplan + Looped+Sel. + Loopade och Valda. + + + TopWin - Raster - Rutnät + Arranger + Arrangerare + + + TrackComment - Note Quantize - Notkvantisera + MusE: Track Comment + MusE: Spårkommentar - Rest Quantize - Restkvantisera + Track Comment: + Spårkommentar: + + + Transport - Mode - Läge + Replace + Ersätt - Split System - Delat system + Rec Mode + Recläge - Splitpoint - Delningspunkt + Left Mark + Vänster Markering - Apply - Verkställ + Right Mark + Höger Markering - Cancel - Avbryt + rewind to start + flytta tillbaka till början - - - ScoreEdit - - Undo/Redo tools - + rewind + flytta tillbaka - - Step recording tools - + forward + frammåt - - Step Record - Stegvis inspelning + stop + stopp - - panic - panik + play + spela - - transport - + record + spela in - - Note settings - + quantize during record + kvantisera under inspelning - - Note length: - + metronom click on/off + metronomklick av/på - - last - + Sync + Synk - - Velocity: - + external sync on/off + externsynk. av/på - - Off-Velocity: - + Master + Master - - Quantisation settings - + use master track + använder masterspår + + + TransposeBase - - Quantisation: + + MusE: Transpose - - Pixels per whole: - + + Range + Område - - &Edit - &Redigera + + All Events + Alla Händelser - - C&ut - Klipp &ut + + Selected Events + Valda Händelser - - &Copy - &Kopiera + + Looped Events + Loopade Händelser - - Copy events in range + + Selected Looped - - &Paste - K&listra in + + Value + Värde - - Paste (with dialog) + + Halftone-steps - - Delete &Events + + OK - - &Select - &Välj + + Cancel + Avbryt + + + TransposeDialogBase - - Select &All - Markera &Allt + MusE: Midi Transpose + MusE: Miditransponering - - &Deselect All - A&vmarkera Allt + Value + Värde - - Invert &Selection - Invertera &Markering + halftones + halvtoner - - &Inside Loop - &I Loop + Time + Tid - - &Outside Loop - &Utanför Loop + all + alla - - Fu&nctions - + between markers + mellan markeringar - - &Quantize - + Parts + Parter - - Change note &length - + all in selected tracks + alla i valda spår - - Change note &velocity - + Cancel + Avbryt + + + UnusedWaveFiles - - Crescendo/Decrescendo + + Dialog - - Transpose - Transponera - - - - Erase Events + + List of unused audio files in current project directory: - - Move Notes + + Current project - - Set Fixed Length - Sätt fast längd - - - - Delete Overlaps + + All .med files +in current + directory - - Legato + + Move files to 'unused' subdir - - Window &Config - + + Cancel + Avbryt + + + VAMGui - - Note head &colors - + + + MusE: Save VAM Presets + MusE: Spara VAM presets - - &Black + + MusE: Load VAM Presets + + + VAMGuiBase - - &Velocity - + + Virtual Analogue for MusE + Virtual Analogue för MusE - - &Part - + + + + Waveform + Vågform - - Set up &preamble - + + + + Sine + Sinus - - Display &key signature - + + + + Pulse + Puls - - Display &time signature - + + + + Saw + Sågtand - - Set Score &name - + + + + Triangle + Triangel - - - Enter the new score title - + + Filter + Filter - - Error - + + Invert + Invertera - - Changing score title failed: -the selected title is not unique - + + Presets + Preset - - - ScrollScale - next page - nästa sida + + load preset list + öppna presetlista - previous page - förra sidan + + save preset list + spara presetlista - current page number - nuvarande sidnummer + + save preset list to a new file + spara presetlista till ny fil - - - SetlenBase - - MusE: Set Note Length - + + delete preset + ta bort preset - - Range - Område + + + Pitch + Tonhöjd - - All Events - Alla Händelser + + On + - - Selected Events - Valda Händelser + + LFO + - - Looped Events - Loopade Händelser + + Freq + - - Selected Looped + + EnvMod - Value - Värde + + + Attack + - - New length + + + + Decay - - ticks + + + + Sustain - - OK + + + + Release - - Cancel - Avbryt + + Cutoff + - - - ShortcutCaptureDialog - Cancel - Avbryt + + Resonance + - Shortcut conflicts with - Kortkommando konfliktar med + + KeyTrack + - Undefined - Odefinierad + + Set + - - - ShortcutCaptureDialogBase - - Enter shortcut sequence - Ange kortkommandosekvens + + DCO 1 + - - Press keys to enter shortcut sequence! - Tryck på tangenter för att ange kortkommandosekvens: + + + Detune + - - Old shortcut: - Gammalt kortkommando + + + PWM + - - - Undefined - Odefinierad + + + FM + - - New shortcut: - Nytt kortkommando + + + PW + - - OK + + DCO 2 - - - Cancel - Avbryt + + + VAM 1.0beta3 +Virtual Analog for MusE +Released under GPL. +Copyright(C) 2002 +Jotsif Lindman Hörnlund +( jotsif@linux.nu ) +Copyright(C) 2005 +Robert Jonsson +(rj@spamatica.se) + - ShortcutConfigBase - - - Configure Keyboard Shortcuts - Konfigurera tangentbordskortkommando - - - - Shortcut Category - Kortkommandokategori - + VelocityBase - - Description - Beskrivning + + MusE: Modify Velocity + MusE: Modifiera Velocity - - Shortcut - Kortkommando + + Range + Område - - &Clear - &Rensa + + All Events + Alla Händelser - - Alt+C - Alt+R + + Selected Events + Valda Händelser - &Define - &Definiera + Looped Events + Loopade Händelser - - Alt+D + + Selected Looped - - &Apply - &Verkställ + Selected & Looped + Valda & Loopade - - Alt+A - Alt+L + + Values + Värden - - - SigScale - signature scale - signaturskala + + Rate: + Hastighet: - - - SimpleDrumsGuiBase - - DrumSynth 0.1 + + % - - - SimpleSynthGui - - &Load setup - &Ladda setup + + Offset: + Offset: - - &Save setup - &Spara setup + + veloNew = (veloOld * rate) + offset + - - Load sample dialog + + OK - - - Song - - Jack shutdown! - + + Cancel + Avbryt + + + WTScale - - Jack has detected a performance problem which has lead to -MusE being disconnected. -This could happen due to a number of reasons: -- a performance issue with your particular setup. -- a bug in MusE (or possibly in another connected software). -- a random hiccup which might never occur again. -- jack was voluntary stopped by you or someone else -- jack crashed -If there is a persisting problem you are much welcome to discuss it -on the MusE mailinglist. -(there is information about joining the mailinglist on the MusE - homepage which is available through the help menu) - -To proceed check the status of Jack and try to restart it and then . -click on the Restart button. - + bar scale + takt-skala + + + WaveEdit - - previous event - + &File + &Arkiv - - next event - + Functions + Funktioner - - - set event - + Normalize + Normalisera - - - add event - + Cursor + Markör - - - erase event - + &Edit + &Redigera - - erase range - + Func&tions + Funk&tioner - - clear automation - + Other + Andra - - Clear all controller events? - + &Copy + &Kopiera - - &Ok - + C&ut + Klipp &ut - - &Cancel - &Avbryt + &Paste + K&listra in - - MusE - external script failed - + Edit in E&xternal Editor + Editera i e&xtern redigerare - - MusE was unable to launch the script, error message: - - + Mute Selection + Tysta markering - - Automation: - + Normalize Selection + Normalisera markering - - - SongInfo - - Song Information - + Fade In Selection + Tona in markering - - Show on song load - + Fade Out Selection + Tona ut Markering - - &Cancel - &Avbryt + Reverse Selection + Reversera markering - - Alt+C - + Select &All + Markera &Allt - - &Ok - + &Deselect All + A&vmarkera Allt - - Alt+O - + Select + Välj - StkGuiBase + WaveTrackInfoBase - Voices - Röster + MusE: TrackInfo + MusE: Spårinfo - Edit - Redigera + Track Info + Spårinfo - - - SynthConfigBase - - MusE: Synth Configuration - MusE: Syntinställningar + Track Name + Spårnamn - - Soft Synthesizer - Mjukvarusynt + Output Route: + Utgångsrutt: - - File - Arkiv + Input Route: + Ingångsrutt: - - Instances - Instanser + Ports: + Portar: + + + WaveView - - - Name - Namn + MusE - external editor failed + MusE - fel med extern redigerare - - list of available software synthesizers - lista med tillgängliga mjukvarusyntar + MusE was unable to launch the external editor +check if the editor setting in: +Global Settings->Audio:External Waveditor +is set to a valid editor. + MusE kunde inte starta extern redigerare +kontrollera om inställningarna i: +Globala inställningar->Ljud:Extern ljudredigerare +är satt till en giltig redigerarbinär - - Add Instance - Lägg till instans + MusE - file size changed + MusE - filstorleken har förändrats - - Remove Instance - Ta bort instans + When editing in external editor - you should not change the filesize +since it must fit the selected region. + +Missing data is muted + Vid editering i extern editor - bör du inte ändra filstorleken +eftersom den måste passa i regionen. + +Saknat data tystas + + + file_patterns - - Midi Port - Midiport + + Midi/Kar (*.mid *.MID *.kar *.KAR *.mid.gz *.mid.bz2) + - - Midi connections - Midikopplingar + + Midi (*.mid *.MID *.mid.gz *.mid.bz2) + - - Inst + + Karaoke (*.kar *.KAR *.kar.gz *.kar.bz2) - - Version - + + + + + + + + + + + + + All Files (*) + Alla filer (*) - - Description - Beskrivning + + Midi (*.mid) + - - - TList - Show Gui - Visa Gui + + Karaoke (*.kar) + - Add Midi Track - Lägg till Midispår + + all known files (*.med *.med.gz *.med.bz2 *.mid *.midi *.kar) + - Add Drum Track - Lägg till Trumspår + + med Files (*.med *.med.gz *.med.bz2) + - Add Wave Track - Lägg till Wavespår + + + Uncompressed med Files (*.med) + - Delete Track - Ta bort spår + + + gzip compressed med Files (*.med.gz) + - Track Comment - Spårkommentar + + + bzip2 compressed med Files (*.med.bz2) + - Midi - Midi + + mid Files (*.mid *.midi *.kar *.MID *.MIDI *.KAR) + - Drum - Trumma + + (*.jpg *.gif *.png) + - Wave - Wave + + (*.jpg) + - This is your first wave track and the project -doesn't appear to be saved yet. - -It is recommended that you save a project file now! - -By doing that you are implicitly selecting a folder -where the audio files will end up. - Detta är ditt första ljudspår och projektet verkar inte vara sparat ännu. - -Du rekommenderas att spara projektet nu! - -Genom att göra det så väljer du indirekt den katalog där -ljudfilerna skall hamna. + + (*.gif) + - Save dialog - Spara dialog + + (*.png) + - Cancel - Avbryt + + part Files (*.mpt *.mpt.gz *.mpt.bz2) + - MusE: bad trackname - MusE: dåligt spårnamn + + part Files (*.mpt) + - please choose a unique track name - vänligen välj ett unikt spårnamn + + gzip compressed part Files (*.mpt.gz) + - Add Output - Lägg till utgång + + bzip2 compressed part Files (*.mpt.bz2) + - Add Group - Lägg till grupp + + Presets (*.pre *.pre.gz *.pre.bz2) + - Add Input - Lägg till ingång + + Presets (*.pre) + - Add Aux Send - Lägg till aux-send + + gzip compressed presets (*.pre.gz) + - Update drummap? - Updatera trum-map? + + bzip2 compressed presets (*.pre.bz2) + - Do you want to use same port for all instruments in the drummap? - Vill du använda samma port för alla instrument i trum-map:en? + + Presets (*.map *.map.gz *.map.bz2) + - &Yes - &Ja + + Presets (*.map) + - &No - &Nej + + gzip compressed presets (*.map.gz) + + + + + bzip2 compressed presets (*.map.bz2) + - show gui - visa gui + + Wave/Binary (*.wav *.ogg *.bin) + - Do you want to use same port and channel for all instruments in the drummap? - Vill du använda samma port och kanal för alla instrument i trummap:en? + + Wave (*.wav *.ogg) + - - - TempoSig - - Tempo/Sig + + Binary (*.bin) - Toolbar1 + freeverb - Cursor - Markör + Rooom Size + Rumstorlek - Snap - Fäst vid + + Damping + Dämpning - Quantize - Kvantisera + + FreeVerb + - To - Till + + Room Size + Rumsstorlek - All Events - Alla Händelser + + Wet Level + - Looped Ev. - Loopade Händelser. + + Tap-Reverberator + - Selected Ev. - Valda Händelser. + + Decay [ms] + - Looped+Sel. - Loopade och Valda. + + + dB + - - - TopWin - - As subwindow + + Dry Level [dB] - - Shares tools and menu + + Wet Level [dB] - - Fullscreen + + Preset: - - Piano roll + + AfterBurn - - List editor + + AfterBurn (Long) - - Drum editor + + Ambience - - Master track editor + + Ambience (Thick) - - Master track list editor + + Ambience (Thick) - HD - - Wave editor + + Cathedral - - Clip list + + Cathedral - HD - - Marker view + + Drum Chamber - - Score editor + + Garage - - Arranger - Arrangerare + + Garage (Bright) + - - <unknown toplevel type> + + Gymnasium - - - TrackComment - MusE: Track Comment - MusE: Spårkommentar + + Gymnasium (Bright) + - Track Comment: - Spårkommentar: + + Gymnasium (Bright) - HD + - - - Transport - - Overdub + + Hall (Small) - - - Replace - Ersätt + + Hall (Medium) + - - Rec Mode - Recläge + + Hall (Large) + - - Normal + + Hall (Large) - HD - - Mix + + Plate (Small) - - Cycle Rec + + Plate (Medium) - - punchin + + Plate (Large) - - loop + + Plate (Large) - HD - - punchout + + Pulse Chamber - - - Punch In + + Pulse Chamber (Reverse) - - - Loop + + Resonator (96 ms) - - - Punch Out + + Resonator (152 ms) - - Left Mark - Vänster Markering + + Resonator (208 ms) + - - Right Mark - Höger Markering + + Room (Small) + - - rewind to start - flytta tillbaka till början + + Room (Medium) + - - rewind - flytta tillbaka + + Room (Large) + - - forward - frammåt + + Room (Large) - HD + - - stop - stopp + + Slap Chamber + - - play - spela + + Slap Chamber - HD + - - record - spela in + + Slap Chamber (Bright) + - - AC + + Slap Chamber (Bright) HD - - quantize during record - kvantisera under inspelning + + Smooth Hall (Small) + - - Click - + + Smooth Hall (Medium) + - - metronom click on/off - metronomklick av/på + + Smooth Hall (Large) + - - Sync - Synk + + Smooth Hall (Large) - HD + - - external sync on/off - externsynk. av/på + + Vocal Plate + - - Master - Master + + Vocal Plate - HD + - - use master track - använder masterspår + + Warble Chamber + - - Jack + + Warehoouse - - Jack transport sync on/off + + Warehouse - HD - - - TransposeBase - - MusE: Transpose + + Comb Filters - - Range - Område + + Allpass Filters + - - All Events - Alla Händelser + + Bandpass Filters + - Selected Events - Valda Händelser + Enhanced Stereo + + + + shortcuts - - Looped Events - Loopade Händelser + + Transport: Start playback from current location + - - Selected Looped + + Transport: Toggle metronome - - Value - Värde + + Transport: Stop Playback + - - Halftone-steps + + Transport: Goto Start - - OK + + Transport: Play, Stop, Rewind - - Cancel - Avbryt + + Transport: Goto left marker + - - - TransposeDialogBase - MusE: Midi Transpose - MusE: Miditransponering + + Transport: Goto right marker + - Value - Värde + + Transport: Toggle Loop section + - halftones - halvtoner + + Transport: Toggle Record + - Time - Tid + + Transport: Clear all rec enabled tracks + - all - alla + + Toggle fullscreen + - between markers - mellan markeringar + + Edit: Copy + - Parts - Parter + + Edit: Copy in range + - all in selected tracks - alla i valda spår + + Edit: Undo + - Cancel - Avbryt + + Edit: Redo + - - - UnusedWaveFiles - - Dialog + + Edit: Cut - - List of unused audio files in current project directory: + + Edit: Paste - - Current project + + Edit: Paste (with dialog) - - All .med files -in current - directory + + Edit: Delete - - Move files to 'unused' subdir + + File: New project - - Cancel - Avbryt + + File: Open from disk + - - - VAMGui - - - MusE: Save VAM Presets - MusE: Spara VAM presets + + File: Save project + - - MusE: Load VAM Presets + + File: Open recent file - - - VAMGuiBase - - Virtual Analogue for MusE - Virtual Analogue för MusE + + File: Save as + - - - - Waveform - Vågform + + File: Load template + - - - - Sine - Sinus + + File: Import midi file + - - - - Pulse - Puls + + File: Export midi file + - - - - Saw - Sågtand + + File: Import midi part + - - - - Triangle - Triangel + + File: Import audio file + - - Filter - Filter + + File: Quit MusE + - - Invert - Invertera + + Edit: Select parts on track + - - Presets - Preset + + Open pianoroll + - - load preset list - öppna presetlista + + Open drumeditor + - - save preset list - spara presetlista + + Open listeditor + - - save preset list to a new file - spara presetlista till ny fil + + Open waveeditor + - - delete preset - ta bort preset + + Open graphical mastertrack editor + - - - Pitch - Tonhöjd + + Open list mastertrack editor + - - On - + + Open midi transformer + - - LFO + + Add midi track - - Freq + + Add drum track - - EnvMod + + Add wave track - - - - Attack + + Add audio output - - - - Decay + + Add audio group + + + + + Add audio input + + + + + Add audio aux - - - - Sustain + + Structure: Global cut - - - - Release + + Structure: Global insert - - Cutoff + + Structure: Global split - - Resonance + + Structure: Cut events - - KeyTrack + + View: Open mixer #1 window - - Set + + View: Open mixer #2 window - - DCO 1 + + View: Toggle transport window - - - Detune + + View: Toggle bigtime window - - - PWM + + View: Open marker window - - - FM + + Settings: Follow song by page - - - PW + + Settings: Follow song off - - DCO 2 + + Settings: Follow song continuous - - - VAM 1.0beta3 -Virtual Analog for MusE -Released under GPL. -Copyright(C) 2002 -Jotsif Lindman Hörnlund -( jotsif@linux.nu ) -Copyright(C) 2005 -Robert Jonsson -(rj@spamatica.se) + + + Settings: Global configuration - - - VelocityBase - - MusE: Modify Velocity - MusE: Modifiera Velocity + + Settings: Configure shortcuts + - - Range - Område + + Settings: Configure metronome + - - All Events - Alla Händelser + + Settings: Midi sync configuration + - - Selected Events - Valda Händelser + + Settings: Midi file import/export configuration + - - Looped Events - Loopade Händelser + + Settings: Appearance settings + - - Selected Looped + + Settings: Midi ports / Soft Synth - Selected & Looped - Valda & Loopade + + Settings: Audio subsystem configuration + - - Values - Värden + + Midi: Edit midi instruments + - - Rate: - Hastighet: + + Midi: Open midi input transform + - - % + + Midi: Open midi input filter - - Offset: - Offset: + + Midi: Midi input transpose + - - veloNew = (veloOld * rate) + offset + + Midi: Midi remote control - - OK + + Midi: Random rhythm generator - - Cancel - Avbryt + + Midi: Reset midi + - - - WTScale - bar scale - takt-skala + + Midi: Init midi + - - - WaveEdit - &File - &Arkiv + + Midi: Midi local off + - Functions - Funktioner + + Audio: Bounce audio to track + - Normalize - Normalisera + + Audio: Bounce audio to file + - - Solo + + Audio: Restart audio - - Cursor - Markör + + Automation: Mixer automation + - - &Edit - &Redigera + + Automation: Take mixer snapshot + - - Func&tions - Funk&tioner + + Automation: Clear mixer automation + - - 200% + + Help: Open Manual - - 150% + + Help: Toggle whatsthis mode - - 75% + + Edit: Edit selected part - - 50% + + Edit: Select nearest part on track above - - 25% + + Edit: Add nearest part on track above - - Other - Andra + + Edit: Select nearest part on track below + - - &Gain + + Edit: Add nearest part on track below - - &Copy - &Kopiera + + Edit: Insert empty measure + - - C&ut - Klipp &ut + + Edit: Paste as clones + - - &Paste - K&listra in + + Edit: Paste as clones (with dialog) + - - Edit in E&xternal Editor - Editera i e&xtern redigerare + + Select track above + - - Mute Selection - Tysta markering + + Select track below + - Normalize Selection - Normalisera markering + Midi: Transpose + - Fade In Selection - Tona in markering + Edit: Select all + - - Fade Out Selection - Tona ut Markering + + Edit: Select none + - - Reverse Selection - Reversera markering + + Edit: Invert Selection + - - Select &All - Markera &Allt + + Edit: Select events/parts inside locators + - - &Deselect All - A&vmarkera Allt + + Edit: Select events/parts outside locators + - - Window &Config + + Edit: Select previous part - - WaveEdit tools + + Edit: Select next part - - Select - Välj + + Edit: Select nearest part/event to the left or move cursor + - - Wave edit tools + + Edit: Add nearest part/event to the left to selection - - transport + + Edit: Select nearest part/event to the right or move cursor - - - WaveTrackInfoBase - MusE: TrackInfo - MusE: Spårinfo + + Edit: Add nearest part/event to the right to selection + - Track Info - Spårinfo + + Edit: Set locators to selection + - Track Name - Spårnamn + + Edit: Increase pitch + - Output Route: - Utgångsrutt: + + Edit: Decrease pitch + - Input Route: - Ingångsrutt: + + Edit: Increase event position + - Ports: - Portar: + + Edit: Decrease event position + - - - WaveView - - MusE - external editor failed - MusE - fel med extern redigerare + + View: Zoom in + - MusE was unable to launch the external editor -check if the editor setting in: -Global Settings->Audio:External Waveditor -is set to a valid editor. - MusE kunde inte starta extern redigerare -kontrollera om inställningarna i: -Globala inställningar->Ljud:Extern ljudredigerare -är satt till en giltig redigerarbinär + View: Zoom out + - - MusE - file size changed - MusE - filstorleken har förändrats + + View: Goto Current Position + - When editing in external editor - you should not change the filesize -since it must fit the selected region. - -Missing data is muted - Vid editering i extern editor - bör du inte ändra filstorleken -eftersom den måste passa i regionen. - -Saknat data tystas + + View: Scroll left + - - - freeverb - Rooom Size - Rumstorlek + + Edit: Set Fixed Length on Midi Events + - - Damping - Dämpning + + Quantize + Kvantisera - - FreeVerb + + Modify Note Length - - Room Size - Rumsstorlek + + Modify Velocity + Modifiera Velocity - - Wet Level + + Edit: Crescendo - - Tap-Reverberator + + Edit: Thin Out - - Decay [ms] + + Edit: Erase Event - - - dB + + Edit: Delete Overlaps - - Dry Level [dB] + + Edit: Note Shift - - Wet Level [dB] + + Edit: Move Clock - - Preset: + + Edit: Copy Measure - - AfterBurn + + Edit: Erase Measure - - AfterBurn (Long) + + Edit: Delete Measure - - Ambience + + Edit: Create Measure - - Ambience (Thick) + + Edit: Change Event Color - Ambience (Thick) - HD + Tool: Pointer - - Cathedral + + Tool: Pencil - - Cathedral - HD + + Tool: Eraser - - Drum Chamber + + Tool: Line Draw - - Garage + + Tool: Cursor - - Garage (Bright) + + Add note velocity 1 - - Gymnasium + + Add note velocity 2 - - Gymnasium (Bright) + + Add note velocity 3 - - Gymnasium (Bright) - HD + + Add note velocity 4 - - Hall (Small) + + Cursor step size: larger - - Hall (Medium) + + Cursor step size: smaller - - Hall (Large) + + Instrument/Cursor up - - Hall (Large) - HD + + Instrument/Cursor down - - Plate (Small) + + Tool: Scissor - - Plate (Medium) + + Tool: Glue - - Plate (Large) + + Tool: Mute - - Plate (Large) - HD + + Transport: Increase current position - - Pulse Chamber + + Transport: Decrease current position - - Pulse Chamber (Reverse) + + Transport: Increase current position, no snap - - Resonator (96 ms) + + Transport: Decrease current position, no snap - - Resonator (152 ms) + + Quantize: Set quantize to 1/1 note - - Resonator (208 ms) + + Quantize: Set quantize to 1/2 note - - Room (Small) + + Quantize: Set quantize to 1/4 note - - Room (Medium) + + Quantize: Set quantize to 1/8 note - - Room (Large) + + Quantize: Set quantize to 1/16 note - - Room (Large) - HD + + Quantize: Set quantize to 1/32 note - - Slap Chamber + + Quantize: Set quantize to 1/64 note - - Slap Chamber - HD + + Quantize: Toggle triol quantization - - Slap Chamber (Bright) + + Quantize: Toggle punctuation quantization - - Slap Chamber (Bright) HD + + Quantize: Toggle punctuation quantization (2) - - Smooth Hall (Small) + + Edit: Insert at location - - Smooth Hall (Medium) + + Edit: Increase length - - Smooth Hall (Large) + + Edit: Decrease length - - Smooth Hall (Large) - HD - + + Insert Note + Mata in Not - - Vocal Plate - + + Insert SysEx + Mata in SysEx - - Vocal Plate - HD - + + Insert Ctrl + Mata in Ctrl - - Warble Chamber - + + Insert Meta + Mata in Meta - - Warehoouse - + + Insert Channel Aftertouch + Mata in Aftertouch för kanal + + + + Insert Key Aftertouch + Mata in Key Aftertouch - Warehouse - HD + Insert Tempo + Sätt in tempo + + + + Insert Signature + Sätt in signatur + + + + Change Event Position - - Comb Filters + + Edit Event Value - - Allpass Filters + + Insert Key - - Bandpass Filters + + Goto Next Marker - - Enhanced Stereo + + Goto Prev Marker diff --git a/muse2/share/templates/default.med b/muse2/share/templates/default.med index 2c13e64f..af50ee89 100644 --- a/muse2/share/templates/default.med +++ b/muse2/share/templates/default.med @@ -9,13 +9,6 @@ 0 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 1 00:00:00:00:00 1 @@ -464,6 +457,16 @@ + + + + + + + + + + 0 diff --git a/muse2/synti/fluid/CMakeLists.txt b/muse2/synti/fluid/CMakeLists.txt index 5be44593..8109493b 100644 --- a/muse2/synti/fluid/CMakeLists.txt +++ b/muse2/synti/fluid/CMakeLists.txt @@ -73,7 +73,7 @@ set (FILES_TO_TRANSLATE set_target_properties ( fluid PROPERTIES PREFIX "" COMPILE_FLAGS "-fvisibility=hidden -include ${PROJECT_BINARY_DIR}/all-pic.h" - LINK_FLAGS "${FLUIDSYN_LDFLAGS}" # "-lfluidsynth" + # LINK_FLAGS "${FLUIDSYN_LDFLAGS}" # "-lfluidsynth" ) ## @@ -85,9 +85,9 @@ target_link_libraries(fluid # Can't do this. FLUIDSYN_LIBRARIES = fluidsynth, which is the name # of our fluidsynth.so shared synthesizer library. # This caused ../fluidsynth/fluidsynth.so to appear in the link line. - # ${FLUIDSYN_LIBRARIES} - # Try giving full path: Nope, path is empty! - # ${FLUIDSYN_LIBRARY_DIRS}/${FLUIDSYN_LIBRARIES} + # Nov 1, 2011. fluidsynth module renamed fluid_synth to avoid bizarre new conflict on Ubuntu 11.10, seems due to LINK_FLAGS line. + # Got undefined symbol fluid_synth_cc, in fluid, at startup at runtime. So we can enable this now. + ${FLUIDSYN_LIBRARIES} ) ## diff --git a/muse2/synti/fluidsynth/CMakeLists.txt b/muse2/synti/fluidsynth/CMakeLists.txt index db96341f..0e9f90bb 100644 --- a/muse2/synti/fluidsynth/CMakeLists.txt +++ b/muse2/synti/fluidsynth/CMakeLists.txt @@ -54,7 +54,9 @@ file (GLOB fluidsynth_source_files ## ## Define target ## -add_library ( fluidsynth SHARED +# Nov 1, 2011. fluidsynth module renamed fluid_synth to avoid bizarre new conflict on Ubuntu 11.10, seems due to LINK_FLAGS line. +# Got undefined symbol fluid_synth_set_reverb at startup at runtime. +add_library ( fluid_synth SHARED ${fluidsynth_source_files} ${fluidsynth_mocs} ${fluidsynth_uis} @@ -78,30 +80,28 @@ set (FILES_TO_TRANSLATE # libfluidsynth.so # - use precompiled header files # -set_target_properties ( fluidsynth +set_target_properties ( fluid_synth PROPERTIES PREFIX "" COMPILE_FLAGS "-fvisibility=hidden -include ${PROJECT_BINARY_DIR}/all-pic.h" - LINK_FLAGS "${FLUIDSYN_LDFLAGS}" # "-lfluidsynth" + # LINK_FLAGS "${FLUIDSYN_LDFLAGS}" # "-lfluidsynth" ) - ## ## Linkage ## -target_link_libraries(fluidsynth +target_link_libraries(fluid_synth synti ${QT_LIBRARIES} # Can't do this here, since FLUIDSYN_LIBRARIES evaluates # to 'fluidsynth', the same name as our target. - # ${FLUIDSYN_LIBRARIES} - # Try giving full path: Nope, path is empty! - #${FLUIDSYN_LIBRARY_DIRS}/${FLUIDSYN_LIBRARIES} + # Fixed Nov 1, 2011 + ${FLUIDSYN_LIBRARIES} ) ## ## Install location ## -install( TARGETS fluidsynth +install( TARGETS fluid_synth DESTINATION ${MusE_SYNTHI_DIR} ) install( FILES README.txt TODO diff --git a/muse2/synti/vam/vam.cpp b/muse2/synti/vam/vam.cpp index 7928aec2..713d8a59 100644 --- a/muse2/synti/vam/vam.cpp +++ b/muse2/synti/vam/vam.cpp @@ -26,7 +26,6 @@ // 02111-1301, USA or point your web browser to http://www.gnu.org. //========================================================= -#include #include #include #include -- cgit v1.2.3 From 18b937ad500199bc872b61c6d4df418e927a02a4 Mon Sep 17 00:00:00 2001 From: Florian Jung Date: Mon, 7 Nov 2011 21:54:29 +0000 Subject: forgot robert's commit ;) --- muse2/ChangeLog | 1 + muse2/share/locale/muse_es.ts | 628 +++++++++++++++--------------------------- 2 files changed, 227 insertions(+), 402 deletions(-) diff --git a/muse2/ChangeLog b/muse2/ChangeLog index 3913d30f..7a1d8d9b 100644 --- a/muse2/ChangeLog +++ b/muse2/ChangeLog @@ -1,6 +1,7 @@ 07.11.2011: - fixed restore-window-state bug (flo) - fixed dialog translation problem (flo) + - Updated spanish translation by Cristian Ramos (rj) 06.11.2011: - auto-expand fix (flo) - NoteInfo-toolbar fix (flo) diff --git a/muse2/share/locale/muse_es.ts b/muse2/share/locale/muse_es.ts index 1cb5f695..454934f9 100644 --- a/muse2/share/locale/muse_es.ts +++ b/muse2/share/locale/muse_es.ts @@ -225,42 +225,42 @@ haz click en una parte para silenciar/des-silenciar Add Audio Output - + Agregar salida de audio Add Audio Group - + Agregar grupo de audio Add Audio Input - + Agregar entrada de audio Add Aux Send - + Agregar envio auxiliar Add Synth - + Agregar sintetizador Route - + dest - + name="%1"/ - + Velocity @@ -269,27 +269,27 @@ haz click en una parte para silenciar/des-silenciar Warning: No output devices! - + Atencion: No hay salidas disponibles Open midi config... - + Confugurar MIDI Empty ports - + Puerto vacio <none> - + <ninguno> channelMask="%1" - + @@ -297,12 +297,12 @@ haz click en una parte para silenciar/des-silenciar AboutBox - + Version 2 pre-alpha - + Versión 2.0 pre-alfa @@ -1467,7 +1467,7 @@ Published under the GNU Public License MusE: Crescendo/Decrescendo - + MusE: Crescendo/Decrescendo @@ -1477,12 +1477,12 @@ Published under the GNU Public License Looped Events - + Eventos en bucle Selected Looped - + Seleccionar bucles @@ -1492,7 +1492,7 @@ Published under the GNU Public License Start velocity - + Intensidad al inicio @@ -1503,17 +1503,17 @@ Published under the GNU Public License End velocity - + Intencidad al final Absolute - + Absoluto Relative - + Relativo @@ -1570,7 +1570,7 @@ Published under the GNU Public License Save configuration - + Guardar Configuración @@ -1584,7 +1584,7 @@ Published under the GNU Public License Critical Error - + Error Critico @@ -1593,7 +1593,7 @@ Published under the GNU Public License Cannot open file %1 - + No se puede abrir el archivo %1 @@ -1623,23 +1623,23 @@ Published under the GNU Public License New category - + Nueva categoria Delete category - + Borrar categoria Load category - + Cargar categoria Save category - + Guardar categoria @@ -1659,44 +1659,44 @@ Published under the GNU Public License New subcategory - + Nueva subcategoria Delete subcategory - + Borrar sub categoria Load subcategory - + Crgar subcategoria Save subcategory - + Guardar subcategoria New preset - + Nuevo preseteo Delete preset - + Borrar preseteo Load preset - + Cargar preseteo Save preset - + Guardar preseteo @@ -1720,20 +1720,20 @@ Published under the GNU Public License &Yes - + &Si &No - + &No No category selected - + No hay categoria seleccionada @@ -1746,7 +1746,7 @@ Published under the GNU Public License Replace or add - + Reemplazar o agregar @@ -1759,21 +1759,21 @@ Published under the GNU Public License &Replace - + &Reemplazar &Add - + &Agregar Download error - + Error de descarga @@ -1783,7 +1783,7 @@ Published under the GNU Public License Save category dialog - + Guardar dialogo de categoria @@ -1799,7 +1799,7 @@ Published under the GNU Public License No subcategory selected - + No hay subcategoria seleccionada @@ -1810,7 +1810,7 @@ Published under the GNU Public License Load subcategory dialog - + Cargar dialogo de subcategoria @@ -1826,7 +1826,7 @@ Published under the GNU Public License Save subcategory dialog - + Guardar dialogo de subcategoria @@ -1843,7 +1843,7 @@ Published under the GNU Public License No preset selected - + No hay preseteos seleccionados @@ -1855,7 +1855,7 @@ Published under the GNU Public License Load preset dialog - + Cargar dialogo de preseteo @@ -1871,7 +1871,7 @@ Published under the GNU Public License Save preset dialog - + Guardar dialogo de preseteo @@ -1881,7 +1881,7 @@ Published under the GNU Public License Browse image dialog - + Buscar imagen de dialogo @@ -1894,7 +1894,7 @@ Published under the GNU Public License &Preset - + &Preseteos @@ -1914,7 +1914,7 @@ Published under the GNU Public License Subcategory - + Subcategoria @@ -1926,7 +1926,7 @@ Published under the GNU Public License NONE - + NINGUNO @@ -1936,7 +1936,7 @@ Published under the GNU Public License Category - + Categoria @@ -1956,12 +1956,12 @@ Published under the GNU Public License &Global - + &Global Pitch Envelope - + Envolvente de afinación @@ -3263,7 +3263,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t MusE: Delete Overlaps - + MusE: Borrar superpuestos @@ -3306,17 +3306,17 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Did you know? - + ¿Sabia usted que? Don't show on startup - + No volver a mostrar Next tip - + Siguiente sugerencia @@ -3596,7 +3596,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t MusE: Edit Controller Event - + MusE:-Editar eventos de control @@ -3606,12 +3606,12 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Available Controller: - + Control disponible Create New Controller - + Crear nuevo control @@ -3657,7 +3657,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t &OK - + &Aceptar @@ -3681,7 +3681,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t MusE: Modify gain - + MusE:-Modificar ganancia @@ -3706,7 +3706,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t &Reset - + &Resetear @@ -4569,7 +4569,7 @@ Typically, set to 127/127, or an unused MusE: Enter SysEx - MusE: Introduce el sistema exclusivo + MusE: Introducir sistema exclusivo @@ -4639,7 +4639,7 @@ Typically, set to 127/127, or an unused FLUID: open Soundfile - + FLUID: Archivo de sonido abierto @@ -4665,7 +4665,7 @@ Typically, set to 127/127, or an unused FLUID Synth - + Fluid Synth @@ -4680,22 +4680,22 @@ Typically, set to 127/127, or an unused Dump Info - + Volcar información ID - + ID Fontname - + Nombre de fuente Chnl - + Canal @@ -4705,7 +4705,7 @@ Typically, set to 127/127, or an unused Drum Chnl - + Canal de percusión @@ -4781,7 +4781,7 @@ Typically, set to 127/127, or an unused LOADED SOUNDFONTS - + SOUNDFONTS CARGADOS @@ -4809,7 +4809,8 @@ Typically, set to 127/127, or an unused only Songdata - + Solo +Datos de sesión @@ -4820,7 +4821,8 @@ Songdata Songdata + Configuration - + Datos de sesión + +Configuración @@ -4828,7 +4830,7 @@ Configuration Choose soundfont - + Elegir soundfont @@ -4871,12 +4873,12 @@ Configuration MusE: Modify Note Length - + MusE: Modificar duración de nota Selected Looped - + Seleccionar bucles @@ -4886,12 +4888,12 @@ Configuration Rate: - Velocidad: + Velocidad: Offset: - Desplazamiento: + Desplazamiento: @@ -6613,7 +6615,7 @@ clase de controladores en la lista de MusE. Filter - Filtrar + Filtro @@ -9363,7 +9365,7 @@ falló Jack shutdown! - + Detener Jack @@ -9388,50 +9390,50 @@ click on the Restart button. Automation: - + Automatizacion previous event - + evento anterior next event - + evento siguiente set event - + add event - + agregar evento erase event - + borrar evento erase range - + borrar rango clear automation - + limpiar automatizacion Clear all controller events? - + Limpiar todos los controladores @@ -9446,13 +9448,13 @@ click on the Restart button. MusE - external script failed - + MusE - fallo de orden externa MusE was unable to launch the script, error message: %1 - + @@ -9510,12 +9512,12 @@ Word-breaking but only with spaces. Standard - + Estandar Custom - + Personalozado @@ -9543,7 +9545,7 @@ Word-breaking but only with spaces. Mute/Off Indicator - + Indicador de Desconexion/Apagado @@ -9558,17 +9560,17 @@ Word-breaking but only with spaces. Track Name - + Nombre de pista Midi output channel number or audio channels - + Numero de canal de salida MIDI o canales de audio Midi output port or synth midi port - + Puerto de salida MIDI o puerto de sintetizador @@ -9578,7 +9580,7 @@ Word-breaking but only with spaces. Automation parameter selection - + Seleccion de parametros de automatizacion @@ -9635,7 +9637,7 @@ Right-click to show GUI. Time lock - + Bloqueo de tiempo @@ -9655,12 +9657,12 @@ Right-click to show GUI. Off - + Apagado Bar - + Compaz @@ -9676,7 +9678,7 @@ Right-click to show GUI. song length - bars - + Duracion de compaz @@ -9778,7 +9780,7 @@ Right-click to show GUI. Ch - + @@ -9788,7 +9790,7 @@ Right-click to show GUI. Automation - + Automatizacion @@ -9801,12 +9803,12 @@ Right-click to show GUI. MusE: Arranger - + MusE: Ordenar Undo/Redo tools - + Herramientas de Deshacer/Rehacer @@ -9816,7 +9818,7 @@ Right-click to show GUI. transport - + transporte @@ -9831,7 +9833,7 @@ Right-click to show GUI. Copy in range - + Copia en rango @@ -9841,17 +9843,17 @@ Right-click to show GUI. Paste (show dialog) - + Pegar (ver dialogo) Paste c&lone - + Pegar c&lon Paste clone (show dialog) - + Pergar clon (ver dialogo) @@ -9861,7 +9863,7 @@ Right-click to show GUI. Delete Selected Tracks - + Borrar pistas seleccionadas @@ -9876,7 +9878,7 @@ Right-click to show GUI. Clean selected parts - + Limpiar partes seleccionadas @@ -10007,17 +10009,17 @@ Right-click to show GUI. &Quantize Notes - + Cuantizado de notas Change note &length - + Cambiar duracion de nota Change note &velocity - + Cambiar intensidad de nota @@ -10032,22 +10034,22 @@ Right-click to show GUI. Erase Events (Not Parts) - + Borrar eventos (no partes) Move Events (Not Parts) - + Mover eventos (no partes) Set Fixed Note Length - + Fijar duracion de notas Delete Overlapping Notes - + Borrar notas superpuestas @@ -10063,7 +10065,7 @@ Right-click to show GUI. New - + Nuevo @@ -10076,7 +10078,7 @@ Right-click to show GUI. &View - + &Ver @@ -10086,42 +10088,42 @@ Right-click to show GUI. Show Midi Tracks - + Ver pistas MIDI Show Drum Tracks - + Ver pistas de percision Show Wave Tracks - + Ver pistas de audio Show Inputs - + Ver entradas de audio Show Outputs - + Ver salidas de audio Show Groups - + Ver grupos de audio Show Auxs - + Ver envios auxiliares Show Synthesizers - + Ver sintetizadores @@ -10129,17 +10131,17 @@ Right-click to show GUI. panorama - + panorama aux send level - + volumen de envio auxiliar Pan - + Paneo @@ -10180,7 +10182,7 @@ Right-click to show GUI. solo mode - + Modo solo @@ -10210,27 +10212,27 @@ Right-click to show GUI. Off - + Apagado Read - + Lectura Touch - + Tocar Write - + Escritura automation type - + Tipo de automatizacion @@ -10238,23 +10240,23 @@ Right-click to show GUI. format display - + Formato de vista bar - + compaz beat - + Pulso tick - + parte @@ -10293,7 +10295,7 @@ Right-click to show GUI. Undo/Redo tools - + Herramientas Deshacer/Rehacer @@ -10303,7 +10305,7 @@ Right-click to show GUI. transport - + Transporte @@ -10318,7 +10320,7 @@ Right-click to show GUI. Off - + Apagado @@ -10346,12 +10348,12 @@ Right-click to show GUI. manual adjust - + Ajuste manual double click on/off - + doble click encendido/apagado @@ -10367,29 +10369,29 @@ Right-click to show GUI. add new ... - + Agregar nuevo... Instrument-defined - + Definicion de instrumento Add ... - + Agregar... Others - + Otros Edit instrument ... - + Editar instrumento... @@ -10813,7 +10815,7 @@ Right-click to show GUI. MusE: Create file failed - + MusE: Fallo la creacion del archivo @@ -10826,7 +10828,7 @@ Right-click to show GUI. MusE: - + MusE: @@ -10853,35 +10855,35 @@ does not exist yet. Create it now? MusE: Save Instrument Definition - + MusE: Guardar definicion de instrumento Instrument Definition (*.idf) - + Definicion de instrumento (*.idf) MusE: Save instrument as - + MusE: Guardar instrumento como Enter a new unique instrument name: - + Ingrese un nuevo nombre unico de instrumento The user instrument '%1' already exists. This will overwrite its .idf instrument file. Are you sure? - + MusE: Bad instrument name - + MusE: Nombre de instrumento invalido @@ -10892,12 +10894,12 @@ Are you sure? MusE: Bad patch name - + MusE: Nombre de programa invalido Please choose a unique patch name - + Por favor elija nombre unico de programa @@ -11206,17 +11208,17 @@ haz click en una parte para silenciar/des-silenciar save preset - + Guardar preseteo MusE: Save Preset - + MusE: Guardar preseteo Replace effect - + Reemplazar efecto @@ -12408,7 +12410,7 @@ Apply sync settings? Failed to start audio! - + Falla al iniciar el audio @@ -12475,7 +12477,7 @@ Apply sync settings? Start - + Iniciar @@ -12546,7 +12548,7 @@ Apply sync settings? &New - + &Nuevo @@ -12603,7 +12605,7 @@ Puedes seleccionar también el comando Guardar del men de Archivo. Import Part - + Importar parte @@ -12614,7 +12616,7 @@ Puedes seleccionar también el comando Guardar del men de Archivo. Find unused wave files - + Buscar archivos de audio sin uso @@ -12624,7 +12626,7 @@ Puedes seleccionar también el comando Guardar del men de Archivo. Song Info - + Información de la sesión @@ -12634,17 +12636,17 @@ Puedes seleccionar también el comando Guardar del men de Archivo. Bigtime Window - + Ventana del Gran reloj Mixer A - + Mezcladora A Mixer B - + Mezcladora B @@ -12654,17 +12656,17 @@ Puedes seleccionar también el comando Guardar del men de Archivo. Marker View - + Ver marcas Arranger View - + ORdenar vistas Fullscreen - + Pantalla completa @@ -12674,7 +12676,7 @@ Puedes seleccionar también el comando Guardar del men de Archivo. Edit Instrument - + Editar instrumento @@ -12704,7 +12706,7 @@ Puedes seleccionar también el comando Guardar del men de Archivo. Rhythm Generator - + Generador de ritmo @@ -12719,7 +12721,7 @@ Puedes seleccionar también el comando Guardar del men de Archivo. Local Off - + Apagado local @@ -12734,12 +12736,12 @@ Puedes seleccionar también el comando Guardar del men de Archivo. Restart Audio - + Reiniciar audio Mixer Automation - + Mezcla de automatización @@ -12749,12 +12751,12 @@ Puedes seleccionar también el comando Guardar del men de Archivo. Clear Automation Data - + Limpiar datos de automatización Cascade - + Cascada @@ -12769,7 +12771,7 @@ Puedes seleccionar también el comando Guardar del men de Archivo. In columns - + @@ -12779,7 +12781,7 @@ Puedes seleccionar también el comando Guardar del men de Archivo. Configure Shortcuts - + Configurar accesos directos @@ -12814,7 +12816,7 @@ Puedes seleccionar también el comando Guardar del men de Archivo. Midi File Import/Export - + Importar/Exportar archivo MIDI @@ -12824,27 +12826,27 @@ Puedes seleccionar también el comando Guardar del men de Archivo. Midi Ports / Soft Synth - + Puertos MIDI / Sintetizadores &Manual - + &Manual &MusE Homepage - + Página del proyecto &MusE &Report Bug... - + &Reportar una falla &About MusE - + &Acerca de MusE @@ -12854,7 +12856,7 @@ Puedes seleccionar también el comando Guardar del men de Archivo. Undo/Redo - + Deshacer/Rehacer @@ -12864,12 +12866,12 @@ Puedes seleccionar también el comando Guardar del men de Archivo. &File - + Archivo &View - + &Ver @@ -12884,17 +12886,17 @@ Puedes seleccionar también el comando Guardar del men de Archivo. A&utomation - + A&utomatización &Windows - + Ventanas MusE Se&ttings - + Configuraciones de MusE @@ -12904,39 +12906,39 @@ Puedes seleccionar también el comando Guardar del men de Archivo. Cannot read template - + No se puede leer la plantilla File open error - + Error al abrir el archivo File read error - + Error al leer el archivo Unknown File Format: %1 - + Formato de archivo desconocido: %1 MusE: Song: %1 - + Sesión de MusE: %1 MusE: load project - MusE: Carga proyecto + MusE: Carga sesión MusE: load template - + MusE: cargar plantilla @@ -12947,14 +12949,14 @@ Puedes seleccionar también el comando Guardar del men de Archivo. The current Project contains unsaved data Save Current Project? - El proyecto actual contiene datos no guardados -Guardamos el proyecto actual? + La sesión actual contiene datos sin guardar +Guardar la sesión actual? S&kip - + Ignorar @@ -13128,7 +13130,6 @@ falló: Likely the selected track is the wrong type. - @@ -13137,7 +13138,6 @@ Likely the selected track is the wrong type. Likely the selected track is the wrong type. - @@ -13209,7 +13209,7 @@ Do you still want to import it? No puedo copiar/mover/clonar a un tipo diferente de pista - + C&ut C&ortar @@ -13292,7 +13292,6 @@ Files: Likely the selected track is the wrong type. - @@ -13301,7 +13300,6 @@ Likely the selected track is the wrong type. Likely the selected track is the wrong type. - @@ -13342,7 +13340,6 @@ Likely the selected track is the wrong type. %n quarter(s) - @@ -13365,7 +13362,6 @@ Likely the selected track is the wrong type. %n quarter(s) - @@ -13411,12 +13407,12 @@ Likely the selected track is the wrong type. Paste (with dialog) - + Pegar (con dialogo) Delete &Events - + Borrar eventos @@ -13496,7 +13492,7 @@ Likely the selected track is the wrong type. Move Notes - + Mover notas @@ -13506,7 +13502,7 @@ Likely the selected track is the wrong type. Delete Overlaps - + Borrar superpuestos @@ -13526,12 +13522,12 @@ Likely the selected track is the wrong type. &Event Color - + Color de eventos &Blue - + Azul @@ -16149,7 +16145,7 @@ actualmente sin uso crear archivo de picos para - + MusE: get file name MusE: obtener el nombre de archivo @@ -16194,7 +16190,7 @@ Create it? fallóla creación de directorio - + File %1 exists. Overwrite? @@ -18349,178 +18345,6 @@ Robert Jonsson Estéreo - - file_patterns - - - Midi/Kar (*.mid *.MID *.kar *.KAR *.mid.gz *.mid.bz2) - - - - - Midi (*.mid *.MID *.mid.gz *.mid.bz2) - - - - - Karaoke (*.kar *.KAR *.kar.gz *.kar.bz2) - - - - - - - - - - - - - - - - All Files (*) - Todos los archivos (*) - - - - Midi (*.mid) - - - - - Karaoke (*.kar) - - - - - all known files (*.med *.med.gz *.med.bz2 *.mid *.midi *.kar) - - - - - med Files (*.med *.med.gz *.med.bz2) - - - - - - Uncompressed med Files (*.med) - - - - - - gzip compressed med Files (*.med.gz) - - - - - - bzip2 compressed med Files (*.med.bz2) - - - - - mid Files (*.mid *.midi *.kar *.MID *.MIDI *.KAR) - - - - - (*.jpg *.gif *.png) - - - - - (*.jpg) - - - - - (*.gif) - - - - - (*.png) - - - - - part Files (*.mpt *.mpt.gz *.mpt.bz2) - - - - - part Files (*.mpt) - - - - - gzip compressed part Files (*.mpt.gz) - - - - - bzip2 compressed part Files (*.mpt.bz2) - - - - - Presets (*.pre *.pre.gz *.pre.bz2) - - - - - Presets (*.pre) - - - - - gzip compressed presets (*.pre.gz) - - - - - bzip2 compressed presets (*.pre.bz2) - - - - - Presets (*.map *.map.gz *.map.bz2) - - - - - Presets (*.map) - - - - - gzip compressed presets (*.map.gz) - - - - - bzip2 compressed presets (*.map.bz2) - - - - - Wave/Binary (*.wav *.ogg *.bin) - - - - - Wave (*.wav *.ogg) - - - - - Binary (*.bin) - - - freeverb -- cgit v1.2.3 From 42126f3b398802eb24c8d9acd2591ef4dbe7257d Mon Sep 17 00:00:00 2001 From: Florian Jung Date: Mon, 21 Nov 2011 18:02:02 +0000 Subject: added feature: super-glue --- muse2/ChangeLog | 2 + muse2/muse/arranger/pcanvas.cpp | 10 ++++- muse2/muse/functions.cpp | 77 +++++++++++++++++++++++++++++++++++++++ muse2/muse/functions.h | 2 + muse2/muse/midiedit/scoreedit.cpp | 3 ++ 5 files changed, 92 insertions(+), 2 deletions(-) diff --git a/muse2/ChangeLog b/muse2/ChangeLog index 7a1d8d9b..4e59198b 100644 --- a/muse2/ChangeLog +++ b/muse2/ChangeLog @@ -1,3 +1,5 @@ +21.11.2011: + - added super-glue feature (flo) 07.11.2011: - fixed restore-window-state bug (flo) - fixed dialog translation problem (flo) diff --git a/muse2/muse/arranger/pcanvas.cpp b/muse2/muse/arranger/pcanvas.cpp index 366766ae..d19fa082 100644 --- a/muse2/muse/arranger/pcanvas.cpp +++ b/muse2/muse/arranger/pcanvas.cpp @@ -54,6 +54,7 @@ #include "shortcuts.h" #include "gconfig.h" #include "app.h" +#include "functions.h" #include "filedialog.h" #include "marker/marker.h" #include "mpevent.h" @@ -664,6 +665,8 @@ QMenu* PartCanvas::genItemPopup(CItem* item) act_split->setData(2); QAction *act_glue = partPopup->addAction(QIcon(*glueIcon), tr("glue")); act_glue->setData(3); + QAction *act_superglue = partPopup->addAction(QIcon(*glueIcon), tr("super glue (merge selection)")); + act_superglue->setData(6); QAction *act_declone = partPopup->addAction(tr("de-clone")); act_declone->setData(15); @@ -752,6 +755,9 @@ void PartCanvas::itemPopup(CItem* item, int n, const QPoint& pt) case 5: copy(pl); break; + case 6: + MusECore::merge_selected_parts(); + break; case 14: // wave edit emit startEditor(pl, 4); @@ -772,7 +778,7 @@ void PartCanvas::itemPopup(CItem* item, int n, const QPoint& pt) // Indicate undo, and do port controller values but not clone parts. // changed by flo93: removed start and endUndo, instead changed first bool to true MusEGlobal::audio->msgChangePart(spart, dpart, true, true, false); - break; // Has to be break here, right? + break; } case 16: // Export to file { @@ -800,7 +806,7 @@ void PartCanvas::itemPopup(CItem* item, int n, const QPoint& pt) for (MusECore::iEvent e = el->begin(); e != el->end(); ++e) { MusECore::Event event = e->second; - MusECore::SndFileR f = event.sndFile(); + MusECore::SndFileR f = event.sndFile(); if (f.isNull()) continue; str.append(QString("\n@") + QString().setNum(event.tick()) + QString(" len:") + diff --git a/muse2/muse/functions.cpp b/muse2/muse/functions.cpp index 7459f30b..77825f52 100644 --- a/muse2/muse/functions.cpp +++ b/muse2/muse/functions.cpp @@ -1383,4 +1383,81 @@ void clean_parts() MusEGlobal::song->applyOperationGroup(operations); } +bool merge_selected_parts() +{ + set temp = get_all_selected_parts(); + return merge_parts(temp); +} + +bool merge_parts(const set& parts) +{ + set tracks; + for (set::iterator it=parts.begin(); it!=parts.end(); it++) + tracks.insert( (*it)->track() ); + + Undo operations; + + // process tracks separately + for (set::iterator t_it=tracks.begin(); t_it!=tracks.end(); t_it++) + { + Track* track=*t_it; + + unsigned begin=MAXINT, end=0; + Part* first_part=NULL; + + // find begin of the first and end of the last part + for (set::iterator it=parts.begin(); it!=parts.end(); it++) + if ((*it)->track()==track) + { + Part* p=*it; + if (p->tick() < begin) + { + begin=p->tick(); + first_part=p; + } + + if (p->endTick() > end) + end=p->endTick(); + } + + if (begin==MAXINT || end==0) + { + printf("THIS SHOULD NEVER HAPPEN: begin==MAXINT || end==0 in merge_parts()\n"); + continue; // skip the actual work, as we cannot work under errornous conditions. + } + + // create and prepare the new part + Part* new_part = track->newPart(first_part); + new_part->setTick(begin); + new_part->setLenTick(end-begin); + + EventList* new_el = new_part->events(); + new_el->incARef(-1); // the later MusEGlobal::song->applyOperationGroup() will increment it + // so we must decrement it first :/ + new_el->clear(); + + // copy all events from the source parts into the new part + for (set::iterator p_it=parts.begin(); p_it!=parts.end(); p_it++) + if ((*p_it)->track()==track) + { + EventList* old_el= (*p_it)->events(); + for (iEvent ev_it=old_el->begin(); ev_it!=old_el->end(); ev_it++) + { + Event new_event=ev_it->second; + new_event.setTick( new_event.tick() + (*p_it)->tick() - new_part->tick() ); + new_el->add(new_event); + } + } + + // delete all the source parts + for (set::iterator it=parts.begin(); it!=parts.end(); it++) + if ((*it)->track()==track) + operations.push_back( UndoOp(UndoOp::DeletePart, *it) ); + // and add the new one + operations.push_back( UndoOp(UndoOp::AddPart, new_part) ); + } + + return MusEGlobal::song->applyOperationGroup(operations); +} + } // namespace MusECore diff --git a/muse2/muse/functions.h b/muse2/muse/functions.h index 2cf9c245..c81dd2bc 100644 --- a/muse2/muse/functions.h +++ b/muse2/muse/functions.h @@ -102,6 +102,8 @@ void shrink_parts(int raster=-1); //negative values mean "config.division" void expand_parts(int raster=-1); void schedule_resize_all_same_len_clone_parts(Part* part, unsigned new_len, Undo& operations); void clean_parts(); +bool merge_selected_parts(); +bool merge_parts(const std::set& parts); } // namespace MusECore diff --git a/muse2/muse/midiedit/scoreedit.cpp b/muse2/muse/midiedit/scoreedit.cpp index e313c417..b06f2487 100644 --- a/muse2/muse/midiedit/scoreedit.cpp +++ b/muse2/muse/midiedit/scoreedit.cpp @@ -4595,6 +4595,9 @@ void ScoreCanvas::add_new_parts(const std::map< MusECore::Part*, std::set o non-mdi topwin states aren't restored when launching muse2 somefile.med + * ! o using super glue while a score editor displaying the glued parts + * is open lets muse segfault. this may or may not be fixed in + * the release branch :/ * * CURRENT TODO * > o fix valgrind problems (the two "FINDMICHJETZT" lines in scoreedit.cpp) -- cgit v1.2.3 From c36a5508aa42e596b005425208054af9a60734b4 Mon Sep 17 00:00:00 2001 From: Florian Jung Date: Wed, 14 Dec 2011 15:08:02 +0000 Subject: pulled fixes from release into trunk --- muse2/CMakeLists.txt | 6 +- muse2/ChangeLog | 141 ++ muse2/README | 165 +- muse2/README.de | 1 + muse2/muse/app.cpp | 306 ++- muse2/muse/app.h | 17 +- muse2/muse/arranger/alayout.cpp | 2 +- muse2/muse/arranger/arranger.cpp | 59 +- muse2/muse/arranger/arrangerview.cpp | 29 +- muse2/muse/arranger/arrangerview.h | 10 +- muse2/muse/arranger/pcanvas.cpp | 144 +- muse2/muse/arranger/pcanvas.h | 6 +- muse2/muse/arranger/tlist.cpp | 169 +- muse2/muse/audio.cpp | 54 +- muse2/muse/audio.h | 10 +- muse2/muse/audioprefetch.cpp | 7 +- muse2/muse/audiotrack.cpp | 36 +- muse2/muse/cliplist/cliplist.cpp | 2 + muse2/muse/cobject.cpp | 22 +- muse2/muse/cobject.h | 18 +- muse2/muse/conf.cpp | 148 +- muse2/muse/confmport.cpp | 169 +- muse2/muse/ctrl/ctrlcanvas.cpp | 2 +- muse2/muse/driver/alsamidi.cpp | 259 ++- muse2/muse/driver/jack.cpp | 164 +- muse2/muse/driver/jackaudio.h | 1 + muse2/muse/dssihost.cpp | 294 ++- muse2/muse/dssihost.h | 7 +- muse2/muse/gconfig.cpp | 11 +- muse2/muse/gconfig.h | 5 +- muse2/muse/globals.cpp | 6 + muse2/muse/globals.h | 1 + muse2/muse/helper.cpp | 638 ++++-- muse2/muse/helper.h | 9 +- muse2/muse/instruments/editinstrument.cpp | 50 +- muse2/muse/instruments/minstrument.cpp | 62 + muse2/muse/instruments/minstrument.h | 8 +- muse2/muse/liste/editevent.cpp | 7 +- muse2/muse/liste/listedit.cpp | 3 + muse2/muse/main.cpp | 116 +- muse2/muse/marker/markerview.cpp | 5 +- muse2/muse/marker/markerview.h | 2 +- muse2/muse/master/lmaster.cpp | 2 + muse2/muse/master/masteredit.cpp | 2 + muse2/muse/midiedit/drumedit.cpp | 2 + muse2/muse/midiedit/ecanvas.cpp | 91 +- muse2/muse/midiedit/pianoroll.cpp | 2 + muse2/muse/midiedit/scoreedit.cpp | 181 +- muse2/muse/midiedit/scoreedit.h | 74 +- muse2/muse/midiport.cpp | 12 +- muse2/muse/midiseq.cpp | 25 +- muse2/muse/mixer/amixer.cpp | 2 +- muse2/muse/mixer/astrip.cpp | 38 +- muse2/muse/mixer/mstrip.cpp | 6 +- muse2/muse/mixer/strip.cpp | 24 +- muse2/muse/mixer/strip.h | 1 + muse2/muse/node.cpp | 769 ++++--- muse2/muse/osc.cpp | 21 +- muse2/muse/osc.h | 6 + muse2/muse/part.cpp | 12 + muse2/muse/plugin.cpp | 117 +- muse2/muse/plugin.h | 115 +- muse2/muse/remote/pyapi.cpp | 4 +- muse2/muse/route.cpp | 725 +++---- muse2/muse/route.h | 12 +- muse2/muse/shortcuts.cpp | 2 +- muse2/muse/song.cpp | 155 +- muse2/muse/song.h | 5 +- muse2/muse/songfile.cpp | 50 +- muse2/muse/structure.cpp | 238 ++- muse2/muse/structure.h | 7 +- muse2/muse/synth.cpp | 61 +- muse2/muse/synth.h | 8 + muse2/muse/ticksynth.cpp | 1 + muse2/muse/track.cpp | 155 +- muse2/muse/track.h | 68 +- muse2/muse/undo.cpp | 16 +- muse2/muse/undo.h | 1 + muse2/muse/vst.h | 1 + muse2/muse/wave.cpp | 24 +- muse2/muse/wave.h | 6 +- muse2/muse/waveedit/waveedit.cpp | 1 + muse2/muse/wavetrack.cpp | 8 +- muse2/muse/widgets/citem.h | 2 +- muse2/muse/widgets/filedialog.cpp | 42 +- muse2/muse/widgets/filedialog.h | 1 + muse2/muse/widgets/genset.cpp | 56 +- muse2/muse/widgets/genset.h | 4 +- muse2/muse/widgets/gensetbase.ui | 121 +- muse2/muse/widgets/header.cpp | 6 +- muse2/muse/widgets/knob.cpp | 24 + muse2/muse/widgets/knob.h | 1 + muse2/muse/widgets/meter.cpp | 7 +- muse2/muse/widgets/midisync.ui | 13 + muse2/muse/widgets/mtrackinfo.cpp | 33 +- muse2/muse/widgets/musewidgetsplug.cpp | 3 +- muse2/muse/widgets/popupmenu.cpp | 23 +- muse2/muse/widgets/poslabel.cpp | 6 +- muse2/muse/widgets/projectcreate.ui | 99 +- muse2/muse/widgets/projectcreateimpl.cpp | 191 +- muse2/muse/widgets/projectcreateimpl.h | 19 +- muse2/muse/widgets/routepopup.cpp | 48 +- muse2/muse/widgets/synthconfigbase.ui | 14 +- muse2/muse/widgets/utils.cpp | 3 +- muse2/muse/widgets/visibletracks.cpp | 2 + muse2/muse/widgets/visibletracks.h | 3 +- muse2/muse/xml.cpp | 94 +- muse2/share/locale/muse_de.ts | 424 ++-- muse2/share/locale/muse_en.ts | 1354 +++++++------ muse2/share/locale/muse_es.ts | 3112 +++++++++++++++-------------- muse2/share/locale/muse_fr.ts | 242 ++- muse2/share/locale/muse_pl.ts | 242 ++- muse2/share/locale/muse_ru.ts | 238 ++- muse2/share/locale/muse_sv_SE.ts | 242 ++- muse2/share/templates/MusE.cfg | 1 - muse2/share/templates/audio.med | 269 ++- muse2/share/templates/default.med | 93 +- muse2/share/templates/midiGM.med | 99 +- muse2/share/templates/monorecord.med | 530 ++++- muse2/share/templates/synti.med | 166 +- muse2/synti/fluid/CMakeLists.txt | 6 - muse2/synti/fluidsynth/CMakeLists.txt | 6 - 122 files changed, 8384 insertions(+), 5676 deletions(-) diff --git a/muse2/CMakeLists.txt b/muse2/CMakeLists.txt index cfffaa8e..b670930e 100644 --- a/muse2/CMakeLists.txt +++ b/muse2/CMakeLists.txt @@ -66,9 +66,9 @@ set(CMAKE_SKIP_RULE_DEPENDENCY TRUE) SET(MusE_VERSION_MAJOR 2) SET(MusE_VERSION_MINOR 0) SET(MusE_VERSION_PATCH 0) -SET(MusE_VERSION "2.0beta2") -SET(MusE_VERSION_FULL "2.0beta2") -SET(MusE_INSTALL_NAME "muse-2.0beta") +SET(MusE_VERSION "2.0rc1") +SET(MusE_VERSION_FULL "2.0rc1") +SET(MusE_INSTALL_NAME "muse-2.0rc1") SET(MusE_EXEC_NAME "muse2") ## The directory where we will install the shared components: diff --git a/muse2/ChangeLog b/muse2/ChangeLog index 4e59198b..356e62d5 100644 --- a/muse2/ChangeLog +++ b/muse2/ChangeLog @@ -1,5 +1,146 @@ +12.12.2011: + * Improved: Midi ports list now fills automatically at start. (Marked as p4.0.41 Tim...) + An effort to help new users and others. If auto-filling the mid ports proves too much or unpopular, a simple change + will keep them out of the list, yet still auto-create and auto-connect Jack midi devices, which is still better than before. + Even if and when 'set and forget' configuration is added, this initial filling step may be welcome for new users. + NOTE: Virtually impossible to 'auto-pair' together Jack midi inputs and outputs. But I'm working on it, some code in there... + - When opening a song, choosing only 'Song data', without configuration, now does not upset the midi configuration at all, + yet controller data was attempted to be kept - may need to remove that effort. + - Moved start song loading into main.cpp, with helper in app.cpp. Disabled Florian's 'hackish loader', may be fixed now - TO BE TESTED!. + - List only writeable ports in track list output port column and midi track info combo box. + - Jack midi devices now save an additional required rwFlags xml tag. + - ALSA Midi fixes: (Un)subscription errors. Delete our simple port! Unsubscribe from announce port. Ignore SND_SEQ_PORT_CAP_NO_EXPORT + ports like 'qjackctrl' or 'port'. TODO: Possibly auto-assign newly discovered devices to available midi ports, in alsaScanMidiPorts(). + - Hack: "Midi Through" ALSA and Jack devices pushed to end of list, and list sorted, so useful outputs appear first. + - Stopped our own ALSA client from appearing as Jack midi alsa_pcm device. +10.12.2011: + - More improvements to project save dialog. And tries to suggest parent folder if saving existing project. (Tim...) + - Midi ports dialog: Auto dis/connect the stated default channels when selecting a device. +09.12.2011: + - Fixed popup menu behaviour with (nonstandard!) checkable submenus (flo) + - Fixed wrong START_DRAG when clicking on popup-columns (flo) +06.12.2011: + - Fixed drawing of logarithmic values (god how I hate these conversions!..!$%) hopefully... + should be improved by precalulating max and min values (rj) +05.12.2011: + - Complete Spanish translation from Cristian Ramos (rj) +03.12.2011: + * Improved: Project save dialog: Now has quick save as Template. Separate project/result paths shown. Editable project folder. (Tim...) + * Added: Project directory in global settings dialog. + * Added: Untitled project unique names. + - Fixed bug saving compressed files with spaces in name, in filedialog.cpp fileOpen(). + More work in progress... +02.12.2011: + * Added: Project creation dialog now has file type combobox (.med, .med.gz, .med.bz2) (Tim) + * Fixed: Remaining bugs with Header saving and loading (ex track, drum list header). (Tim) + Made two slight fixes in Header::writeStatus and readStatus. Tested thoroughly OK. +01.12.2011: + - Removed global settings User Instruments dir. Now fixed to muse config. Support for old files included. (Tim...) + - Changed: In File Dialog, 'User' initial prepend path changed to muse ./config path. So user files + templates are shown. + - Fixed: Template directory changed from /home/templates to muse config directory. Support for old files included. + - Moved QSocketNotifier from Audio::Audio into MusE::MusE. + - Fixed mixer and main geometry restoration. Moved ahead of doReadGlobalConfig check. + - Work In Progress! More to follow... +28.11.2011: + *Fixed: DSSI synth audio inputs. This means dssi vocoders, samplers etc. should work now. (Tim...) + *Re-write: Fixed audio mixing, meter processing. Audio, and meters, for all mono <-> stereo route combinations work sensibly now. + - Do not apply the track pan or volume to extra synth channels above 2. + - (Re-)fixed valgrind 'invalid read size' in node.cpp, my very-old bad. Moved temp stack buffers to top. (Thnx to Flo) + - Window titles of ladspa and dssi plugins now have track name prefix to help identify them. + + - Added "Unused Devices" menu to the arranger's port popupmenu for rapid device selection (flo) +28.11.2011: + - MusE 2.0 release candidate 1 released (rj) +27.11.2011: + - fixed invalid read problem in node.cpp: replaced the (ab-)use + of a temporary stacked buffer (which was deleted too soon) + by the use of a temporary heap buffer (new[]) (flo) +26.11.2011: + - Added config properties for add-track menu, show all, show only visible and property for making visible what you add (rj) + - Split behaviour and style configuration to two tabs (rj) + - Adding invisible tracks no longer update track-info in arranger (rj) + - clicking the background in tracklist and arranger no longer clear focus (rj) + - moved configuration items for track visibility to global config (rj) + - Added right click quit to channel strips (rj) +25.11.2011: + - fixed segfault when closing and SndFileList had more than 1 entry (flo) + - fixed some mismatched deletes (delete vs delete[]) (flo) +24.11.2011: + - Fixed: xml song loading ignores very large text such as with Hexter-DSSI. Reported by jphaenlin. (Tim) + Changed all local buffers to QByteArray (for unlimited size). Test OK loading/saving large songs + Hexter-DSSI. + - Fixed "Invalid Read/Write"-bug with moving parts past the song's end or past the last track. (flo93) + The problem was: when the song was automatically enlargened / a new track has automatically been + created, the song was update()d, and thus songChanged() was called. Within + songChanged(), the PartCanvas clearDelete()d its items list, deleting every + data pointed to by that list. However, right after that, the current loop's + CItem* is still used (which has just been deleted, that is, invalidated.). + In case the loop will go on, there would be even more similar errors. + Solution: - Added UndoOp::ModifySongLen-action, and used that one for altering song length. + - changed Song::addTrack() to write into operation groups. + adapted all code using Song::addTrack() accordingly + - changed PartCanvas::moveItem() to support whole lists of operations. + - Fixed a small unused-parameter warning (flo) + - Updated broken (but unused) UndoOp::typeName() function (flo) + +23.11.2011: + - Fundamental audio engine fixes/changes together with a variety of other fixes. (Tim...) + - Process track and plugin dssi controls always now, even if off. Fixed problems adjusting/saving gui values. TODO: Dssi when off. + - User is now forbidden to do circular routing. Routing menu items are now disabled according to whether they would cause a loop. + Installed anti-circular routing mechanism, allows processing should a circular route actually exist (old files, bugs, deliberate? etc). + - Fixed jack.cpp: Connecting routes. Some code was not checking if routes were JACK_ROUTE types, leading to errors. + * Fixed: Soloing system problems. Forgot to solo-chain all the way back to a midi track. Also fixed crashes if soloing a circular route. + * Fixed: Aux Tracks. They should 'just work' always now. Required major processing-order changes and routing path support/checking. + NOTE: Cannot use a track's aux sends if the track has an input route path from ANY Aux Track! Aux knobs/labels now DISABLED in that case. +22.11.2011: + - Increased contrast for midi event drawing in parts (rj) 21.11.2011: - added super-glue feature (flo) +17.11.2011: + - Fixed all arranger/pianoroll/drumedit keyboard scrolling. (Tim) + Changed PartCanvas and EventCanvas ::keyPress() key scrolling sections. Plus custom behavior tweaks in each case. +16.11.2011: + - Ctrl+click or middle button now sets an absolute value for Knobs (as good as possible without advanced arithmetic) (rj) + - Structure operations: Split,Cut,Insert now work on audio tracks. The previous functionality with operating on selected + tracks have been split into separate menu items (rj) +15.11.2011: + - Fixed wacky arranger part selection via KB when 'Move single armed track with selection' set. (Tim) + Arranger::songChanged() was way too liberal, esp calling partsChanged(). Side benefit: Arranger speed-ups. + - Changed internal 'undo' shortcut from ctrl-y to standard shift-ctrl-z. (Tim) +14.11.2011: + - Fixed: Do not clear midi ports upon 'new' (template) or 'import midi'. (Tim) + Enabled some old code with which I had problems before, but that was long before 'clearing' fixes. + Remaining TODOS: 'New' Synth.med template still replaces existing midi ports, and only + the first port appears to be auto-connected to inputs upon import midi. + - fixed ScoreEdit bug: names are removed from the set on close and on delete. (Flo) + - indentation fixes in scoreedit.cpp,h and cobject.cpp (Flo) + - Removed 18.06.2011 experiment. Do not allow Synths to route to midi track inputs. (Tim) + It worked with MESS so far, allowed recording gui control movement. May prove useful + in future, but is a big auto-routing hassle ATM. Sections marked p4.0.35. +13.11.2011: + - ScoreEdit now saves some default init values (flo) + - seems like this fixed some valgrind bugs as well (flo) +12.11.2011: + - fixed "newly created subwins aren't focussed" problem (flo) + - when closing a subwin, automatically another (topmost) subwin + gets activated (flo) + - fixed "non-subwin topwin-states aren't restored when using + 'muse2 songfile.med'. (don't know who, probably Tim) +11.11.2011: + - Fixed all template .med song files. (Tim) +10.11.2011: + - Updated spanish translation by Cristian Ramos (rj) + - Fixed meters not updating upon vertically shrinking arranger. (Tim) + - Fixed TopWin xml errors such as "MusE: unknown tag at line xxxx". (Tim) + Used new TopLevelList::findType() in MusE::readToplevels() to find arranger, marker, and cliplist. Was broken ! + So, arranger now remembers its settings (mostly). + TODO: Fix broken default.med file, has serious xml errors. For long time MarkerView hasn't recalled its visibility. +09.11.2011: + - Further to 02.11.2011: Automatically convert old songs to use new 'fluid_synth' name. (Tim...) + - Added enum Synth::Type (MESS_SYNTH, DSSI_SYNTH etc) and used it throughout, ex. in findSynth(), also in song file. + Protects from name conflicts with future MESS, DSSI synths, and simplifies adding future types (say LV2 etc.) + - Simplified populateAddSynth(), made it agnostic. No more hard-coded synth type sorting - uses Synth::Type now. + - Fixed settings synth config lists not updated when 'Remove Instance' clicked. Also now shows the type in the lists. + - Fixed regression: No synthesizer patch names were listed. 07.11.2011: - fixed restore-window-state bug (flo) - fixed dialog translation problem (flo) diff --git a/muse2/README b/muse2/README index 1770950b..f9287458 100644 --- a/muse2/README +++ b/muse2/README @@ -17,99 +17,145 @@ details. `-----------------------------------------------------------------' ============================= - Requirements + Requirements: ============================= - CMake >= 2.4 - http:/www.cmake.org/HTML/Download.html + http:/www.cmake.org/HTML/Download.html - QT: Qt >= 4.2.0 - ftp://ftp.trolltech.com/qt/source - MusE does _not_ compile with older versions + http://qt.nokia.com/products/ + MusE does _not_ compile with older versions - gcc >= 4.x.x - libsndfile >= 1.0.1 - http://www.mega-nerd.com/libsndfile/ + http://www.mega-nerd.com/libsndfile/ - libsamplerate + http://www.mega-nerd.com/SRC/ - JACK >= 0.103 http://jackit.sourceforge.net/download/ + - libuuid + e2fsprogs package http://e2fsprogs.sourceforge.net/ + Some distros may include it in another package, offering a choice. + Optional: - fluidsynth >= 1.0.3 (formerly known as iiwusynth) from http://savannah.nongnu.org/download/fluid - - OSC (Open Sound Control) - - DSSI (Disposable Soft Synth Interface) with support for DSSI vst plugins. - (Both recommended - DSSI alone will have no DSSI GUIs. OSC alone does nothing, for now.) + - liblo Lightweight OSC (Open Sound Control) http://liblo.sourceforge.net/ + - DSSI Disposable Soft Synth Interface. http://dssi.sourceforge.net/ + (Both recommended - DSSI alone will have no native GUIs, OSC alone does nothing, for now.) + + - dssi-vst Support for DSSI vst plugins http://www.breakfastquay.com/dssi-vst/ - - LASH Audio Session Handler + - LASH Audio Session Handler http://lash.nongnu.org/ + Recently LADISH has been emulating it instead. http://ladish.org/ - ConTeXt (for building documentation, by default the build script tries to build documentation, can be disabled by setting ENABLE_DOCUMENTATION to OFF) ============================= - Compiling: + Building MusE: ============================= - Download source from http://lmuse.sourceforge.net/ - - Command line to unpack source: - tar xvofz muse-x.y.z.tar.gz - where x.y.z is the version number. - Or just use a graphical de-compressor to unpack it somewhere. + - Unpack the source somewhere. + + You may also try the various MusE development SVN branches for + up-to-the-minute features and fixes, but they may be less stable. - To compile MusE, run the following commands from the top level directory where the source code was unpacked - (the directory where THIS README FILE is): + (the directory where THIS README FILE is found): ****************************************************** * Notice: * - * a quicker way is to run the ./compile_muse.sh * + * A quick way is to run the ./compile_muse.sh * * script in the same dir, it should perform the same * * steps for a basic setup without asking any * - * questions. If it fails you may be better of using * + * questions. If it fails you may be better off using * * the instructions below. * ****************************************************** - # Create build directory. Choose any name like 'build'. - mkdir build - # Enter build directory. - cd build - - # Create make system in the build directory. - # Optional is the location to install MusE, default /usr/local. - # Build type can be blank (to reset a previous cached type to 'empty'), - # debug, release, RelWithDebInfo and MinSizeRel. - # If no CMAKE_BUILD_TYPE is given at all, cmake uses either the previous - # cached value, or else 'empty' (plain unoptimized). - # ('Release' type is recommended, otherwise it builds a plain unoptimized program.) - cmake -DCMAKE_BUILD_TYPE=release [-DCMAKE_INSTALL_PREFIX=] ../ - - # Compile muse - make - - - Install MusE: - Run "make install" (as root user) + The build directory: + -------------------- + Building in a subdirectory is recommended to keep the build directory separate from the source tree. + So create a new subdirectory with a useful name like "build" or "debug" or "release": + mkdir build + Change directory (cd) to the new directory: + cd build + + Configuration: + -------------- + There are a few different ways to configure (notice the two dots): + + Type "cmake -i .." to run in step-by-step 'Wizard' mode. + + Or type "cmake -L .." to see options, then compose "cmake " yourself. + Some are: + + -DCMAKE_BUILD_TYPE= + can be blank (to reset a previous cached type to 'empty'), + debug, release, RelWithDebInfo and MinSizeRel. + Release is recommended, to get optimizations. + If no CMAKE_BUILD_TYPE is given at all, cmake uses either the previous + cached value, or else 'empty' (plain or default system optimizations). + + -DCMAKE_INSTALL_PREFIX= + The installation where the program is installed. + The default is to install in /usr/local. + + Or type "ccmake .." (if you have it - text-mode GUI). It may be blank so hit + 'C' to first-time configure. Fiddle with yer options if ye so desire, then hit + 'C' to configure then 'G' to generate and exit, or 'Q' to quit without + generating. + + Or there is also a desktop GUI for cmake called cmake-gui. + + Compiling: + ---------- + After configuration, while still in the build directory,type: + make + + Installing: + ---------- + After compiling, type: + make install (as root) + or + sudo make install ============================= - running MusE + Running MusE: ============================= - MusE is a realtime program which requires special rights to - work poperly. Recommended setup: + ------------------ + MusE is a realtime program which requires special rights to work properly. - - check if you are running a sufficiently new linux kernel > 2.6.x + - Check if you are running a sufficiently new linux kernel > 2.6.x + A modern, standard destop kernel might suit your needs. + However, for the best performance a so-called 'low latency' or 'realtime' + kernel may be required. Check your distro's packages for availability. - create an "audio" group if it does not already exists and put yourself into this group + - For realtime priority, you may want to ensure either the file: + /etc/security/limits.conf + or + /etc/security/limits.d/audio.conf + contains: + @audio - rtprio 95 + @audio - memlock unlimited + - make sure you can acces the realtime clock (RTC) chmod 660 /dev/rtc chgrp audio /dev/rtc @@ -119,18 +165,39 @@ details. inspect with: cat /proc/sys/dev/rtc/max-user-freq - - for MusE to gain RT priviledges load the "realtime-lsm" - modul; the modul should be configured to give all "audio" - group members realtime priviledges - - some distros do not load the alsa sequencer module by default. if necessary, load the alsa sequencer module with: /sbin/modprobe snd-seq - - start qjackctl - - start JACK with qjackctl - - - start MusE + - Start jack, typically by using the qjackctl application. + MusE can also be run without Jack. MusE will use a dummy audio + driver if Jack is not detected, or the -a option is given. + + + Running: + ------------------ + start MusE by typing: + muse2 + + Some are: + -h help + -v print version + -d debug mode: no threads, no RT + -D debug mode: enable some debug messages + specify twice for lots of debug messages + this may slow down MusE massively! + -m debug mode: trace midi Input + -M debug mode: trace midi Output + -s debug mode: trace sync + -a no audio + -P n set audio driver real time priority to n + (Dummy only, default 40. Else fixed by Jack.) + -Y n force midi real time priority to n (default: audio driver prio +2) + -p don't load LADSPA plugins + -I don't load DSSI plugins + -L don't use LASH + -l xx force locale to the given language/country code + (xx = de,en,es,fr,pl,ru,sv_SE) (JACK and all its clients (qjackctl & MusE) must run with the same user id) @@ -140,7 +207,7 @@ details. known bugs ============================= - - many + - not so many: only some usability quirks we're working on currently ==================================================================== Let us know whether MusE works for you !!! diff --git a/muse2/README.de b/muse2/README.de index 00b55960..04e2c301 100644 --- a/muse2/README.de +++ b/muse2/README.de @@ -67,4 +67,5 @@ Für Einzelheiten siehe COPYING. ==================================================================== Aktuelle(re) Infos gibt es auf der MusE Homepage http://lmuse.sourceforge.net/ +und in der englischen README diff --git a/muse2/muse/app.cpp b/muse2/muse/app.cpp index bd6bc560..148f3072 100644 --- a/muse2/muse/app.cpp +++ b/muse2/muse/app.cpp @@ -4,6 +4,7 @@ // $Id: app.cpp,v 1.113.2.68 2009/12/21 14:51:51 spamatica Exp $ // // (C) Copyright 1999-2011 Werner Schweer (ws@seh.de) +// (C) Copyright 2011 Tim E. Real (terminator356 on sourceforge) // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License @@ -33,6 +34,8 @@ #include #include #include +#include +#include #include @@ -55,6 +58,7 @@ #include "filedialog.h" #include "gconfig.h" #include "gui.h" +#include "helper.h" #include "icons.h" #include "instruments/editinstrument.h" #include "listedit.h" @@ -84,8 +88,11 @@ extern void exitJackAudio(); extern void exitDummyAudio(); extern void exitOSC(); extern void exitMidiAlsa(); -} +extern void initMidiSequencer(); +extern void initAudio(); +extern void initAudioPrefetch(); +} namespace MusEGui { @@ -94,12 +101,12 @@ namespace MusEGui { static pthread_t watchdogThread; //ErrorHandler *error; - #define PROJECT_LIST_LEN 6 static QString* projectList[PROJECT_LIST_LEN]; #ifdef HAVE_LASH #include +#include lash_client_t * lash_client = 0; extern snd_seq_t * alsaSeq; #endif /* HAVE_LASH */ @@ -171,14 +178,7 @@ bool MusE::seqStart() if(MusEGlobal::realTimeScheduling) { { - //pfprio = MusEGlobal::realTimePriority - 5; - // p3.3.40 pfprio = MusEGlobal::realTimePriority + 1; - - //midiprio = MusEGlobal::realTimePriority - 2; - // p3.3.37 - //midiprio = MusEGlobal::realTimePriority + 1; - // p3.3.40 midiprio = MusEGlobal::realTimePriority + 2; } } @@ -198,9 +198,6 @@ bool MusE::seqStart() MusEGlobal::audioPrefetch->msgSeek(0, true); // force - //MusEGlobal::midiSeqRunning = !midiSeq->start(MusEGlobal::realTimeScheduling ? MusEGlobal::realTimePriority : 0); - // Changed by Tim. p3.3.22 - //MusEGlobal::midiSeq->start(MusEGlobal::realTimeScheduling ? MusEGlobal::realTimePriority : 0); MusEGlobal::midiSeq->start(midiprio); int counter=0; @@ -224,7 +221,7 @@ bool MusE::seqStart() } return true; } - + //--------------------------------------------------------- // stop //--------------------------------------------------------- @@ -258,6 +255,7 @@ bool MusE::seqRestart() } seqStop(); } + if(!seqStart()) return false; @@ -299,7 +297,7 @@ void addProject(const QString& name) //--------------------------------------------------------- //MusE::MusE(int argc, char** argv) : QMainWindow(0, "mainwindow") -MusE::MusE(int argc, char** argv) : QMainWindow() +MusE::MusE(int /*argc*/, char** /*argv*/) : QMainWindow() { // By T356. For LADSPA plugins in plugin.cpp // QWidgetFactory::addWidgetFactory( new PluginWidgetFactory ); ddskrjo @@ -333,6 +331,7 @@ MusE::MusE(int argc, char** argv) : QMainWindow() progress = 0; activeTopWin = NULL; currentMenuSharingTopwin = NULL; + waitingForTopwin = NULL; appName = QString("MusE"); setWindowTitle(appName); @@ -346,8 +345,6 @@ MusE::MusE(int argc, char** argv) : QMainWindow() MusEGlobal::heartBeatTimer = new QTimer(this); MusEGlobal::heartBeatTimer->setObjectName("timer"); connect(MusEGlobal::heartBeatTimer, SIGNAL(timeout()), MusEGlobal::song, SLOT(beat())); - - connect(this, SIGNAL(activeTopWinChanged(MusEGui::TopWin*)), SLOT(activeTopWinChangedSlot(MusEGui::TopWin*))); #ifdef ENABLE_PYTHON @@ -460,7 +457,7 @@ MusE::MusE(int argc, char** argv) : QMainWindow() MusEGlobal::panicAction->setWhatsThis(tr("send note off to all midi channels")); connect(MusEGlobal::panicAction, SIGNAL(activated()), MusEGlobal::song, SLOT(panic())); - MusECore::initMidiInstruments(); + MusECore::initMidiInstruments(); MusECore::initMidiPorts(); MusECore::initMidiDevices(); @@ -706,7 +703,7 @@ MusE::MusE(int argc, char** argv) : QMainWindow() //rlimit lim; //getrlimit(RLIMIT_RTPRIO, &lim); //printf("RLIMIT_RTPRIO soft:%d hard:%d\n", lim.rlim_cur, lim.rlim_max); // Reported 80, 80 even with non-RT kernel. - + if (MusEGlobal::realTimePriority < sched_get_priority_min(SCHED_FIFO)) MusEGlobal::realTimePriority = sched_get_priority_min(SCHED_FIFO); else if (MusEGlobal::realTimePriority > sched_get_priority_max(SCHED_FIFO)) @@ -721,18 +718,19 @@ MusE::MusE(int argc, char** argv) : QMainWindow() MusEGlobal::midiRTPrioOverride = sched_get_priority_max(SCHED_FIFO); } - // Changed by Tim. p3.3.17 - //MusEGlobal::midiSeq = new MusECore::MidiSeq(MusEGlobal::realTimeScheduling ? MusEGlobal::realTimePriority : 0, "Midi"); - MusEGlobal::midiSeq = new MusECore::MidiSeq("Midi"); - MusEGlobal::audio = new MusECore::Audio(); - //MusEGlobal::audioPrefetch = new MusECore::AudioPrefetch(0, "Disc"); - MusEGlobal::audioPrefetch = new MusECore::AudioPrefetch("Prefetch"); - + MusECore::initMidiSequencer(); + MusECore::initAudio(); + + // Moved here from Audio::Audio + QSocketNotifier* ss = new QSocketNotifier(MusEGlobal::audio->getFromThreadFdr(), QSocketNotifier::Read, this); + connect(ss, SIGNAL(activated(int)), MusEGlobal::song, SLOT(seqSignal(int))); + + MusECore::initAudioPrefetch(); + //--------------------------------------------------- // Popups //--------------------------------------------------- - // when adding a menu to the main window, remember adding it to // either the leadingMenus or trailingMenus list! // also do NOT use menuBar()->addMenu(QString&), but ALWAYS @@ -961,6 +959,11 @@ MusE::MusE(int argc, char** argv) : QMainWindow() transport = new MusEGui::Transport(this, "transport"); bigtime = 0; + MusEGlobal::song->blockSignals(false); + + // Load start song moved to main.cpp p4.0.41 REMOVE Tim. + /* + //--------------------------------------------------- // load project // if no songname entered on command line: @@ -975,7 +978,8 @@ MusE::MusE(int argc, char** argv) : QMainWindow() name = argv[0]; else if (MusEGlobal::config.startMode == 0) { if (argc < 2) - name = projectList[0] ? *projectList[0] : QString("untitled"); + //name = projectList[0] ? *projectList[0] : QString("untitled"); + name = projectList[0] ? *projectList[0] : MusEGui::getUniqueUntitledName(); // p4.0.40 else name = argv[0]; printf("starting with selected song %s\n", MusEGlobal::config.startSong.toLatin1().constData()); @@ -989,19 +993,47 @@ MusE::MusE(int argc, char** argv) : QMainWindow() printf("starting with pre configured song %s\n", MusEGlobal::config.startSong.toLatin1().constData()); name = MusEGlobal::config.startSong; } - MusEGlobal::song->blockSignals(false); - loadProjectFile(name, useTemplate, true); - + + // loadProjectFile(name, useTemplate, true); //commented out by flo: see below (*) + */ + changeConfig(false); QSettings settings("MusE", "MusE-qt"); restoreGeometry(settings.value("MusE/geometry").toByteArray()); //restoreState(settings.value("MusE/windowState").toByteArray()); - MusEGlobal::song->update(); - - updateWindowMenu(); + MusEGlobal::song->update(); // commented out by flo: will be done by the below (*) + updateWindowMenu(); // same here + + // Load start song moved to main.cpp p4.0.41 REMOVE Tim. + /* + + // this is (*). + // this is a really hackish workaround for the loading-on-startup problem. + // i have absolutely no idea WHY it breaks when using loadProjectFile() + // above, but it does on my machine (it doesn't on others!). + // the problem can be worked around by delaying loading the song file. + // i use hackishSongOpenTimer for this, which calls after 10ms a slot + // which then does the actual loadProjectFile() call. + // FIXME: please, if anyone finds the real problem, FIX it and + // remove that dirty, dirty workaround! + hackishSongOpenFilename=name; + hackishSongOpenUseTemplate=useTemplate; + hackishSongOpenTimer=new QTimer(this); + hackishSongOpenTimer->setInterval(10); + hackishSongOpenTimer->setSingleShot(true); + connect(hackishSongOpenTimer, SIGNAL(timeout()), this, SLOT(hackishSongOpenTimerTimeout())); + hackishSongOpenTimer->start(); + */ } +// Load start song moved to main.cpp p4.0.41 REMOVE Tim. +//void MusE::hackishSongOpenTimerTimeout() +//{ + ///loadProjectFile(hackishSongOpenFilename, hackishSongOpenUseTemplate, true); + //loadProjectFile(hackishSongOpenFilename, hackishSongOpenUseTemplate, !hackishSongOpenUseTemplate); +//} + MusE::~MusE() { } @@ -1015,6 +1047,44 @@ void MusE::setHeartBeat() MusEGlobal::heartBeatTimer->start(1000/MusEGlobal::config.guiRefresh); } +//--------------------------------------------------- +// loadDefaultSong +// if no songname entered on command line: +// startMode: 0 - load last song +// 1 - load default template +// 2 - load configured start song +//--------------------------------------------------- + +void MusE::loadDefaultSong(int argc, char** argv) +{ + QString name; + bool useTemplate = false; + if (argc >= 2) + name = argv[0]; + else if (MusEGlobal::config.startMode == 0) { + if (argc < 2) + //name = projectList[0] ? *projectList[0] : QString("untitled"); + name = projectList[0] ? *projectList[0] : MusEGui::getUniqueUntitledName(); // p4.0.40 + else + name = argv[0]; + printf("starting with selected song %s\n", MusEGlobal::config.startSong.toLatin1().constData()); + } + else if (MusEGlobal::config.startMode == 1) { + printf("starting with default template\n"); + name = MusEGlobal::museGlobalShare + QString("/templates/default.med"); + useTemplate = true; + } + else if (MusEGlobal::config.startMode == 2) { + printf("starting with pre configured song %s\n", MusEGlobal::config.startSong.toLatin1().constData()); + name = MusEGlobal::config.startSong; + } + //loadProjectFile(name, useTemplate, true); + loadProjectFile(name, useTemplate, !useTemplate); + + //MusEGlobal::song->update(); + //updateWindowMenu(); +} + //--------------------------------------------------------- // resetDevices //--------------------------------------------------------- @@ -1156,7 +1226,8 @@ void MusE::loadProjectFile1(const QString& name, bool songTemplate, bool loadAll QApplication::restoreOverrideCursor(); return; } - project.setFile("untitled"); + //project.setFile("untitled"); + project.setFile(MusEGui::getUniqueUntitledName()); // p4.0.40 MusEGlobal::museProject = MusEGlobal::museProjectInitPath; } else { @@ -1214,7 +1285,8 @@ void MusE::loadProjectFile1(const QString& name, bool songTemplate, bool loadAll } if (!songTemplate) { addProject(project.absoluteFilePath()); - setWindowTitle(QString("MusE: Song: ") + project.completeBaseName()); + //setWindowTitle(QString("MusE: Song: ") + project.completeBaseName()); + setWindowTitle(QString("MusE: Song: ") + MusEGui::projectTitleFromFilename(project.absoluteFilePath())); } MusEGlobal::song->dirty = false; progress->setValue(30); @@ -1236,7 +1308,7 @@ void MusE::loadProjectFile1(const QString& name, bool songTemplate, bool loadAll // set the geometry if the mixer has already been created. if(mixer1) { - //if(mixer1->geometry().size() != MusEGlobal::config.mixer1.geometry.size()) // p3.3.53 Moved below + //if(mixer1->geometry().size() != MusEGlobal::config.mixer1.geometry.size()) // Moved below // mixer1->resize(MusEGlobal::config.mixer1.geometry.size()); if(mixer1->geometry().topLeft() != MusEGlobal::config.mixer1.geometry.topLeft()) @@ -1244,7 +1316,7 @@ void MusE::loadProjectFile1(const QString& name, bool songTemplate, bool loadAll } if(mixer2) { - //if(mixer2->geometry().size() != MusEGlobal::config.mixer2.geometry.size()) // p3.3.53 Moved below + //if(mixer2->geometry().size() != MusEGlobal::config.mixer2.geometry.size()) // Moved below // mixer2->resize(MusEGlobal::config.mixer2.geometry.size()); if(mixer2->geometry().topLeft() != MusEGlobal::config.mixer2.geometry.topLeft()) @@ -1273,7 +1345,7 @@ void MusE::loadProjectFile1(const QString& name, bool songTemplate, bool loadAll arrangerView->scoreNamingChanged(); // inform the score menus about the new scores and their names progress->setValue(50); - // p3.3.53 Try this AFTER the song update above which does a mixer update... Tested OK - mixers resize properly now. + // Try this AFTER the song update above which does a mixer update... Tested OK - mixers resize properly now. if (loadAll) { if(mixer1) @@ -1336,10 +1408,13 @@ void MusE::loadProjectFile1(const QString& name, bool songTemplate, bool loadAll void MusE::setUntitledProject() { setConfigDefaults(); - QString name("untitled"); + //QString name("untitled"); + QString name(MusEGui::getUniqueUntitledName()); // p4.0.40 + MusEGlobal::museProject = "./"; //QFileInfo(name).absolutePath(); project.setFile(name); - setWindowTitle(tr("MusE: Song: %1").arg(project.completeBaseName())); + //setWindowTitle(tr("MusE: Song: %1").arg(project.completeBaseName())); + setWindowTitle(tr("MusE: Song: %1").arg(MusEGui::projectTitleFromFilename(name))); } //--------------------------------------------------------- @@ -1391,14 +1466,14 @@ void MusE::loadTemplate() if (!fn.isEmpty()) { // MusEGlobal::museProject = QFileInfo(fn).absolutePath(); - loadProjectFile(fn, true, true); + //loadProjectFile(fn, true, true); // With templates, don't clear midi ports. // Any named ports in the template file are useless since they likely // would not be found on other users' machines. // So keep whatever the user currently has set up for ports. // Note that this will also keep the current window configurations etc. // but actually that's also probably a good thing. p4.0.17 Tim. TESTING: Maybe some problems... - //loadProjectFile(fn, true, false); + loadProjectFile(fn, true, false); setUntitledProject(); } @@ -1410,7 +1485,11 @@ void MusE::loadTemplate() bool MusE::save() { - if (project.completeBaseName() == "untitled") + //if (project.completeBaseName() == "untitled") // p4.0.40 Must catch "untitled 1" "untitled 2" etc + //if (MusEGui::projectTitleFromFilename(project.absoluteFilePath()) == "untitled") + //if (MusEGui::projectTitleFromFilename(project.absoluteFilePath()) == MusEGui::getUniqueUntitledName()) + ///if (project.absoluteFilePath() == MusEGui::getUniqueUntitledName()) + if (MusEGlobal::museProject == MusEGlobal::museProjectInitPath ) return saveAs(); else return save(project.filePath(), false); @@ -1542,7 +1621,7 @@ void MusE::closeEvent(QCloseEvent* event) MusECore::exitMetronome(); // Make sure to delete the menu. ~routingPopupMenu() will NOT be called automatically. - // Even though it is a child of MusE, it just passes MusE onto the underlying PopupMenus. p4.0.26 + // Even though it is a child of MusE, it just passes MusE onto the underlying PopupMenus. if(routingPopupMenu) delete routingPopupMenu; #if 0 @@ -1572,7 +1651,7 @@ void MusE::closeEvent(QCloseEvent* event) } #ifdef HAVE_LASH - // Disconnect gracefully from LASH. Tim. p3.3.14 + // Disconnect gracefully from LASH. if(lash_client) { if(MusEGlobal::debugMsg) @@ -1590,7 +1669,6 @@ void MusE::closeEvent(QCloseEvent* event) printf("MusE: Exiting OSC\n"); MusECore::exitOSC(); - // p3.3.47 delete MusEGlobal::audioPrefetch; delete MusEGlobal::audio; delete MusEGlobal::midiSeq; @@ -1619,8 +1697,8 @@ void MusE::showMarker(bool flag) markerView = new MusEGui::MarkerView(this); connect(markerView, SIGNAL(closed()), SLOT(markerClosed())); - toplevels.push_back(markerView); markerView->show(); + toplevels.push_back(markerView); } markerView->setVisible(flag); viewMarkerAction->setChecked(flag); @@ -1642,6 +1720,20 @@ void MusE::markerClosed() setCurrentMenuSharingTopwin(NULL); updateWindowMenu(); + + // focus the last activated topwin which is not the marker view + QList l = mdiArea->subWindowList(QMdiArea::StackingOrder); + for (QList::iterator lit=l.begin(); lit!=l.end(); lit++) + if ((*lit)->isVisible() && (*lit)->widget() != markerView) + { + if (MusEGlobal::debugMsg) + printf("bringing '%s' to front instead of closed arranger window\n",(*lit)->widget()->windowTitle().toAscii().data()); + + bringToFront((*lit)->widget()); + + break; + } + } //--------------------------------------------------------- @@ -1675,6 +1767,20 @@ void MusE::arrangerClosed() { viewArrangerAction->setChecked(false); updateWindowMenu(); + + // focus the last activated topwin which is not the arranger view + QList l = mdiArea->subWindowList(QMdiArea::StackingOrder); + for (QList::iterator lit=l.begin(); lit!=l.end(); lit++) + if ((*lit)->isVisible() && (*lit)->widget() != arrangerView) + { + if (MusEGlobal::debugMsg) + printf("bringing '%s' to front instead of closed arranger window\n",(*lit)->widget()->windowTitle().toAscii().data()); + + bringToFront((*lit)->widget()); + + break; + } + } //--------------------------------------------------------- @@ -1716,7 +1822,7 @@ MusEGui::RoutePopupMenu* MusE::getRoutingPopupMenu() bool MusE::saveAs() { QString name; - if (MusEGlobal::museProject == MusEGlobal::museProjectInitPath ) { + //if (MusEGlobal::museProject == MusEGlobal::museProjectInitPath ) // Use project dialog always now. if (MusEGlobal::config.useProjectSaveDialog) { MusEGui::ProjectCreateImpl pci(MusEGlobal::muse); if (pci.exec() == QDialog::Rejected) { @@ -1737,10 +1843,11 @@ bool MusE::saveAs() QMessageBox::warning(this,"Path error","Can't create project path", QMessageBox::Ok); return false; } - } - else { - name = MusEGui::getSaveFileName(QString(""), MusEGlobal::med_file_save_pattern, this, tr("MusE: Save As")); - } + //} + //else { + // name = MusEGui::getSaveFileName(QString(""), MusEGlobal::med_file_save_pattern, this, tr("MusE: Save As")); + //} + bool ok = false; if (!name.isEmpty()) { QString tempOldProj = MusEGlobal::museProject; @@ -1748,7 +1855,8 @@ bool MusE::saveAs() ok = save(name, true); if (ok) { project.setFile(name); - setWindowTitle(tr("MusE: Song: %1").arg(project.completeBaseName())); + //setWindowTitle(tr("MusE: Song: %1").arg(project.completeBaseName())); + setWindowTitle(tr("MusE: Song: %1").arg(MusEGui::projectTitleFromFilename(name))); addProject(name); } else @@ -1830,8 +1938,8 @@ void MusE::openInScoreEdit(MusEGui::ScoreEdit* destination, MusECore::PartList* if (destination==NULL) // if no destination given, create a new one { destination = new MusEGui::ScoreEdit(this, 0, _arranger->cursorValue()); - destination->show(); toplevels.push_back(destination); + destination->show(); connect(destination, SIGNAL(isDeleting(MusEGui::TopWin*)), SLOT(toplevelDeleting(MusEGui::TopWin*))); connect(destination, SIGNAL(name_changed()), arrangerView, SLOT(scoreNamingChanged())); //connect(muse, SIGNAL(configChanged()), destination, SLOT(config_changed())); @@ -1866,10 +1974,10 @@ void MusE::startPianoroll(MusECore::PartList* pl, bool showDefaultCtrls) { MusEGui::PianoRoll* pianoroll = new MusEGui::PianoRoll(pl, this, 0, _arranger->cursorValue()); - if(showDefaultCtrls) // p4.0.12 + if(showDefaultCtrls) pianoroll->addCtrl(); - pianoroll->show(); toplevels.push_back(pianoroll); + pianoroll->show(); connect(pianoroll, SIGNAL(isDeleting(MusEGui::TopWin*)), SLOT(toplevelDeleting(MusEGui::TopWin*))); connect(MusEGlobal::muse, SIGNAL(configChanged()), pianoroll, SLOT(configChanged())); updateWindowMenu(); @@ -1890,8 +1998,8 @@ void MusE::startListEditor() void MusE::startListEditor(MusECore::PartList* pl) { MusEGui::ListEdit* listEditor = new MusEGui::ListEdit(pl); - listEditor->show(); toplevels.push_back(listEditor); + listEditor->show(); connect(listEditor, SIGNAL(isDeleting(MusEGui::TopWin*)), SLOT(toplevelDeleting(MusEGui::TopWin*))); connect(MusEGlobal::muse,SIGNAL(configChanged()), listEditor, SLOT(configChanged())); updateWindowMenu(); @@ -1904,8 +2012,8 @@ void MusE::startListEditor(MusECore::PartList* pl) void MusE::startMasterEditor() { MusEGui::MasterEdit* masterEditor = new MusEGui::MasterEdit(); - masterEditor->show(); toplevels.push_back(masterEditor); + masterEditor->show(); connect(masterEditor, SIGNAL(isDeleting(MusEGui::TopWin*)), SLOT(toplevelDeleting(MusEGui::TopWin*))); updateWindowMenu(); } @@ -1917,8 +2025,8 @@ void MusE::startMasterEditor() void MusE::startLMasterEditor() { MusEGui::LMaster* lmaster = new MusEGui::LMaster(); - lmaster->show(); toplevels.push_back(lmaster); + lmaster->show(); connect(lmaster, SIGNAL(isDeleting(MusEGui::TopWin*)), SLOT(toplevelDeleting(MusEGui::TopWin*))); connect(MusEGlobal::muse, SIGNAL(configChanged()), lmaster, SLOT(configChanged())); updateWindowMenu(); @@ -1939,10 +2047,10 @@ void MusE::startDrumEditor() void MusE::startDrumEditor(MusECore::PartList* pl, bool showDefaultCtrls) { MusEGui::DrumEdit* drumEditor = new MusEGui::DrumEdit(pl, this, 0, _arranger->cursorValue()); - if(showDefaultCtrls) // p4.0.12 + if(showDefaultCtrls) drumEditor->addCtrl(); - drumEditor->show(); toplevels.push_back(drumEditor); + drumEditor->show(); connect(drumEditor, SIGNAL(isDeleting(MusEGui::TopWin*)), SLOT(toplevelDeleting(MusEGui::TopWin*))); connect(MusEGlobal::muse, SIGNAL(configChanged()), drumEditor, SLOT(configChanged())); updateWindowMenu(); @@ -1966,8 +2074,8 @@ void MusE::startWaveEditor(MusECore::PartList* pl) { MusEGui::WaveEdit* waveEditor = new MusEGui::WaveEdit(pl); waveEditor->show(); - connect(MusEGlobal::muse, SIGNAL(configChanged()), waveEditor, SLOT(configChanged())); toplevels.push_back(waveEditor); + connect(MusEGlobal::muse, SIGNAL(configChanged()), waveEditor, SLOT(configChanged())); connect(waveEditor, SIGNAL(isDeleting(MusEGui::TopWin*)), SLOT(toplevelDeleting(MusEGui::TopWin*))); updateWindowMenu(); } @@ -2088,6 +2196,19 @@ void MusE::toplevelDeleting(MusEGui::TopWin* tl) { activeTopWin=NULL; emit activeTopWinChanged(NULL); + + // focus the last activated topwin which is not the deleting one + QList l = mdiArea->subWindowList(QMdiArea::StackingOrder); + for (QList::iterator lit=l.begin(); lit!=l.end(); lit++) + if ((*lit)->isVisible() && (*lit)->widget() != tl) + { + if (MusEGlobal::debugMsg) + printf("bringing '%s' to front instead of closed window\n",(*lit)->widget()->windowTitle().toAscii().data()); + + bringToFront((*lit)->widget()); + + break; + } } if (tl == currentMenuSharingTopwin) @@ -2168,7 +2289,7 @@ void MusE::kbAccel(int key) MusEGlobal::song->setPlay(true); } - // p4.0.10 Tim. Normally each editor window handles these, to inc by the editor's raster snap value. + // Normally each editor window handles these, to inc by the editor's raster snap value. // But users were asking for a global version - "they don't work when I'm in mixer or transport". // Since no editor claimed the key event, we don't know a specific editor's snap setting, // so adopt a policy where the arranger is the 'main' raster reference, I guess... @@ -2649,7 +2770,8 @@ MusE::lash_idle_cb () int ok = save (ss.toAscii(), false); if (ok) { project.setFile(ss.toAscii()); - setWindowTitle(tr("MusE: Song: %1").arg(project.completeBaseName())); + //setWindowTitle(tr("MusE: Song: %1").arg(project.completeBaseName())); + setWindowTitle(tr("MusE: Song: %1").arg(MusEGui::projectTitleFromFilename(project.absoluteFilePath()))); addProject(ss.toAscii()); MusEGlobal::museProject = QFileInfo(ss.toAscii()).absolutePath(); } @@ -3071,21 +3193,32 @@ void MusE::focusChanged(QWidget*, QWidget* now) if (currentMenuSharingTopwin && (currentMenuSharingTopwin!=activeTopWin)) currentMenuSharingTopwin->storeInitialState(); - + // if the activated widget is a QMdiSubWindow containing some TopWin + if ( (dynamic_cast(ptr)!=0) && + (dynamic_cast( ((QMdiSubWindow*)ptr)->widget() )!=0) ) + { + waitingForTopwin=(MusEGui::TopWin*) ((QMdiSubWindow*)ptr)->widget(); + return; + } while (ptr) { + if (MusEGlobal::heavyDebugMsg) + printf("focusChanged: at widget %p with type %s\n",ptr, typeid(*ptr).name()); + if ( (dynamic_cast(ptr)!=0) || // *ptr is a TopWin or a derived class (ptr==this) ) // the main window is selected break; ptr=dynamic_cast(ptr->parent()); //in the unlikely case that ptr is a QObject, this returns NULL, which stops the loop } + MusEGui::TopWin* win=dynamic_cast(ptr); // ptr is either NULL, this or the pointer to a TopWin - if (ptr!=this) // if the main win is selected, don't treat that as "none", but also don't handle it + + // if the main win or some deleting topwin is selected, + // don't treat that as "none", but also don't handle it + if (ptr!=this && (!win || !win->deleting()) ) { - MusEGui::TopWin* win=dynamic_cast(ptr); - // now 'win' is either NULL or the pointer to the active TopWin if (win!=activeTopWin) { @@ -3233,6 +3366,26 @@ void MusE::shareMenuAndToolbarChanged(MusEGui::TopWin* win, bool val) } } +void MusE::topwinMenuInited(MusEGui::TopWin* topwin) +{ + if (topwin==NULL) + return; + + if (topwin == waitingForTopwin) + { + if (waitingForTopwin->deleting()) + { + waitingForTopwin=NULL; + } + else + { + activeTopWin=waitingForTopwin; + waitingForTopwin=NULL; + emit activeTopWinChanged(activeTopWin); + } + } +} + void MusE::updateWindowMenu() { bool sep; @@ -3286,6 +3439,8 @@ void MusE::updateWindowMenu() void MusE::bringToFront(QWidget* widget) { MusEGui::TopWin* win=dynamic_cast(widget); + if (!win) return; + if (win->isMdiWin()) { win->show(); @@ -3449,4 +3604,19 @@ void MusE::tileSubWindows() } } +QString MusE::projectTitle() const +{ + return MusEGui::projectTitleFromFilename(project.fileName()); +} + +QString MusE::projectPath() const +{ + return MusEGui::projectPathFromFilename(project.absoluteFilePath()); +} + +QString MusE::projectExtension() const +{ + return MusEGui::projectExtensionFromFilename(project.fileName()); +} + } //namespace MusEGui diff --git a/muse2/muse/app.h b/muse2/muse/app.h index 27722e9a..184581dc 100644 --- a/muse2/muse/app.h +++ b/muse2/muse/app.h @@ -43,6 +43,7 @@ class QToolBar; class QToolButton; class QProgressDialog; class QMdiArea; +class QTimer; namespace MusECore { class AudioOutput; @@ -91,7 +92,7 @@ class TopWin; class Transport; class VisibleTracks; -#define MENU_ADD_SYNTH_ID_BASE 0x1000 +#define MENU_ADD_SYNTH_ID_BASE 0x8000 //--------------------------------------------------------- @@ -128,6 +129,7 @@ class MusE : public QMainWindow TopWin* activeTopWin; TopWin* currentMenuSharingTopwin; + TopWin* waitingForTopwin; std::list requiredToolbars; //always displayed std::list optionalToolbars; //only displayed when no toolbar-sharing window is active @@ -213,6 +215,10 @@ class MusE : public QMainWindow MidiTransformerDialog* midiTransformerDialog; QMenu* openRecent; + //QTimer* hackishSongOpenTimer; + //QString hackishSongOpenFilename; + //bool hackishSongOpenUseTemplate; + bool readMidi(FILE*); void read(MusECore::Xml& xml, bool skipConfig, bool isTemplate); void processTrack(MusECore::MidiTrack* track); @@ -327,6 +333,8 @@ class MusE : public QMainWindow void arrangeSubWindowsColumns(); void tileSubWindows(); + //void hackishSongOpenTimerTimeout(); + public slots: bool saveAs(); void bounceToFile(MusECore::AudioOutput* ao = 0); @@ -371,12 +379,14 @@ class MusE : public QMainWindow void addMdiSubWindow(QMdiSubWindow*); void shareMenuAndToolbarChanged(MusEGui::TopWin*, bool); + void topwinMenuInited(MusEGui::TopWin*); void updateWindowMenu(); public: MusE(int argc, char** argv); ~MusE(); + void loadDefaultSong(int argc, char** argv); Arranger* arranger() const { return _arranger; } QRect configGeometryMain; QProgressDialog *progress; @@ -384,10 +394,13 @@ class MusE : public QMainWindow void kbAccel(int); void changeConfig(bool writeFlag); void seqStop(); - bool seqStart(); + bool seqStart(); void setHeartBeat(); void importController(int, MusECore::MidiPort*, int); QString projectName() { return project.fileName(); } + QString projectTitle() const; + QString projectPath() const; + QString projectExtension() const; QWidget* mixer1Window(); QWidget* mixer2Window(); QWidget* transportWindow(); diff --git a/muse2/muse/arranger/alayout.cpp b/muse2/muse/arranger/alayout.cpp index a892356c..119da498 100644 --- a/muse2/muse/arranger/alayout.cpp +++ b/muse2/muse/arranger/alayout.cpp @@ -117,7 +117,7 @@ void TLLayout::setGeometry(const QRect &rect) QSize s1 = li[1]->sizeHint(); QSize s2 = li[2]->sizeHint(); - QSize s3 = li[3]->sizeHint(); + //QSize s3 = li[3]->sizeHint(); QSize s4 = li[4]->sizeHint(); QSize s5 = li[5]->sizeHint(); diff --git a/muse2/muse/arranger/arranger.cpp b/muse2/muse/arranger/arranger.cpp index ae753378..cb024070 100644 --- a/muse2/muse/arranger/arranger.cpp +++ b/muse2/muse/arranger/arranger.cpp @@ -569,27 +569,40 @@ void Arranger::songChanged(int type) // Is it simply a midi controller value adjustment? Forget it. if(type != SC_MIDI_CONTROLLER) { - unsigned endTick = MusEGlobal::song->len(); - int offset = AL::sigmap.ticksMeasure(endTick); - hscroll->setRange(-offset, endTick + offset); //DEBUG - canvas->setOrigin(-offset, 0); - time->setOrigin(-offset, 0); - - int bar, beat; - unsigned tick; - AL::sigmap.tickValues(endTick, &bar, &beat, &tick); - if (tick || beat) - ++bar; - lenEntry->blockSignals(true); - lenEntry->setValue(bar); - lenEntry->blockSignals(false); - - if(type & SC_SONG_TYPE) // p4.0.7 Tim. + // TEST p4.0.36 Try these, may need more/less. + if(type & ( SC_TRACK_INSERTED | SC_TRACK_REMOVED | SC_TRACK_MODIFIED | + SC_PART_INSERTED | SC_PART_REMOVED | SC_PART_MODIFIED)) + { + unsigned endTick = MusEGlobal::song->len(); + int offset = AL::sigmap.ticksMeasure(endTick); + hscroll->setRange(-offset, endTick + offset); //DEBUG + canvas->setOrigin(-offset, 0); + time->setOrigin(-offset, 0); + + int bar, beat; + unsigned tick; + AL::sigmap.tickValues(endTick, &bar, &beat, &tick); + if (tick || beat) + ++bar; + lenEntry->blockSignals(true); + lenEntry->setValue(bar); + lenEntry->blockSignals(false); + } + + if(type & SC_SONG_TYPE) setMode(MusEGlobal::song->mtype()); - trackSelectionChanged(); - canvas->partsChanged(); - typeBox->setCurrentIndex(int(MusEGlobal::song->mtype())); + if(type & SC_SELECTION) // TEST p4.0.36 Try this alone, may need more. + trackSelectionChanged(); + + // Keep this light, partsChanged is a heavy move! TEST p4.0.36 Try these, may need more. + if(type & (SC_TRACK_INSERTED | SC_TRACK_REMOVED | SC_TRACK_MODIFIED | + SC_PART_INSERTED | SC_PART_REMOVED | SC_PART_MODIFIED | + SC_SIG | SC_TEMPO)) // Maybe sig. Requires tempo. + canvas->partsChanged(); + + //typeBox->setCurrentIndex(int(MusEGlobal::song->mtype())); // REMOVE Tim. Redundant. + if (type & SC_SIG) time->redraw(); if (type & SC_TEMPO) @@ -616,6 +629,14 @@ void Arranger::songChanged(int type) } } } + + // TEST p4.0.36 Try this + if(type & ( //SC_TRACK_INSERTED | SC_TRACK_REMOVED | SC_TRACK_MODIFIED | + SC_PART_INSERTED | SC_PART_REMOVED | SC_PART_MODIFIED | + SC_EVENT_INSERTED | SC_EVENT_REMOVED | SC_EVENT_MODIFIED)) //| + //SC_SIG | SC_TEMPO)) // Maybe sig. and tempo. No, moved above. + canvas->redraw(); + } updateTrackInfo(type); diff --git a/muse2/muse/arranger/arrangerview.cpp b/muse2/muse/arranger/arrangerview.cpp index 3b726845..52be5194 100644 --- a/muse2/muse/arranger/arrangerview.cpp +++ b/muse2/muse/arranger/arrangerview.cpp @@ -37,7 +37,7 @@ #include #include #include -#include +//#include #include #include #include @@ -129,6 +129,7 @@ ArrangerView::ArrangerView(QWidget* parent) connect(muse, SIGNAL(configChanged()), arranger, SLOT(configChanged())); connect(arranger, SIGNAL(setUsedTool(int)), editTools, SLOT(set(int))); connect(arranger, SIGNAL(selectionChanged()), SLOT(selectionChanged())); + connect(MusEGlobal::song, SIGNAL(songChanged(int)), visTracks, SLOT(updateVisibleTracksButtons())); @@ -167,8 +168,8 @@ ArrangerView::ArrangerView(QWidget* parent) scoreSubmenu = new QMenu(tr("Score"), this); scoreSubmenu->setIcon(QIcon(*scoreIconSet)); - scoreAllInOneSubsubmenu = new QMenu(tr("all parts in one staff"), this); - scoreOneStaffPerTrackSubsubmenu = new QMenu(tr("one staff per part"), this); + scoreAllInOneSubsubmenu = new QMenu(tr("all tracks in one staff"), this); + scoreOneStaffPerTrackSubsubmenu = new QMenu(tr("one staff per track"), this); scoreSubmenu->addMenu(scoreAllInOneSubsubmenu); scoreSubmenu->addMenu(scoreOneStaffPerTrackSubsubmenu); @@ -193,6 +194,10 @@ ArrangerView::ArrangerView(QWidget* parent) strGlobalInsertAction = new QAction(tr("Global Insert"), this); strGlobalSplitAction = new QAction(tr("Global Split"), this); + strGlobalCutSelAction = new QAction(tr("Global Cut - selected tracks"), this); + strGlobalInsertSelAction = new QAction(tr("Global Insert - selected tracks"), this); + strGlobalSplitSelAction = new QAction(tr("Global Split - selected tracks"), this); + //------------------------------------------------------------- @@ -246,7 +251,11 @@ ArrangerView::ArrangerView(QWidget* parent) menuStructure->addAction(strGlobalCutAction); menuStructure->addAction(strGlobalInsertAction); menuStructure->addAction(strGlobalSplitAction); - + menuStructure->addSeparator(); + menuStructure->addAction(strGlobalCutSelAction); + menuStructure->addAction(strGlobalInsertSelAction); + menuStructure->addAction(strGlobalSplitSelAction); + QMenu* functions_menu = menuBar()->addMenu(tr("Functions")); @@ -341,6 +350,9 @@ ArrangerView::ArrangerView(QWidget* parent) connect(strGlobalCutAction, SIGNAL(activated()), SLOT(globalCut())); connect(strGlobalInsertAction, SIGNAL(activated()), SLOT(globalInsert())); connect(strGlobalSplitAction, SIGNAL(activated()), SLOT(globalSplit())); + connect(strGlobalCutSelAction, SIGNAL(activated()), SLOT(globalCutSel())); + connect(strGlobalInsertSelAction, SIGNAL(activated()), SLOT(globalInsertSel())); + connect(strGlobalSplitSelAction, SIGNAL(activated()), SLOT(globalSplitSel())); @@ -351,7 +363,7 @@ ArrangerView::ArrangerView(QWidget* parent) connect(cb, SIGNAL(dataChanged()), SLOT(clipboardChanged())); connect(cb, SIGNAL(selectionChanged()), SLOT(clipboardChanged())); - + MusEGlobal::muse->topwinMenuInited(this); // work around for probable QT/WM interaction bug. // for certain window managers, e.g xfce, this window is @@ -368,7 +380,7 @@ ArrangerView::~ArrangerView() void ArrangerView::closeEvent(QCloseEvent* e) { - emit deleted(static_cast(this)); + emit isDeleting(static_cast(this)); emit closed(); e->accept(); } @@ -729,4 +741,9 @@ void ArrangerView::globalCut() { MusECore::globalCut(); } void ArrangerView::globalInsert() { MusECore::globalInsert(); } void ArrangerView::globalSplit() { MusECore::globalSplit(); } +// variants only applicable for selected tracks +void ArrangerView::globalCutSel() { MusECore::globalCut(true); } +void ArrangerView::globalInsertSel() { MusECore::globalInsert(true); } +void ArrangerView::globalSplitSel() { MusECore::globalSplit(true); } + } // namespace MusEGui diff --git a/muse2/muse/arranger/arrangerview.h b/muse2/muse/arranger/arrangerview.h index de610bd6..c56767a6 100644 --- a/muse2/muse/arranger/arrangerview.h +++ b/muse2/muse/arranger/arrangerview.h @@ -89,7 +89,8 @@ class ArrangerView : public TopWin QMenu* master; QAction *strGlobalCutAction, *strGlobalInsertAction, *strGlobalSplitAction; - QAction *trackMidiAction, *trackDrumAction, *trackWaveAction, *trackAOutputAction, *trackAGroupAction; + QAction *strGlobalCutSelAction, *strGlobalInsertSelAction, *strGlobalSplitSelAction; + QAction *trackMidiAction, *trackDrumAction, *trackWaveAction, *trackAOutputAction, *trackAGroupAction; QAction *trackAInputAction, *trackAAuxAction; QAction *editCutAction, *editCopyAction, *editCopyRangeAction; QAction *editPasteAction, *editPasteCloneAction, *editPasteDialogAction, *editPasteCloneDialogAction; @@ -119,11 +120,14 @@ class ArrangerView : public TopWin void globalCut(); void globalInsert(); void globalSplit(); - void cmd(int); + void globalCutSel(); + void globalInsertSel(); + void globalSplitSel(); + void cmd(int); void addNewTrack(QAction* action); signals: - void deleted(MusEGui::TopWin*); + void isDeleting(MusEGui::TopWin*); void closed(); public slots: diff --git a/muse2/muse/arranger/pcanvas.cpp b/muse2/muse/arranger/pcanvas.cpp index d19fa082..f190de3b 100644 --- a/muse2/muse/arranger/pcanvas.cpp +++ b/muse2/muse/arranger/pcanvas.cpp @@ -3,7 +3,7 @@ // Linux Music Editor // $Id: pcanvas.cpp,v 1.48.2.26 2009/11/22 11:08:33 spamatica Exp $ // (C) Copyright 1999 Werner Schweer (ws@seh.de) -// (C) Copyright 2011 Tim E. Real (terminator356 on users DOT sourceforge DOT net) +// (C) Copyright 2011 Tim E. Real (terminator356 on sourceforge) // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License @@ -302,12 +302,9 @@ void PartCanvas::moveCanvasItems(CItemList& items, int dp, int dx, DragType dtyp QPoint newpos = raster(QPoint(nx, ny)); selectItem(ci, true); - MusECore::UndoOp operation=moveItem(ci, newpos, dtype); - if (operation.type != MusECore::UndoOp::DoNothing) - { + bool result=moveItem(operations, ci, newpos, dtype); + if (result) ci->move(newpos); - operations.push_back(operation); - } if(moving.size() == 1) { itemReleased(curItem, newpos); @@ -326,37 +323,41 @@ void PartCanvas::moveCanvasItems(CItemList& items, int dp, int dx, DragType dtyp //--------------------------------------------------------- // Changed by T356. -MusECore::UndoOp PartCanvas::moveItem(CItem* item, const QPoint& newpos, DragType t) +bool PartCanvas::moveItem(MusECore::Undo& operations, CItem* item, const QPoint& newpos, DragType t) { - MusECore::UndoOp result; NPart* npart = (NPart*) item; MusECore::Part* spart = npart->part(); MusECore::Track* track = npart->track(); + MusECore::Track* dtrack=NULL; unsigned dtick = newpos.x(); unsigned ntrack = y2pitch(item->mp().y()); MusECore::Track::TrackType type = track->type(); if (tracks->index(track) == ntrack && (dtick == spart->tick())) { - return MusECore::UndoOp(MusECore::UndoOp::DoNothing); + return false; } if (ntrack >= tracks->size()) { ntrack = tracks->size(); if (MusEGlobal::debugMsg) printf("PartCanvas::moveItem - add new track\n"); - MusECore::Track* newTrack = MusEGlobal::song->addTrack(type); // Add at end of list. + dtrack = MusEGlobal::song->addTrack(operations, type); // Add at end of list. + if (type == MusECore::Track::WAVE) { MusECore::WaveTrack* st = (MusECore::WaveTrack*) track; - MusECore::WaveTrack* dt = (MusECore::WaveTrack*) newTrack; + MusECore::WaveTrack* dt = (MusECore::WaveTrack*) dtrack; dt->setChannels(st->channels()); } emit tracklistChanged(); } - MusECore::Track* dtrack = tracks->index(ntrack); - if (dtrack->type() != type) { - QMessageBox::critical(this, QString("MusE"), - tr("Cannot copy/move/clone to different Track-Type")); - return MusECore::UndoOp(MusECore::UndoOp::DoNothing); + else + { + dtrack = tracks->index(ntrack); + if (dtrack->type() != type) { + QMessageBox::critical(this, QString("MusE"), + tr("Cannot copy/move/clone to different Track-Type")); + return false; + } } - + MusECore::Part* dpart; bool clone = (t == MOVE_CLONE || (t == MOVE_COPY && spart->events()->arefCount() > 1)); @@ -397,22 +398,24 @@ MusECore::UndoOp PartCanvas::moveItem(CItem* item, const QPoint& newpos, DragTyp if (t == MOVE_COPY || t == MOVE_CLONE) { // These will not increment ref count, and will not chain clones... // TODO FINDMICH: is this still correct (by flo93)? i doubt it! - result=MusECore::UndoOp(MusECore::UndoOp::AddPart,dpart); + operations.push_back(MusECore::UndoOp(MusECore::UndoOp::AddPart,dpart)); } else if (t == MOVE_MOVE) { dpart->setSelected(spart->selected()); // These will increment ref count if not a clone, and will chain clones... // TODO FINDMICH: is this still correct (by flo93)? i doubt it! - result=MusECore::UndoOp(MusECore::UndoOp::ModifyPart,spart, dpart, true, false); + operations.push_back(MusECore::UndoOp(MusECore::UndoOp::ModifyPart,spart, dpart, true, false)); spart->setSelected(false); } - // else // will never happen -> result will always be defined + // else // will never happen -> operations will never be empty if (MusEGlobal::song->len() < (dpart->lenTick() + dpart->tick())) - MusEGlobal::song->setLen(dpart->lenTick() + dpart->tick()); - - return result; + operations.push_back( MusECore::UndoOp(MusECore::UndoOp::ModifySongLen, + dpart->lenTick() + dpart->tick(), + MusEGlobal::song->len() ) ); + + return true; } //--------------------------------------------------------- @@ -883,8 +886,8 @@ void PartCanvas::mousePress(QMouseEvent* event) default: if (item) emit trackChanged(item->part()->track()); - else - emit trackChanged(NULL); + //else -- don't see the point of removing track selection, commenting out (rj) + // emit trackChanged(NULL); break; case CutTool: if (item) splitItem(item, pt); @@ -1193,7 +1196,7 @@ void PartCanvas::keyPress(QKeyEvent* event) //If we're at topmost, leave if (!track) { - printf("no track above!\n"); + //printf("no track above!\n"); return; } int middle = curItem->x() + curItem->part()->lenTick()/2; @@ -1327,17 +1330,25 @@ void PartCanvas::keyPress(QKeyEvent* event) curItem = newItem; selectItem(newItem, true); - //Check if we've hit the upper or lower boundaries of the window. If so, set a new position + //Check if we've hit the left, right, upper or lower boundaries of the window. If so, scroll to new position. if (newItem->x() < mapxDev(0)) { - int curpos = pos[0]; - setPos(0,newItem->x(),true); - setPos(0,curpos,false); //Dummy to put the current position back once we've scrolled + emit horizontalScroll(rmapx(newItem->x() - xorg) - 10); // Leave some room. + } + else if (newItem->x() + newItem->width() > mapxDev(width())) { + int mx = rmapx(newItem->x()); + int newx = mx + rmapx(newItem->width()) - width(); + emit horizontalScroll( (newx > mx ? mx - 10 : newx + 10) - rmapx(xorg) ); + } + + if (newItem->y() < mapyDev(0)) { + int my = rmapy(newItem->y()); + int newy = my + rmapy(newItem->height()) - height(); + emit verticalScroll( (newy < my ? my - 10 : newy + 10) - rmapy(yorg) ); } - else if (newItem->x() > mapxDev(width())) { - int curpos = pos[0]; - setPos(0,newItem->x(),true); - setPos(0,curpos,false); //Dummy to put the current position back once we've scrolled + else if (newItem->y() + newItem->height() > mapyDev(height())) { + emit verticalScroll( rmapy(newItem->y() + newItem->height() - yorg) - height() + 10); } + redraw(); } } @@ -2299,9 +2310,9 @@ void PartCanvas::drawMidiPart(QPainter& p, const QRect&, MusECore::EventList* ev //else // color_brightness=64; // otherwise use dark color if (brightness >= 12000 && !pt->selected()) - color_brightness=64; // 96; // too bright: use dark color + color_brightness=54; // 96; // too bright: use dark color else - color_brightness=190; //160; // too dark: use lighter color + color_brightness=200; //160; // too dark: use lighter color } else color_brightness=80; @@ -3207,9 +3218,13 @@ void PartCanvas::viewDropEvent(QDropEvent* event) if (!track) { // we need to create a track for this drop if (text.endsWith(".mpt", Qt::CaseInsensitive)) { - track = MusEGlobal::song->addTrack(MusECore::Track::MIDI); // Add at end of list. + MusECore::Undo operations; + track = MusEGlobal::song->addTrack(operations, MusECore::Track::MIDI); // Add at end of list. + MusEGlobal::song->applyOperationGroup(operations); } else { - track = MusEGlobal::song->addTrack(MusECore::Track::WAVE); // Add at end of list. + MusECore::Undo operations; + track = MusEGlobal::song->addTrack(operations, MusECore::Track::WAVE); // Add at end of list. + MusEGlobal::song->applyOperationGroup(operations); } } if (track->type() == MusECore::Track::WAVE && @@ -3634,7 +3649,8 @@ void PartCanvas::drawAutomation(QPainter& p, const QRect& rr, MusECore::AudioTra { double y; if (cl->valueType() == MusECore::VAL_LOG ) { // use db scale for volume - y = dbToVal(cl->curVal()); // represent volume between 0 and 1 + //printf("log conversion val=%f min=%f max=%f\n", cl->curVal(), min, max); + y = logToVal(cl->curVal(), min, max); // represent volume between 0 and 1 if (y < 0) y = 0.0; } else @@ -3647,7 +3663,8 @@ void PartCanvas::drawAutomation(QPainter& p, const QRect& rr, MusECore::AudioTra { double y = ic->second.val; if (cl->valueType() == MusECore::VAL_LOG ) { // use db scale for volume - y = dbToVal(y); // represent volume between 0 and 1 + //printf("log conversion val=%f min=%f max=%f\n", cl->curVal(), min, max); + y = logToVal(y, min, max); // represent volume between 0 and 1 if (y < 0) y = 0.0; } else @@ -3746,7 +3763,7 @@ void PartCanvas::checkAutomation(MusECore::Track * t, const QPoint &pointer, boo { double y; if (cl->valueType() == MusECore::VAL_LOG ) { // use db scale for volume - y = dbToVal(cl->curVal()); // represent volume between 0 and 1 + y = logToVal(cl->curVal(), min, max); // represent volume between 0 and 1 if (y < 0) y = 0.0; } else @@ -3759,7 +3776,7 @@ void PartCanvas::checkAutomation(MusECore::Track * t, const QPoint &pointer, boo { double y = ic->second.val; if (cl->valueType() == MusECore::VAL_LOG ) { // use db scale for volume - y = dbToVal(y); // represent volume between 0 and 1 + y = logToVal(y, min, max); // represent volume between 0 and 1 if (y < 0) y = 0; } else @@ -3951,7 +3968,8 @@ void PartCanvas::processAutomationMovements(QPoint pos, bool addPoint) automation.currentCtrlList->range(&min,&max); double cvval; if (automation.currentCtrlList->valueType() == MusECore::VAL_LOG ) { // use db scale for volume - cvval = valToDb(yfraction); + printf("log conversion val=%f min=%f max=%f\n", yfraction, min, max); + cvval = valToLog(yfraction, min, max); //printf("calc yfraction = %f v=%f ",yfraction,cvval); if (cvval< min) cvval=min; if (cvval>max) cvval=max; @@ -3984,13 +4002,45 @@ void PartCanvas::processAutomationMovements(QPoint pos, bool addPoint) } -double PartCanvas::dbToVal(double inDb) +//--------------------------------------------------------- +// +// logToVal +// - represent logarithmic value on linear scale from 0 to 1 +// +//--------------------------------------------------------- +double PartCanvas::logToVal(double inLog, double min, double max) { - return (20.0*MusECore::fast_log10(inDb)+60.0) / 70.0; + //printf("logToVal inLog %f :", inLog); + if (inLog < min) inLog = min; + if (inLog > max) inLog = max; + double linMin = 20.0*MusECore::fast_log10(min); + double linMax = 20.0*MusECore::fast_log10(max); + double linVal = 20.0*MusECore::fast_log10(inLog); + + double outVal = (linVal-linMin) / (linMax - linMin); + // printf("inLog %f outVal %f linVal %f min %f max %f dbMin %f dbMax %f\n", inLog, outVal, linVal, min, max, linMin, linMax); + + return outVal; } -double PartCanvas::valToDb(double inV) + +//--------------------------------------------------------- +// +// valToLog +// - represent value from 0 to 1 as logarithmic value between min and max +// +//--------------------------------------------------------- +double PartCanvas::valToLog(double inV, double min, double max) { - return exp10((inV*70.0-60.0)/20.0); + double linMin = 20.0*MusECore::fast_log10(min); + double linMax = 20.0*MusECore::fast_log10(max); + + double linVal = (inV * (linMax - linMin)) + linMin; + double outVal = exp10((linVal)/20.0); + + //printf("::valToLog inV %f outVal %f linVal %f min %f max %f\n", inV, outVal, linVal, min, max); + if (outVal > max) outVal = max; + if (outVal < min) outVal = min; + return outVal; } //--------------------------------------------------------- diff --git a/muse2/muse/arranger/pcanvas.h b/muse2/muse/arranger/pcanvas.h index 78b88a5c..34395688 100644 --- a/muse2/muse/arranger/pcanvas.h +++ b/muse2/muse/arranger/pcanvas.h @@ -119,7 +119,7 @@ class PartCanvas : public Canvas { virtual void newItem(CItem*,bool); virtual bool deleteItem(CItem*); virtual void moveCanvasItems(CItemList&, int, int, DragType); - virtual MusECore::UndoOp moveItem(CItem*, const QPoint&, DragType); + virtual bool moveItem(MusECore::Undo& operations, CItem*, const QPoint&, DragType); virtual void updateSong(DragType, int); virtual void startDrag(CItem*, DragType); @@ -148,8 +148,8 @@ class PartCanvas : public Canvas { void checkAutomation(MusECore::Track * t, const QPoint& pointer, bool addNewCtrl); void processAutomationMovements(QPoint pos, bool addPoint); - double dbToVal(double inDb); - double valToDb(double inV); + double logToVal(double inLog, double min, double max); + double valToLog(double inV, double min, double max); protected: virtual void drawCanvas(QPainter&, const QRect&); diff --git a/muse2/muse/arranger/tlist.cpp b/muse2/muse/arranger/tlist.cpp index 1e3ad419..620a24b7 100644 --- a/muse2/muse/arranger/tlist.cpp +++ b/muse2/muse/arranger/tlist.cpp @@ -62,6 +62,7 @@ #include "synth.h" #include "config.h" #include "popupmenu.h" +#include "menutitleitem.h" #ifdef DSSI_SUPPORT #include "dssihost.h" @@ -392,7 +393,7 @@ void TList::paint(const QRect& r) countVisible++; } //int count = ((MusECore::AudioTrack*)track)->controller()->size(); //commented out by flo: gives a "unused variable" warning - s.sprintf(" %d(%d) visible",countVisible, countAll); + s.sprintf(" %d(%d) %s",countVisible, countAll, tr("visible").toAscii().data()); } @@ -584,12 +585,17 @@ void TList::portsPopupMenu(MusECore::Track* t, int x, int y) switch(t->type()) { case MusECore::Track::MIDI: case MusECore::Track::DRUM: + // FINDMICHJETZT: this is a notice for flo's experimental + // branch! don't forget NEW_DRUM here! + // please don't remove this. i'll do it when + // the time is there. case MusECore::Track::AUDIO_SOFTSYNTH: { MusECore::MidiTrack* track = (MusECore::MidiTrack*)t; //QPopupMenu* p = MusECore::midiPortsPopup(0); MusECore::MidiDevice* md = 0; + int potential_new_port_no=-1; int port = -1; if(t->type() == MusECore::Track::AUDIO_SOFTSYNTH) { @@ -602,25 +608,158 @@ void TList::portsPopupMenu(MusECore::Track* t, int x, int y) port = track->outPort(); QMenu* p = MusECore::midiPortsPopup(this, port); // 0, port); + + if (t->type()==MusECore::Track::MIDI || t->type()==MusECore::Track::DRUM) //FINDMICHJETZT + { + // extend that menu a bit + + + // find first free port number + // do not permit numbers already used in other tracks! + // except if it's only used in this track. + int no; + for (no=0;notracks()->begin(); it!=MusEGlobal::song->tracks()->end(); it++) + { + MusECore::MidiTrack* mt=dynamic_cast(*it); + if (mt && mt!=t && mt->outPort()==no) + break; + } + if (it == MusEGlobal::song->tracks()->end()) + break; + } + + if (no==MIDI_PORTS) + { + delete p; + printf("THIS IS VERY UNLIKELY TO HAPPEN: no free midi ports! you have used all %i!\n",MIDI_PORTS); + break; + } + + + potential_new_port_no=no; + typedef std::map asmap; + typedef std::map::iterator imap; + + asmap mapALSA; + asmap mapJACK; + + int aix = 0x10000000; + int jix = 0x20000000; + for(MusECore::iMidiDevice i = MusEGlobal::midiDevices.begin(); i != MusEGlobal::midiDevices.end(); ++i) + { + if((*i)->deviceType() == MusECore::MidiDevice::ALSA_MIDI) + { + // don't add devices which are used somewhere + int j; + for (j=0;j (std::string((*i)->name().toLatin1().constData()), aix) ); + + ++aix; + } + else if((*i)->deviceType() == MusECore::MidiDevice::JACK_MIDI) + { + // don't add devices which are used somewhere + int j; + for (j=0;j (std::string((*i)->name().toLatin1().constData()), jix) ); + ++jix; + } + } + + if (!mapALSA.empty() || !mapJACK.empty()) + { + QMenu* pup = p->addMenu(tr("Unused Devices")); + QAction* act; + + + if (!mapALSA.empty()) + { + pup->addAction(new MusEGui::MenuTitleItem("ALSA:", pup)); + + for(imap i = mapALSA.begin(); i != mapALSA.end(); ++i) + { + int idx = i->second; + QString s(i->first.c_str()); + MusECore::MidiDevice* md = MusEGlobal::midiDevices.find(s, MusECore::MidiDevice::ALSA_MIDI); + if(md) + { + if(md->deviceType() != MusECore::MidiDevice::ALSA_MIDI) + continue; + + act = pup->addAction(md->name()); + act->setData(idx); + } + } + } + + if (!mapALSA.empty() && !mapJACK.empty()) + pup->addSeparator(); + + if (!mapJACK.empty()) + { + pup->addAction(new MusEGui::MenuTitleItem("JACK:", pup)); + + for(imap i = mapJACK.begin(); i != mapJACK.end(); ++i) + { + int idx = i->second; + QString s(i->first.c_str()); + MusECore::MidiDevice* md = MusEGlobal::midiDevices.find(s, MusECore::MidiDevice::JACK_MIDI); + if(md) + { + if(md->deviceType() != MusECore::MidiDevice::JACK_MIDI) + continue; + + act = pup->addAction(md->name()); + act->setData(idx); + } + } + } + } + } + + QAction* act = p->exec(mapToGlobal(QPoint(x, y)), 0); if(!act) { delete p; break; } - + + QString acttext=act->text(); int n = act->data().toInt(); delete p; if(n < 0) // Invalid item. break; - if(n >= MIDI_PORTS) // Show port config dialog. + if(n == MIDI_PORTS) // Show port config dialog. { MusEGlobal::muse->configMidiPorts(); break; } + else if (n & 0x30000000) + { + int typ; + if (n & 0x10000000) + typ = MusECore::MidiDevice::ALSA_MIDI; + else + typ = MusECore::MidiDevice::JACK_MIDI; + MusECore::MidiDevice* sdev = MusEGlobal::midiDevices.find(acttext, typ); + + MusEGlobal::midiSeq->msgSetMidiDevice(&MusEGlobal::midiPorts[potential_new_port_no], sdev); + n=potential_new_port_no; + } // Changed by T356. //track->setOutPort(n); //MusEGlobal::audio->msgSetTrackOutPort(track, n); @@ -1049,7 +1188,7 @@ void TList::mousePressEvent(QMouseEvent* ev) if(act) { t = MusEGlobal::song->addNewTrack(act); // Add at end of list. - if(t) + if(t && t->isVisible()) { MusEGlobal::song->deselectTracks(); t->setSelected(true); @@ -1064,13 +1203,13 @@ void TList::mousePressEvent(QMouseEvent* ev) //delete synp; delete p; } - else if (button == Qt::LeftButton) { + /*else if (button == Qt::LeftButton) { if (!ctrl) { MusEGlobal::song->deselectTracks(); emit selectionChanged(0); } - } + }*/ return; } @@ -1108,7 +1247,8 @@ void TList::mousePressEvent(QMouseEvent* ev) return; } - mode = START_DRAG; + + mode = NORMAL; switch (col) { case COL_CLEF: @@ -1137,8 +1277,8 @@ void TList::mousePressEvent(QMouseEvent* ev) } delete p; } - break; + case COL_AUTOMATION: { if (!t->isMidiTrack()) { @@ -1174,6 +1314,8 @@ void TList::mousePressEvent(QMouseEvent* ev) case COL_RECORD: { + mode = START_DRAG; + bool val = !(t->recordFlag()); if (button == Qt::LeftButton) { if (!t->isMidiTrack()) { @@ -1212,6 +1354,7 @@ void TList::mousePressEvent(QMouseEvent* ev) } break; case COL_NONE: + mode = START_DRAG; break; case COL_CLASS: if (t->isMidiTrack()) @@ -1232,9 +1375,10 @@ void TList::mousePressEvent(QMouseEvent* ev) //MusEGlobal::audio->msgUpdateSoloStates(); // p4.0.14 //MusEGlobal::song->update(SC_ROUTE); // - break; + case COL_MUTE: + mode = START_DRAG; // p3.3.29 if ((button == Qt::RightButton) || (((QInputEvent*)ev)->modifiers() & Qt::ShiftModifier)) t->setOff(!t->off()); @@ -1248,11 +1392,13 @@ void TList::mousePressEvent(QMouseEvent* ev) MusEGlobal::song->update(SC_MUTE); break; case COL_SOLO: + mode = START_DRAG; MusEGlobal::audio->msgSetSolo(t, !t->solo()); MusEGlobal::song->update(SC_SOLO); break; case COL_NAME: + mode = START_DRAG; if (button == Qt::LeftButton) { if (!ctrl) { MusEGlobal::song->deselectTracks(); @@ -1327,11 +1473,13 @@ void TList::mousePressEvent(QMouseEvent* ev) break; case COL_TIMELOCK: + mode = START_DRAG; t->setLocked(!t->locked()); break; case COL_OCHANNEL: { + mode = START_DRAG; // or not? (flo) int delta = 0; if (button == Qt::RightButton) delta = 1; @@ -1397,6 +1545,9 @@ void TList::mousePressEvent(QMouseEvent* ev) } } break; + + default: + mode = START_DRAG; } redraw(); } diff --git a/muse2/muse/audio.cpp b/muse2/muse/audio.cpp index fd90c2c2..0b1574cc 100644 --- a/muse2/muse/audio.cpp +++ b/muse2/muse/audio.cpp @@ -25,8 +25,6 @@ #include #include -#include - #include "app.h" #include "song.h" #include "node.h" @@ -51,10 +49,18 @@ namespace MusEGlobal { MusECore::Audio* audio; MusECore::AudioDevice* audioDevice; // current audio device in use -extern unsigned int volatile midiExtSyncTicks; // p3.3.25 +extern unsigned int volatile midiExtSyncTicks; } namespace MusECore { + + +void initAudio() +{ + MusEGlobal::audio = new Audio(); +} + + extern double curTime(); //static const unsigned char mmcDeferredPlayMsg[] = { 0x7f, 0x7f, 0x06, 0x03 }; @@ -166,8 +172,11 @@ Audio::Audio() exit(-1); } sigFd = filedes[1]; - QSocketNotifier* ss = new QSocketNotifier(filedes[0], QSocketNotifier::Read); - MusEGlobal::song->connect(ss, SIGNAL(activated(int)), MusEGlobal::song, SLOT(seqSignal(int))); + sigFdr = filedes[0]; + + // Moved to MusE::MusE + //QSocketNotifier* ss = new QSocketNotifier(filedes[0], QSocketNotifier::Read); + //MusEGlobal::song->connect(ss, SIGNAL(activated(int)), MusEGlobal::song, SLOT(seqSignal(int))); } //--------------------------------------------------------- @@ -182,7 +191,9 @@ bool Audio::start() //process(MusEGlobal::segmentSize); // warm up caches state = STOP; _loopCount = 0; - MusEGlobal::muse->setHeartBeat(); + + MusEGlobal::muse->setHeartBeat(); + if (MusEGlobal::audioDevice) { //_running = true; //MusEGlobal::audioDevice->start(); @@ -221,9 +232,11 @@ bool Audio::start() // shall we really stop JACK transport and locate to // saved position? - MusEGlobal::audioDevice->stopTransport(); + MusEGlobal::audioDevice->stopTransport(); + //MusEGlobal::audioDevice->seekTransport(MusEGlobal::song->cPos().frame()); - MusEGlobal::audioDevice->seekTransport(MusEGlobal::song->cPos()); + MusEGlobal::audioDevice->seekTransport(MusEGlobal::song->cPos()); + return true; } @@ -531,6 +544,26 @@ void Audio::process1(unsigned samplePos, unsigned offset, unsigned frames) // Pre-process the metronome. ((AudioTrack*)metronome)->preProcessAlways(); + // Process Aux tracks first. + for(ciTrack it = tl->begin(); it != tl->end(); ++it) + { + if((*it)->isMidiTrack()) + continue; + track = (AudioTrack*)(*it); + if(!track->processed() && track->type() == Track::AUDIO_AUX) + { + //printf("Audio::process1 Do aux: track:%s\n", track->name().toLatin1().constData()); + channels = track->channels(); + // Just a dummy buffer. + float* buffer[channels]; + float data[frames * channels]; + for (int i = 0; i < channels; ++i) + buffer[i] = data + i * frames; + //printf("Audio::process1 calling track->copyData for track:%s\n", track->name().toLatin1()); + track->copyData(samplePos, channels, -1, -1, frames, buffer); + } + } + OutputList* ol = MusEGlobal::song->outputs(); for (ciAudioOutput i = ol->begin(); i != ol->end(); ++i) (*i)->process(samplePos, offset, frames); @@ -548,8 +581,11 @@ void Audio::process1(unsigned samplePos, unsigned offset, unsigned frames) track = (AudioTrack*)(*it); // Ignore unprocessed tracks which have an output route, because they will be processed by // whatever track(s) they are routed to. - if(!track->processed() && track->noOutRoute() && (track->type() != Track::AUDIO_OUTPUT)) + //if(!track->processed() && track->noOutRoute() && (track->type() != Track::AUDIO_OUTPUT)) + // No, do all. + if(!track->processed() && (track->type() != Track::AUDIO_OUTPUT)) { + //printf("Audio::process1 track:%s\n", track->name().toLatin1().constData()); channels = track->channels(); // Just a dummy buffer. float* buffer[channels]; diff --git a/muse2/muse/audio.h b/muse2/muse/audio.h index 8d89be78..3c4eb17d 100644 --- a/muse2/muse/audio.h +++ b/muse2/muse/audio.h @@ -166,7 +166,9 @@ class Audio { int fromThreadFdw, fromThreadFdr; // message pipe int sigFd; // pipe fd for messages to gui - + //QSocketNotifier* _socketNotifier; + int sigFdr; + // record values: Pos startRecordPos; Pos endRecordPos; @@ -189,8 +191,12 @@ class Audio { public: Audio(); - virtual ~Audio() {} + virtual ~Audio() { } + // Access to message pipe (like from gui namespace), otherwise audio would need to depend on gui. + int getFromThreadFdw() { return sigFd; } + int getFromThreadFdr() { return sigFdr; } + void process(unsigned frames); bool sync(int state, unsigned frame); void shutdown(); diff --git a/muse2/muse/audioprefetch.cpp b/muse2/muse/audioprefetch.cpp index 9406911f..1fcb7cef 100644 --- a/muse2/muse/audioprefetch.cpp +++ b/muse2/muse/audioprefetch.cpp @@ -39,7 +39,11 @@ MusECore::AudioPrefetch* audioPrefetch; namespace MusECore { -// Added by Tim. p3.3.20 +void initAudioPrefetch() +{ + MusEGlobal::audioPrefetch = new AudioPrefetch("Prefetch"); +} + //#define AUDIOPREFETCH_DEBUG enum { PREFETCH_TICK, PREFETCH_SEEK @@ -140,6 +144,7 @@ void AudioPrefetch::msgTick() { PrefetchMsg msg; msg.id = PREFETCH_TICK; + msg.pos = 0; // seems to be unused, was uninitalized. while (sendMsg1(&msg, sizeof(msg))) { printf("AudioPrefetch::msgTick(): send failed!\n"); } diff --git a/muse2/muse/audiotrack.cpp b/muse2/muse/audiotrack.cpp index b674e20c..aceacc75 100644 --- a/muse2/muse/audiotrack.cpp +++ b/muse2/muse/audiotrack.cpp @@ -107,7 +107,7 @@ AudioTrack::AudioTrack(TrackType t) _automationType = AUTO_OFF; //setChannels(1); setChannels(2); - addController(new CtrlList(AC_VOLUME,"Volume",0.0,3.16 /* roughly 10 db */, VAL_LOG)); + addController(new CtrlList(AC_VOLUME,"Volume",0.001,3.163 /* roughly 10 db */, VAL_LOG)); addController(new CtrlList(AC_PAN, "Pan", -1.0, 1.0, VAL_LINEAR)); addController(new CtrlList(AC_MUTE,"Mute",0.0,1.0, VAL_LINEAR, true /*dont show in arranger */)); @@ -1610,8 +1610,40 @@ void AudioAux::read(Xml& xml) // getData //--------------------------------------------------------- -bool AudioAux::getData(unsigned /*pos*/, int ch, unsigned /*samples*/, float** data) +bool AudioAux::getData(unsigned pos, int ch, unsigned samples, float** data) { + // Make sure all the aux-supporting tracks are processed first so aux data is gathered. p4.0.37 + TrackList* tl = MusEGlobal::song->tracks(); + AudioTrack* track; + for(ciTrack it = tl->begin(); it != tl->end(); ++it) + { + if((*it)->isMidiTrack()) + continue; + track = (AudioTrack*)(*it); + // If there are any Aux route paths to the track, defer processing until the second main track processing pass. + if(!track->processed() && track->hasAuxSend() && !track->auxRefCount()) + { + int chans = track->channels(); + // Just a dummy buffer. + float* buff[chans]; + float buff_data[samples * chans]; + for (int i = 0; i < chans; ++i) + buff[i] = buff_data + i * samples; + + //printf("AudioAux::getData name:%s\n calling copyData on:%s auxRefCount:%d\n", + // name().toLatin1().constData(), track->name().toLatin1().constData(), track->auxRefCount()); + + track->copyData(pos, chans, -1, -1, samples, buff); + + /* float* buff[ch]; + float buff_data[samples * ch]; + for (int i = 0; i < ch; ++i) + buff[i] = buff_data + i * samples; + //printf("Audio::process1 calling track->copyData for track:%s\n", track->name().toLatin1()); + track->copyData(pos, ch, -1, -1, samples, buff); */ + } + } + for (int i = 0; i < ch; ++i) data[i] = buffer[i % channels()]; return true; diff --git a/muse2/muse/cliplist/cliplist.cpp b/muse2/muse/cliplist/cliplist.cpp index 1055f449..60041dae 100644 --- a/muse2/muse/cliplist/cliplist.cpp +++ b/muse2/muse/cliplist/cliplist.cpp @@ -32,6 +32,7 @@ #include "wave.h" #include "xml.h" #include "ui_cliplisteditorbase.h" +#include "app.h" namespace MusEGui { @@ -168,6 +169,7 @@ ClipListEdit::ClipListEdit(QWidget* parent) connect(editor->len, SIGNAL(valueChanged(const MusECore::Pos&)), SLOT(lenChanged(const MusECore::Pos&))); updateList(); + MusEGlobal::muse->topwinMenuInited(this); } ClipListEdit::~ClipListEdit() diff --git a/muse2/muse/cobject.cpp b/muse2/muse/cobject.cpp index 80fc7eae..50586d45 100644 --- a/muse2/muse/cobject.cpp +++ b/muse2/muse/cobject.cpp @@ -50,7 +50,7 @@ bool TopWin::initInited=false; TopWin::TopWin(ToplevelType t, QWidget* parent, const char* name, Qt::WindowFlags f) : QMainWindow(parent, f) { - _isDeleting = false; + _isDeleting = false; if (initInited==false) initConfiguration(); @@ -78,7 +78,10 @@ TopWin::TopWin(ToplevelType t, QWidget* parent, const char* name, Qt::WindowFlag mdisubwin=NULL; _sharesToolsAndMenu=_defaultSubwin[_type] ? _sharesWhenSubwin[_type] : _sharesWhenFree[_type]; if (_defaultSubwin[_type]) + { setIsMdiWin(true); + _savedToolbarState=_toolbarNonsharedInit[_type]; + } if (_sharesToolsAndMenu) menuBar()->hide(); @@ -125,7 +128,11 @@ void TopWin::readStatus(MusECore::Xml& xml) if (!sharesToolsAndMenu()) { if (!restoreState(QByteArray::fromHex(xml.parse1().toAscii()))) - fprintf(stderr,"ERROR: couldn't restore toolbars. however, this is not really a problem.\n"); + { + fprintf(stderr,"ERROR: couldn't restore toolbars. trying default configuration...\n"); + if (!restoreState(_toolbarNonsharedInit[_type])) + fprintf(stderr,"ERROR: couldn't restore default toolbars. this is not really a problem.\n"); + } } else { @@ -565,4 +572,15 @@ void TopWin::resize(const QSize& s) resize(s.width(), s.height()); } +TopWin* ToplevelList::findType(TopWin::ToplevelType type) const +{ + for (ciToplevel i = begin(); i != end(); ++i) + { + if((*i)->type() == type) + return (*i); + } + return 0; +} + + } // namespace MusEGui diff --git a/muse2/muse/cobject.h b/muse2/muse/cobject.h index 309d8424..f6ea2ce1 100644 --- a/muse2/muse/cobject.h +++ b/muse2/muse/cobject.h @@ -141,9 +141,21 @@ class TopWin : public QMainWindow }; -typedef std::list ToplevelList; -typedef ToplevelList::iterator iToplevel; -typedef ToplevelList::const_iterator ciToplevel; +//--------------------------------------------------------- +// ToplevelList +//--------------------------------------------------------- + +//typedef std::list ToplevelList; +//typedef ToplevelList::iterator iToplevel; +//typedef ToplevelList::const_iterator ciToplevel; + +typedef std::list::iterator iToplevel; +typedef std::list::const_iterator ciToplevel; + +class ToplevelList : public std::list { + public: + TopWin* findType(TopWin::ToplevelType) const; + }; } // namespace MusEGui diff --git a/muse2/muse/conf.cpp b/muse2/muse/conf.cpp index c11adf7b..ea2b33f3 100644 --- a/muse2/muse/conf.cpp +++ b/muse2/muse/conf.cpp @@ -220,7 +220,7 @@ static void readPortChannel(Xml& xml, int midiPort) // readConfigMidiPort //--------------------------------------------------------- -static void readConfigMidiPort(Xml& xml) +static void readConfigMidiPort(Xml& xml, bool skipConfig) { int idx = 0; QString device; @@ -234,11 +234,9 @@ static void readConfigMidiPort(Xml& xml) // FIXME: TODO: Make this user-configurable! QString instrument("GM"); + int rwFlags = 3; int openFlags = 1; - bool thruFlag = false; - //int dic = 0; - //int doc = 0; - int dic = -1; // p4.0.17 + int dic = -1; int doc = -1; MidiSyncInfo tmpSi; @@ -251,6 +249,19 @@ static void readConfigMidiPort(Xml& xml) QString tag = xml.s1(); switch (token) { case Xml::TagStart: + + // skipConfig added so it doesn't overwrite midi ports. p4.0.41 Tim. + // Try to keep the controller information. But, this may need to be moved below. + // Also may want to try to keep sync info, but that's a bit risky, so let's not for now. + if (tag == "channel") { + readPortChannel(xml, idx); + break; + } + else if (skipConfig){ + xml.skip(tag); + break; + } + if (tag == "name") device = xml.parse1(); else if (tag == "type") @@ -262,6 +273,8 @@ static void readConfigMidiPort(Xml& xml) } else if (tag == "openFlags") openFlags = xml.parseInt(); + else if (tag == "rwFlags") // Jack midi devs need this. p4.0.41 + rwFlags = xml.parseInt(); else if (tag == "defaultInChans") dic = xml.parseInt(); else if (tag == "defaultOutChans") @@ -270,16 +283,15 @@ static void readConfigMidiPort(Xml& xml) tmpSi.read(xml); else if (tag == "instrument") { instrument = xml.parse1(); - // Moved by Tim. - //MusEGlobal::midiPorts[idx].setInstrument( + //MusEGlobal::midiPorts[idx].setInstrument( // Moved below // registerMidiInstrument(instrument) // ); } else if (tag == "midithru") - thruFlag = xml.parseInt(); // obsolete - else if (tag == "channel") { - readPortChannel(xml, idx); - } + xml.parseInt(); // obsolete + //else if (tag == "channel") { + // readPortChannel(xml, idx); // Moved above + // } else xml.unknown("MidiDevice"); break; @@ -290,6 +302,10 @@ static void readConfigMidiPort(Xml& xml) break; case Xml::TagEnd: if (tag == "midiport") { + + if(skipConfig) // p4.0.41 + return; + //if (idx > MIDI_PORTS) { if (idx < 0 || idx >= MIDI_PORTS) { fprintf(stderr, "bad midi port %d (>%d)\n", @@ -305,9 +321,8 @@ static void readConfigMidiPort(Xml& xml) if(!dev && type == MidiDevice::JACK_MIDI) { if(MusEGlobal::debugMsg) - fprintf(stderr, "readConfigMidiPort: creating jack midi device %s\n", device.toLatin1().constData()); - //dev = MidiJackDevice::createJackMidiDevice(device, openFlags); - dev = MidiJackDevice::createJackMidiDevice(device); // p3.3.55 + fprintf(stderr, "readConfigMidiPort: creating jack midi device %s with rwFlags:%d\n", device.toLatin1().constData(), rwFlags); + dev = MidiJackDevice::createJackMidiDevice(device, rwFlags); } if(MusEGlobal::debugMsg && !dev) @@ -315,7 +330,7 @@ static void readConfigMidiPort(Xml& xml) MidiPort* mp = &MusEGlobal::midiPorts[idx]; - mp->setInstrument(registerMidiInstrument(instrument)); // By Tim. + mp->setInstrument(registerMidiInstrument(instrument)); if(dic != -1) // p4.0.17 Leave them alone unless set by song. mp->setDefaultInChannels(dic); if(doc != -1) @@ -480,7 +495,7 @@ static void loadConfigMetronom(Xml& xml) // readSeqConfiguration //--------------------------------------------------------- -static void readSeqConfiguration(Xml& xml) +static void readSeqConfiguration(Xml& xml, bool skipConfig) { for (;;) { Xml::Token token = xml.parse(); @@ -492,7 +507,7 @@ static void readSeqConfiguration(Xml& xml) if (tag == "metronom") loadConfigMetronom(xml); else if (tag == "midiport") - readConfigMidiPort(xml); + readConfigMidiPort(xml, skipConfig); else if (tag == "rcStop") MusEGlobal::rcStopNote = xml.parseInt(); else if (tag == "rcEnable") @@ -542,7 +557,7 @@ void readConfiguration(Xml& xml, bool readOnlySequencer, bool doReadGlobalConfig midiport configuration and VOLUME. */ if (tag == "sequencer") { - readSeqConfiguration(xml); + readSeqConfiguration(xml, readOnlySequencer); break; } else if (readOnlySequencer) { @@ -580,8 +595,10 @@ void readConfiguration(Xml& xml, bool readOnlySequencer, bool doReadGlobalConfig MidiTrack::setVisible((bool)xml.parseInt()); else if (tag == "inputTracksVisible") AudioInput::setVisible((bool)xml.parseInt()); - else if (tag == "outputTracksVisible") + else if (tag == "outputTracksVisible") { + printf("output track set from config!\n"); AudioOutput::setVisible((bool)xml.parseInt()); + } else if (tag == "synthTracksVisible") SynthI::setVisible((bool)xml.parseInt()); else if (tag == "bigtimeVisible") @@ -624,7 +641,18 @@ void readConfiguration(Xml& xml, bool readOnlySequencer, bool doReadGlobalConfig MusEGlobal::config.geometryTransport = readGeometry(xml, tag); else if (tag == "geometryBigTime") MusEGlobal::config.geometryBigTime = readGeometry(xml, tag); - + else if (tag == "Mixer") { + if(mixers == 0) + MusEGlobal::config.mixer1.read(xml); + else + MusEGlobal::config.mixer2.read(xml); + ++mixers; + } + else if (tag == "geometryMain") + MusEGlobal::config.geometryMain = readGeometry(xml, tag); + + // don't insert else if(...) clauses between + // this line and "Global config stuff begins here". else if (!doReadGlobalConfig) { xml.skip(tag); break; @@ -636,9 +664,6 @@ void readConfiguration(Xml& xml, bool readOnlySequencer, bool doReadGlobalConfig // ---- Global config stuff begins here ---- - else if (tag == "geometryMain") - MusEGlobal::config.geometryMain = readGeometry(xml, tag); - else if (tag == "theme") MusEGlobal::config.style = xml.parse1(); else if (tag == "styleSheetFile") @@ -847,20 +872,6 @@ void readConfiguration(Xml& xml, bool readOnlySequencer, bool doReadGlobalConfig MusEGlobal::config.canvasBgPixmap = xml.parse1(); else if (tag == "canvasCustomBgList") MusEGlobal::config.canvasCustomBgList = xml.parse1().split(";", QString::SkipEmptyParts); - - //else if (tag == "mixer1") - // MusEGlobal::config.mixer1.read(xml); - //else if (tag == "mixer2") - // MusEGlobal::config.mixer2.read(xml); - else if (tag == "Mixer") - { - if(mixers == 0) - MusEGlobal::config.mixer1.read(xml); - else - MusEGlobal::config.mixer2.read(xml); - ++mixers; - } - else if (tag == "bigtimeForegroundcolor") MusEGlobal::config.bigTimeForegroundColor = readColor(xml); else if (tag == "bigtimeBackgroundcolor") @@ -932,8 +943,8 @@ void readConfiguration(Xml& xml, bool readOnlySequencer, bool doReadGlobalConfig MusEGlobal::config.minControlProcessPeriod = xml.parseUInt(); else if (tag == "guiRefresh") MusEGlobal::config.guiRefresh = xml.parseInt(); - else if (tag == "userInstrumentsDir") - MusEGlobal::config.userInstrumentsDir = xml.parse1(); + else if (tag == "userInstrumentsDir") // Obsolete + MusEGlobal::config.userInstrumentsDir = xml.parse1(); // Keep for compatibility else if (tag == "startMode") MusEGlobal::config.startMode = xml.parseInt(); else if (tag == "startSong") @@ -950,6 +961,10 @@ void readConfiguration(Xml& xml, bool readOnlySequencer, bool doReadGlobalConfig MusEGlobal::config.leftMouseButtonCanDecrease = xml.parseInt(); else if (tag == "rangeMarkerWithoutMMB") MusEGlobal::config.rangeMarkerWithoutMMB = xml.parseInt(); + else if (tag == "addHiddenTracks") + MusEGlobal::config.addHiddenTracks = xml.parseInt(); + else if (tag == "unhideTracks") + MusEGlobal::config.unhideTracks = xml.parseInt(); // ---- the following only skips obsolete entries ---- else if ((tag == "arranger") || (tag == "geometryPianoroll") || (tag == "geometryDrumedit")) @@ -1173,7 +1188,6 @@ static void writeSeqConfiguration(int level, Xml& xml, bool writePortInfo) if (dev) { xml.strTag(level, "name", dev->name()); - // p3.3.38 //if(dynamic_cast(dev)) if(dev->deviceType() != MidiDevice::ALSA_MIDI) //xml.intTag(level, "type", MidiDevice::JACK_MIDI); @@ -1183,6 +1197,9 @@ static void writeSeqConfiguration(int level, Xml& xml, bool writePortInfo) // openFlags was read before, but never written here. //xml.intTag(level, "record", dev->rwFlags() & 0x2 ? 1 : 0); xml.intTag(level, "openFlags", dev->openFlags()); + + if(dev->deviceType() == MidiDevice::JACK_MIDI) + xml.intTag(level, "rwFlags", dev->rwFlags()); // Need this. Jack midi devs are created by app. p4.0.41 } mport->syncInfo().write(level, xml); // write out registered controller for all channels @@ -1249,9 +1266,8 @@ void MusE::writeGlobalConfiguration(int level, MusECore::Xml& xml) const xml.intTag(level, "dummyAudioBufSize", MusEGlobal::config.dummyAudioBufSize); xml.intTag(level, "dummyAudioSampleRate", MusEGlobal::config.dummyAudioSampleRate); xml.uintTag(level, "minControlProcessPeriod", MusEGlobal::config.minControlProcessPeriod); - xml.intTag(level, "guiRefresh", MusEGlobal::config.guiRefresh); - xml.strTag(level, "userInstrumentsDir", MusEGlobal::config.userInstrumentsDir); + // Removed by Orcan. 20101220 //xml.strTag(level, "helpBrowser", config.helpBrowser); xml.intTag(level, "extendedMidi", MusEGlobal::config.extendedMidi); @@ -1287,6 +1303,17 @@ void MusE::writeGlobalConfiguration(int level, MusECore::Xml& xml) const xml.intTag(level, "leftMouseButtonCanDecrease", MusEGlobal::config.leftMouseButtonCanDecrease); xml.intTag(level, "rangeMarkerWithoutMMB", MusEGlobal::config.rangeMarkerWithoutMMB); + xml.intTag(level, "unhideTracks", MusEGlobal::config.unhideTracks); + xml.intTag(level, "addHiddenTracks", MusEGlobal::config.addHiddenTracks); + + xml.intTag(level, "waveTracksVisible", MusECore::WaveTrack::visible()); + xml.intTag(level, "auxTracksVisible", MusECore::AudioAux::visible()); + xml.intTag(level, "groupTracksVisible", MusECore::AudioGroup::visible()); + xml.intTag(level, "midiTracksVisible", MusECore::MidiTrack::visible()); + xml.intTag(level, "inputTracksVisible", MusECore::AudioInput::visible()); + xml.intTag(level, "outputTracksVisible", MusECore::AudioOutput::visible()); + xml.intTag(level, "synthTracksVisible", MusECore::SynthI::visible()); + //for (int i = 0; i < 6; ++i) { for (int i = 0; i < NUM_FONTS; ++i) { char buffer[32]; @@ -1339,7 +1366,6 @@ void MusE::writeGlobalConfiguration(int level, MusECore::Xml& xml) const xml.colorTag(level, "auxTrackBg", MusEGlobal::config.auxTrackBg); xml.colorTag(level, "synthTrackBg", MusEGlobal::config.synthTrackBg); - // Removed by Tim. p3.3.6 //xml.intTag(level, "txSyncPort", txSyncPort); //xml.intTag(level, "rxSyncPort", rxSyncPort); xml.intTag(level, "mtctype", MusEGlobal::mtcType); @@ -1366,11 +1392,8 @@ void MusE::writeGlobalConfiguration(int level, MusECore::Xml& xml) const xml.intTag(level, "bigtimeVisible", MusEGlobal::config.bigTimeVisible); xml.intTag(level, "transportVisible", MusEGlobal::config.transportVisible); - //xml.intTag(level, "mixerVisible", MusEGlobal::config.mixerVisible); // Obsolete xml.intTag(level, "mixer1Visible", MusEGlobal::config.mixer1Visible); xml.intTag(level, "mixer2Visible", MusEGlobal::config.mixer2Visible); - //MusEGlobal::config.mixer1.write(level, xml, "mixer1"); - //MusEGlobal::config.mixer2.write(level, xml, "mixer2"); MusEGlobal::config.mixer1.write(level, xml); MusEGlobal::config.mixer2.write(level, xml); @@ -1423,20 +1446,9 @@ void MusE::writeConfiguration(int level, MusECore::Xml& xml) const xml.intTag(level, "midiFilterCtrl3", MusEGlobal::midiFilterCtrl3); xml.intTag(level, "midiFilterCtrl4", MusEGlobal::midiFilterCtrl4); - xml.intTag(level, "waveTracksVisible", MusECore::WaveTrack::visible()); - xml.intTag(level, "auxTracksVisible", MusECore::AudioAux::visible()); - xml.intTag(level, "groupTracksVisible", MusECore::AudioGroup::visible()); - xml.intTag(level, "midiTracksVisible", MusECore::MidiTrack::visible()); - xml.intTag(level, "inputTracksVisible", MusECore::AudioInput::visible()); - xml.intTag(level, "outputTracksVisible", MusECore::AudioOutput::visible()); - xml.intTag(level, "synthTracksVisible", MusECore::SynthI::visible()); - // Removed by Tim. p3.3.6 - //xml.intTag(level, "txDeviceId", txDeviceId); //xml.intTag(level, "rxDeviceId", rxDeviceId); - // Changed by Tim. p3.3.6 - //xml.intTag(level, "txSyncPort", txSyncPort); /* // To keep old muse versions happy... @@ -1458,8 +1470,6 @@ void MusE::writeConfiguration(int level, MusECore::Xml& xml) const } */ - // Added by Tim. p3.3.6 - //xml.tag(level++, "midiSyncInfo"); //for(iMusECore::MidiDevice id = MusECore::MusEGlobal::midiDevices.begin(); id != MusECore::MusEGlobal::midiDevices.end(); ++id) //{ @@ -1487,8 +1497,6 @@ void MusE::writeConfiguration(int level, MusECore::Xml& xml) const xml.intTag(level, "bigtimeVisible", viewBigtimeAction->isChecked()); xml.intTag(level, "transportVisible", viewTransportAction->isChecked()); - //xml.intTag(level, "markerVisible", viewMarkerAction->isChecked()); // Obsolete (done by song's toplevel list) - //xml.intTag(level, "mixerVisible", menuView->isItemChecked(aid1)); // Obsolete xml.geometryTag(level, "geometryMain", this); // FINDME: maybe remove this? do we want // the main win to jump around when loading? @@ -1497,18 +1505,13 @@ void MusE::writeConfiguration(int level, MusECore::Xml& xml) const if (bigtime) xml.geometryTag(level, "geometryBigTime", bigtime); - //if (audioMixer) - // xml.geometryTag(level, "geometryMixer", audioMixer); // Obsolete xml.intTag(level, "mixer1Visible", viewMixerAAction->isChecked()); xml.intTag(level, "mixer2Visible", viewMixerBAction->isChecked()); if (mixer1) - //mixer1->write(level, xml, "mixer1"); mixer1->write(level, xml); if (mixer2) - //mixer2->write(level, xml, "mixer2"); mixer2->write(level, xml); - //_arranger->writeStatus(level, xml); // Obsolete. done by song's toplevel list. arrangerview also handles arranger. writeSeqConfiguration(level, xml, true); MusEGui::write_function_dialog_config(level, xml); @@ -1646,18 +1649,12 @@ namespace MusEGlobal { // write //--------------------------------------------------------- -//void MixerConfig::write(MusECore::Xml& xml, const char* name) void MixerConfig::write(int level, MusECore::Xml& xml) -//void MixerConfig::write(int level, MusECore::Xml& xml, const char* name) { - //xml.stag(QString(name)); - //xml.tag(level++, name.toLatin1().constData()); xml.tag(level++, "Mixer"); - //xml.tag(level++, name); - + xml.strTag(level, "name", name); - //xml.tag("geometry", geometry); xml.qrectTag(level, "geometry", geometry); xml.intTag(level, "showMidiTracks", showMidiTracks); @@ -1669,19 +1666,14 @@ void MixerConfig::write(int level, MusECore::Xml& xml) xml.intTag(level, "showAuxTracks", showAuxTracks); xml.intTag(level, "showSyntiTracks", showSyntiTracks); - //xml.etag(name); - //xml.etag(level, name.toLatin1().constData()); xml.etag(level, "Mixer"); - //xml.etag(level, name); } //--------------------------------------------------------- // read //--------------------------------------------------------- -//void MixerConfig::read(QDomNode node) void MixerConfig::read(MusECore::Xml& xml) -//void MixerConfig::read(MusECore::Xml& xml, const QString& name) { for (;;) { MusECore::Xml::Token token(xml.parse()); diff --git a/muse2/muse/confmport.cpp b/muse2/muse/confmport.cpp index 00914b36..d45dd370 100644 --- a/muse2/muse/confmport.cpp +++ b/muse2/muse/confmport.cpp @@ -183,22 +183,25 @@ void MPConfig::changeDefOutputRoutes(QAction* act) MusEGlobal::audio->msgUpdateSoloStates(); MusEGlobal::song->update(SC_ROUTE); #else - int ch = 0; - for( ; ch < MIDI_CHANNELS; ++ch) - if(defch & (1 << ch)) break; - - MusEGlobal::audio->msgIdle(true); - for(MusECore::iMidiTrack it = mtl->begin(); it != mtl->end(); ++it) - { - // Leave drum track channel at current setting. - if((*it)->type() == MusECore::Track::DRUM) - (*it)->setOutPortAndUpdate(no); - else - (*it)->setOutPortAndChannelAndUpdate(no, ch); - } - MusEGlobal::audio->msgIdle(false); - MusEGlobal::audio->msgUpdateSoloStates(); - MusEGlobal::song->update(SC_MIDI_TRACK_PROP); + for(int ch = 0; ch < MIDI_CHANNELS; ++ch) + if(defch & (1 << ch)) + { + MusEGlobal::audio->msgIdle(true); + for(MusECore::iMidiTrack it = mtl->begin(); it != mtl->end(); ++it) + { + // Leave drum track channel at current setting. + if((*it)->type() == MusECore::Track::DRUM) + (*it)->setOutPortAndUpdate(no); + else + (*it)->setOutPortAndChannelAndUpdate(no, ch); + } + MusEGlobal::audio->msgIdle(false); + MusEGlobal::audio->msgUpdateSoloStates(); + MusEGlobal::song->update(SC_MIDI_TRACK_PROP); + + // Stop at the first output channel found. + break; + } #endif } } @@ -902,8 +905,105 @@ void MPConfig::rbClicked(QTableWidgetItem* item) sdev = 0; } + int allch = (1 << MIDI_CHANNELS) - 1; + MusECore::MidiTrackList* mtl = MusEGlobal::song->midis(); + + // Remove track routes to/from an existing port already using the selected device... + if(sdev) + { + for(int i = 0; i < MIDI_PORTS; ++i) + { + if(MusEGlobal::midiPorts[i].device() == sdev) + { + for(MusECore::iMidiTrack it = mtl->begin(); it != mtl->end(); ++it) + MusEGlobal::audio->msgRemoveRoute(MusECore::Route(i, allch), MusECore::Route(*it, allch)); + + // Turn on if and when multiple output routes are supported. + #if 0 + for(MusECore::iMidiTrack it = mtl->begin(); it != mtl->end(); ++it) + MusEGlobal::audio->msgRemoveRoute(MusECore::Route(no, allch), MusECore::Route(*it, allch)); + + //MusEGlobal::audio->msgUpdateSoloStates(); + //MusEGlobal::song->update(SC_ROUTE); + #endif + + break; + } + } + } + + // Remove all track routes to/from this port... + for(MusECore::iMidiTrack it = mtl->begin(); it != mtl->end(); ++it) + // Remove all routes from this port to the tracks. + MusEGlobal::audio->msgRemoveRoute(MusECore::Route(no, allch), MusECore::Route(*it, allch)); + // Turn on if and when multiple output routes are supported. + #if 0 + for(MusECore::iMidiTrack it = mtl->begin(); it != mtl->end(); ++it) + MusEGlobal::audio->msgRemoveRoute(MusECore::Route(no, allch), MusECore::Route(*it, allch)); + + //MusEGlobal::audio->msgUpdateSoloStates(); + //MusEGlobal::song->update(SC_ROUTE); + #endif + MusEGlobal::midiSeq->msgSetMidiDevice(port, sdev); MusEGlobal::muse->changeConfig(true); // save configuration file + + // Add all track routes to/from this port... + if(sdev) + { + int chbits = MusEGlobal::midiPorts[no].defaultInChannels(); + // Do not add input routes to synths. + if(!sdev->isSynti()) + { + for(MusECore::iMidiTrack it = mtl->begin(); it != mtl->end(); ++it) + { + // Remove all routes from this port to the tracks first. + //MusEGlobal::audio->msgRemoveRoute(MusECore::Route(no, allch), MusECore::Route(*it, allch)); + // Now connect all the specified routes. + if(chbits) + MusEGlobal::audio->msgAddRoute(MusECore::Route(no, chbits), MusECore::Route(*it, chbits)); + } + } + chbits = MusEGlobal::midiPorts[no].defaultOutChannels(); + // Turn on if and when multiple output routes are supported. + #if 0 + for(MusECore::iMidiTrack it = mtl->begin(); it != mtl->end(); ++it) + { + // Remove all routes from this port to the tracks first. + //MusEGlobal::audio->msgRemoveRoute(MusECore::Route(no, allch), MusECore::Route(*it, allch)); + // Now connect all the specified routes. + if(chbits) + MusEGlobal::audio->msgAddRoute(MusECore::Route(no, chbits), MusECore::Route(*it, chbits)); + } + //MusEGlobal::audio->msgUpdateSoloStates(); + //MusEGlobal::song->update(SC_ROUTE); + #else + for(int ch = 0; ch < MIDI_CHANNELS; ++ch) + if(chbits & (1 << ch)) + { + MusEGlobal::audio->msgIdle(true); + for(MusECore::iMidiTrack it = mtl->begin(); it != mtl->end(); ++it) + { + // Leave drum track channel at current setting. + if((*it)->type() == MusECore::Track::DRUM) + (*it)->setOutPortAndUpdate(no); + else + (*it)->setOutPortAndChannelAndUpdate(no, ch); + } + MusEGlobal::audio->msgIdle(false); + //MusEGlobal::audio->msgUpdateSoloStates(); + //MusEGlobal::song->update(SC_MIDI_TRACK_PROP); + + // Stop at the first output channel found. + break; + } + #endif + } + + //MusEGlobal::audio->msgUpdateSoloStates(); + ////MusEGlobal::song->update(SC_ROUTE); + + MusEGlobal::audio->msgUpdateSoloStates(); MusEGlobal::song->update(); } } @@ -1061,7 +1161,8 @@ MPConfig::MPConfig(QWidget* parent) //popup = 0; instrPopup = 0; defpup = 0; - _showAliases = -1; // 0: Show first aliases, if available. Nah, stick with -1: none at first. + //_showAliases = -1; // 0: Show first aliases, if available. Nah, stick with -1: none at first. + _showAliases = 0; // 0: Show first aliases, if available. QStringList columnnames; columnnames << tr("Port") @@ -1125,8 +1226,7 @@ void MPConfig::songChanged(int flags) // Is it simply a midi controller value adjustment? Forget it. //if(flags == SC_MIDI_CONTROLLER) // return; - // No need for anything but this, yet. - if(!(flags & SC_CONFIG)) + if(!(flags & (SC_CONFIG | SC_TRACK_INSERTED | SC_TRACK_REMOVED | SC_TRACK_MODIFIED))) return; // Get currently selected index... @@ -1299,32 +1399,29 @@ void MPConfig::songChanged(int flags) synthList->clear(); for (std::vector::iterator i = MusEGlobal::synthis.begin(); i != MusEGlobal::synthis.end(); ++i) { - //s = (*i)->baseName(); - //s = (*i)->name(); - QTreeWidgetItem* item = new QTreeWidgetItem(synthList); - //item->setText(0, s); item->setText(0, QString((*i)->baseName())); + item->setText(1, MusECore::synthType2String((*i)->synthType())); s.setNum((*i)->instances()); - item->setText(1, s); - item->setTextAlignment(1, Qt::AlignHCenter); - //item->setText(2, QString((*i)->baseName())); - item->setText(2, QString((*i)->name())); + item->setText(2, s); + //item->setTextAlignment(2, Qt::AlignHCenter); + item->setText(3, QString((*i)->name())); - item->setText(3, QString((*i)->version())); - item->setText(4, QString((*i)->description())); + item->setText(4, QString((*i)->version())); + item->setText(5, QString((*i)->description())); } instanceList->clear(); MusECore::SynthIList* sl = MusEGlobal::song->syntis(); for (MusECore::iSynthI si = sl->begin(); si != sl->end(); ++si) { QTreeWidgetItem* iitem = new QTreeWidgetItem(instanceList); iitem->setText(0, (*si)->name()); + iitem->setText(1, MusECore::synthType2String((*si)->synth()->synthType())); if ((*si)->midiPort() == -1) s = tr(""); else s.setNum((*si)->midiPort() + 1); - iitem->setText(1, s); - iitem->setTextAlignment(1, Qt::AlignHCenter); + iitem->setText(2, s); + //iitem->setTextAlignment(2, Qt::AlignHCenter); } synthList->resizeColumnToContents(1); mdevView->resizeColumnsToContents(); @@ -1345,7 +1442,10 @@ void MPConfig::addInstanceClicked() QTreeWidgetItem* item = synthList->currentItem(); if (item == 0) return; - MusECore::SynthI *si = MusEGlobal::song->createSynthI(item->text(0), item->text(2)); // Add at end of list. + // Add at end of list. + MusECore::SynthI *si = MusEGlobal::song->createSynthI(item->text(0), + item->text(3), + MusECore::string2SynthType(item->text(1))); if(!si) return; @@ -1374,8 +1474,9 @@ void MPConfig::removeInstanceClicked() MusECore::SynthIList* sl = MusEGlobal::song->syntis(); MusECore::iSynthI ii; for (ii = sl->begin(); ii != sl->end(); ++ii) { - if ((*ii)->iname() == item->text(0)) - break; + if( (*ii)->iname() == item->text(0) && + MusECore::synthType2String((*ii)->synth()->synthType()) == item->text(1) ) + break; } if (ii == sl->end()) { printf("synthesizerConfig::removeInstanceClicked(): synthi not found\n"); diff --git a/muse2/muse/ctrl/ctrlcanvas.cpp b/muse2/muse/ctrl/ctrlcanvas.cpp index f55eea5d..60e19ba7 100644 --- a/muse2/muse/ctrl/ctrlcanvas.cpp +++ b/muse2/muse/ctrl/ctrlcanvas.cpp @@ -1928,7 +1928,7 @@ void CtrlCanvas::drawOverlay(QPainter& p) //p.setFont(MusEGlobal::config.fonts[3]); //p.setPen(Qt::black); //p.drawText(width()/2-100,height()/2-10, "Use shift + pencil or line tool to draw new events"); - p.drawText(2 , y * 2, "Use shift + pencil or line tool to draw new events"); + p.drawText(2 , y * 2, "Drawing hint: Hold Ctrl to affect only existing events"); } } diff --git a/muse2/muse/driver/alsamidi.cpp b/muse2/muse/driver/alsamidi.cpp index 3b6f5a20..4687f17f 100644 --- a/muse2/muse/driver/alsamidi.cpp +++ b/muse2/muse/driver/alsamidi.cpp @@ -48,6 +48,7 @@ static int alsaSeqFdo = -1; snd_seq_t* alsaSeq = 0; static snd_seq_addr_t musePort; +static snd_seq_addr_t announce_adr; //--------------------------------------------------------- // MidiAlsaDevice @@ -85,42 +86,55 @@ QString MidiAlsaDevice::open() QString estr; int wer = 0; int rer = 0; + + snd_seq_port_info_t *pinfo; + snd_seq_port_info_alloca(&pinfo); + //snd_seq_port_info_set_client(pinfo, snd_seq_client_info_get_client(cinfo)); + snd_seq_port_info_set_addr(pinfo, &adr); + + int cap = snd_seq_port_info_get_capability(pinfo); // subscribe for writing if (_openFlags & 1) { - snd_seq_port_subscribe_set_sender(subs, &musePort); - snd_seq_port_subscribe_set_dest(subs, &adr); - // Not already subscribed (or error)? Then try subscribing. - if(snd_seq_get_port_subscription(alsaSeq, subs) < 0) - { - //int error = snd_seq_subscribe_port(alsaSeq, subs); - wer = snd_seq_subscribe_port(alsaSeq, subs); - //if (error < 0) - if(wer < 0) - //return QString("Play: ")+QString(snd_strerror(error)); - estr += (QString("Play: ") + QString(snd_strerror(wer)) + QString(" ")); - } - if(!wer) + if(cap & SND_SEQ_PORT_CAP_SUBS_WRITE) + { + snd_seq_port_subscribe_set_sender(subs, &musePort); + snd_seq_port_subscribe_set_dest(subs, &adr); + // Not already subscribed (or error)? Then try subscribing. + if(snd_seq_get_port_subscription(alsaSeq, subs) < 0) + { + //int error = snd_seq_subscribe_port(alsaSeq, subs); + wer = snd_seq_subscribe_port(alsaSeq, subs); + //if (error < 0) + if(wer < 0) + //return QString("Play: ")+QString(snd_strerror(error)); + estr += (QString("Play: ") + QString(snd_strerror(wer)) + QString(" ")); + } + } + if(!wer && (cap & SND_SEQ_PORT_CAP_WRITE)) _writeEnable = true; } // subscribe for reading if (_openFlags & 2) { - snd_seq_port_subscribe_set_dest(subs, &musePort); - snd_seq_port_subscribe_set_sender(subs, &adr); - // Not already subscribed (or error)? Then try subscribing. - if(snd_seq_get_port_subscription(alsaSeq, subs) < 0) - { - //int error = snd_seq_subscribe_port(alsaSeq, subs); - rer = snd_seq_subscribe_port(alsaSeq, subs); - //if (error < 0) - if(rer < 0) - //return QString("Rec: ") + QString(snd_strerror(error)); - estr += (QString("Rec: ") + QString(snd_strerror(rer))); - } - if(!rer) + if(cap & SND_SEQ_PORT_CAP_SUBS_READ) + { + snd_seq_port_subscribe_set_dest(subs, &musePort); + snd_seq_port_subscribe_set_sender(subs, &adr); + // Not already subscribed (or error)? Then try subscribing. + if(snd_seq_get_port_subscription(alsaSeq, subs) < 0) + { + //int error = snd_seq_subscribe_port(alsaSeq, subs); + rer = snd_seq_subscribe_port(alsaSeq, subs); + //if (error < 0) + if(rer < 0) + //return QString("Rec: ") + QString(snd_strerror(error)); + estr += (QString("Rec: ") + QString(snd_strerror(rer))); + } + } + if(!rer && (cap & SND_SEQ_PORT_CAP_READ)) _readEnable = true; } @@ -141,6 +155,16 @@ void MidiAlsaDevice::close() // Allocated on stack, no need to call snd_seq_port_subscribe_free() later. snd_seq_port_subscribe_alloca(&subs); + int wer = 0; + int rer = 0; + + snd_seq_port_info_t *pinfo; + snd_seq_port_info_alloca(&pinfo); + //snd_seq_port_info_set_client(pinfo, snd_seq_client_info_get_client(cinfo)); + snd_seq_port_info_set_addr(pinfo, &adr); + + int cap = snd_seq_port_info_get_capability(pinfo); + // This function appears to be called only by MidiPort::setMidiDevice(), // which closes then opens the device. // Because the open flags are set BEFORE setMidiDevice() is called, we must ignore the flags. @@ -160,37 +184,49 @@ void MidiAlsaDevice::close() //if (_openFlags & 1) { //if (!(_openFlags & 1)) { - snd_seq_port_subscribe_set_sender(subs, &musePort); - snd_seq_port_subscribe_set_dest(subs, &adr); - - // Already subscribed? Then unsubscribe. - if(!snd_seq_get_port_subscription(alsaSeq, subs)) - { - if(!snd_seq_unsubscribe_port(alsaSeq, subs)) - _writeEnable = false; - else - printf("MidiAlsaDevice::close Error unsubscribing alsa midi port for writing\n"); + if(cap & SND_SEQ_PORT_CAP_SUBS_WRITE) + { + snd_seq_port_subscribe_set_sender(subs, &musePort); + snd_seq_port_subscribe_set_dest(subs, &adr); + + // Already subscribed? Then unsubscribe. + if(!snd_seq_get_port_subscription(alsaSeq, subs)) + { + wer = snd_seq_unsubscribe_port(alsaSeq, subs); + //if(!wer) + // _writeEnable = false; + //else + if(wer < 0) + printf("MidiAlsaDevice::close Error unsubscribing alsa midi port %d:%d for writing: %s\n", adr.client, adr.port, snd_strerror(wer)); + } + //else + //_writeEnable = false; } - else - _writeEnable = false; + _writeEnable = false; } //if (_openFlags & 2) { //if (!(_openFlags & 2)) { - snd_seq_port_subscribe_set_dest(subs, &musePort); - snd_seq_port_subscribe_set_sender(subs, &adr); - - // Already subscribed? Then unsubscribe. - if(!snd_seq_get_port_subscription(alsaSeq, subs)) - { - if(!snd_seq_unsubscribe_port(alsaSeq, subs)) - _readEnable = false; - else - printf("MidiAlsaDevice::close Error unsubscribing alsa midi port for reading\n"); - } - else - _readEnable = false; + if(cap & SND_SEQ_PORT_CAP_SUBS_READ) + { + snd_seq_port_subscribe_set_dest(subs, &musePort); + snd_seq_port_subscribe_set_sender(subs, &adr); + + // Already subscribed? Then unsubscribe. + if(!snd_seq_get_port_subscription(alsaSeq, subs)) + { + rer = snd_seq_unsubscribe_port(alsaSeq, subs); + //if(!rer) + // _readEnable = false; + //else + if(rer < 0) + printf("MidiAlsaDevice::close Error unsubscribing alsa midi port %d:%d for reading: %s\n", adr.client, adr.port, snd_strerror(rer)); + } + //else + // _readEnable = false; + } + _readEnable = false; } } @@ -698,6 +734,13 @@ bool initMidiAlsa() snd_seq_client_info_set_client(cinfo, -1); while (snd_seq_query_next_client(alsaSeq, cinfo) >= 0) { + const char* cname = snd_seq_client_info_get_name(cinfo); + //printf( "ALSA client name: %s\n", cname); + + // Put Midi Through and user clients after others. Insert other unwanted clients here: // p4.0.41 + if(snd_seq_client_info_get_type(cinfo) == SND_SEQ_USER_CLIENT || strcmp("Midi Through", cname) == 0) + continue; + snd_seq_port_info_t *pinfo; snd_seq_port_info_alloca(&pinfo); snd_seq_port_info_set_client(pinfo, snd_seq_client_info_get_client(cinfo)); @@ -705,6 +748,8 @@ bool initMidiAlsa() while (snd_seq_query_next_port(alsaSeq, pinfo) >= 0) { unsigned int capability = snd_seq_port_info_get_capability(pinfo); + if (capability & SND_SEQ_PORT_CAP_NO_EXPORT) // Ignore ports like "qjackctl" or "port". p4.0.41 + continue; if ((capability & outCap) == 0) { const char *name = snd_seq_port_info_get_name(pinfo); if (strcmp("Timer", name) == 0 || @@ -726,29 +771,52 @@ bool initMidiAlsa() adr.client, adr.port, flags, capability); MusEGlobal::midiDevices.add(dev); - - /* - // Experimental... Need to list 'sensible' devices first and ignore unwanted ones... - // Add instance last in midi device list. - for(int i = 0; i < MIDI_PORTS; ++i) - { - MidiPort* mp = &MusEGlobal::midiPorts[i]; - if(mp->device() == 0) - { - // midiSeq might not be initialzed yet! - //MusEGlobal::midiSeq->msgSetMidiDevice(mp, dev); - mp->setMidiDevice(dev); - - //muse->changeConfig(true); // save configuration file - //update(); - break; - } } - */ - + } + + snd_seq_client_info_set_client(cinfo, -1); // Reset + while (snd_seq_query_next_client(alsaSeq, cinfo) >= 0) { + const char* cname = snd_seq_client_info_get_name(cinfo); + //printf( "ALSA client name: %s\n", cname); + + // Put Midi Through and user clients after others. Insert other unwanted clients here: // p4.0.41 + if( !(snd_seq_client_info_get_type(cinfo) == SND_SEQ_USER_CLIENT || strcmp("Midi Through", cname) == 0) ) + continue; + + snd_seq_port_info_t *pinfo; + snd_seq_port_info_alloca(&pinfo); + snd_seq_port_info_set_client(pinfo, snd_seq_client_info_get_client(cinfo)); + snd_seq_port_info_set_port(pinfo, -1); + + while (snd_seq_query_next_port(alsaSeq, pinfo) >= 0) { + unsigned int capability = snd_seq_port_info_get_capability(pinfo); + if (capability & SND_SEQ_PORT_CAP_NO_EXPORT) // Ignore ports like "qjackctl" or "port". p4.0.41 + continue; + if ((capability & outCap) == 0) { + const char *name = snd_seq_port_info_get_name(pinfo); + if (strcmp("Timer", name) == 0 || + strcmp("Announce", name) == 0 || + strcmp("Receiver", name) == 0) + continue; + } + snd_seq_addr_t adr = *snd_seq_port_info_get_addr(pinfo); + MidiAlsaDevice* dev = new MidiAlsaDevice(adr, QString(snd_seq_port_info_get_name(pinfo))); + int flags = 0; + if (capability & outCap) + flags |= 1; + if (capability & inCap) + flags |= 2; + dev->setrwFlags(flags); + if (MusEGlobal::debugMsg) + printf("ALSA port add: <%s>, %d:%d flags %d 0x%0x\n", + snd_seq_port_info_get_name(pinfo), + adr.client, adr.port, + flags, capability); + MusEGlobal::midiDevices.add(dev); } } - + + //snd_seq_set_client_name(alsaSeq, "MusE Sequencer"); snd_seq_set_client_name(alsaSeq, MusEGlobal::audioDevice->clientName()); @@ -783,14 +851,14 @@ bool initMidiAlsa() // alsa port changes //----------------------------------------- - snd_seq_addr_t aadr; - aadr.client = SND_SEQ_CLIENT_SYSTEM; - aadr.port = SND_SEQ_PORT_SYSTEM_ANNOUNCE; + //snd_seq_addr_t aadr; + announce_adr.client = SND_SEQ_CLIENT_SYSTEM; + announce_adr.port = SND_SEQ_PORT_SYSTEM_ANNOUNCE; snd_seq_port_subscribe_t* subs; snd_seq_port_subscribe_alloca(&subs); snd_seq_port_subscribe_set_dest(subs, &musePort); - snd_seq_port_subscribe_set_sender(subs, &aadr); + snd_seq_port_subscribe_set_sender(subs, &announce_adr); error = snd_seq_subscribe_port(alsaSeq, subs); if (error < 0) { printf("Alsa: Subscribe System failed: %s", snd_strerror(error)); @@ -807,12 +875,35 @@ bool initMidiAlsa() void exitMidiAlsa() { if(alsaSeq) - { - int error = snd_seq_close(alsaSeq); // FIXME Hm, this did not get rid of a buch of valgrind leaks. - if(error < 0) + { + int error = 0; + snd_seq_port_subscribe_t* subs; + // Allocated on stack, no need to call snd_seq_port_subscribe_free() later. + snd_seq_port_subscribe_alloca(&subs); + + snd_seq_port_info_t *pinfo; + snd_seq_port_info_alloca(&pinfo); + //snd_seq_port_info_set_client(pinfo, snd_seq_client_info_get_client(cinfo)); + snd_seq_port_info_set_addr(pinfo, &announce_adr); + + snd_seq_port_subscribe_set_dest(subs, &musePort); + snd_seq_port_subscribe_set_sender(subs, &announce_adr); + + // Already subscribed? Then unsubscribe. + if(!snd_seq_get_port_subscription(alsaSeq, subs)) { - fprintf(stderr, "Could not close ALSA sequencer: %s\n", snd_strerror(error)); - } + error = snd_seq_unsubscribe_port(alsaSeq, subs); + if(error < 0) + printf("MusE: exitMidiAlsa: Error unsubscribing alsa midi Announce port %d:%d for reading: %s\n", announce_adr.client, announce_adr.port, snd_strerror(error)); + } + + error = snd_seq_delete_simple_port(alsaSeq, musePort.port); + if(error < 0) + fprintf(stderr, "MusE: Could not delete ALSA simple port: %s\n", snd_strerror(error)); + + error = snd_seq_close(alsaSeq); + if(error < 0) + fprintf(stderr, "MusE: Could not close ALSA sequencer: %s\n", snd_strerror(error)); } } @@ -852,7 +943,9 @@ void alsaScanMidiPorts() snd_seq_port_info_set_client(pinfo, snd_seq_client_info_get_client(cinfo)); snd_seq_port_info_set_port(pinfo, -1); while (snd_seq_query_next_port(alsaSeq, pinfo) >= 0) { - unsigned int capability = snd_seq_port_info_get_capability(pinfo); + unsigned int capability = snd_seq_port_info_get_capability(pinfo); + if (capability & SND_SEQ_PORT_CAP_NO_EXPORT) // Ignore ports like "qjackctl" or "port". p4.0.41 + continue; if (((capability & outCap) == 0) && ((capability & inCap) == 0)) continue; @@ -902,6 +995,8 @@ void alsaScanMidiPorts() // // check for devices to add // + // TODO: Possibly auto-add them to available midi ports. p4.0.41 + // for (std::list::iterator k = portList.begin(); k != portList.end(); ++k) { iMidiDevice i = MusEGlobal::midiDevices.begin(); // printf("ALSA port: <%s>\n", k->name); @@ -922,6 +1017,8 @@ void alsaScanMidiPorts() // printf("add device\n"); } } + + } //--------------------------------------------------------- diff --git a/muse2/muse/driver/jack.cpp b/muse2/muse/driver/jack.cpp index 733353d8..421152a7 100644 --- a/muse2/muse/driver/jack.cpp +++ b/muse2/muse/driver/jack.cpp @@ -735,7 +735,11 @@ void JackAudioDevice::connectJackMidiPorts() { RouteList* rl = md->outRoutes(); for (ciRoute r = rl->begin(); r != rl->end(); ++r) + { + if(r->type != Route::JACK_ROUTE) + continue; connect(port, r->jackPort); + } } } @@ -748,7 +752,11 @@ void JackAudioDevice::connectJackMidiPorts() { RouteList* rl = md->inRoutes(); for (ciRoute r = rl->begin(); r != rl->end(); ++r) + { + if(r->type != Route::JACK_ROUTE) + continue; connect(r->jackPort, port); + } } } } @@ -939,6 +947,8 @@ void JackAudioDevice::graphChanged() for (int i = 0;i < 20;i++) { erased = false; for (ciRoute irl = rl->begin(); irl != rl->end(); ++irl) { + if(irl->type != Route::JACK_ROUTE) + continue; if (irl->channel != channel) continue; QString name = irl->name(); @@ -977,6 +987,8 @@ void JackAudioDevice::graphChanged() while (*pn) { bool found = false; for (ciRoute irl = rl->begin(); irl != rl->end(); ++irl) { + if(irl->type != Route::JACK_ROUTE) + continue; if (irl->channel != channel) continue; QString name = irl->name(); @@ -1027,6 +1039,8 @@ void JackAudioDevice::graphChanged() for (int i = 0; i < 20 ; i++) { erased = false; for (ciRoute irl = rl->begin(); irl != rl->end(); ++irl) { + if(irl->type != Route::JACK_ROUTE) + continue; if (irl->channel != channel) continue; QString name = irl->name(); @@ -1064,6 +1078,8 @@ void JackAudioDevice::graphChanged() while (*pn) { bool found = false; for (ciRoute irl = rl->begin(); irl != rl->end(); ++irl) { + if(irl->type != Route::JACK_ROUTE) + continue; if (irl->channel != channel) continue; QString name = irl->name(); @@ -1139,6 +1155,8 @@ void JackAudioDevice::graphChanged() { erased = false; for (ciRoute irl = rl->begin(); irl != rl->end(); ++irl) { + if(irl->type != Route::JACK_ROUTE) + continue; //if (irl->channel != channel) // continue; QString name = irl->name(); @@ -1181,6 +1199,8 @@ void JackAudioDevice::graphChanged() while (*pn) { bool found = false; for (ciRoute irl = rl->begin(); irl != rl->end(); ++irl) { + if(irl->type != Route::JACK_ROUTE) + continue; //if (irl->channel != channel) // continue; QString name = irl->name(); @@ -1239,6 +1259,8 @@ void JackAudioDevice::graphChanged() { erased = false; for (ciRoute irl = rl->begin(); irl != rl->end(); ++irl) { + if(irl->type != Route::JACK_ROUTE) + continue; //if (irl->channel != channel) // continue; QString name = irl->name(); @@ -1280,6 +1302,8 @@ void JackAudioDevice::graphChanged() while (*pn) { bool found = false; for (ciRoute irl = rl->begin(); irl != rl->end(); ++irl) { + if(irl->type != Route::JACK_ROUTE) + continue; //if (irl->channel != channel) // continue; QString name = irl->name(); @@ -1482,6 +1506,8 @@ void JackAudioDevice::start(int /*priority*/) RouteList* rl = ai->inRoutes(); void* port = ai->jackPort(ch); for (ciRoute ir = rl->begin(); ir != rl->end(); ++ir) { + if(ir->type != Route::JACK_ROUTE) + continue; if (ir->channel == ch) connect(ir->jackPort, port); } @@ -1495,6 +1521,8 @@ void JackAudioDevice::start(int /*priority*/) RouteList* rl = ai->outRoutes(); void* port = ai->jackPort(ch); for (ciRoute r = rl->begin(); r != rl->end(); ++r) { + if(r->type != Route::JACK_ROUTE) + continue; if (r->channel == ch) { connect(port, r->jackPort); } @@ -1602,6 +1630,107 @@ int JackAudioDevice::frameDelay() const } #endif +//--------------------------------------------------------- +// getJackPorts +//--------------------------------------------------------- + +void JackAudioDevice::getJackPorts(const char** ports, std::list& name_list, bool midi, bool physical, int aliases) + { + if (JACK_DEBUG) + printf("JackAudioDevice::getJackPorts()\n"); + //std::list clientList; + //if(!checkJackClient(_client)) return clientList; + //if(!checkJackClient(_client)) return; + QString qname; + //const char* type = midi ? JACK_DEFAULT_MIDI_TYPE : JACK_DEFAULT_AUDIO_TYPE; + //const char** ports = jack_get_ports(_client, 0, type, JackPortIsInput); + //const char** ports = jack_get_ports(_client, 0, type, jflags); + + QString cname(jack_get_client_name(_client)); + + for (const char** p = ports; p && *p; ++p) { + jack_port_t* port = jack_port_by_name(_client, *p); + //int flags = jack_port_flags(port); + //if (!(flags & JackPortIsInput)) + // continue; + //char buffer[128]; + + int port_flags = jack_port_flags(port); + //printf("JackAudioDevice::getJackPorts port: %s flags: %d\n", *p, port_flags); + + // Ignore our own client ports. + if(jack_port_is_mine(_client, port)) + { + if(MusEGlobal::debugMsg) + printf("JackAudioDevice::getJackPorts ignoring own port: %s\n", *p); + continue; + } + + int nsz = jack_port_name_size(); + char buffer[nsz]; + + bool mthrough = false; + + if(midi) + { + strncpy(buffer, *p, nsz); + char a2[nsz]; + char* al[2]; + al[0] = buffer; + al[1] = a2; + int na = jack_port_get_aliases(port, al); + if(na >= 1) + { + qname = QString(al[0]); + //printf("Checking port name for: %s\n", (QString("alsa_pcm:") + cname + QString("/")).toLatin1().constData()); + // Ignore our own ALSA client! + if(qname.startsWith(QString("alsa_pcm:") + cname + QString("/"))) + continue; + // Put Midi Through after all others. + mthrough = qname.startsWith(QString("alsa_pcm:Midi-Through/")); + //if((physical && mthrough) || (!physical && !mthrough)) + //if(physical && mthrough) + // continue; + } + } + // Put physical/terminal ports before others. + bool is_phys = (port_flags & (JackPortIsTerminal | JackPortIsPhysical)) && !mthrough; + if((physical && !is_phys) || (!physical && is_phys)) + continue; + + + strncpy(buffer, *p, nsz); + if((aliases == 0) || (aliases == 1)) + { + char a2[nsz]; + char* al[2]; + al[0] = buffer; + al[1] = a2; + int na = jack_port_get_aliases(port, al); + int a = aliases; + if(a >= na) + { + a = na; + if(a > 0) + a--; + } + qname = QString(al[a]); + } + else + qname = QString(buffer); + + //clientList.push_back(QString(buffer)); + name_list.push_back(qname); + } + + // p3.3.37 + //if(ports) + //free(ports); + // jack_free(ports); // p4.0.29 + + //return clientList; + } + //--------------------------------------------------------- // outputPorts //--------------------------------------------------------- @@ -1612,9 +1741,11 @@ std::list JackAudioDevice::outputPorts(bool midi, int aliases) printf("JackAudioDevice::outputPorts()\n"); std::list clientList; if(!checkJackClient(_client)) return clientList; - QString qname; const char* type = midi ? JACK_DEFAULT_MIDI_TYPE : JACK_DEFAULT_AUDIO_TYPE; const char** ports = jack_get_ports(_client, 0, type, JackPortIsOutput); + + /* + QString qname; for (const char** p = ports; p && *p; ++p) { jack_port_t* port = jack_port_by_name(_client, *p); //int flags = jack_port_flags(port); @@ -1666,12 +1797,15 @@ std::list JackAudioDevice::outputPorts(bool midi, int aliases) //clientList.push_back(QString(buffer)); clientList.push_back(qname); } - - // p3.3.37 - if(ports) - //free(ports); - jack_free(ports); // p4.0.29 + */ + if(ports) + { + getJackPorts(ports, clientList, midi, true, aliases); // Get physical ports first. + getJackPorts(ports, clientList, midi, false, aliases); // Get non-physical ports last. + jack_free(ports); + } + return clientList; } @@ -1683,11 +1817,14 @@ std::list JackAudioDevice::inputPorts(bool midi, int aliases) { if (JACK_DEBUG) printf("JackAudioDevice::inputPorts()\n"); + std::list clientList; if(!checkJackClient(_client)) return clientList; - QString qname; const char* type = midi ? JACK_DEFAULT_MIDI_TYPE : JACK_DEFAULT_AUDIO_TYPE; const char** ports = jack_get_ports(_client, 0, type, JackPortIsInput); + + /* + QString qname; for (const char** p = ports; p && *p; ++p) { jack_port_t* port = jack_port_by_name(_client, *p); //int flags = jack_port_flags(port); @@ -1739,12 +1876,15 @@ std::list JackAudioDevice::inputPorts(bool midi, int aliases) //clientList.push_back(QString(buffer)); clientList.push_back(qname); } - - // p3.3.37 - if(ports) - //free(ports); - jack_free(ports); // p4.0.29 + */ + if(ports) + { + getJackPorts(ports, clientList, midi, true, aliases); // Get physical ports first. + getJackPorts(ports, clientList, midi, false, aliases); // Get non-physical ports last. + jack_free(ports); + } + return clientList; } diff --git a/muse2/muse/driver/jackaudio.h b/muse2/muse/driver/jackaudio.h index bd78d481..c4d37db9 100644 --- a/muse2/muse/driver/jackaudio.h +++ b/muse2/muse/driver/jackaudio.h @@ -50,6 +50,7 @@ class JackAudioDevice : public AudioDevice { // Free-running frame counter incremented always in process. jack_nframes_t _frameCounter; + void getJackPorts(const char** ports, std::list& name_list, bool midi, bool physical, int aliases); static int processAudio(jack_nframes_t frames, void*); public: diff --git a/muse2/muse/dssihost.cpp b/muse2/muse/dssihost.cpp index 92120dbb..2e4e6d35 100644 --- a/muse2/muse/dssihost.cpp +++ b/muse2/muse/dssihost.cpp @@ -99,6 +99,7 @@ static void scanDSSILib(QFileInfo& fi) // ddskrjo removed const for argument // That way we cover all bases - effect plugins and synths. // Non-synths will show up in the ladspa effect dialog, while synths will show up here... // There should be nothing left out... + // TIP: Until we add programs to plugins, comment these four checks to load dssi effects as synths, in order to have programs. if(descr->run_synth || descr->run_synth_adding || descr->run_multiple_synths || @@ -498,6 +499,9 @@ bool DssiSynthIF::init(DssiSynth* s) int inports = synth->_inports; if(inports != 0) { + posix_memalign((void**)&audioInSilenceBuf, 16, sizeof(float) * MusEGlobal::segmentSize); + memset(audioInSilenceBuf, 0, sizeof(float) * MusEGlobal::segmentSize); + audioInBuffers = new float*[inports]; for(int k = 0; k < inports; ++k) { @@ -723,6 +727,7 @@ DssiSynthIF::DssiSynthIF(SynthI* s) controls = 0; controlsOut = 0; audioInBuffers = 0; + audioInSilenceBuf = 0; audioOutBuffers = 0; } @@ -785,6 +790,9 @@ DssiSynthIF::~DssiSynthIF() delete[] audioInBuffers; } + if(audioInSilenceBuf) + free(audioInSilenceBuf); + if(audioOutBuffers) { for(unsigned long i = 0; i < synth->_outports; ++i) @@ -1420,7 +1428,7 @@ bool DssiSynthIF::processEvent(const MusECore::MidiPlayEvent& e, snd_seq_event_t // getData //--------------------------------------------------------- -MusECore::iMPEvent DssiSynthIF::getData(MusECore::MidiPort* /*mp*/, MusECore::MPEventList* el, MusECore::iMPEvent i, unsigned pos, int ports, unsigned n, float** buffer) +MusECore::iMPEvent DssiSynthIF::getData(MusECore::MidiPort* /*mp*/, MusECore::MPEventList* el, MusECore::iMPEvent start_event, unsigned pos, int ports, unsigned nframes, float** buffer) { //#ifdef DSSI_DEBUG // fprintf(stderr, "DssiSynthIF::getData elsize:%d pos:%d ports:%d samples:%d processed already?:%d\n", el->size(), pos, ports, n, synti->processed()); @@ -1440,19 +1448,11 @@ MusECore::iMPEvent DssiSynthIF::getData(MusECore::MidiPort* /*mp*/, MusECore::MP // All ports must be connected to something! unsigned long nop, k; - // First, copy the given input buffers to our local input buffers. - //np = portsin > synth->_inports ? synth->_inports : portsin; - //for(k = 0; k < np; ++k) - // memcpy(audioInBuffers[k], inbuffer[k], sizeof(float) * n); - //for(; k < portsin; ++k) - // memset(audioInBuffers[k], 0, sizeof(float) * n); // Watch our limits. //willyfoobar-2011-02-13 //old code//np = ports > synth->_outports ? synth->_outports : ports; nop = ((unsigned long) ports) > synth->_outports ? synth->_outports : ((unsigned long) ports); - // TODO Number of inports requested? - //nip = ((unsigned long) iports) > synth->_inports ? synth->_inports : ((unsigned long) iports); const DSSI_Descriptor* dssi = synth->dssi; const LADSPA_Descriptor* descr = dssi->LADSPA_Plugin; @@ -1484,18 +1484,109 @@ MusECore::iMPEvent DssiSynthIF::getData(MusECore::MidiPort* /*mp*/, MusECore::MP // Note for dssi-vst this MUST equal MusEGlobal::audio period. It doesn't like broken-up runs (it stutters), // even with fixed sizes. Could be a Wine + Jack thing, wanting a full Jack buffer's length. //unsigned long fixedsize = 2048; - unsigned long fixedsize = n; + unsigned long fixedsize = nframes; // For now, the fixed size is clamped to the MusEGlobal::audio buffer size. // TODO: We could later add slower processing over several cycles - // so that users can select a small MusEGlobal::audio period but a larger control period. - if(fixedsize > n) - fixedsize = n; + if(fixedsize > nframes) + fixedsize = nframes; unsigned long min_per = MusEGlobal::config.minControlProcessPeriod; - if(min_per > n) - min_per = n; + if(min_per > nframes) + min_per = nframes; + + // + // p4.0.38 Handle inputs... + // + if(!((MusECore::AudioTrack*)synti)->noInRoute()) + { + RouteList* irl = ((MusECore::AudioTrack*)synti)->inRoutes(); + iRoute i = irl->begin(); + if(i->track->isMidiTrack()) + { + //if(MusEGlobal::debugMsg) + //printf("DssiSynthIF::getData: Error: First route is a midi track route!\n"); + } + else + { + int ch = i->channel == -1 ? 0 : i->channel; + int remch = i->remoteChannel == -1 ? 0 : i->remoteChannel; + int chs = i->channels == -1 ? 0 : i->channels; + + if((unsigned)ch < synth->_inports && (unsigned)(ch + chs) <= synth->_inports) + { + //printf("DssiSynthIF::getData calling copyData on %s ch:%d remch:%d chs:%d\n", i->track->name().toLatin1().constData(), ch, remch, chs); + + int h = remch + chs; + for(int j = remch; j < h; ++j) + { + //printf(" setting used idx:%d\n", j); + synth->iUsedIdx[j] = true; + } + + ((MusECore::AudioTrack*)i->track)->copyData(pos, chs, ch, -1, nframes, &audioInBuffers[remch]); + } + } + + ++i; + for(; i != irl->end(); ++i) + { + if(i->track->isMidiTrack()) + { + //if(MusEGlobal::debugMsg) + // printf("DssiSynthIF::getData: Error: Route is a midi track route!\n"); + continue; + } + + int ch = i->channel == -1 ? 0 : i->channel; + int remch = i->remoteChannel == -1 ? 0 : i->remoteChannel; + int chs = i->channels == -1 ? 0 : i->channels; + if((unsigned)ch < synth->_inports && (unsigned)(ch + chs) <= synth->_inports) + { + //printf("DssiSynthIF::getData calling addData on %s ch:%d remch:%d chs:%d\n", i->track->name().toLatin1().constData(), ch, remch, chs); + + bool u1 = synth->iUsedIdx[remch]; + if(chs >= 2) + { + bool u2 = synth->iUsedIdx[remch + 1]; + if(u1 && u2) + ((MusECore::AudioTrack*)i->track)->addData(pos, chs, ch, -1, nframes, &audioInBuffers[remch]); + else + if(!u1 && !u2) + ((MusECore::AudioTrack*)i->track)->copyData(pos, chs, ch, -1, nframes, &audioInBuffers[remch]); + else + { + if(u1) + ((MusECore::AudioTrack*)i->track)->addData(pos, 1, ch, 1, nframes, &audioInBuffers[remch]); + else + ((MusECore::AudioTrack*)i->track)->copyData(pos, 1, ch, 1, nframes, &audioInBuffers[remch]); + + if(u2) + ((MusECore::AudioTrack*)i->track)->addData(pos, 1, ch + 1, 1, nframes, &audioInBuffers[remch + 1]); + else + ((MusECore::AudioTrack*)i->track)->copyData(pos, 1, ch + 1, 1, nframes, &audioInBuffers[remch + 1]); + } + } + else + { + if(u1) + ((MusECore::AudioTrack*)i->track)->addData(pos, 1, ch, -1, nframes, &audioInBuffers[remch]); + else + ((MusECore::AudioTrack*)i->track)->copyData(pos, 1, ch, -1, nframes, &audioInBuffers[remch]); + } + + int h = remch + chs; + for(int j = remch; j < h; ++j) + { + //printf(" setting used idx:%d\n", j); + synth->iUsedIdx[j] = true; + } + } + } + } + // Process automation control values now. // TODO: This needs to be respect frame resolution. Put this inside the sample loop below. if(MusEGlobal::automation && synti && synti->automationType() != AUTO_OFF && id() != -1) @@ -1507,11 +1598,11 @@ MusECore::iMPEvent DssiSynthIF::getData(MusECore::MidiPort* /*mp*/, MusECore::MP } } - while(sample < n) + while(sample < nframes) { //unsigned long nsamp = n; //unsigned long nsamp = n - sample; - unsigned long nsamp = usefixedrate ? fixedsize : n - sample; + unsigned long nsamp = usefixedrate ? fixedsize : nframes - sample; bool found = false; unsigned long frame = 0; unsigned long index = 0; @@ -1525,7 +1616,7 @@ MusECore::iMPEvent DssiSynthIF::getData(MusECore::MidiPort* /*mp*/, MusECore::MP // The events happened in the last period or even before that. Shift into this period with + n. This will sync with MusEGlobal::audio. // If the events happened even before current frame - n, make sure they are counted immediately as zero-frame. //evframe = (pos + frameOffset > v.frame + n) ? 0 : v.frame - pos - frameOffset + n; - evframe = (syncFrame > v.frame + n) ? 0 : v.frame - syncFrame + n; + evframe = (syncFrame > v.frame + nframes) ? 0 : v.frame - syncFrame + nframes; // Protection. Observed this condition. Why? Supposed to be linear timestamps. if(found && evframe < frame) { @@ -1545,7 +1636,7 @@ MusECore::iMPEvent DssiSynthIF::getData(MusECore::MidiPort* /*mp*/, MusECore::MP //if(v.frame < startPos || v.frame >= (endPos + frameOffset) //if(evframe < sample || evframe >= n //if(evframe < sample || evframe >= (n + frameOffset) - if(evframe >= n + if(evframe >= nframes //|| (found && v.frame != frame) //|| (!usefixedrate && found && !v.unique && v.frame != frame) //|| (found && !v.unique && evframe != frame) @@ -1567,6 +1658,31 @@ MusECore::iMPEvent DssiSynthIF::getData(MusECore::MidiPort* /*mp*/, MusECore::MP index = v.idx; // Set the ladspa control port value. controls[v.idx].val = v.value; + + // Need to update the automation value, otherwise it overwrites later with the last MusEGlobal::automation value. + if(id() != -1) + { + // Since we are now in the audio thread context, there's no need to send a message, + // just modify directly. + //MusEGlobal::audio->msgSetPluginCtrlVal(_track, genACnum(_id, k), controls[k].val); + synti->setPluginCtrlVal(genACnum(id(), v.idx), v.value); + + // Record automation. + // NO! Take care of this immediately in the OSC control handler, because we don't want + // any delay. + // OTOH Since this is the actual place and time where the control ports values + // are set, best to reflect what happens here to automation. + // However for dssi-vst it might be best to handle it that way. + + //AutomationType at = _track->automationType(); + // TODO: Taken from our native gui control handlers. + // This may need modification or may cause problems - + // we don't have the luxury of access to the dssi gui controls ! + //if(at == AUTO_WRITE || (MusEGlobal::audio->isPlaying() && at == AUTO_TOUCH)) + // enableController(k, false); + //_track->recordAutomation(id, v.value); + } + } // Process automation control values now. @@ -1583,8 +1699,8 @@ MusECore::iMPEvent DssiSynthIF::getData(MusECore::MidiPort* /*mp*/, MusECore::MP if(found && !usefixedrate) //nsamp = frame - sample + 1; nsamp = frame - sample; - if(sample + nsamp >= n) // Safety check. - nsamp = n - sample; + if(sample + nsamp >= nframes) // Safety check. + nsamp = nframes - sample; //printf("DssiSynthIF::getData n:%d frame:%lu sample:%lu nsamp:%lu pos:%d fOffset:%d syncFrame:%lu loopcount:%d\n", // n, frame, sample, nsamp, pos, frameOffset, syncFrame, loopcount); // REMOVE Tim. @@ -1596,10 +1712,10 @@ MusECore::iMPEvent DssiSynthIF::getData(MusECore::MidiPort* /*mp*/, MusECore::MP nevents = 0; // Process event list events... - for(; i != el->end(); ++i) + for(; start_event != el->end(); ++start_event) { //if(i->time() >= (endPos + frameOffset)) // NOTE: frameOffset? Tested, examined printouts of times: Seems OK for playback. - if(i->time() >= (pos + sample + nsamp + frameOffset)) // frameOffset? Test again... + if(start_event->time() >= (pos + sample + nsamp + frameOffset)) // frameOffset? Test again... break; #ifdef DSSI_DEBUG @@ -1611,40 +1727,40 @@ MusECore::iMPEvent DssiSynthIF::getData(MusECore::MidiPort* /*mp*/, MusECore::MP if(synti->midiPort() != -1) { MusECore::MidiPort* mp = &MusEGlobal::midiPorts[synti->midiPort()]; - if(i->type() == MusECore::ME_CONTROLLER) + if(start_event->type() == MusECore::ME_CONTROLLER) { - int da = i->dataA(); - int db = i->dataB(); + int da = start_event->dataA(); + int db = start_event->dataB(); db = mp->limitValToInstrCtlRange(da, db); - if(!mp->setHwCtrlState(i->channel(), da, db)) + if(!mp->setHwCtrlState(start_event->channel(), da, db)) continue; } else - if(i->type() == MusECore::ME_PITCHBEND) + if(start_event->type() == MusECore::ME_PITCHBEND) { - int da = mp->limitValToInstrCtlRange(MusECore::CTRL_PITCH, i->dataA()); - if(!mp->setHwCtrlState(i->channel(), MusECore::CTRL_PITCH, da)) + int da = mp->limitValToInstrCtlRange(MusECore::CTRL_PITCH, start_event->dataA()); + if(!mp->setHwCtrlState(start_event->channel(), MusECore::CTRL_PITCH, da)) continue; } else - if(i->type() == MusECore::ME_PROGRAM) + if(start_event->type() == MusECore::ME_PROGRAM) { - if(!mp->setHwCtrlState(i->channel(), MusECore::CTRL_PROGRAM, i->dataA())) + if(!mp->setHwCtrlState(start_event->channel(), MusECore::CTRL_PROGRAM, start_event->dataA())) continue; } } // Returns false if the event was not filled. It was handled, but some other way. - if(processEvent(*i, &events[nevents])) + if(processEvent(*start_event, &events[nevents])) { // Time-stamp the event. p4.0.15 Tim. - int ft = i->time() - frameOffset - pos; + int ft = start_event->time() - frameOffset - pos; if(ft < 0) ft = 0; //if (ft >= (int)MusEGlobal::segmentSize) if (ft >= int(sample + nsamp)) { - printf("DssiSynthIF::getData: eventlist event time:%d out of range. pos:%d offset:%d ft:%d sample:%lu nsamp:%lu\n", i->time(), pos, frameOffset, ft, sample, nsamp); + printf("DssiSynthIF::getData: eventlist event time:%d out of range. pos:%d offset:%d ft:%d sample:%lu nsamp:%lu\n", start_event->time(), pos, frameOffset, ft, sample, nsamp); ///if (ft > (int)MusEGlobal::segmentSize) //ft = MusEGlobal::segmentSize - 1; ft = sample + nsamp - 1; @@ -1696,61 +1812,6 @@ MusECore::iMPEvent DssiSynthIF::getData(MusECore::MidiPort* /*mp*/, MusECore::MP } } - /* - // - // p3.3.39 Handle inputs... - // - //if((MusEGlobal::song->bounceTrack != this) && !noInRoute()) - if(!((MusECore::AudioTrack*)synti)->noInRoute()) - { - RouteList* irl = ((MusECore::AudioTrack*)synti)->inRoutes(); - iRoute i = irl->begin(); - if(!i->track->isMidiTrack()) - { - //if(MusEGlobal::debugMsg) - printf("DssiSynthIF::getData: Error: First route is a midi track route!\n"); - } - else - { - int ch = i->channel == -1 ? 0 : i->channel; - int remch = i->remoteChannel == -1 ? 0 : i->remoteChannel; - int chs = i->channels == -1 ? 0 : i->channels; - - // TODO: - //if(ch >= synth->_inports) - //iUsedIdx[ch] = true; - //if(chs == 2) - // iUsedIdx[ch + 1] = true; - - //((MusECore::AudioTrack*)i->track)->copyData(framePos, channels, nframe, bp); - ((MusECore::AudioTrack*)i->track)->copyData(pos, ports, - //(i->track->type() == Track::AUDIO_SOFTSYNTH && i->channel != -1) ? i->channel : 0, - i->channel, - i->channels, - n, bp); - } - - //unsigned pos, int ports, unsigned n, float** buffer - - ++i; - for(; i != irl->end(); ++i) - { - if(i->track->isMidiTrack()) - { - //if(MusEGlobal::debugMsg) - printf("DssiSynthIF::getData: Error: Route is a midi track route!\n"); - continue; - } - //((MusECore::AudioTrack*)i->track)->addData(framePos, channels, nframe, bp); - ((MusECore::AudioTrack*)i->track)->addData(framePos, channels, - //(i->track->type() == Track::AUDIO_SOFTSYNTH && i->channel != -1) ? i->channel : 0, - i->channel, - i->channels, - nframe, bp); - } - } - */ - k = 0; // Connect the given buffers directly to the ports, up to a max of synth ports. for(; k < nop; ++k) @@ -1758,9 +1819,21 @@ MusECore::iMPEvent DssiSynthIF::getData(MusECore::MidiPort* /*mp*/, MusECore::MP // Connect the remaining ports to some local buffers (not used yet). for(; k < synth->_outports; ++k) descr->connect_port(handle, synth->oIdx[k], audioOutBuffers[k] + sample); - // Just connect all inputs to some local buffers (not used yet). TODO: Support inputs. + // Connect all inputs either to some local buffers, or a silence buffer. for(k = 0; k < synth->_inports; ++k) - descr->connect_port(handle, synth->iIdx[k], audioInBuffers[k] + sample); + { + //printf(" k:%d synth->iIdx[k]:%d\n", k, synth->iIdx[k]); + if(synth->iUsedIdx[k]) + { + synth->iUsedIdx[k] = false; // Reset + descr->connect_port(handle, synth->iIdx[k], audioInBuffers[k] + sample); + } + else + { + //printf(" input used size:%ld idx:%ld = %d silencing...\n", synth->iUsedIdx.size(), k, synth->iUsedIdx[k]); + descr->connect_port(handle, synth->iIdx[k], audioInSilenceBuf + sample); + } + } // Run the synth for a period of time. This processes events and gets/fills our local buffers... if(synth->dssi->run_synth) @@ -1772,10 +1845,10 @@ MusECore::iMPEvent DssiSynthIF::getData(MusECore::MidiPort* /*mp*/, MusECore::MP snd_seq_event_t* ev = events; synth->dssi->run_multiple_synths(1, &handle, nsamp, &ev, &nevents); } + // TIP: Until we add programs to plugins, uncomment these four checks to load dssi effects as synths, in order to have programs. //else //if(synth->dssi->LADSPA_Plugin->run) //{ - // // Just a test, worked OK. // synth->dssi->LADSPA_Plugin->run(handle, nsamp); //} @@ -1783,14 +1856,13 @@ MusECore::iMPEvent DssiSynthIF::getData(MusECore::MidiPort* /*mp*/, MusECore::MP loopcount++; // REMOVE Tim. } - return i; + return start_event; } //--------------------------------------------------------- // putEvent //--------------------------------------------------------- -//bool DssiSynthIF::putEvent(const MidiEvent& ev) bool DssiSynthIF::putEvent(const MusECore::MidiPlayEvent& ev) { #ifdef DSSI_DEBUG @@ -2033,16 +2105,37 @@ int DssiSynthIF::oscControl(unsigned long port, float value) fprintf(stderr, "DssiSynthIF::oscControl: fifo overflow: in control number:%lu\n", cport); } - MusECore::ciMidiCtl2LadspaPort ip = synth->port2MidiCtlMap.find(cport); - if(ip != synth->port2MidiCtlMap.end()) + // Record automation: + // Take care of this immediately, because we don't want the silly delay associated with + // processing the fifo one-at-a-time in the apply(). + // NOTE: With some vsts we don't receive control events until the user RELEASES a control. + // So the events all arrive at once when the user releases a control. + // That makes this pretty useless... But what the heck... + if(id() != -1) { + //int id = genACnum(_id, cport); + unsigned long pid = genACnum(id(), cport); + AutomationType at = synti->automationType(); + + // TODO: Taken from our native gui control handlers. + // This may need modification or may cause problems - + // we don't have the luxury of access to the dssi gui controls ! + if(at == AUTO_WRITE || (MusEGlobal::audio->isPlaying() && at == AUTO_TOUCH)) + enableController(cport, false); + + synti->recordAutomation(pid, value); + } + + //MusECore::ciMidiCtl2LadspaPort ip = synth->port2MidiCtlMap.find(cport); + //if(ip != synth->port2MidiCtlMap.end()) + //{ // TODO: TODO: Update midi MusE's midi controller knobs, sliders, boxes etc with a call to the midi port's setHwCtrlState() etc. // But first we need a ladspa2MidiValue() function! ... // // //float val = ladspa2MidiValue(ld, i, ?, ?); - } + //} return 0; } @@ -2064,8 +2157,8 @@ int DssiSynthIF::oscMidi(int a, int b, int c) { MusECore::MidiPlayEvent event(0, port, channel, a, b, c); - #ifdef DSSI_DEBUG - printf(stderr, "DssiSynthIF::oscMidi midi event chn:%d a:%d b:%d\n", event.channel(), event.dataA(), event.dataB()); + #ifdef DSSI_DEBUG + printf("DssiSynthIF::oscMidi midi event chn:%d a:%d b:%d\n", event.channel(), event.dataA(), event.dataB()); #endif MusEGlobal::midiPorts[port].sendEvent(event); @@ -2329,7 +2422,8 @@ QString DssiSynthIF::name() const { return synti->nam QString DssiSynthIF::lib() const { return synth ? synth->completeBaseName() : QString(); } QString DssiSynthIF::dirPath() const { return synth ? synth->absolutePath() : QString(); } QString DssiSynthIF::fileName() const { return synth ? synth->fileName() : QString(); } -MusECore::AudioTrack* DssiSynthIF::track() { return (MusECore::AudioTrack*)synti; } +QString DssiSynthIF::titlePrefix() const { return QString(); } +MusECore::AudioTrack* DssiSynthIF::track() { return (MusECore::AudioTrack*)synti; } void DssiSynthIF::enableController(unsigned long i, bool v) { controls[i].enCtrl = v; } bool DssiSynthIF::controllerEnabled(unsigned long i) const { return controls[i].enCtrl; } bool DssiSynthIF::controllerEnabled2(unsigned long i) const { return controls[i].en2Ctrl; } diff --git a/muse2/muse/dssihost.h b/muse2/muse/dssihost.h index 9b00b642..2836d72e 100644 --- a/muse2/muse/dssihost.h +++ b/muse2/muse/dssihost.h @@ -76,7 +76,8 @@ class DssiSynth : public Synth { unsigned long _portCount, _inports, _outports, _controlInPorts, _controlOutPorts; std::vector iIdx; // Audio input index to port number. std::vector oIdx; // Audio output index to port number. - std::vector iUsedIdx; // During process, tells whether an audio input port was used by any input routes. + //std::vector iUsedIdx; // During process, tells whether an audio input port was used by any input routes. + std::vector iUsedIdx; // During process, tells whether an audio input port was used by any input routes. std::vector rpIdx; // Port number to control input index. Item is -1 if it's not a control input. MusECore::MidiCtl2LadspaPortMap midiCtl2PortMap; // Maps midi controller numbers to DSSI port numbers. MusECore::MidiCtl2LadspaPortMap port2MidiCtlMap; // Maps DSSI port numbers to midi controller numbers. @@ -88,6 +89,8 @@ class DssiSynth : public Synth { public: DssiSynth(QFileInfo&, const DSSI_Descriptor*); // removed const for QFileInfo virtual ~DssiSynth(); + virtual Type synthType() const { return DSSI_SYNTH; } + virtual void incInstances(int); virtual SynthIF* createSIF(SynthI*); @@ -122,6 +125,7 @@ class DssiSynthIF : public SynthIF, public PluginIBase float** audioInBuffers; float** audioOutBuffers; + float* audioInSilenceBuf; // Just all zeros all the time, so we don't have to clear for silence. public: DssiSynthIF(SynthI* s); @@ -195,6 +199,7 @@ class DssiSynthIF : public SynthIF, public PluginIBase QString lib() const; QString dirPath() const; QString fileName() const; + QString titlePrefix() const; MusECore::AudioTrack* track(); void enableController(unsigned long /*i*/, bool v = true); bool controllerEnabled(unsigned long /*i*/) const; diff --git a/muse2/muse/gconfig.cpp b/muse2/muse/gconfig.cpp index bb9f42f4..0abbbd76 100644 --- a/muse2/muse/gconfig.cpp +++ b/muse2/muse/gconfig.cpp @@ -129,8 +129,8 @@ GlobalConfigValues config = { -60.0, // double minSlider; false, // use Jack freewheel 20, // int guiRefresh; - QString(""), // userInstrumentsDir - //QString(""), // helpBrowser; // Obsolete + QString(""), // userInstrumentsDir // Obsolete. Must keep for compatibility. + //QString(""), // helpBrowser; // Obsolete true, // extendedMidi 384, // division for smf export QString(""), // copyright string for smf export @@ -187,7 +187,12 @@ GlobalConfigValues config = { 64, // minControlProcessPeriod false, // popupsDefaultStayOpen false, // leftMouseButtonCanDecrease - false // rangeMarkerWithoutMMB + false, // rangeMarkerWithoutMMB + true, // addHiddenTracks + true // unhideTracks + }; +//GlobalConfigValues globalConfig = config; + } // namespace MusEGlobal diff --git a/muse2/muse/gconfig.h b/muse2/muse/gconfig.h index d9038ea1..95b88170 100644 --- a/muse2/muse/gconfig.h +++ b/muse2/muse/gconfig.h @@ -109,7 +109,7 @@ struct GlobalConfigValues { double minSlider; bool freewheelMode; int guiRefresh; - QString userInstrumentsDir; + QString userInstrumentsDir; // Obsolete. Must keep for compatibility. bool extendedMidi; // extended smf format int midiDivision; // division for smf export @@ -164,6 +164,9 @@ struct GlobalConfigValues { bool popupsDefaultStayOpen; bool leftMouseButtonCanDecrease; bool rangeMarkerWithoutMMB; + bool addHiddenTracks; + bool unhideTracks; + }; diff --git a/muse2/muse/globals.cpp b/muse2/muse/globals.cpp index 05ba1011..d50ea1eb 100644 --- a/muse2/muse/globals.cpp +++ b/muse2/muse/globals.cpp @@ -165,6 +165,12 @@ const char* med_file_save_pattern[] = { QT_TRANSLATE_NOOP("file_patterns", "All Files (*)"), 0 }; +const char* project_create_file_save_pattern[] = { + QT_TRANSLATE_NOOP("file_patterns", "Uncompressed med Files (*.med)"), + QT_TRANSLATE_NOOP("file_patterns", "gzip compressed med Files (*.med.gz)"), + QT_TRANSLATE_NOOP("file_patterns", "bzip2 compressed med Files (*.med.bz2)"), + 0 + }; const char* image_file_pattern[] = { QT_TRANSLATE_NOOP("file_patterns", "(*.jpg *.gif *.png)"), diff --git a/muse2/muse/globals.h b/muse2/muse/globals.h index ae624fb8..7563c171 100644 --- a/muse2/muse/globals.h +++ b/muse2/muse/globals.h @@ -94,6 +94,7 @@ extern const char* midi_file_pattern[]; extern const char* midi_file_save_pattern[]; extern const char* med_file_pattern[]; extern const char* med_file_save_pattern[]; +extern const char* project_create_file_save_pattern[]; extern const char* image_file_pattern[]; //extern const char* ctrl_file_pattern[]; extern const char* part_file_pattern[]; diff --git a/muse2/muse/helper.cpp b/muse2/muse/helper.cpp index 682bfe8e..f560fbfb 100644 --- a/muse2/muse/helper.cpp +++ b/muse2/muse/helper.cpp @@ -20,6 +20,8 @@ // //========================================================= +#include + #include "helper.h" #include "part.h" #include "track.h" @@ -28,8 +30,22 @@ #include "icons.h" #include "synth.h" #include "functions.h" +#include "gconfig.h" + +#include "driver/jackmidi.h" +#include "route.h" +#include "mididev.h" +#include "globaldefs.h" +#include "audio.h" +#include "audiodev.h" +#include "midiseq.h" #include +#include +#include +#include +#include +//#include #ifdef DSSI_SUPPORT #include "dssihost.h" @@ -118,170 +134,56 @@ QMenu* populateAddSynth(QWidget* parent) //typedef std::multimap::iterator imap; typedef std::multimap::iterator imap; - MusECore::MessSynth* synMESS = 0; - QMenu* synpMESS = 0; - asmap mapMESS; - - #ifdef DSSI_SUPPORT - MusECore::DssiSynth* synDSSI = 0; - QMenu* synpDSSI = 0; - asmap mapDSSI; - #endif - #ifdef VST_SUPPORT - MusECore::VstSynth* synVST = 0; - QMenu* synpVST = 0; - asmap mapVST; - #endif + int ntypes = MusECore::Synth::SYNTH_TYPE_END; + asmap smaps[ntypes]; + QMenu* mmaps[ntypes]; + for(int itype = 0; itype < ntypes; ++itype) + mmaps[itype] = 0; - // Not necessary, but what the heck. - QMenu* synpOther = 0; - asmap mapOther; + MusECore::Synth* synth; + MusECore::Synth::Type type; - //const int synth_base_id = 0x1000; int ii = 0; for(std::vector::iterator i = MusEGlobal::synthis.begin(); i != MusEGlobal::synthis.end(); ++i) { - synMESS = dynamic_cast(*i); - if(synMESS) - { - mapMESS.insert( std::pair (std::string(synMESS->description().toLower().toLatin1().constData()), ii) ); - } - else - { - - #ifdef DSSI_SUPPORT - synDSSI = dynamic_cast(*i); - if(synDSSI) - { - mapDSSI.insert( std::pair (std::string(synDSSI->description().toLower().toLatin1().constData()), ii) ); - } - else - #endif - - { - #ifdef VST_SUPPORT - synVST = dynamic_cast(*i); - if(synVST) - { - mapVST.insert( std::pair (std::string(synVST->description().toLower().toLatin1().constData()), ii) ); - } - else - #endif - - { - mapOther.insert( std::pair (std::string((*i)->description().toLower().toLatin1().constData()), ii) ); - } - } - } + synth = *i; + type = synth->synthType(); + if(type >= ntypes) + continue; + smaps[type].insert( std::pair (std::string(synth->description().toLower().toLatin1().constData()), ii) ); ++ii; } int sz = MusEGlobal::synthis.size(); - for(imap i = mapMESS.begin(); i != mapMESS.end(); ++i) - { - int idx = i->second; - if(idx > sz) // Sanity check - continue; - MusECore::Synth* s = MusEGlobal::synthis[idx]; - if(s) + for(int itype = 0; itype < ntypes; ++itype) + { + for(imap i = smaps[itype].begin(); i != smaps[itype].end(); ++i) { - // No MESS sub-menu yet? Create it now. - if(!synpMESS) - synpMESS = new QMenu(parent); - QAction* sM = synpMESS->addAction(s->description() + " <" + s->name() + ">"); - sM->setData(MENU_ADD_SYNTH_ID_BASE + idx); - } - } - - #ifdef DSSI_SUPPORT - for(imap i = mapDSSI.begin(); i != mapDSSI.end(); ++i) - { - int idx = i->second; - if(idx > sz) - continue; - MusECore::Synth* s = MusEGlobal::synthis[idx]; - if(s) - { - // No DSSI sub-menu yet? Create it now. - if(!synpDSSI) - synpDSSI = new QMenu(parent); - //synpDSSI->insertItem(QT_TRANSLATE_NOOP("@default", s->description()) + " <" + QT_TRANSLATE_NOOP("@default", s->name()) + ">", MENU_ADD_SYNTH_ID_BASE + idx); - QAction* sD = synpDSSI->addAction(s->description() + " <" + s->name() + ">"); - sD->setData(MENU_ADD_SYNTH_ID_BASE + idx); - } - } - #endif - - #ifdef VST_SUPPORT - for(imap i = mapVST.begin(); i != mapVST.end(); ++i) - { - int idx = i->second; - if(idx > sz) - continue; - Synth* s = MusEGlobal::synthis[idx]; - if(s) - { - // No VST sub-menu yet? Create it now. - if(!synpVST) - synpVST = new QMenu(parent); - QAction* sV = synpVST->addAction(s->description() + " <" + "@default", s->name() + ">"); - sV->setData(MENU_ADD_SYNTH_ID_BASE + idx); - } - } - #endif - - for(imap i = mapOther.begin(); i != mapOther.end(); ++i) - { - int idx = i->second; - if(idx > sz) - continue; - MusECore::Synth* s = MusEGlobal::synthis[idx]; - // No Other sub-menu yet? Create it now. - if(!synpOther) - synpOther = new QMenu(parent); - //synpOther->insertItem(QT_TRANSLATE_NOOP("@default", s->description()) + " <" + QT_TRANSLATE_NOOP("@default", s->name()) + ">", MENU_ADD_SYNTH_ID_BASE + idx); - QAction* sO = synpOther->addAction(s->description() + " <" + s->name() + ">"); - sO->setData(MENU_ADD_SYNTH_ID_BASE + idx); - } - - if(synpMESS) - { - synpMESS->setIcon(*synthIcon); - synpMESS->setTitle("MESS"); - synp->addMenu(synpMESS); - } - - #ifdef DSSI_SUPPORT - if(synpDSSI) - { - synpDSSI->setIcon(*synthIcon); - synpDSSI->setTitle("DSSI"); - synp->addMenu(synpDSSI); - } - #endif - - #ifdef VST_SUPPORT - if(synpVST) - { - synpVST->setIcon(*synthIcon); - synpVST->setTitle("FST"); - synp->addMenu(synpVST); - } - #endif - - if(synpOther) - { - synpOther->setIcon(*synthIcon); - synpOther->setTitle(QObject::tr("Other")); - synp->addMenu(synpOther); + int idx = i->second; + if(idx > sz) // Sanity check + continue; + synth = MusEGlobal::synthis[idx]; + if(synth) + { + // No sub-menu yet? Create it now. + if(!mmaps[itype]) + { + mmaps[itype] = new QMenu(parent); + mmaps[itype]->setIcon(*synthIcon); + mmaps[itype]->setTitle(MusECore::synthType2String((MusECore::Synth::Type)itype)); + synp->addMenu(mmaps[itype]); + } + QAction* act = mmaps[itype]->addAction(synth->description() + " <" + synth->name() + ">"); + act->setData( MENU_ADD_SYNTH_ID_BASE * (itype + 1) + idx ); + } + } } - + return synp; } - //--------------------------------------------------------- // populateAddTrack // this is also used in "mixer" @@ -290,19 +192,27 @@ QMenu* populateAddSynth(QWidget* parent) QActionGroup* populateAddTrack(QMenu* addTrack, bool populateAll) { QActionGroup* grp = new QActionGroup(addTrack); + if (MusEGlobal::config.addHiddenTracks) + populateAll=true; - QAction* midi = addTrack->addAction(QIcon(*addtrack_addmiditrackIcon), + if (populateAll || MusECore::MidiTrack::visible()) { + QAction* midi = addTrack->addAction(QIcon(*addtrack_addmiditrackIcon), qApp->translate("@default", QT_TRANSLATE_NOOP("@default", "Add Midi Track"))); - midi->setData(MusECore::Track::MIDI); - grp->addAction(midi); - QAction* drum = addTrack->addAction(QIcon(*addtrack_drumtrackIcon), + midi->setData(MusECore::Track::MIDI); + grp->addAction(midi); + } + if (populateAll || MusECore::MidiTrack::visible()) { + QAction* drum = addTrack->addAction(QIcon(*addtrack_drumtrackIcon), qApp->translate("@default", QT_TRANSLATE_NOOP("@default", "Add Drum Track"))); - drum->setData(MusECore::Track::DRUM); - grp->addAction(drum); - QAction* wave = addTrack->addAction(QIcon(*addtrack_wavetrackIcon), + drum->setData(MusECore::Track::DRUM); + grp->addAction(drum); + } + if (populateAll || MusECore::WaveTrack::visible()) { + QAction* wave = addTrack->addAction(QIcon(*addtrack_wavetrackIcon), qApp->translate("@default", QT_TRANSLATE_NOOP("@default", "Add Wave Track"))); - wave->setData(MusECore::Track::WAVE); - grp->addAction(wave); + wave->setData(MusECore::Track::WAVE); + grp->addAction(wave); + } if (populateAll || MusECore::AudioOutput::visible()) { QAction* aoutput = addTrack->addAction(QIcon(*addtrack_audiooutputIcon), @@ -332,20 +242,47 @@ QActionGroup* populateAddTrack(QMenu* addTrack, bool populateAll) grp->addAction(aaux); } - // Create a sub-menu and fill it with found synth types. Make addTrack the owner. - QMenu* synp = populateAddSynth(addTrack); - synp->setIcon(*synthIcon); - synp->setTitle(qApp->translate("@default", QT_TRANSLATE_NOOP("@default", "Add Synth"))); + if (populateAll || MusECore::SynthI::visible()) { + // Create a sub-menu and fill it with found synth types. Make addTrack the owner. + QMenu* synp = populateAddSynth(addTrack); + synp->setIcon(*synthIcon); + synp->setTitle(qApp->translate("@default", QT_TRANSLATE_NOOP("@default", "Add Synth"))); + + // Add the sub-menu to the given menu. + addTrack->addMenu(synp); + } - // Add the sub-menu to the given menu. - addTrack->addMenu(synp); - //QObject::connect(addTrack, SIGNAL(triggered(QAction *)), MusEGlobal::song, SLOT(addNewTrack(QAction *))); return grp; } + +//--------------------------------------------------------- +// getFilterExtension +//--------------------------------------------------------- -} // namespace MusEGui +QString getFilterExtension(const QString &filter) +{ + // + // Return the first extension found. Must contain at least one * character. + // + + int pos = filter.indexOf('*'); + if(pos == -1) + return QString(); + + QString filt; + int len = filter.length(); + ++pos; + for( ; pos < len; ++pos) + { + QChar c = filter[pos]; + if((c == ')') || (c == ';') || (c == ',') || (c == ' ')) + break; + filt += filter[pos]; + } + return filt; +} QStringList localizedStringListFromCharArray(const char** array, const char* context) { @@ -355,3 +292,374 @@ QStringList localizedStringListFromCharArray(const char** array, const char* con return temp; } + +QString browseProjectFolder(QWidget* parent) +{ + QString path; + if(!MusEGlobal::config.projectBaseFolder.isEmpty()) + { + QDir d(MusEGlobal::config.projectBaseFolder); + path = d.absolutePath(); + } + + QString dir = QFileDialog::getExistingDirectory(parent, qApp->tr("Select project directory"), path); + if(dir.isEmpty()) + dir = MusEGlobal::config.projectBaseFolder; + // projDirLineEdit->setText(dir); + //return QFileDialog::getExistingDirectory(this, qApp.tr("Select project directory"), path); + return dir; +} + +QString projectTitleFromFilename(QString filename) +{ + int idx; + idx = filename.lastIndexOf(".med.bz2", -1, Qt::CaseInsensitive); + if(idx == -1) + idx = filename.lastIndexOf(".med.gz", -1, Qt::CaseInsensitive); + if(idx == -1) + idx = filename.lastIndexOf(".med", -1, Qt::CaseInsensitive); + + if(idx != -1) + filename.truncate(idx); + + QFileInfo fi(filename); + + //return fi.baseName(); + return fi.fileName(); +} + +QString projectPathFromFilename(QString filename) +{ + QFileInfo fi(filename); + return QDir::cleanPath(fi.absolutePath()); +} + +QString projectExtensionFromFilename(QString filename) +{ + int idx; + idx = filename.lastIndexOf(".med.bz2", -1, Qt::CaseInsensitive); + if(idx == -1) + idx = filename.lastIndexOf(".med.gz", -1, Qt::CaseInsensitive); + if(idx == -1) + idx = filename.lastIndexOf(".med", -1, Qt::CaseInsensitive); + if(idx == -1) + idx = filename.lastIndexOf(".bz2", -1, Qt::CaseInsensitive); + if(idx == -1) + idx = filename.lastIndexOf(".gz", -1, Qt::CaseInsensitive); + + return (idx == -1) ? QString() : filename.right(filename.size() - idx); +} + +QString getUniqueUntitledName() +{ + QString filename("untitled"); + //QTemporaryFile tf(MusEGlobal::config.projectBaseFolder +"/" + s + "XXXXXX.med"); + //if(tf.open()) + // s = MusEGui::projectTitleFromFilename(tf.fileName()); + + QString fbase(MusEGlobal::config.projectBaseFolder); + + QString nfb = fbase; + if(MusEGlobal::config.projectStoreInFolder) + nfb += "/" + filename; + QFileInfo fi(nfb + "/" + filename + ".med"); // TODO p4.0.40 Check other extensions. + if(!fi.exists()) + //return filename; + return fi.filePath(); + + // Find a new filename + QString nfn = filename; + int idx; + for (idx=2; idx<10000; idx++) { + QString num = QString::number(idx); + nfn = filename + "_" + num; + nfb = fbase; + if(MusEGlobal::config.projectStoreInFolder) + nfb += "/" + nfn; + QFileInfo fi(nfb + "/" + nfn + ".med"); + if(!fi.exists()) + //break; + return fi.filePath(); + } + + //if(idx >= 10000) + printf("MusE error: Could not make untitled project name (10000 or more untitled projects in project dir - clean up!\n"); + + //return nfn; + + nfb = fbase; + if(MusEGlobal::config.projectStoreInFolder) + nfb += "/" + filename; + return nfb + "/" + filename + ".med"; +} + + +#if 1 + +// ------------------------------------------------------------------------------------------------------- +// populateMidiPorts() +// This version creats separate devices for input and output ports. +// It does not attempt to pair them together. +// ------------------------------------------------------------------------------------------------------- +void populateMidiPorts() +{ + if(!MusEGlobal::checkAudioDevice()) + return; + + MusECore::MidiDevice* dev = 0; + + int port_num = 0; + + // If Jack is running, prefer Jack midi devices over ALSA. + if(MusEGlobal::audioDevice->deviceType() == MusECore::AudioDevice::JACK_AUDIO) + { + std::list sl; + sl = MusEGlobal::audioDevice->inputPorts(true, 1); // Ask for second aliases. + for(std::list::iterator i = sl.begin(); i != sl.end(); ++i) + { + dev = MusECore::MidiJackDevice::createJackMidiDevice(*i, 1); + if(dev) + { + //printf("populateMidiPorts Created jack writeable device: %s\n", dev->name().toLatin1().constData()); + //dev->setOpenFlags(1); + MusEGlobal::midiSeq->msgSetMidiDevice(&MusEGlobal::midiPorts[port_num], dev); + MusECore::Route srcRoute(dev, -1); + MusECore::Route dstRoute(*i, true, -1, MusECore::Route::JACK_ROUTE); + MusEGlobal::audio->msgAddRoute(srcRoute, dstRoute); + if(++port_num == MIDI_PORTS) + return; + } + } + + sl = MusEGlobal::audioDevice->outputPorts(true, 1); // Ask for second aliases. + for(std::list::iterator i = sl.begin(); i != sl.end(); ++i) + { + dev = MusECore::MidiJackDevice::createJackMidiDevice(*i, 2); + if(dev) + { + //printf("populateMidiPorts Created jack readable device: %s\n", dev->name().toLatin1().constData()); + //dev->setOpenFlags(2); + MusEGlobal::midiSeq->msgSetMidiDevice(&MusEGlobal::midiPorts[port_num], dev); + MusECore::Route srcRoute(*i, false, -1, MusECore::Route::JACK_ROUTE); + MusECore::Route dstRoute(dev, -1); + MusEGlobal::audio->msgAddRoute(srcRoute, dstRoute); + if(++port_num == MIDI_PORTS) + return; + } + } + } + else + // If Jack is not running, use ALSA devices. + if(MusEGlobal::audioDevice->deviceType() == MusECore::AudioDevice::DUMMY_AUDIO) + { + for(MusECore::iMidiDevice i = MusEGlobal::midiDevices.begin(); i != MusEGlobal::midiDevices.end(); ++i) + { + if((*i)->deviceType() != MusECore::MidiDevice::ALSA_MIDI) + continue; + dev = *i; + // Select only sensible devices first - not thru etc. + //if( ... ) + // continue; + + //dev->setOpenFlags(1); + MusEGlobal::midiSeq->msgSetMidiDevice(&MusEGlobal::midiPorts[port_num], dev); + + if(++port_num == MIDI_PORTS) + return; + } + + //for(MusECore::iMidiDevice i = MusEGlobal::midiDevices.begin(); i != MusEGlobal::midiDevices.end(); ++i) + //{ + // if((*i)->deviceType() != MusECore::MidiDevice::ALSA_MIDI) + // continue; + // // Select the ones ignored in the first pass. + // if(! ... ) + // continue; + // + // dev->setOpenFlags(1); + // MusEGlobal::midiSeq->msgSetMidiDevice(port_num, dev); + // + // if(++port_num == MIDI_PORTS) + // return; + //} + } + + //MusEGlobal::muse->changeConfig(true); // save configuration file + //MusEGlobal::song->update(); + +} + +#else + +// ------------------------------------------------------------------------------------------------------- +// populateMidiPorts() +// This version worked somewhat well with system devices. +// But no, it is virtually impossible to tell from the names whether ports should be paired. +// There is too much room for error - what markers to look for ("capture_"/"playback_") etc. +// It works kind of OK with 'seq' Jack Midi ALSA devices, but not for 'raw' which have a different +// naming structure ("in-hw-0-0-0"/"out-hw-0-0-0"). +// It also fails to combine if the ports were named by a client app, for example another instance of MusE. +// ------------------------------------------------------------------------------------------------------- + +void populateMidiPorts() +{ + if(!MusEGlobal::checkAudioDevice()) + return; + + MusECore::MidiDevice* dev = 0; + + int port_num = 0; + + // If Jack is running, prefer Jack midi devices over ALSA. + if(MusEGlobal::audioDevice->deviceType() == MusECore::AudioDevice::JACK_AUDIO) + { + std::list wsl; + std::list rsl; + //wsl = MusEGlobal::audioDevice->inputPorts(true, 1); // Ask for second aliases. + wsl = MusEGlobal::audioDevice->inputPorts(true, 0); // Ask for first aliases. + //rsl = MusEGlobal::audioDevice->outputPorts(true, 1); // Ask for second aliases. + rsl = MusEGlobal::audioDevice->outputPorts(true, 0); // Ask for first aliases. + + for(std::list::iterator wi = wsl.begin(); wi != wsl.end(); ++wi) + { + QString ws = *wi; + int y = ws.lastIndexOf("_"); + if(y >= 1) + { + int x = ws.lastIndexOf("_", y-1); + if(x >= 0) + ws.remove(x, y - x); + } + + + bool match_found = false; + for(std::list::iterator ri = rsl.begin(); ri != rsl.end(); ++ri) + { + QString rs = *ri; + int y = rs.lastIndexOf("_"); + if(y >= 1) + { + int x = rs.lastIndexOf("_", y-1); + if(x >= 0) + rs.remove(x, y - x); + } + + // Do we have a matching pair? + if(rs == ws) + { + // Would like to remove the client name, but no, we need it as a distinguishing identifier. + //int z = ws.indexOf(":"); + //if(z >= 0) + // ws.remove(0, z + 1); + + dev = MusECore::MidiJackDevice::createJackMidiDevice(ws, 3); + if(dev) + { + //printf("populateMidiPorts Created jack writeable/readable device: %s\n", dev->name().toLatin1().constData()); + //dev->setOpenFlags(1); + MusEGlobal::midiSeq->msgSetMidiDevice(&MusEGlobal::midiPorts[port_num], dev); + MusECore::Route devRoute(dev, -1); + MusECore::Route wdstRoute(*wi, true, -1, MusECore::Route::JACK_ROUTE); + MusECore::Route rsrcRoute(*ri, false, -1, MusECore::Route::JACK_ROUTE); + MusEGlobal::audio->msgAddRoute(devRoute, wdstRoute); + MusEGlobal::audio->msgAddRoute(rsrcRoute, devRoute); + if(++port_num == MIDI_PORTS) + return; + } + + rsl.erase(ri); // Done with this read port. Remove. + match_found = true; + break; + } + } + + if(!match_found) + { + // No match was found. Create a single writeable device. + QString s = *wi; + // Would like to remove the client name, but no, we need it as a distinguishing identifier. + //int z = s.indexOf(":"); + //if(z >= 0) + // s.remove(0, z + 1); + dev = MusECore::MidiJackDevice::createJackMidiDevice(s, 1); + if(dev) + { + //printf("populateMidiPorts Created jack writeable device: %s\n", dev->name().toLatin1().constData()); + //dev->setOpenFlags(1); + MusEGlobal::midiSeq->msgSetMidiDevice(&MusEGlobal::midiPorts[port_num], dev); + MusECore::Route srcRoute(dev, -1); + MusECore::Route dstRoute(*wi, true, -1, MusECore::Route::JACK_ROUTE); + MusEGlobal::audio->msgAddRoute(srcRoute, dstRoute); + if(++port_num == MIDI_PORTS) + return; + } + } + } + + // Create the remaining readable ports as single readable devices. + for(std::list::iterator ri = rsl.begin(); ri != rsl.end(); ++ri) + { + QString s = *ri; + // Would like to remove the client name, but no, we need it as a distinguishing identifier. + //int z = s.indexOf(":"); + //if(z >= 0) + // s.remove(0, z + 1); + dev = MusECore::MidiJackDevice::createJackMidiDevice(s, 2); + if(dev) + { + //printf("populateMidiPorts Created jack readable device: %s\n", dev->name().toLatin1().constData()); + //dev->setOpenFlags(2); + MusEGlobal::midiSeq->msgSetMidiDevice(&MusEGlobal::midiPorts[port_num], dev); + MusECore::Route srcRoute(*ri, false, -1, MusECore::Route::JACK_ROUTE); + MusECore::Route dstRoute(dev, -1); + MusEGlobal::audio->msgAddRoute(srcRoute, dstRoute); + if(++port_num == MIDI_PORTS) + return; + } + } + } + else + // If Jack is not running, use ALSA devices. + if(MusEGlobal::audioDevice->deviceType() == MusECore::AudioDevice::DUMMY_AUDIO) + { + for(MusECore::iMidiDevice i = MusEGlobal::midiDevices.begin(); i != MusEGlobal::midiDevices.end(); ++i) + { + if((*i)->deviceType() != MusECore::MidiDevice::ALSA_MIDI) + continue; + dev = *i; + // Select only sensible devices first - not thru etc. + //if( ... ) + // continue; + + //dev->setOpenFlags(1); + MusEGlobal::midiSeq->msgSetMidiDevice(&MusEGlobal::midiPorts[port_num], dev); + + if(++port_num == MIDI_PORTS) + return; + } + + //for(MusECore::iMidiDevice i = MusEGlobal::midiDevices.begin(); i != MusEGlobal::midiDevices.end(); ++i) + //{ + // if((*i)->deviceType() != MusECore::MidiDevice::ALSA_MIDI) + // continue; + // // Select the ones ignored in the first pass. + // if(! ... ) + // continue; + // + // dev->setOpenFlags(1); + // MusEGlobal::midiSeq->msgSetMidiDevice(port_num, dev); + // + // if(++port_num == MIDI_PORTS) + // return; + //} + } + + //MusEGlobal::muse->changeConfig(true); // save configuration file + //MusEGlobal::song->update(); + +} +#endif // populateMidiPorts + + +} // namespace MusEGui + diff --git a/muse2/muse/helper.h b/muse2/muse/helper.h index e1bf93de..f9c9a78c 100644 --- a/muse2/muse/helper.h +++ b/muse2/muse/helper.h @@ -42,8 +42,15 @@ bool any_event_selected(const std::set&, bool in_range=false); namespace MusEGui { QMenu* populateAddSynth(QWidget* parent); QActionGroup* populateAddTrack(QMenu* addTrack, bool populateAll=false); +QStringList localizedStringListFromCharArray(const char** array, const char* context); +QString getFilterExtension(const QString &filter); +QString browseProjectFolder(QWidget* parent = 0); +QString projectTitleFromFilename(QString filename); +QString projectPathFromFilename(QString filename); +QString projectExtensionFromFilename(QString filename); +QString getUniqueUntitledName(); +void populateMidiPorts(); } -QStringList localizedStringListFromCharArray(const char** array, const char* context); #endif diff --git a/muse2/muse/instruments/editinstrument.cpp b/muse2/muse/instruments/editinstrument.cpp index 742e0626..b90b872e 100644 --- a/muse2/muse/instruments/editinstrument.cpp +++ b/muse2/muse/instruments/editinstrument.cpp @@ -407,27 +407,10 @@ void EditInstrument::saveAs() if(!QDir(MusEGlobal::museUserInstruments).exists()) { - if(QMessageBox::question(this, - tr("MusE:"), - tr("The user instrument directory\n%1\ndoes not exist yet. Create it now?\n").arg(MusEGlobal::museUserInstruments) + - tr("(You can change the user instruments directory at Settings->Global Settings->Midi)"), - QMessageBox::Ok | QMessageBox::Default, - QMessageBox::Cancel | QMessageBox::Escape, - Qt::NoButton) == QMessageBox::Ok) - { - if(QDir().mkdir(MusEGlobal::museUserInstruments)) - printf("Created user instrument directory: %s\n", MusEGlobal::museUserInstruments.toLatin1().constData()); - else - { - printf("Unable to create user instrument directory: %s\n", MusEGlobal::museUserInstruments.toLatin1().constData()); - QMessageBox::critical(this, tr("MusE:"), tr("Unable to create user instrument directory '%1'").arg(MusEGlobal::museUserInstruments)); - //return; - path = MusEGlobal::museUser; - } - } - else - // return; - path = MusEGlobal::museUser; + printf("MusE Error! User instrument directory: %s does not exist. Should be created at startup!\n", MusEGlobal::museUserInstruments.toLatin1().constData()); + + //path = MusEGlobal::museUser; + //path = MusEGlobal::configPath; } //if (instrument->filePath().isEmpty()) @@ -699,27 +682,10 @@ void EditInstrument::fileSaveAs() if(!QDir(MusEGlobal::museUserInstruments).exists()) { - if(QMessageBox::question(this, - tr("MusE:"), - tr("The user instrument directory\n%1\ndoes not exist yet. Create it now?\n").arg(MusEGlobal::museUserInstruments) + - tr("(You can change the user instruments directory at Settings->Global Settings->Midi)"), - QMessageBox::Ok | QMessageBox::Default, - QMessageBox::Cancel | QMessageBox::Escape, - Qt::NoButton) == QMessageBox::Ok) - { - if(QDir().mkdir(MusEGlobal::museUserInstruments)) - printf("Created user instrument directory: %s\n", MusEGlobal::museUserInstruments.toLatin1().constData()); - else - { - printf("Unable to create user instrument directory: %s\n", MusEGlobal::museUserInstruments.toLatin1().constData()); - QMessageBox::critical(this, tr("MusE:"), tr("Unable to create user instrument directory '%1'").arg(MusEGlobal::museUserInstruments)); - //return; - path = MusEGlobal::museUser; - } - } - else - // return; - path = MusEGlobal::museUser; + printf("MusE Error! User instrument directory: %s does not exist. Should be created at startup!\n", MusEGlobal::museUserInstruments.toLatin1().constData()); + + //path = MusEGlobal::museUser; + //path = MusEGlobal::configPath; } path += QString("/%1.idf").arg(so); diff --git a/muse2/muse/instruments/minstrument.cpp b/muse2/muse/instruments/minstrument.cpp index 8e8bb6c3..22ed3737 100644 --- a/muse2/muse/instruments/minstrument.cpp +++ b/muse2/muse/instruments/minstrument.cpp @@ -936,8 +936,69 @@ QString MidiInstrument::getPatchName(int channel, int prog, MType mode, bool dru // populatePatchPopup //--------------------------------------------------------- +void MidiInstrument::populatePatchPopup(MusEGui::PopupMenu* menu, int chan, MType songType, bool drum) + { + menu->clear(); + int mask = 0; + bool drumchan = chan == 9; + switch (songType) { + case MT_XG: mask = 4; break; + case MT_GS: mask = 2; break; + case MT_GM: + if(drumchan) + { + int id = (0xff << 16) + (0xff << 8) + 0x00; // First patch + QAction* act = menu->addAction(gmdrumname); + //act->setCheckable(true); + act->setData(id); + return; + } + mask = 1; + break; + case MT_UNKNOWN: mask = 7; break; + } + if (pg.size() > 1) { + for (ciPatchGroup i = pg.begin(); i != pg.end(); ++i) { + PatchGroup* pgp = *i; + //QMenu* pm = menu->addMenu(pgp->name); + MusEGui::PopupMenu* pm = new MusEGui::PopupMenu(pgp->name, menu, menu->stayOpen()); // Use the parent stayOpen here. + menu->addMenu(pm); + pm->setFont(MusEGlobal::config.fonts[0]); + const PatchList& pl = pgp->patches; + for (ciPatch ipl = pl.begin(); ipl != pl.end(); ++ipl) { + const Patch* mp = *ipl; + if ((mp->typ & mask) && + ((drum && songType != MT_GM) || + (mp->drum == drumchan)) ) + { + int id = ((mp->hbank & 0xff) << 16) + + ((mp->lbank & 0xff) << 8) + (mp->prog & 0xff); + QAction* act = pm->addAction(mp->name); + //act->setCheckable(true); + act->setData(id); + } + + } + } + } + else if (pg.size() == 1 ){ + // no groups + const PatchList& pl = pg.front()->patches; + for (ciPatch ipl = pl.begin(); ipl != pl.end(); ++ipl) { + const Patch* mp = *ipl; + if (mp->typ & mask) { + int id = ((mp->hbank & 0xff) << 16) + + ((mp->lbank & 0xff) << 8) + (mp->prog & 0xff); + QAction* act = menu->addAction(mp->name); + //act->setCheckable(true); + act->setData(id); + } + } + } + } // namespace MusECore +/* namespace MusEGui { void populatePatchPopup(MusECore::MidiInstrument* midiInstrument, PopupMenu* menu, int chan, MType songType, bool drum) @@ -1000,5 +1061,6 @@ void populatePatchPopup(MusECore::MidiInstrument* midiInstrument, PopupMenu* men } } } +*/ } // namespace MusEGui diff --git a/muse2/muse/instruments/minstrument.h b/muse2/muse/instruments/minstrument.h index 3a645d7f..385e67b4 100644 --- a/muse2/muse/instruments/minstrument.h +++ b/muse2/muse/instruments/minstrument.h @@ -143,7 +143,7 @@ class MidiInstrument { virtual void reset(int, MType); virtual QString getPatchName(int,int,MType,bool); //virtual void populatePatchPopup(QMenu*, int, MType, bool); - //virtual void populatePatchPopup(MusEGui::PopupMenu*, int, MType, bool); + virtual void populatePatchPopup(MusEGui::PopupMenu*, int, MType, bool); void read(Xml&); void write(int level, Xml&); @@ -171,8 +171,8 @@ extern void removeMidiInstrument(const MidiInstrument* instr); } // namespace MusECore -namespace MusEGui { -extern void populatePatchPopup(MusECore::MidiInstrument*, PopupMenu*, int, MType, bool); -} +//namespace MusEGui { +//extern void populatePatchPopup(MusECore::MidiInstrument*, PopupMenu*, int, MType, bool); +//} #endif diff --git a/muse2/muse/liste/editevent.cpp b/muse2/muse/liste/editevent.cpp index bca5729b..214f74c2 100644 --- a/muse2/muse/liste/editevent.cpp +++ b/muse2/muse/liste/editevent.cpp @@ -871,20 +871,17 @@ void EditCtrlDialog::instrPopup() int port = track->outPort(); MusECore::MidiInstrument* instr = MusEGlobal::midiPorts[port].instrument(); - ///instr->populatePatchPopup(pop, channel, MusEGlobal::song->mtype(), track->type() == MusECore::Track::DRUM); //QMenu* pup = new QMenu(this); MusEGui::PopupMenu* pup = new MusEGui::PopupMenu(this); - populatePatchPopup(instr, pup, channel, MusEGlobal::song->mtype(), track->type() == MusECore::Track::DRUM); + //populatePatchPopup(instr, pup, channel, MusEGlobal::song->mtype(), track->type() == MusECore::Track::DRUM); + instr->populatePatchPopup(pup, channel, MusEGlobal::song->mtype(), track->type() == MusECore::Track::DRUM); - ///if(pop->actions().count() == 0) - /// return; if(pup->actions().count() == 0) { delete pup; return; } - ///QAction* rv = pop->exec(patchName->mapToGlobal(QPoint(10,5))); QAction* rv = pup->exec(patchName->mapToGlobal(QPoint(10,5))); if (rv) { val = rv->data().toInt(); diff --git a/muse2/muse/liste/listedit.cpp b/muse2/muse/liste/listedit.cpp index f6a77b85..6795cedb 100644 --- a/muse2/muse/liste/listedit.cpp +++ b/muse2/muse/liste/listedit.cpp @@ -45,6 +45,7 @@ #include "event.h" #include "midiport.h" #include "midictrl.h" +#include "app.h" namespace MusEGui { @@ -616,6 +617,8 @@ ListEdit::ListEdit(MusECore::PartList* pl) initShortcuts(); setWindowTitle("MusE: List Editor"); + + MusEGlobal::muse->topwinMenuInited(this); } //--------------------------------------------------------- diff --git a/muse2/muse/main.cpp b/muse2/muse/main.cpp index 0353d0d6..d946bf00 100644 --- a/muse2/muse/main.cpp +++ b/muse2/muse/main.cpp @@ -24,6 +24,8 @@ #include #include #include +#include +#include #include #include #include @@ -31,6 +33,8 @@ #include #include #include +#include +#include #include #include @@ -41,6 +45,7 @@ #include "audiodev.h" #include "gconfig.h" #include "globals.h" +#include "helper.h" #include "icons.h" #include "sync.h" #include "functions.h" @@ -267,9 +272,38 @@ int main(int argc, char* argv[]) if (! cPath.exists()) cPath.mkpath("."); + // Create user templates dir if it doesn't exist + QDir utemplDir = QDir(MusEGlobal::configPath + QString("/templates")); + if(!utemplDir.exists()) + { + utemplDir.mkpath("."); + // Support old versions: Copy existing templates over. + QDir old_utemplDir = QDir(QString(getenv("HOME")) + QString("/templates")); + // printf(" old templates dir:%s\n", (QString(getenv("HOME")) + QString("/templates")).toLatin1().constData()); + if(old_utemplDir.exists()) + { + //printf(" found old templates dir\n"); + // We really just want these, even though it's possible other filenames were saved. + // Another application might have used that directory. + QStringList flt; flt << "*.med" << "*.med.gz" << "*.med.bz2" << "*.mid" << "*.midi" << "*.kar"; + old_utemplDir.setNameFilters(flt); + + QFileInfoList fil = old_utemplDir.entryInfoList(); + QFileInfo fi; + foreach(fi, fil) + { + QString fn = fi.fileName(); + QFile f(fi.absoluteFilePath()); + f.copy(utemplDir.absolutePath() + "/" + fn); + //printf(" copy old template to:%s result:%d\n", QString(utemplPath.absolutePath() + "/" + fn).toLatin1().constData(), rv); + } + } + } + QFile cConf (MusEGlobal::configName); QFile cConfTempl (MusEGlobal::museGlobalShare + QString("/templates/MusE.cfg")); - if (! cConf.exists()) + bool cConfExists = cConf.exists(); + if (!cConfExists) { printf ("creating new config...\n"); if (cConfTempl.copy(MusEGlobal::configName)) @@ -303,10 +337,51 @@ int main(int argc, char* argv[]) MusEGui::init_function_dialogs(MusEGlobal::muse); MusEGui::initShortCuts(); + MusECore::readConfiguration(); - MusEGlobal::museUserInstruments = MusEGlobal::config.userInstrumentsDir; + // Need to put a sane default here because we can't use ~ in the file name string. + if(!cConfExists) + MusEGlobal::config.projectBaseFolder = MusEGlobal::museUser + QString("/MusE"); + //MusEGlobal::museUserInstruments = MusEGlobal::config.userInstrumentsDir; + + // Create user instruments dir if it doesn't exist + { + QString uinstrPath = MusEGlobal::configPath + QString("/instruments"); + QDir uinstrDir = QDir(uinstrPath); + if(!uinstrDir.exists()) + uinstrDir.mkpath("."); + + if(!MusEGlobal::config.userInstrumentsDir.isEmpty() && MusEGlobal::config.userInstrumentsDir != uinstrPath) // Only if it is different. + { + // Support old versions: Copy existing instruments over. + QDir old_uinstrDir(MusEGlobal::config.userInstrumentsDir); + //printf(" old instruments dir:%s\n", MusEGlobal::config.userInstrumentsDir.toLatin1().constData()); + if(old_uinstrDir.exists()) + { + //printf(" found old instruments dir\n"); + QStringList flt; flt << "*.idf"; + old_uinstrDir.setNameFilters(flt); + + QFileInfoList fil = old_uinstrDir.entryInfoList(); + QFileInfo fi; + foreach(fi, fil) + { + QString fn = fi.fileName(); + QFile f(fi.absoluteFilePath()); + QFile newf(uinstrDir.absolutePath() + "/" + fn); + if(!newf.exists()) + { + f.copy(newf.fileName()); + //printf(" copy old instrument to:%s result:%d\n", newf.fileName().toLatin1().constData(), rv); + } + } + } + } + MusEGlobal::museUserInstruments = uinstrPath; + } + if (MusEGlobal::config.useDenormalBias) printf("Denormal protection enabled.\n"); // SHOW MUSE SPLASH SCREEN @@ -324,7 +399,7 @@ int main(int argc, char* argv[]) stimer->start(6000); } } - + int i; QString optstr("ahvdDmMsP:Y:l:py"); @@ -393,6 +468,7 @@ int main(int argc, char* argv[]) } */ + AL::initDsp(); if (MusEGlobal::debugMsg) @@ -438,8 +514,7 @@ int main(int argc, char* argv[]) else MusEGlobal::realTimeScheduling = MusEGlobal::audioDevice->isRealtime(); - - // What unreliable nonsense. With Jack2 this reports true even if it is not running realtime. + // ??? With Jack2 this reports true even if it is not running realtime. // Jack says: "Cannot use real-time scheduling (RR/10)(1: Operation not permitted)". The kernel is non-RT. // I cannot seem to find a reliable answer to the question, even with dummy audio and system calls. //if (MusEGlobal::debugMsg) @@ -448,11 +523,7 @@ int main(int argc, char* argv[]) MusEGlobal::useJackTransport.setValue(true); // setup the prefetch fifo length now that the segmentSize is known - // Changed by Tim. p3.3.17 - // Changed to 4 *, JUST FOR TEST!!! MusEGlobal::fifoLength = 131072 / MusEGlobal::segmentSize; - //MusEGlobal::fifoLength = (131072 / MusEGlobal::segmentSize) * 4; - argc -= optind; ++argc; @@ -498,7 +569,6 @@ int main(int argc, char* argv[]) if(MusEGlobal::loadDSSI) MusECore::initDSSI(); - // p3.3.39 MusECore::initOSC(); MusEGui::initIcons(); @@ -517,21 +587,19 @@ int main(int argc, char* argv[]) ++it; } } - + MusEGlobal::muse = new MusEGui::MusE(argc, &argv[optind]); app.setMuse(MusEGlobal::muse); MusEGlobal::muse->setWindowIcon(*MusEGui::museIcon); - - // Added by Tim. p3.3.22 if (!MusEGlobal::debugMode) { if (mlockall(MCL_CURRENT | MCL_FUTURE)) perror("WARNING: Cannot lock memory:"); } MusEGlobal::muse->show(); - MusEGlobal::muse->seqStart(); - + MusEGlobal::muse->seqStart(); + #ifdef HAVE_LASH { MusEGui::lash_client = 0; @@ -542,14 +610,28 @@ int main(int argc, char* argv[]) MusEGui::lash_client = lash_init (lash_args, muse_name, lash_flags, LASH_PROTOCOL(2,0)); lash_alsa_client_id (MusEGui::lash_client, snd_seq_client_id (MusECore::alsaSeq)); if (!noAudio) { - // p3.3.38 - //char *jack_name = ((JackAudioDevice*)MusEGlobal::audioDevice)->getJackName(); const char *jack_name = MusEGlobal::audioDevice->clientName(); lash_jack_client_name (MusEGui::lash_client, jack_name); } } } #endif /* HAVE_LASH */ + + //-------------------------------------------------- + // Auto-fill the midi ports, if appropriate. p4.0.41 + //-------------------------------------------------- + if(argc < 2 && MusEGlobal::config.startMode == 1) + { + MusEGui::populateMidiPorts(); + //MusEGlobal::muse->changeConfig(true); // save configuration file + //MusEGlobal::song->update(); + } + + //-------------------------------------------------- + // Load the default song. + //-------------------------------------------------- + MusEGlobal::muse->loadDefaultSong(argc, &argv[optind]); // p4.0.41 + QTimer::singleShot(100, MusEGlobal::muse, SLOT(showDidYouKnowDialog())); int rv = app.exec(); diff --git a/muse2/muse/marker/markerview.cpp b/muse2/muse/marker/markerview.cpp index bc9e48b9..39ce4fc0 100644 --- a/muse2/muse/marker/markerview.cpp +++ b/muse2/muse/marker/markerview.cpp @@ -26,6 +26,7 @@ #include "markerview.h" #include "xml.h" #include "globals.h" +#include "app.h" #include "sync.h" #include "icons.h" #include "song.h" @@ -157,7 +158,7 @@ void MarkerItem::setTick(unsigned v) void MarkerView::closeEvent(QCloseEvent* e) { - emit deleted(static_cast(this)); + emit isDeleting(static_cast(this)); emit closed(); e->accept(); } @@ -296,6 +297,8 @@ MarkerView::MarkerView(QWidget* parent) updateList(); + MusEGlobal::muse->topwinMenuInited(this); + // work around for probable QT/WM interaction bug. // for certain window managers, e.g xfce, this window is // is displayed although not specifically set to show(); diff --git a/muse2/muse/marker/markerview.h b/muse2/muse/marker/markerview.h index b50ab7a4..06e22daf 100644 --- a/muse2/muse/marker/markerview.h +++ b/muse2/muse/marker/markerview.h @@ -96,7 +96,7 @@ class MarkerView : public TopWin { void songChanged(int); signals: - void deleted(MusEGui::TopWin*); + void isDeleting(MusEGui::TopWin*); void closed(); public: diff --git a/muse2/muse/master/lmaster.cpp b/muse2/muse/master/lmaster.cpp index 52b488d0..f461e1d3 100644 --- a/muse2/muse/master/lmaster.cpp +++ b/muse2/muse/master/lmaster.cpp @@ -27,6 +27,7 @@ #include "xml.h" #include "song.h" #include "globals.h" +#include "app.h" #include "audio.h" //#include "posedit.h" //#include "sigedit.h" @@ -286,6 +287,7 @@ LMaster::LMaster() connect(keyButton, SIGNAL(clicked()), SLOT(insertKey())); initShortcuts(); + MusEGlobal::muse->topwinMenuInited(this); } //--------------------------------------------------------- diff --git a/muse2/muse/master/masteredit.cpp b/muse2/muse/master/masteredit.cpp index 191f82ab..f6169766 100644 --- a/muse2/muse/master/masteredit.cpp +++ b/muse2/muse/master/masteredit.cpp @@ -37,6 +37,7 @@ #include "doublelabel.h" ///#include "sigedit.h" #include "globals.h" +#include "app.h" #include @@ -269,6 +270,7 @@ MasterEdit::MasterEdit() connect(canvas, SIGNAL(timeChanged(unsigned)), SLOT(setTime(unsigned))); initTopwinState(); + MusEGlobal::muse->topwinMenuInited(this); } //--------------------------------------------------------- diff --git a/muse2/muse/midiedit/drumedit.cpp b/muse2/muse/midiedit/drumedit.cpp index b07ebbbe..52e63da0 100644 --- a/muse2/muse/midiedit/drumedit.cpp +++ b/muse2/muse/midiedit/drumedit.cpp @@ -53,6 +53,7 @@ #include "vscale.h" #include "swidget.h" #include "globals.h" +#include "app.h" #include "icons.h" #include "filedialog.h" #include "drummap.h" @@ -535,6 +536,7 @@ DrumEdit::DrumEdit(MusECore::PartList* pl, QWidget* parent, const char* name, un initTopwinState(); + MusEGlobal::muse->topwinMenuInited(this); } //--------------------------------------------------------- diff --git a/muse2/muse/midiedit/ecanvas.cpp b/muse2/muse/midiedit/ecanvas.cpp index 9189d177..80d901bb 100644 --- a/muse2/muse/midiedit/ecanvas.cpp +++ b/muse2/muse/midiedit/ecanvas.cpp @@ -3,6 +3,7 @@ // Linux Music Editor // $Id: ecanvas.cpp,v 1.8.2.6 2009/05/03 04:14:00 terminator356 Exp $ // (C) Copyright 2001 Werner Schweer (ws@seh.de) +// (C) Copyright 2011 Tim E. Real (terminator356 on sourceforge) // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License @@ -325,54 +326,54 @@ void EventCanvas::keyPress(QKeyEvent* event) } // Select items by key (PianoRoll & DrumEditor) else if (key == shortcuts[SHRT_SEL_RIGHT].key || key == shortcuts[SHRT_SEL_RIGHT_ADD].key) { - iCItem i, iRightmost; - CItem* rightmost = NULL; - //Get the rightmost selected note (if any) - for (i = items.begin(); i != items.end(); ++i) { - if (i->second->isSelected()) { - iRightmost = i; rightmost = i->second; - } - } - if (rightmost) { - iCItem temp = iRightmost; temp++; - //If so, deselect current note and select the one to the right - if (temp != items.end()) { - if (key != shortcuts[SHRT_SEL_RIGHT_ADD].key) - deselectAll(); - - iRightmost++; - iRightmost->second->setSelected(true); - updateSelection(); - } - } - //if (rightmost && mapx(rightmost->event().tick()) > width()) for some reason this doesn't this doesnt move the event in view - // emit followEvent(rightmost->x()); - + rciCItem i; + for (i = items.rbegin(); i != items.rend(); ++i) + if (i->second->isSelected()) + break; + + if(i == items.rend()) + i = items.rbegin(); + + if(i != items.rbegin()) + --i; + if(i->second) + { + if (key != shortcuts[SHRT_SEL_RIGHT_ADD].key) + deselectAll(); + CItem* sel = i->second; + sel->setSelected(true); + updateSelection(); + if (sel->x() + sel->width() > mapxDev(width())) + { + int mx = rmapx(sel->x()); + int newx = mx + rmapx(sel->width()) - width(); + // Leave a bit of room for the specially-drawn drum notes. But good for piano too. + emit horizontalScroll( (newx > mx ? mx - 10: newx + 10) - rmapx(xorg) ); + } + } } //Select items by key: (PianoRoll & DrumEditor) else if (key == shortcuts[SHRT_SEL_LEFT].key || key == shortcuts[SHRT_SEL_LEFT_ADD].key) { - iCItem i, iLeftmost; - CItem* leftmost = NULL; - if (items.size() > 0 ) { - for (i = items.end(), i--; i != items.begin(); i--) { - if (i->second->isSelected()) { - iLeftmost = i; leftmost = i->second; - } - } - if (leftmost) { - if (iLeftmost != items.begin()) { - //Add item - if (key != shortcuts[SHRT_SEL_LEFT_ADD].key) - deselectAll(); - - iLeftmost--; - iLeftmost->second->setSelected(true); - updateSelection(); - } - } - //if (leftmost && mapx(leftmost->event().tick())< 0 ) for some reason this doesn't this doesnt move the event in view - // emit followEvent(leftmost->x()); - } + ciCItem i; + for (i = items.begin(); i != items.end(); ++i) + if (i->second->isSelected()) + break; + + if(i == items.end()) + i = items.begin(); + + if(i != items.begin()) + --i; + if(i->second) + { + if (key != shortcuts[SHRT_SEL_LEFT_ADD].key) + deselectAll(); + CItem* sel = i->second; + sel->setSelected(true); + updateSelection(); + if (sel->x() <= mapxDev(0)) + emit horizontalScroll(rmapx(sel->x() - xorg) - 10); // Leave a bit of room. + } } else if (key == shortcuts[SHRT_INC_PITCH].key) { modifySelected(NoteInfo::VAL_PITCH, 1); diff --git a/muse2/muse/midiedit/pianoroll.cpp b/muse2/muse/midiedit/pianoroll.cpp index 926f4212..8c2a7a87 100644 --- a/muse2/muse/midiedit/pianoroll.cpp +++ b/muse2/muse/midiedit/pianoroll.cpp @@ -56,6 +56,7 @@ #include "tb1.h" #include "utils.h" #include "globals.h" +#include "app.h" #include "gconfig.h" #include "icons.h" #include "audio.h" @@ -532,6 +533,7 @@ PianoRoll::PianoRoll(MusECore::PartList* pl, QWidget* parent, const char* name, } initTopwinState(); + MusEGlobal::muse->topwinMenuInited(this); } //--------------------------------------------------------- diff --git a/muse2/muse/midiedit/scoreedit.cpp b/muse2/muse/midiedit/scoreedit.cpp index b06f2487..51e1cafc 100644 --- a/muse2/muse/midiedit/scoreedit.cpp +++ b/muse2/muse/midiedit/scoreedit.cpp @@ -166,6 +166,15 @@ QColor* mycolors; // array [NUM_MYCOLORS] set ScoreEdit::names; +int ScoreCanvas::_quant_power2_init=3; +int ScoreCanvas::_pixels_per_whole_init=300; +int ScoreCanvas::note_velo_init=64; +int ScoreCanvas::note_velo_off_init=64; +int ScoreCanvas::new_len_init=0; +ScoreCanvas::coloring_mode_t ScoreCanvas::coloring_mode_init=COLOR_MODE_BLACK; +bool ScoreCanvas::preamble_contains_timesig_init=true; +bool ScoreCanvas::preamble_contains_keysig_init=true; + //--------------------------------------------------------- // ScoreEdit @@ -293,8 +302,22 @@ ScoreEdit::ScoreEdit(QWidget* parent, const char* name, unsigned initPos) len_actions->addAction(n32_action); len_actions->addAction(nlast_action); - nlast_action->setChecked(true); - menu_command(CMD_NOTELEN_LAST); + switch (ScoreCanvas::new_len_init) + { + case 0: nlast_action->setChecked(true); menu_command(CMD_NOTELEN_LAST); break; + case 1: n1_action->setChecked(true); menu_command(CMD_NOTELEN_1); break; + case 2: n2_action->setChecked(true); menu_command(CMD_NOTELEN_2); break; + case 4: n4_action->setChecked(true); menu_command(CMD_NOTELEN_4); break; + case 8: n8_action->setChecked(true); menu_command(CMD_NOTELEN_8); break; + case 16: n16_action->setChecked(true); menu_command(CMD_NOTELEN_16); break; + case 32: n32_action->setChecked(true); menu_command(CMD_NOTELEN_32); break; + default: + cerr << "ERROR: THIS SHOULD NEVER HAPPEN. newLen is invalid in ScoreEdit::ScoreEdit.\n" << + " (newLen="<setChecked(true); + menu_command(CMD_NOTELEN_LAST); + } note_settings_toolbar->addSeparator(); @@ -316,7 +339,7 @@ ScoreEdit::ScoreEdit(QWidget* parent, const char* name, unsigned initPos) connect(velo_spinbox, SIGNAL(editingFinished()), SLOT(velo_box_changed())); connect(this,SIGNAL(velo_changed(int)), score_canvas, SLOT(set_velo(int))); note_settings_toolbar->addWidget(velo_spinbox); - velo_spinbox->setValue(64); + velo_spinbox->setValue(ScoreCanvas::note_velo_init); note_settings_toolbar->addWidget(new QLabel(tr("Off-Velocity:"), note_settings_toolbar)); velo_off_spinbox = new QSpinBox(this); @@ -327,7 +350,7 @@ ScoreEdit::ScoreEdit(QWidget* parent, const char* name, unsigned initPos) connect(velo_off_spinbox, SIGNAL(editingFinished()), SLOT(velo_off_box_changed())); connect(this,SIGNAL(velo_off_changed(int)), score_canvas, SLOT(set_velo_off(int))); note_settings_toolbar->addWidget(velo_off_spinbox); - velo_off_spinbox->setValue(64); + velo_off_spinbox->setValue(ScoreCanvas::note_velo_off_init); @@ -336,13 +359,16 @@ ScoreEdit::ScoreEdit(QWidget* parent, const char* name, unsigned initPos) quant_toolbar->addWidget(new QLabel(tr("Quantisation:"), quant_toolbar)); quant_combobox = new QComboBox(this); quant_combobox->addItem("2"); // if you add or remove items from - quant_combobox->addItem("4"); // here, also change quant_mapper[] - quant_combobox->addItem("8"); // in ScoreCanvas::set_quant()! + quant_combobox->addItem("4"); // here, also change all code regarding + quant_combobox->addItem("8"); // _quant_power2 and _quant_power2_init quant_combobox->addItem("16"); // and MAX_QUANT_POWER (must be log2(largest_value)) quant_combobox->addItem("32"); + quant_combobox->setCurrentIndex(score_canvas->quant_power2()-1); + // the above is intendedly executed BEFORE connecting. otherwise this would + // destroy pixels_per_whole_init! connect(quant_combobox, SIGNAL(currentIndexChanged(int)), score_canvas, SLOT(set_quant(int))); quant_toolbar->addWidget(quant_combobox); - quant_combobox->setCurrentIndex(2); + quant_toolbar->addSeparator(); @@ -353,7 +379,7 @@ ScoreEdit::ScoreEdit(QWidget* parent, const char* name, unsigned initPos) connect(px_per_whole_spinbox, SIGNAL(valueChanged(int)), score_canvas, SLOT(set_pixels_per_whole(int))); connect(score_canvas, SIGNAL(pixels_per_whole_changed(int)), px_per_whole_spinbox, SLOT(setValue(int))); quant_toolbar->addWidget(px_per_whole_spinbox); - px_per_whole_spinbox->setValue(300); + px_per_whole_spinbox->setValue(ScoreCanvas::_pixels_per_whole_init); QMenu* edit_menu = menuBar()->addMenu(tr("&Edit")); @@ -454,8 +480,18 @@ ScoreEdit::ScoreEdit(QWidget* parent, const char* name, unsigned initPos) menu_mapper->setMapping(color_velo_action, CMD_COLOR_VELO); menu_mapper->setMapping(color_part_action, CMD_COLOR_PART); - color_black_action->setChecked(true); - menu_command(CMD_COLOR_BLACK); + switch (ScoreCanvas::coloring_mode_init) + { + case 0: color_black_action->setChecked(true); menu_command(CMD_COLOR_BLACK); break; + case 1: color_velo_action->setChecked(true); menu_command(CMD_COLOR_VELO); break; + case 2: color_part_action->setChecked(true); menu_command(CMD_COLOR_PART); break; + default: + cerr << "ERROR: THIS SHOULD NEVER HAPPEN. noteColor is invalid in ScoreEdit::ScoreEdit.\n" << + " (noteColor="<setChecked(true); + menu_command(CMD_COLOR_BLACK); + } QMenu* preamble_menu = settings_menu->addMenu(tr("Set up &preamble")); preamble_keysig_action = preamble_menu->addAction(tr("Display &key signature")); @@ -466,8 +502,8 @@ ScoreEdit::ScoreEdit(QWidget* parent, const char* name, unsigned initPos) preamble_keysig_action->setCheckable(true); preamble_timesig_action->setCheckable(true); - preamble_keysig_action->setChecked(true); - preamble_timesig_action->setChecked(true); + preamble_keysig_action->setChecked(ScoreCanvas::preamble_contains_keysig_init); + preamble_timesig_action->setChecked(ScoreCanvas::preamble_contains_timesig_init); QAction* set_name_action = settings_menu->addAction(tr("Set Score &name"), menu_mapper, SLOT(map())); menu_mapper->setMapping(set_name_action, CMD_SET_NAME); @@ -503,6 +539,7 @@ ScoreEdit::ScoreEdit(QWidget* parent, const char* name, unsigned initPos) apply_velo=true; initTopwinState(); + MusEGlobal::muse->topwinMenuInited(this); } void ScoreEdit::init_shortcuts() @@ -587,7 +624,7 @@ bool ScoreEdit::set_name(QString newname, bool emit_signal, bool emergency_name) ScoreEdit::~ScoreEdit() { - + names.erase(name); } void ScoreEdit::velo_box_changed() @@ -602,9 +639,9 @@ void ScoreEdit::velo_off_box_changed() void ScoreEdit::song_changed(int flags) { - if(_isDeleting) // Ignore while while deleting to prevent crash. - return; - + if(_isDeleting) // Ignore while while deleting to prevent crash. + return; + if (flags & (SC_SELECTION | SC_EVENT_MODIFIED | SC_EVENT_REMOVED)) { map selection=get_events(score_canvas->get_all_parts(),1); @@ -673,8 +710,9 @@ void ScoreEdit::viewport_height_changed(int height) void ScoreEdit::closeEvent(QCloseEvent* e) { - _isDeleting = true; // Set flag so certain signals like songChanged, which may cause crash during delete, can be ignored. - + _isDeleting = true; // Set flag so certain signals like songChanged, which may cause crash during delete, can be ignored. + names.erase(name); + QSettings settings("MusE", "MusE-qt"); //settings.setValue("ScoreEdit/geometry", saveGeometry()); settings.setValue("ScoreEdit/windowState", saveState()); @@ -692,8 +730,8 @@ void ScoreEdit::menu_command(int cmd) { bool ok; QString newname = QInputDialog::getText(this, tr("Enter the new score title"), - tr("Enter the new score title"), QLineEdit::Normal, - name, &ok); + tr("Enter the new score title"), QLineEdit::Normal, + name, &ok); if (ok) { if (!set_name(newname)) @@ -1059,7 +1097,23 @@ void ScoreEdit::read_configuration(MusECore::Xml& xml) switch (token) { case MusECore::Xml::TagStart: - if (tag == "topwin") + if (tag=="quantPowerInit") + ScoreCanvas::_quant_power2_init=xml.parseInt(); + else if (tag=="pxPerWholeInit") + ScoreCanvas::_pixels_per_whole_init=xml.parseInt(); + else if (tag=="newNoteVeloInit") + ScoreCanvas::note_velo_init=xml.parseInt(); + else if (tag=="newNoteVeloOffInit") + ScoreCanvas::note_velo_off_init=xml.parseInt(); + else if (tag=="newLenInit") + ScoreCanvas::new_len_init=xml.parseInt(); + else if (tag=="noteColorInit") + ScoreCanvas::coloring_mode_init=(ScoreCanvas::coloring_mode_t)xml.parseInt(); + else if (tag=="preambleContainsKeysig") + ScoreCanvas::preamble_contains_keysig_init=xml.parseInt(); + else if (tag=="preambleContainsTimesig") + ScoreCanvas::preamble_contains_timesig_init=xml.parseInt(); + else if (tag == "topwin") TopWin::readConfiguration(SCORE, xml); else xml.unknown("ScoreEdit"); @@ -1079,7 +1133,18 @@ void ScoreEdit::read_configuration(MusECore::Xml& xml) void ScoreEdit::write_configuration(int level, MusECore::Xml& xml) { xml.tag(level++, "scoreedit"); + + xml.intTag(level, "quantPowerInit", ScoreCanvas::_quant_power2_init); + xml.intTag(level, "pxPerWholeInit", ScoreCanvas::_pixels_per_whole_init); + xml.intTag(level, "newNoteVeloInit", ScoreCanvas::note_velo_init); + xml.intTag(level, "newNoteVeloOffInit", ScoreCanvas::note_velo_off_init); + xml.intTag(level, "newLenInit", ScoreCanvas::new_len_init); + xml.intTag(level, "noteColorInit", ScoreCanvas::coloring_mode_init); + xml.intTag(level, "preambleContainsKeysig", ScoreCanvas::preamble_contains_keysig_init); + xml.intTag(level, "preambleContainsTimesig", ScoreCanvas::preamble_contains_timesig_init); + TopWin::writeConfiguration(SCORE, level, xml); + xml.etag(level, "scoreedit"); } @@ -1216,22 +1281,20 @@ ScoreCanvas::ScoreCanvas(ScoreEdit* pr, QWidget* parent_widget) : View(parent_wi dragged_event_part=NULL; last_len=384; - new_len=-1; + new_len=-1; // will be initalized with new_len_init by ScoreEdit::ScoreEdit(); - set_quant(2); //this is actually unneccessary, as while - //initalizing the quant_combobox, this gets - //called again. but for safety... - set_pixels_per_whole(300); //same as above. but safety rocks + _quant_power2=_quant_power2_init; // ScoreEdit relies on this to be done! + _pixels_per_whole_init = _pixels_per_whole_init; - set_velo(64); - set_velo_off(64); + note_velo=note_velo_init; + note_velo_off_init=note_velo_off_init; dragging_staff=false; - coloring_mode=COLOR_MODE_BLACK; - preamble_contains_keysig=true; - preamble_contains_timesig=true; + coloring_mode=coloring_mode_init; + preamble_contains_keysig=preamble_contains_keysig_init; + preamble_contains_timesig=preamble_contains_timesig_init; x_scroll_speed=0; @@ -1455,7 +1518,7 @@ void ScoreCanvas::song_changed(int flags) { if(parent && parent->deleting()) // Ignore while while deleting to prevent crash. return; - + if (flags & (SC_PART_MODIFIED | SC_PART_REMOVED | SC_PART_INSERTED | SC_TRACK_REMOVED)) { update_parts(); @@ -1534,7 +1597,7 @@ void color_image(QImage& img, const QColor& color) { uchar* ptr=img.bits(); //int bytes=img.byteCount(); - int bytes=img.bytesPerLine() * img.height(); // By Tim. For older Qt versions. Tested OK on Qt4.5. + int bytes=img.bytesPerLine() * img.height(); // By Tim. For older Qt versions. Tested OK on Qt4.5. int r,g,b; color.getRgb(&r,&g,&b); @@ -4280,16 +4343,16 @@ void ScoreCanvas::menu_command(int cmd) { switch (cmd) { - case CMD_COLOR_BLACK: coloring_mode=COLOR_MODE_BLACK; redraw(); break; - case CMD_COLOR_PART: coloring_mode=COLOR_MODE_PART; redraw(); break; - case CMD_COLOR_VELO: coloring_mode=COLOR_MODE_VELO; redraw(); break; - case CMD_NOTELEN_1: new_len=TICKS_PER_WHOLE/ 1; break; - case CMD_NOTELEN_2: new_len=TICKS_PER_WHOLE/ 2; break; - case CMD_NOTELEN_4: new_len=TICKS_PER_WHOLE/ 4; break; - case CMD_NOTELEN_8: new_len=TICKS_PER_WHOLE/ 8; break; - case CMD_NOTELEN_16: new_len=TICKS_PER_WHOLE/16; break; - case CMD_NOTELEN_32: new_len=TICKS_PER_WHOLE/32; break; - case CMD_NOTELEN_LAST: new_len=-1; break; + case CMD_COLOR_BLACK: coloring_mode_init=coloring_mode=COLOR_MODE_BLACK; redraw(); break; + case CMD_COLOR_PART: coloring_mode_init=coloring_mode=COLOR_MODE_PART; redraw(); break; + case CMD_COLOR_VELO: coloring_mode_init=coloring_mode=COLOR_MODE_VELO; redraw(); break; + case CMD_NOTELEN_1: new_len_init= 1; new_len=TICKS_PER_WHOLE/ 1; break; + case CMD_NOTELEN_2: new_len_init= 2; new_len=TICKS_PER_WHOLE/ 2; break; + case CMD_NOTELEN_4: new_len_init= 4; new_len=TICKS_PER_WHOLE/ 4; break; + case CMD_NOTELEN_8: new_len_init= 8; new_len=TICKS_PER_WHOLE/ 8; break; + case CMD_NOTELEN_16: new_len_init=16; new_len=TICKS_PER_WHOLE/16; break; + case CMD_NOTELEN_32: new_len_init=32; new_len=TICKS_PER_WHOLE/32; break; + case CMD_NOTELEN_LAST: new_len_init= 0; new_len=-1; break; default: cerr << "ERROR: ILLEGAL FUNCTION CALL: ScoreCanvas::menu_command called with unknown command ("<=0) && (val=0) && (val<5)) { int old_len=quant_len(); - _quant_power2=quant_mapper[val]; + _quant_power2=val+1; + _quant_power2_init=_quant_power2; set_pixels_per_whole(pixels_per_whole() * quant_len() / old_len ); @@ -4342,6 +4406,7 @@ void ScoreCanvas::set_pixels_per_whole(int val) // zero!) _pixels_per_whole=val; + _pixels_per_whole_init=val; for (list::iterator it=staves.begin(); it!=staves.end(); it++) it->calc_item_pos(); @@ -4383,6 +4448,7 @@ void ScoreCanvas::maybe_close_if_empty() void ScoreCanvas::set_velo(int velo) { note_velo=velo; + note_velo_init=velo; if (parent->get_apply_velo()) modify_velocity(get_all_parts(),1, 0,velo); @@ -4391,6 +4457,7 @@ void ScoreCanvas::set_velo(int velo) void ScoreCanvas::set_velo_off(int velo) { note_velo_off=velo; + note_velo_off_init=velo; if (parent->get_apply_velo()) modify_off_velocity(get_all_parts(),1, 0,velo); @@ -4586,24 +4653,23 @@ void ScoreCanvas::add_new_parts(const std::map< MusECore::Part*, std::set o when changing toolbarstate when sharing and immediately after that * changing "share" status, the changed state isn't stored + * (could be solved by storing the current window when quitting/saving whatever) * ? pasting in editors sometimes fails oO? ( ERROR: reading eventlist * from clipboard failed. ignoring this one... ) [ not reproducible ] - * > o non-mdi topwin states aren't restored when launching muse2 somefile.med * ! o using super glue while a score editor displaying the glued parts * is open lets muse segfault. this may or may not be fixed in * the release branch :/ * * CURRENT TODO * > o fix valgrind problems (the two "FINDMICHJETZT" lines in scoreedit.cpp) - * > o newly created windows have to be focussed! + * > o add a songposition scrollbar-toolbar (in different sizes) + * this might be equivalent to "redo transport menu" (below). + * > o add toolbar(s) for tempo- etc spinboxes from the transport window * * IMPORTANT TODO + * o support edge-scrolling when opening a lasso * o add "dotted quarter" quantize option (for 6/8 beat) * o ticks-to-quarter spinboxes * o mirror most menus to an additional right-click context menu to avoid the long mouse pointer @@ -4628,6 +4694,7 @@ void ScoreCanvas::add_new_parts(const std::map< MusECore::Part*, std::set::iterator dest, list::iterator src); void cleanup_staves(); void maybe_close_if_empty(); - + +// defaults ---------------------------------------------------------- + public: + enum coloring_mode_t {COLOR_MODE_BLACK, COLOR_MODE_PART, COLOR_MODE_VELO}; + static int _quant_power2_init; + static int _pixels_per_whole_init; + static int note_velo_init, note_velo_off_init; + static int new_len_init; + static coloring_mode_t coloring_mode_init; + static bool preamble_contains_timesig_init; + static bool preamble_contains_keysig_init; + // member variables --------------------------------------------------- + private: int _quant_power2; int _pixels_per_whole; @@ -746,7 +758,7 @@ class ScoreCanvas : public MusEGui::View bool srec; bool held_notes[128]; - enum {COLOR_MODE_BLACK, COLOR_MODE_PART, COLOR_MODE_VELO} coloring_mode; + coloring_mode_t coloring_mode; bool preamble_contains_keysig; bool preamble_contains_timesig; @@ -776,38 +788,38 @@ class ScoreCanvas : public MusEGui::View void add_new_parts(const std::map< MusECore::Part*, std::set >&); - public slots: - void x_scroll_event(int); - void y_scroll_event(int); - void song_changed(int); - void fully_recalculate(); - void goto_tick(int,bool); - void pos_changed(int i, unsigned u, bool b); - void heartbeat_timer_event(); - - void set_tool(int); - void set_quant(int); - void menu_command(int); - void preamble_keysig_slot(bool); - void preamble_timesig_slot(bool); - void set_pixels_per_whole(int); + public slots: + void x_scroll_event(int); + void y_scroll_event(int); + void song_changed(int); + void fully_recalculate(); + void goto_tick(int,bool); + void pos_changed(int i, unsigned u, bool b); + void heartbeat_timer_event(); - void set_velo(int); - void set_velo_off(int); + void set_tool(int); + void set_quant(int); + void menu_command(int); + void preamble_keysig_slot(bool); + void preamble_timesig_slot(bool); + void set_pixels_per_whole(int); - void set_steprec(bool); - - void update_parts(); //re-populates the sets from the sets + void set_velo(int); + void set_velo_off(int); + + void set_steprec(bool); + + void update_parts(); //re-populates the sets from the sets signals: - void xscroll_changed(int); - void yscroll_changed(int); - void viewport_width_changed(int); - void canvas_width_changed(int); - void preamble_width_changed(int); - void viewport_height_changed(int); - void canvas_height_changed(int); - void pixels_per_whole_changed(int); - void pos_add_changed(); + void xscroll_changed(int); + void yscroll_changed(int); + void viewport_width_changed(int); + void canvas_width_changed(int); + void preamble_width_changed(int); + void viewport_height_changed(int); + void canvas_height_changed(int); + void pixels_per_whole_changed(int); + void pos_add_changed(); protected: virtual void draw(QPainter& p, const QRect& rect); diff --git a/muse2/muse/midiport.cpp b/muse2/muse/midiport.cpp index 19fef51b..b7d1d7b7 100644 --- a/muse2/muse/midiport.cpp +++ b/muse2/muse/midiport.cpp @@ -332,8 +332,8 @@ QMenu* midiPortsPopup(QWidget* parent, int checkPort) { MusECore::MidiDevice* md = MusEGlobal::midiPorts[pi].device(); //if(md && !md->isSynti() && (md->rwFlags() & 1)) - //if(md && (md->rwFlags() & 1)) - if(md && (md->rwFlags() & 1 || md->isSynti()) ) + if(md && (md->rwFlags() & 1)) + //if(md && (md->rwFlags() & 1 || md->isSynti()) ) // Revert. Hm, why synths? Only writeable ports. p4.0.41 break; } if(pi == MIDI_PORTS) @@ -352,8 +352,12 @@ QMenu* midiPortsPopup(QWidget* parent, int checkPort) for (int i = 0; i < MIDI_PORTS; ++i) { MidiPort* port = &MusEGlobal::midiPorts[i]; + MusECore::MidiDevice* md = port->device(); + //if(md && !(md->rwFlags() & 1 || md->isSynti()) && (i != checkPort)) + if(md && !(md->rwFlags() & 1) && (i != checkPort)) // Only writeable ports, or current one. + continue; name.sprintf("%d:%s", port->portno()+1, port->portname().toLatin1().constData()); - if(port->device() || (i == checkPort)) + if(md || (i == checkPort)) { act = p->addAction(name); act->setData(i); @@ -361,7 +365,7 @@ QMenu* midiPortsPopup(QWidget* parent, int checkPort) act->setChecked(i == checkPort); } - if(!port->device()) + if(!md) { if(!subp) // No submenu yet? Create it now. { diff --git a/muse2/muse/midiseq.cpp b/muse2/muse/midiseq.cpp index e31db7c7..1e46db11 100644 --- a/muse2/muse/midiseq.cpp +++ b/muse2/muse/midiseq.cpp @@ -44,6 +44,7 @@ #include "synth.h" #include "song.h" #include "gconfig.h" +#include namespace MusEGlobal { MusECore::MidiSeq* midiSeq; @@ -54,6 +55,12 @@ namespace MusECore { int MidiSeq::ticker = 0; +void initMidiSequencer() +{ + //MusEGlobal::midiSeq = new MidiSeq(MusEGlobal::realTimeScheduling ? MusEGlobal::realTimePriority : 0, "Midi"); + MusEGlobal::midiSeq = new MidiSeq("Midi"); +} + //--------------------------------------------------------- // readMsg //--------------------------------------------------------- @@ -819,16 +826,16 @@ void MidiSeq::msgMsg(int id) void MidiSeq::msgSetMidiDevice(MidiPort* port, MidiDevice* device) { - MusECore::AudioMsg msg; - msg.id = MusECore::SEQM_IDLE; - msg.a = true; - Thread::sendMsg(&msg); - - port->setMidiDevice(device); + MusECore::AudioMsg msg; + msg.id = MusECore::SEQM_IDLE; + msg.a = true; + Thread::sendMsg(&msg); + + port->setMidiDevice(device); - msg.id = MusECore::SEQM_IDLE; - msg.a = false; - Thread::sendMsg(&msg); + msg.id = MusECore::SEQM_IDLE; + msg.a = false; + Thread::sendMsg(&msg); } // This does not appear to be used anymore. Was called in Audio::process1, now Audio::processMidi is called directly. p4.0.15 Tim. diff --git a/muse2/muse/mixer/amixer.cpp b/muse2/muse/mixer/amixer.cpp index 731af9a4..439a92b9 100644 --- a/muse2/muse/mixer/amixer.cpp +++ b/muse2/muse/mixer/amixer.cpp @@ -169,7 +169,7 @@ AudioMixerApp::AudioMixerApp(QWidget* parent, MusEGlobal::MixerConfig* c) setWindowIcon(*museIcon); QMenu* menuConfig = menuBar()->addMenu(tr("&Create")); - MusEGui::populateAddTrack(menuConfig); + MusEGui::populateAddTrack(menuConfig,true); connect(menuConfig, SIGNAL(triggered(QAction *)), MusEGlobal::song, SLOT(addNewTrack(QAction *))); QMenu* menuView = menuBar()->addMenu(tr("&View")); diff --git a/muse2/muse/mixer/astrip.cpp b/muse2/muse/mixer/astrip.cpp index 10f281fb..9c393a1a 100644 --- a/muse2/muse/mixer/astrip.cpp +++ b/muse2/muse/mixer/astrip.cpp @@ -147,6 +147,7 @@ void AudioStrip::songChanged(int val) // Set the strip label's font. //label->setFont(MusEGlobal::config.fonts[1]); setLabelFont(); + setLabelText(); // Adjust minimum volume slider and label values. slider->setRange(MusEGlobal::config.minSlider-0.1, 10.0); @@ -203,7 +204,17 @@ void AudioStrip::songChanged(int val) pre->setChecked(src->prefader()); pre->blockSignals(false); } - } + + // Are there any Aux Track routing paths to this track? Then we cannot process aux for this track! + // Hate to do this, but as a quick visual reminder, seems most logical to disable Aux knobs and labels. + int rc = track->auxRefCount(); + int n = auxKnob.size(); + for (int idx = 0; idx < n; ++idx) + { + auxKnob[idx]->setEnabled( rc == 0 ); + auxLabel[idx]->setEnabled( rc == 0 ); + } + } if (val & SC_AUX) { int n = auxKnob.size(); for (int idx = 0; idx < n; ++idx) { @@ -333,11 +344,14 @@ void AudioStrip::updateOffState() stereo->setEnabled(val); label->setEnabled(val); + // Are there any Aux Track routing paths to this track? Then we cannot process aux for this track! + // Hate to do this, but as a quick visual reminder, seems most logical to disable Aux knobs and labels. + bool ae = track->auxRefCount() == 0 && val; int n = auxKnob.size(); for (int i = 0; i < n; ++i) { - auxKnob[i]->setEnabled(val); - auxLabel[i]->setEnabled(val); + auxKnob[i]->setEnabled(ae); + auxLabel[i]->setEnabled(ae); } if (pre) @@ -348,12 +362,12 @@ void AudioStrip::updateOffState() solo->setEnabled(val); if (mute) mute->setEnabled(val); - if (autoType) - autoType->setEnabled(val); - if (iR) - iR->setEnabled(val); - if (oR) - oR->setEnabled(val); + //if (autoType) + // autoType->setEnabled(val); + //if (iR) + // iR->setEnabled(val); + //if (oR) + // oR->setEnabled(val); if (off) { off->blockSignals(true); off->setChecked(track->off()); @@ -799,6 +813,12 @@ AudioStrip::AudioStrip(QWidget* parent, MusECore::AudioTrack* at) double val = MusECore::fast_log10(t->auxSend(idx))*20.0; ak->setValue(val); al->setValue(val); + + // Are there any Aux Track routing paths to this track? Then we cannot process aux for this track! + // Hate to do this, but as a quick visual reminder, seems most logical to disable Aux knobs and labels. + int rc = track->auxRefCount(); + ak->setEnabled( rc == 0 ); + al->setEnabled( rc == 0 ); } } else { diff --git a/muse2/muse/mixer/mstrip.cpp b/muse2/muse/mixer/mstrip.cpp index 2e51feb9..dc495aa6 100644 --- a/muse2/muse/mixer/mstrip.cpp +++ b/muse2/muse/mixer/mstrip.cpp @@ -448,9 +448,8 @@ void MidiStrip::updateOffState() // TODO: Disabled for now. //if (autoType) // autoType->setEnabled(val); - if (iR) - iR->setEnabled(val); - // TODO: Disabled for now. + //if (iR) + // iR->setEnabled(val); //if (oR) // oR->setEnabled(val); if (off) { @@ -504,6 +503,7 @@ void MidiStrip::songChanged(int val) // Set the strip label's font. //label->setFont(MusEGlobal::config.fonts[1]); setLabelFont(); + setLabelText(); } } diff --git a/muse2/muse/mixer/strip.cpp b/muse2/muse/mixer/strip.cpp index b87c4629..c26a9a15 100644 --- a/muse2/muse/mixer/strip.cpp +++ b/muse2/muse/mixer/strip.cpp @@ -29,6 +29,8 @@ #include #include #include +#include +#include #include "globals.h" #include "gconfig.h" @@ -161,7 +163,8 @@ void Strip::setLabelText() //gradient.setColorAt(0, c.darker()); //gradient.setColorAt(0, c); //gradient.setColorAt(1, c.darker()); - gradient.setColorAt(0, c.lighter()); + gradient.setColorAt(0, c); + gradient.setColorAt(0.5, c.lighter()); gradient.setColorAt(1, c); //palette.setBrush(QPalette::Button, gradient); //palette.setBrush(QPalette::Window, gradient); @@ -303,6 +306,23 @@ void Strip::resizeEvent(QResizeEvent* ev) setLabelText(); setLabelFont(); } - + +void Strip::mousePressEvent(QMouseEvent* ev) +{ + if (ev->button() == Qt::RightButton) { + QMenu* menu = new QMenu; + menu->addAction(tr("Remove track?")); + QPoint pt = QCursor::pos(); + QAction* act = menu->exec(pt, 0); + if (!act) + { + delete menu; + return; + } + MusEGlobal::song->removeTrack0(track); + MusEGlobal::audio->msgUpdateSoloStates(); + } +} + } // namespace MusEGui diff --git a/muse2/muse/mixer/strip.h b/muse2/muse/mixer/strip.h index 5b3b541b..d0cde1a6 100644 --- a/muse2/muse/mixer/strip.h +++ b/muse2/muse/mixer/strip.h @@ -73,6 +73,7 @@ class Strip : public QFrame { MusEGui::ComboBox* autoType; void setLabelText(); virtual void resizeEvent(QResizeEvent*); + virtual void mousePressEvent(QMouseEvent *); private slots: void recordToggled(bool); diff --git a/muse2/muse/node.cpp b/muse2/muse/node.cpp index dd41ba10..cb77f939 100644 --- a/muse2/muse/node.cpp +++ b/muse2/muse/node.cpp @@ -4,6 +4,7 @@ // $Id: node.cpp,v 1.36.2.25 2009/12/20 05:00:35 terminator356 Exp $ // // (C) Copyright 2000-2004 Werner Schweer (ws@seh.de) +// (C) Copyright 2011 Tim E. Real (terminator356 on sourceforge) // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License @@ -25,6 +26,8 @@ #include #include +#include + #include "node.h" #include "globals.h" #include "gconfig.h" @@ -44,7 +47,6 @@ //#define NODE_DEBUG //#define FIFO_DEBUG -// Added by Tim. p3.3.18 //#define METRONOME_DEBUG namespace MusECore { @@ -162,10 +164,19 @@ void Track::updateInternalSoloStates() void MidiTrack::updateInternalSoloStates() { - if(this == _tmpSoloChainTrack) - return; - - Track::updateInternalSoloStates(); + if(_nodeTraversed) // Anti circular mechanism. + { + fprintf(stderr, "MidiTrack::updateInternalSoloStates %s :\n MusE Warning: Please check your routes: Circular path found!\n", name().toLatin1().constData()); + return; + } + //if(this == _tmpSoloChainTrack) + // return; + + _nodeTraversed = true; + + Track::updateInternalSoloStates(); + + _nodeTraversed = false; // Reset. } @@ -175,40 +186,61 @@ void MidiTrack::updateInternalSoloStates() void AudioTrack::updateInternalSoloStates() { - if(this == _tmpSoloChainTrack) - return; - - Track::updateInternalSoloStates(); - - if(_tmpSoloChainDoIns) + if(_nodeTraversed) // Anti circular mechanism. + { + fprintf(stderr, "AudioTrack::updateInternalSoloStates %s :\n MusE Warning: Please check your routes: Circular path found!\n", name().toLatin1().constData()); + return; + } + //if(this == _tmpSoloChainTrack) + // return; + + _nodeTraversed = true; + + Track::updateInternalSoloStates(); + + if(_tmpSoloChainDoIns) + { + if(type() == AUDIO_SOFTSYNTH) + { + const MusECore::MidiTrackList* ml = MusEGlobal::song->midis(); + for(MusECore::ciMidiTrack im = ml->begin(); im != ml->end(); ++im) { - if(type() == AUDIO_SOFTSYNTH) - { - const MusECore::MidiTrackList* ml = MusEGlobal::song->midis(); - for(MusECore::ciMidiTrack im = ml->begin(); im != ml->end(); ++im) - { - MusECore::MidiTrack* mt = *im; - if(mt->outPort() >= 0 && mt->outPort() == ((SynthI*)this)->midiPort()) - mt->updateInternalSoloStates(); - } - } - - const RouteList* rl = inRoutes(); - for(ciRoute ir = rl->begin(); ir != rl->end(); ++ir) - { - if(ir->type == Route::TRACK_ROUTE) - ir->track->updateInternalSoloStates(); - } + MusECore::MidiTrack* mt = *im; + if(mt->outPort() >= 0 && mt->outPort() == ((SynthI*)this)->midiPort()) + mt->updateInternalSoloStates(); } - else - { - const RouteList* rl = outRoutes(); - for(ciRoute ir = rl->begin(); ir != rl->end(); ++ir) + } + + const RouteList* rl = inRoutes(); + for(ciRoute ir = rl->begin(); ir != rl->end(); ++ir) + { + if(ir->type == Route::TRACK_ROUTE) + ir->track->updateInternalSoloStates(); + else + // Support Midi Port -> Audio Input solo chains. p4.0.37 Tim. + if(ir->type == Route::MIDI_PORT_ROUTE) + { + const MidiTrackList* ml = MusEGlobal::song->midis(); + for(ciMidiTrack im = ml->begin(); im != ml->end(); ++im) { - if(ir->type == Route::TRACK_ROUTE) - ir->track->updateInternalSoloStates(); + MidiTrack* mt = *im; + if(mt->outPort() == ir->midiPort && ((1 << mt->outChannel()) & ir->channel) ) + mt->updateInternalSoloStates(); } - } + } + } + } + else + { + const RouteList* rl = outRoutes(); + for(ciRoute ir = rl->begin(); ir != rl->end(); ++ir) + { + if(ir->type == Route::TRACK_ROUTE) + ir->track->updateInternalSoloStates(); + } + } + + _nodeTraversed = false; // Reset. } @@ -221,6 +253,8 @@ void MidiTrack::updateSoloStates(bool noDec) if(noDec && !_solo) return; + _nodeTraversed = true; // Anti circular mechanism. + _tmpSoloChainTrack = this; _tmpSoloChainDoIns = false; _tmpSoloChainNoDec = noDec; @@ -244,6 +278,8 @@ void MidiTrack::updateSoloStates(bool noDec) } } } + + _nodeTraversed = false; // Reset. } @@ -256,6 +292,8 @@ void AudioTrack::updateSoloStates(bool noDec) if(noDec && !_solo) return; + _nodeTraversed = true; // Anti circular mechanism. + _tmpSoloChainTrack = this; _tmpSoloChainNoDec = noDec; updateSoloState(); @@ -301,6 +339,8 @@ void AudioTrack::updateSoloStates(bool noDec) ir->track->updateInternalSoloStates(); } } + + _nodeTraversed = false; // Reset. } @@ -327,7 +367,6 @@ void Track::setOff(bool val) // copyData //--------------------------------------------------------- -//void AudioTrack::copyData(unsigned pos, int dstChannels, unsigned nframes, float** dstBuffer) void AudioTrack::copyData(unsigned pos, int dstChannels, int srcStartChan, int srcChannels, unsigned nframes, float** dstBuffer) { //Changed by T356. 12/12/09. @@ -336,60 +375,51 @@ void AudioTrack::copyData(unsigned pos, int dstChannels, int srcStartChan, int s // Make better use of AudioTrack::outBuffers as a post-effect pre-volume cache system for multiple calls here during processing. // Previously only WaveTrack used them. (Changed WaveTrack as well). + #ifdef NODE_DEBUG + printf("MusE: AudioTrack::copyData name:%s processed:%d\n", name().toLatin1().constData(), processed()); + #endif + if(srcStartChan == -1) srcStartChan = 0; - int srcChans = (srcChannels == -1) ? channels() : srcChannels; + int trackChans = channels(); + int srcChans = (srcChannels == -1) ? trackChans : srcChannels; int srcTotalOutChans = totalOutChannels(); if(channels() == 1) srcTotalOutChans = 1; - #ifdef NODE_DEBUG - printf("MusE: AudioTrack::copyData name:%s processed:%d\n", name().toLatin1().constData(), processed()); - #endif - // Special consideration for metronome: It is not part of the track list, // and it has no in or out routes, yet multiple output tracks may call addData on it ! // We can't tell how many output tracks call it, so we can only assume there might be more than one. // Not strictly necessary here because only addData is ever called, but just to be consistent... - //bool usedirectbuf = (outRoutes()->size() <= 1) || (type() == AUDIO_OUTPUT); - bool usedirectbuf = ((outRoutes()->size() <= 1) || (type() == AUDIO_OUTPUT)) && (this != metronome); + //bool usedirectbuf = ((outRoutes()->size() <= 1) || (type() == AUDIO_OUTPUT)) && (this != metronome); int i; - // p3.3.38 - //float* buffer[srcChannels]; float* buffer[srcTotalOutChans]; + float data[nframes * srcTotalOutChans]; - - //float data[nframes * srcChannels]; - //for(i = 0; i < srcChannels; ++i) - // buffer[i] = data + i * nframes; - // precalculate stereo volume double vol[2]; double _volume = volume(); double _pan = pan(); vol[0] = _volume * (1.0 - _pan); vol[1] = _volume * (1.0 + _pan); - float meter[srcChans]; + float meter[trackChans]; // Have we been here already during this process cycle? if(processed()) { // If there is only one (or no) output routes, it's an error - we've been called more than once per process cycle! + // No, this is no longer an error, it's deliberate. Processing no longer done in 'chains', now done randomly. p4.0.37 #ifdef NODE_DEBUG - if(usedirectbuf) - printf("MusE: AudioTrack::copyData Error! One or no out routes, but already processed! Copying local buffers anyway...\n"); + printf("MusE: AudioTrack::copyData name:%s already processed _haveData:%d\n", name().toLatin1().constData(), _haveData); #endif // Is there already some data gathered from a previous call during this process cycle? if(_haveData) { // Point the input buffers at our local cached 'pre-volume' buffers. They need processing, so continue on after. - //for(i = 0; i < srcChannels; ++i) - // buffer[i] = outBuffers[i]; - // p3.3.38 for(i = 0; i < srcTotalOutChans; ++i) buffer[i] = outBuffers[i]; } @@ -413,29 +443,16 @@ void AudioTrack::copyData(unsigned pos, int dstChannels, int srcStartChan, int s { // First time here during this process cycle. - // Point the input buffers at a temporary stack buffer. - //float data[nframes * srcChannels]; - //for(i = 0; i < srcChannels; ++i) - // buffer[i] = data + i * nframes; - // p3.3.38 - float data[nframes * srcTotalOutChans]; - for(i = 0; i < srcTotalOutChans; ++i) - buffer[i] = data + i * nframes; - - // getData can use the supplied buffers, or change buffer to point to its own local buffers or Jack buffers etc. - // For ex. if this is an audio input, Jack will set the pointers for us in AudioInput::getData! - // p3.3.29 1/27/10 Don't do any processing at all if off. Whereas, mute needs to be ready for action at all times, - // so still call getData before it. Off is NOT meant to be toggled rapidly, but mute is ! - //if(!getData(pos, srcChannels, nframes, buffer) || off() || (isMute() && !_prefader)) - //if(off() || !getData(pos, srcChannels, nframes, buffer) || (isMute() && !_prefader)) - // p3.3.38 - if(off() || !getData(pos, srcTotalOutChans, nframes, buffer) || (isMute() && !_prefader)) - { + _haveData = false; // Reset. + _processed = true; // Set this now. + + if(off()) + { #ifdef NODE_DEBUG - printf("MusE: AudioTrack::copyData name:%s dstChannels:%d zeroing buffers\n", name().toLatin1().constData(), dstChannels); + printf("MusE: AudioTrack::copyData name:%s dstChannels:%d Off, zeroing buffers\n", name().toLatin1().constData(), dstChannels); #endif - // No data was available. Zero the supplied buffers. + // Track is off. Zero the supplied buffers. unsigned int q; for(i = 0; i < dstChannels; ++i) { @@ -448,13 +465,12 @@ void AudioTrack::copyData(unsigned pos, int dstChannels, int srcStartChan, int s memset(dstBuffer[i], 0, sizeof(float) * nframes); } - for(i = 0; i < srcChans; ++i) + _efxPipe->apply(0, nframes, 0); // Just process controls only, not audio (do not 'run'). + + for(i = 0; i < trackChans; ++i) { - //_meter[i] = 0; _meter[i] = 0.0; - - /* - if(!usedirectbuf) + /*if(!usedirectbuf) { if(MusEGlobal::config.useDenormalBias) { @@ -463,22 +479,49 @@ void AudioTrack::copyData(unsigned pos, int dstChannels, int srcStartChan, int s } else memset(outBuffers[i], 0, sizeof(float) * nframes); - } - */ + } */ } - _haveData = false; - _processed = true; + //_haveData = false; + //_processed = true; + //_isProcessing = false; // Unblock. return; } + + // Point the input buffers at a temporary stack buffer. + for(i = 0; i < srcTotalOutChans; ++i) + buffer[i] = data + i * nframes; + + // getData can use the supplied buffers, or change buffer to point to its own local buffers or Jack buffers etc. + // For ex. if this is an audio input, Jack will set the pointers for us in AudioInput::getData! + // Don't do any processing at all if off. Whereas, mute needs to be ready for action at all times, + // so still call getData before it. Off is NOT meant to be toggled rapidly, but mute is ! + if(!getData(pos, srcTotalOutChans, nframes, buffer) || (isMute() && !_prefader)) + { + #ifdef NODE_DEBUG + printf("MusE: AudioTrack::copyData name:%s srcTotalOutChans:%d zeroing buffers\n", name().toLatin1().constData(), srcTotalOutChans); + #endif + + // No data was available. Track is not off. Zero the working buffers and continue on. + unsigned int q; + for(i = 0; i < srcTotalOutChans; ++i) + { + if(MusEGlobal::config.useDenormalBias) + { + for(q = 0; q < nframes; ++q) + buffer[i][q] = MusEGlobal::denormalBias; + } + else + memset(buffer[i], 0, sizeof(float) * nframes); + } + } //--------------------------------------------------- // apply plugin chain //--------------------------------------------------- - // p3.3.41 //fprintf(stderr, "AudioTrack::copyData %s efx apply srcChans:%d\n", name().toLatin1().constData(), srcChans); - _efxPipe->apply(srcChans, nframes, buffer); + _efxPipe->apply(trackChans, nframes, buffer); //--------------------------------------------------- // aux sends @@ -525,18 +568,16 @@ void AudioTrack::copyData(unsigned pos, int dstChannels, int srcStartChan, int s if(_prefader) { - for(i = 0; i < srcChans; ++i) + for(i = 0; i < trackChans; ++i) { float* p = buffer[i]; meter[i] = 0.0; for(unsigned k = 0; k < nframes; ++k) { - double f = fabs(*p); + double f = fabs(*p++); if(f > meter[i]) meter[i] = f; - ++p; } - //_meter[i] = lrint(meter[i] * 32767.0); _meter[i] = meter[i]; if(_meter[i] > _peak[i]) _peak[i] = _meter[i]; @@ -570,20 +611,19 @@ void AudioTrack::copyData(unsigned pos, int dstChannels, int srcStartChan, int s else memset(outBuffers[i], 0, sizeof(float) * nframes); } - } - */ + } */ + - _haveData = false; - _processed = true; + if(!_prefader) + for(i = 0; i < trackChans; ++i) // Must process ALL channels, even if unconnected. Only max 2 channels. + _meter[i] = 0.0; + return; } // If we're using local cached 'pre-volume' buffers, copy the input buffers (as they are right now: post-effect pre-volume) back to them. - if(!usedirectbuf) + //if(!usedirectbuf) { - //for(i = 0; i < srcChannels; ++i) - // AL::dsp->cpy(outBuffers[i], buffer[i], nframes); - // p3.3.38 for(i = 0; i < srcTotalOutChans; ++i) AL::dsp->cpy(outBuffers[i], buffer[i], nframes); } @@ -606,9 +646,9 @@ void AudioTrack::copyData(unsigned pos, int dstChannels, int srcStartChan, int s else memset(dstBuffer[i], 0, sizeof(float) * nframes); } - _processed = true; return; } + // Force a source range to fit actual available total out channels. if((srcStartChan + srcChans) > srcTotalOutChans) srcChans = srcTotalOutChans - srcStartChan; @@ -618,132 +658,94 @@ void AudioTrack::copyData(unsigned pos, int dstChannels, int srcStartChan, int s // postfader metering //--------------------------------------------------- - - if(srcChans == dstChannels) + #ifdef NODE_DEBUG + printf("MusE: AudioTrack::copyData trackChans:%d srcTotalOutChans:%d srcStartChan:%d srcChans:%d dstChannels:%d\n", trackChans, srcTotalOutChans, srcStartChan, srcChans, dstChannels); + #endif + + if(!_prefader) { - if(_prefader) + for(int c = 0; c < trackChans; ++c) { - for(int c = 0; c < dstChannels; ++c) + meter[c] = 0.0; + double v = (trackChans == 1 ? _volume : vol[c]); + float* sp = buffer[c]; + for(unsigned k = 0; k < nframes; ++k) { - // p3.3.38 - //float* sp = buffer[c]; - float* sp = buffer[c + srcStartChan]; - - float* dp = dstBuffer[c]; - for(unsigned k = 0; k < nframes; ++k) - *dp++ = (*sp++ * vol[c]); + float val = *sp++ * v; // If the track is mono pan has no effect on meters. + double f = fabs(val); + if(f > meter[c]) + meter[c] = f; } - } - else + _meter[c] = meter[c]; + if(_meter[c] > _peak[c]) + _peak[c] = _meter[c]; + } + } + + if(srcChans == dstChannels) + { + for(int c = 0; c < dstChannels; ++c) { - for(int c = 0; c < dstChannels; ++c) - { - meter[c] = 0.0; - - // p3.3.38 - //float* sp = buffer[c]; - float* sp = buffer[c + srcStartChan]; - - float* dp = dstBuffer[c]; - //printf("2 dstBuffer[c]=%d\n",long(dstBuffer[c])); - for(unsigned k = 0; k < nframes; ++k) - { - float val = *sp++ * vol[c]; - *dp++ = val; - double f = fabs(val); - if(f > meter[c]) - meter[c] = f; - } - //_meter[c] = lrint(meter[c] * 32767.0); - _meter[c] = meter[c]; - if(_meter[c] > _peak[c]) - _peak[c] = _meter[c]; - } + double v; + if(srcStartChan > 2) // Don't apply pan or volume to extra channels above 2. + //v = _volume; + v = 1.0; + else + if(srcChans >= 2) // If 2 channels apply pan normally. + v = vol[c]; + else + if(trackChans < 2) // If 1 channel and track is 1 channel, don't apply pan. + v = _volume; + else + v = vol[srcStartChan]; // Otherwise 1 channel but track is 2 channels. Apply the channel volume. + + float* sp = buffer[c + srcStartChan]; + float* dp = dstBuffer[c]; + for(unsigned k = 0; k < nframes; ++k) + //*dp++ = (*sp++ * vol[c]); + *dp++ = (*sp++ * v); } } else if(srcChans == 1 && dstChannels == 2) { - // p3.3.38 - //float* sp = buffer[0]; - float* sp = buffer[srcStartChan]; - - if(_prefader) + for(int c = 0; c < dstChannels; ++c) { - for(int c = 0; c < dstChannels; ++c) - { - float* dp = dstBuffer[c]; - for(unsigned k = 0; k < nframes; ++k) - *dp++ = (*sp++ * vol[c]); - } - } - else - { - meter[0] = 0.0; - for(unsigned k = 0; k < nframes; ++k) - { - float val = *sp++; - double f = fabs(val) * _volume; - if(f > meter[0]) - meter[0] = f; - *(dstBuffer[0] + k) = val * vol[0]; - *(dstBuffer[1] + k) = val * vol[1]; - } - //_meter[0] = lrint(meter[0] * 32767.0); - _meter[0] = meter[0]; - if(_meter[0] > _peak[0]) - _peak[0] = _meter[0]; + double v; + if(srcStartChan > 2) // Don't apply pan or volume to extra channels above 2. + //v = _volume; + v = 1.0; + else + if(trackChans <= 1) // If track is mono apply pan. + v = vol[c]; + else + v = vol[srcStartChan]; // Otherwise track is stereo, apply the same channel volume to both. + + float* sp = buffer[srcStartChan]; + float* dp = dstBuffer[c]; + for(unsigned k = 0; k < nframes; ++k) + //*dp++ = (*sp++ * vol[c]); + *dp++ = (*sp++ * v); } } else if(srcChans == 2 && dstChannels == 1) { - // p3.3.38 - //float* sp1 = buffer[0]; - //float* sp2 = buffer[1]; + //double v1 = (srcStartChan > 2 ? _volume : vol[srcStartChan]); // Don't apply pan to extra channels above 2. + //double v2 = (srcStartChan > 2 ? _volume : vol[srcStartChan + 1]); // + double v1 = (srcStartChan > 2 ? 1.0 : vol[srcStartChan]); // Don't apply pan or volume to extra channels above 2. + double v2 = (srcStartChan > 2 ? 1.0 : vol[srcStartChan + 1]); // + float* dp = dstBuffer[0]; float* sp1 = buffer[srcStartChan]; float* sp2 = buffer[srcStartChan + 1]; - - if(_prefader) - { - float* dp = dstBuffer[0]; - for(unsigned k = 0; k < nframes; ++k) - *dp++ = (*sp1++ * vol[0] + *sp2++ * vol[1]); - } - else - { - float* dp = dstBuffer[0]; - meter[0] = 0.0; - meter[1] = 0.0; - for(unsigned k = 0; k < nframes; ++k) - { - float val1 = *sp1++ * vol[0]; - float val2 = *sp2++ * vol[1]; - double f1 = fabs(val1); - if(f1 > meter[0]) - meter[0] = f1; - double f2 = fabs(val2); - if(f2 > meter[1]) - meter[1] = f2; - *dp++ = (val1 + val2); - } - //_meter[0] = lrint(meter[0] * 32767.0); - _meter[0] = meter[0]; - if(_meter[0] > _peak[0]) - _peak[0] = _meter[0]; - //_meter[1] = lrint(meter[1] * 32767.0); - _meter[1] = meter[1]; - if(_meter[1] > _peak[1]) - _peak[1] = _meter[1]; - } + for(unsigned k = 0; k < nframes; ++k) + //*dp++ = (*sp1++ * vol[0] + *sp2++ * vol[1]); + *dp++ = (*sp1++ * v1 + *sp2++ * v2); } - - _processed = true; } //--------------------------------------------------------- // addData //--------------------------------------------------------- -//void AudioTrack::addData(unsigned pos, int dstChannels, unsigned nframes, float** dstBuffer) void AudioTrack::addData(unsigned pos, int dstChannels, int srcStartChan, int srcChannels, unsigned nframes, float** dstBuffer) { //Changed by T356. 12/12/09. @@ -752,21 +754,21 @@ void AudioTrack::addData(unsigned pos, int dstChannels, int srcStartChan, int sr // Make better use of AudioTrack::outBuffers as a post-effect pre-volume cache system for multiple calls here during processing. // Previously only WaveTrack used them. (Changed WaveTrack as well). - //Added by Tim. p3.3.16 #ifdef NODE_DEBUG printf("MusE: AudioTrack::addData name:%s processed:%d\n", name().toLatin1().constData(), processed()); #endif - if (off()) - { - _processed = true; - return; - } + //if (off()) + //{ + // _processed = true; + // return; + //} if(srcStartChan == -1) srcStartChan = 0; - int srcChans = (srcChannels == -1) ? channels() : srcChannels; + int trackChans = channels(); + int srcChans = (srcChannels == -1) ? trackChans : srcChannels; int srcTotalOutChans = totalOutChannels(); if(channels() == 1) srcTotalOutChans = 1; @@ -774,18 +776,12 @@ void AudioTrack::addData(unsigned pos, int dstChannels, int srcStartChan, int sr // Special consideration for metronome: It is not part of the track list, // and it has no in or out routes, yet multiple output tracks may call addData on it ! // We can't tell how many output tracks call it, so we can only assume there might be more than one. - //bool usedirectbuf = (outRoutes()->size() <= 1) || (type() == AUDIO_OUTPUT); - bool usedirectbuf = ((outRoutes()->size() <= 1) || (type() == AUDIO_OUTPUT)) && (this != metronome); + //bool usedirectbuf = ((outRoutes()->size() <= 1) || (type() == AUDIO_OUTPUT)) && (this != metronome); int i; - // p3.3.38 - //float* buffer[srcChannels]; float* buffer[srcTotalOutChans]; - - //float data[nframes * srcChannels]; - //for (i = 0; i < srcChannels; ++i) - // buffer[i] = data + i * nframes; + float data[nframes * srcTotalOutChans]; // precalculate stereo volume double vol[2]; @@ -793,105 +789,96 @@ void AudioTrack::addData(unsigned pos, int dstChannels, int srcStartChan, int sr double _pan = pan(); vol[0] = _volume * (1.0 - _pan); vol[1] = _volume * (1.0 + _pan); - float meter[srcChans]; + //float meter[srcChans]; + float meter[trackChans]; // Have we been here already during this process cycle? if(processed()) { // If there is only one (or no) output routes, it's an error - we've been called more than once per process cycle! + // No, this is no longer an error, it's deliberate. Processing no longer done in 'chains', now done randomly. p4.0.37 #ifdef NODE_DEBUG - if(usedirectbuf) - printf("MusE: AudioTrack::addData Error! One or no out routes, but already processed! Copying local buffers anyway...\n"); + printf("MusE: AudioTrack::addData name:%s already processed _haveData:%d\n", name().toLatin1().constData(), _haveData); #endif // Is there already some data gathered from a previous call during this process cycle? if(_haveData) { // Point the input buffers at our local cached 'pre-volume' buffers. They need processing, so continue on after. - //for(i = 0; i < srcChannels; ++i) - // buffer[i] = outBuffers[i]; - // p3.3.38 for(i = 0; i < srcTotalOutChans; ++i) buffer[i] = outBuffers[i]; } else + { // No data was available from a previous call during this process cycle. Nothing to add, just return. return; + } } else { // First time here during this process cycle. - // Point the input buffers at a temporary stack buffer. - //float data[nframes * srcChannels]; - //for(i = 0; i < srcChannels; ++i) - // buffer[i] = data + i * nframes; - // p3.3.38 - float data[nframes * srcTotalOutChans]; - for(i = 0; i < srcTotalOutChans; ++i) - buffer[i] = data + i * nframes; - + _haveData = false; // Reset. + _processed = true; // Set this now. - // getData can use the supplied buffers, or change buffer to point to its own local buffers or Jack buffers etc. - // For ex. if this is an audio input, Jack will set the pointers for us. - //if(!getData(pos, srcChannels, nframes, buffer)) - // p3.3.38 - if(!getData(pos, srcTotalOutChans, nframes, buffer)) - { - // No data was available. Nothing to add, but zero our local buffers and the meters. - for(i = 0; i < srcChans; ++i) + if(off()) + { + #ifdef NODE_DEBUG + printf("MusE: AudioTrack::addData name:%s dstChannels:%d Track is Off \n", name().toLatin1().constData(), dstChannels); + #endif + + // Nothing to zero or add... + + _efxPipe->apply(0, nframes, 0); // Track is off. Just process controls only, not audio (do not 'run'). + + for(i = 0; i < trackChans; ++i) { - // If we're using local buffers, we must zero them so that the next thing requiring them - // during this process cycle will see zeros. - /* - if(!usedirectbuf) + _meter[i] = 0.0; + /*if(!usedirectbuf) { if(MusEGlobal::config.useDenormalBias) { - for(unsigned int q = 0; q < nframes; ++q) + for(q = 0; q < nframes; ++q) outBuffers[i][q] = MusEGlobal::denormalBias; - } - else + } + else memset(outBuffers[i], 0, sizeof(float) * nframes); - } - */ - - //_meter[i] = 0; - _meter[i] = 0.0; - } - - _haveData = false; - _processed = true; + } */ + } return; } - - /* - // p3.3.41 Added. - unsigned int q; - for(i = 0; i < srcChans; ++i) + + // Point the input buffers at a temporary stack buffer. + for(i = 0; i < srcTotalOutChans; ++i) + buffer[i] = data + i * nframes; + + // getData can use the supplied buffers, or change buffer to point to its own local buffers or Jack buffers etc. + // For ex. if this is an audio input, Jack will set the pointers for us. + if(!getData(pos, srcTotalOutChans, nframes, buffer)) { - if(MusEGlobal::config.useDenormalBias) - { - for(q = 0; q < nframes; ++q) + // No data was available. Track is not off. Zero the working buffers and continue on. + unsigned int q; + for(i = 0; i < srcTotalOutChans; ++i) + { + if(MusEGlobal::config.useDenormalBias) { - if(q & 1) - buffer[i][q] -= MusEGlobal::denormalBias; - else - buffer[i][q] += MusEGlobal::denormalBias; - } - } - } - */ - + for(q = 0; q < nframes; ++q) + buffer[i][q] = MusEGlobal::denormalBias; + } + else + memset(buffer[i], 0, sizeof(float) * nframes); + } + } + //--------------------------------------------------- // apply plugin chain //--------------------------------------------------- - // p3.3.41 //fprintf(stderr, "AudioTrack::addData %s efx apply srcChans:%d nframes:%ld %e %e %e %e\n", // name().toLatin1().constData(), srcChans, nframes, buffer[0][0], buffer[0][1], buffer[0][2], buffer[0][3]); - _efxPipe->apply(srcChans, nframes, buffer); - // p3.3.41 + + _efxPipe->apply(trackChans, nframes, buffer); + //fprintf(stderr, "AudioTrack::addData after efx: %e %e %e %e\n", // buffer[0][0], buffer[0][1], buffer[0][2], buffer[0][3]); @@ -940,18 +927,16 @@ void AudioTrack::addData(unsigned pos, int dstChannels, int srcStartChan, int sr if(_prefader) { - for(i = 0; i < srcChans; ++i) + for(i = 0; i < trackChans; ++i) { float* p = buffer[i]; meter[i] = 0.0; for(unsigned k = 0; k < nframes; ++k) { - double f = fabs(*p); + double f = fabs(*p++); if(f > meter[i]) meter[i] = f; - ++p; } - //_meter[i] = lrint(meter[i] * 32767.0); _meter[i] = meter[i]; if(_meter[i] > _peak[i]) _peak[i] = _meter[i]; @@ -961,8 +946,7 @@ void AudioTrack::addData(unsigned pos, int dstChannels, int srcStartChan, int sr if(isMute()) { // If we're using local buffers, we must zero them. - /* - if(!usedirectbuf) + /* if(!usedirectbuf) { for(i = 0; i < srcChannels; ++i) { @@ -974,20 +958,19 @@ void AudioTrack::addData(unsigned pos, int dstChannels, int srcStartChan, int sr else memset(outBuffers[i], 0, sizeof(float) * nframes); } - } - */ + } */ - _haveData = false; - _processed = true; + if(!_prefader) + //for(i = 0; i < srcChans; ++i) + for(i = 0; i < trackChans; ++i) + _meter[i] = 0.0; + return; } // If we're using local cached 'pre-volume' buffers, copy the input buffers (as they are right now: post-effect pre-volume) back to them. - if(!usedirectbuf) + //if(!usedirectbuf) { - //for(i = 0; i < srcChannels; ++i) - // AL::dsp->cpy(outBuffers[i], buffer[i], nframes); - // p3.3.38 for(i = 0; i < srcTotalOutChans; ++i) AL::dsp->cpy(outBuffers[i], buffer[i], nframes); } @@ -1010,9 +993,9 @@ void AudioTrack::addData(unsigned pos, int dstChannels, int srcStartChan, int sr else memset(dstBuffer[i], 0, sizeof(float) * nframes); } - _processed = true; return; } + // Force a source range to fit actual available total out channels. if((srcStartChan + srcChans) > srcTotalOutChans) srcChans = srcTotalOutChans - srcStartChan; @@ -1022,123 +1005,88 @@ void AudioTrack::addData(unsigned pos, int dstChannels, int srcStartChan, int sr // postfader metering //--------------------------------------------------- - if(srcChans == dstChannels) + #ifdef NODE_DEBUG + printf("MusE: AudioTrack::addData trackChans:%d srcTotalOutChans:%d srcChans:%d dstChannels:%d\n", trackChans, srcTotalOutChans, srcChans, dstChannels); + #endif + + if(!_prefader) { - if(_prefader) + for(int c = 0; c < trackChans; ++c) { - for(int c = 0; c < dstChannels; ++c) + meter[c] = 0.0; + double v = (trackChans == 1 ? _volume : vol[c]); + float* sp = buffer[c]; + for(unsigned k = 0; k < nframes; ++k) { - // p3.3.38 - //float* sp = buffer[c]; - float* sp = buffer[c + srcStartChan]; - - float* dp = dstBuffer[c]; - for(unsigned k = 0; k < nframes; ++k) - *dp++ += (*sp++ * vol[c]); + float val = *sp++ * v; // If the track is mono pan has no effect on meters. + double f = fabs(val); + if(f > meter[c]) + meter[c] = f; } - } - else + _meter[c] = meter[c]; + if(_meter[c] > _peak[c]) + _peak[c] = _meter[c]; + } + } + + if(srcChans == dstChannels) + { + for(int c = 0; c < dstChannels; ++c) { - for(int c = 0; c < dstChannels; ++c) - { - meter[c] = 0.0; - // p3.3.38 - //float* sp = buffer[c]; - float* sp = buffer[c + srcStartChan]; - - float* dp = dstBuffer[c]; - for(unsigned k = 0; k < nframes; ++k) - { - float val = *sp++ * vol[c]; - *dp++ += val; - double f = fabs(val); - if (f > meter[c]) - meter[c] = f; - } - //_meter[c] = lrint(meter[c] * 32767.0); - _meter[c] = meter[c]; - if(_meter[c] > _peak[c]) - _peak[c] = _meter[c]; - } + double v; + if(srcStartChan > 2) // Don't apply pan or volume to extra channels above 2. + //v = _volume; + v = 1.0; + else + if(srcChans >= 2) // If 2 channels apply pan normally. + v = vol[c]; + else + if(trackChans < 2) // If 1 channel and track is 1 channel, don't apply pan. + v = _volume; + else + v = vol[srcStartChan]; // Otherwise 1 channel but track is 2 channels. Apply the channel volume. + + float* sp = buffer[c + srcStartChan]; + float* dp = dstBuffer[c]; + for(unsigned k = 0; k < nframes; ++k) + //*dp++ += (*sp++ * vol[c]); + *dp++ += (*sp++ * v); } } else if(srcChans == 1 && dstChannels == 2) { - // p3.3.38 - float* sp = buffer[srcStartChan]; - - if(_prefader) + for(int c = 0; c < dstChannels; ++c) { - for(int c = 0; c < dstChannels; ++c) - { - float* dp = dstBuffer[c]; - //float* sp = buffer[0]; - for(unsigned k = 0; k < nframes; ++k) - *dp++ += (*sp++ * vol[c]); - } - } - else - { - //float* sp = buffer[0]; - meter[0] = 0.0; - for(unsigned k = 0; k < nframes; ++k) - { - float val = *sp++; - double f = fabs(val) * _volume; - if(f > meter[0]) - meter[0] = f; - *(dstBuffer[0] + k) += val * vol[0]; - *(dstBuffer[1] + k) += val * vol[1]; - } - //_meter[0] = lrint(meter[0] * 32767.0); - _meter[0] = meter[0]; - if(_meter[0] > _peak[0]) - _peak[0] = _meter[0]; + double v; + if(srcStartChan > 2) // Don't apply pan or volume to extra channels above 2. + //v = _volume; + v = 1.0; + else + if(trackChans <= 1) // If track is mono apply pan. + v = vol[c]; + else + v = vol[srcStartChan]; // Otherwise track is stereo, apply the same channel volume to both. + + float* sp = buffer[srcStartChan]; + float* dp = dstBuffer[c]; + for(unsigned k = 0; k < nframes; ++k) + //*dp++ += (*sp++ * vol[c]); + *dp++ += (*sp++ * v); } } else if(srcChans == 2 && dstChannels == 1) { - // p3.3.38 - //float* sp1 = buffer[0]; - //float* sp2 = buffer[1]; + //double v1 = (srcStartChan > 2 ? _volume : vol[srcStartChan]); // Don't apply pan to extra channels above 2. + //double v2 = (srcStartChan > 2 ? _volume : vol[srcStartChan + 1]); // + double v1 = (srcStartChan > 2 ? 1.0 : vol[srcStartChan]); // Don't apply pan or volume to extra channels above 2. + double v2 = (srcStartChan > 2 ? 1.0 : vol[srcStartChan + 1]); // float* sp1 = buffer[srcStartChan]; float* sp2 = buffer[srcStartChan + 1]; - - if(_prefader) - { - float* dp = dstBuffer[0]; - for(unsigned k = 0; k < nframes; ++k) - *dp++ += (*sp1++ * vol[0] + *sp2++ * vol[1]); - } - else - { - float* dp = dstBuffer[0]; - meter[0] = 0.0; - meter[1] = 0.0; - for(unsigned k = 0; k < nframes; ++k) - { - float val1 = *sp1++ * vol[0]; - float val2 = *sp2++ * vol[1]; - double f1 = fabs(val1); - if(f1 > meter[0]) - meter[0] = f1; - double f2 = fabs(val2); - if(f2 > meter[1]) - meter[1] = f2; - *dp++ += (val1 + val2); - } - //_meter[0] = lrint(meter[0] * 32767.0); - _meter[0] = meter[0]; - if(_meter[0] > _peak[0]) - _peak[0] = _meter[0]; - //_meter[1] = lrint(meter[1] * 32767.0); - _meter[1] = meter[1]; - if(_meter[1] > _peak[1]) - _peak[1] = _meter[1]; - } + float* dp = dstBuffer[0]; + for(unsigned k = 0; k < nframes; ++k) + //*dp++ += (*sp1++ * vol[0] + *sp2++ * vol[1]); + *dp++ += (*sp1++ * v1 + *sp2++ * v2); } - - _processed = true; } //--------------------------------------------------------- @@ -1300,15 +1248,12 @@ bool AudioTrack::getData(unsigned pos, int channels, unsigned nframes, float** b printf(" calling copyData on %s...\n", ir->track->name().toLatin1().constData()); #endif - // p3.3.38 - //((AudioTrack*)ir->track)->copyData(pos, channels, nframes, buffer); ((AudioTrack*)ir->track)->copyData(pos, channels, //(ir->track->type() == Track::AUDIO_SOFTSYNTH && ir->channel != -1) ? ir->channel : 0, ir->channel, ir->channels, nframes, buffer); - // p3.3.41 //fprintf(stderr, "AudioTrack::getData %s data: nframes:%ld %e %e %e %e\n", name().toLatin1().constData(), nframes, buffer[0][0], buffer[0][1], buffer[0][2], buffer[0][3]); ++ir; @@ -1320,8 +1265,6 @@ bool AudioTrack::getData(unsigned pos, int channels, unsigned nframes, float** b if(ir->track->isMidiTrack()) continue; - // p3.3.38 - //((AudioTrack*)ir->track)->addData(pos, channels, nframes, buffer); ((AudioTrack*)ir->track)->addData(pos, channels, //(ir->track->type() == Track::AUDIO_SOFTSYNTH && ir->channel != -1) ? ir->channel : 0, ir->channel, @@ -1344,12 +1287,11 @@ bool AudioInput::getData(unsigned, int channels, unsigned nframes, float** buffe void* jackPort = jackPorts[ch]; //float* jackbuf = 0; - //if (jackPort) { - // p3.3.41 Do not get buffers of unconnected client ports. Causes repeating leftover data, can be loud, or DC ! + // Do not get buffers of unconnected client ports. Causes repeating leftover data, can be loud, or DC ! if (jackPort && MusEGlobal::audioDevice->connections(jackPort)) { //buffer[ch] = MusEGlobal::audioDevice->getBuffer(jackPort, nframes); - // p3.3.41 If the client port buffer is also used by another channel (connected to the same jack port), + // If the client port buffer is also used by another channel (connected to the same jack port), // don't directly set pointer, copy the data instead. // Otherwise the next channel will interfere - it will overwrite the buffer ! // Verified symptoms: Can't use a splitter. Mono noise source on a stereo track sounds in mono. Etc... @@ -1366,8 +1308,6 @@ bool AudioInput::getData(unsigned, int channels, unsigned nframes, float** buffe { for (unsigned int i=0; i < nframes; i++) buffer[ch][i] += MusEGlobal::denormalBias; - - // p3.3.41 //fprintf(stderr, "AudioInput::getData %s Jack port %p efx apply channels:%d nframes:%ld %e %e %e %e\n", // name().toLatin1().constData(), jackPort, channels, nframes, buffer[0][0], buffer[0][1], buffer[0][2], buffer[0][3]); } @@ -1384,8 +1324,6 @@ bool AudioInput::getData(unsigned, int channels, unsigned nframes, float** buffe memset(buffer[ch], 0, nframes * sizeof(float)); } - // p3.3.41 - //fprintf(stderr, "AudioInput::getData %s No Jack port efx apply channels:%d nframes:%ld %e %e %e %e\n", // name().toLatin1().constData(), channels, nframes, buffer[0][0], buffer[0][1], buffer[0][2], buffer[0][3]); } } @@ -1524,7 +1462,7 @@ void AudioTrack::record() return; } if (_recFile) { - // Line removed by Tim. p3.3.8 Oct 28, 2009 + // Line removed by Tim. Oct 28, 2009 //_recFile->seek(pos, 0); // // Fix for recorded waves being shifted ahead by an amount @@ -1570,7 +1508,6 @@ void AudioTrack::record() if( (pos >= fr) && (!MusEGlobal::song->punchout() || (!MusEGlobal::song->loop() && pos < MusEGlobal::song->rPos().frame())) ) { pos -= fr; - // Added by Tim. p3.3.8 //int position = _recFile->seek(0, SEEK_CUR); //printf("AudioTrack::record loopcnt:%d lframe:%d newpos:%d curpos:%d start:%d end:%d\n", MusEGlobal::audio->loopCount(), MusEGlobal::audio->loopFrame(), pos, position, MusEGlobal::audio->getStartRecordPos().frame(), MusEGlobal::audio->getEndRecordPos().frame()); @@ -1614,7 +1551,6 @@ void AudioOutput::processInit(unsigned nframes) void AudioOutput::process(unsigned pos, unsigned offset, unsigned n) { - //Added by Tim. p3.3.16 #ifdef NODE_DEBUG printf("MusE: AudioOutput::process name:%s processed:%d\n", name().toLatin1().constData(), processed()); #endif @@ -1622,9 +1558,6 @@ void AudioOutput::process(unsigned pos, unsigned offset, unsigned n) for (int i = 0; i < _channels; ++i) { buffer1[i] = buffer[i] + offset; } - - // p3.3.38 - //copyData(pos, _channels, n, buffer1); copyData(pos, _channels, -1, -1, n, buffer1); } @@ -1666,17 +1599,13 @@ void AudioOutput::processWrite() putFifo(_channels, _nframes, buffer); } } - // Changed by Tim. p3.3.18 + // Changed by Tim. //if (MusEGlobal::audioClickFlag && MusEGlobal::song->click()) { if (sendMetronome() && MusEGlobal::audioClickFlag && MusEGlobal::song->click()) { - // Added by Tim. p3.3.18 #ifdef METRONOME_DEBUG printf("MusE: AudioOutput::processWrite Calling metronome->addData frame:%u channels:%d frames:%lu\n", MusEGlobal::audio->pos().frame(), _channels, _nframes); #endif - - // p3.3.38 - //metronome->addData(MusEGlobal::audio->pos().frame(), _channels, _nframes, buffer); metronome->addData(MusEGlobal::audio->pos().frame(), _channels, -1, -1, _nframes, buffer); } } @@ -1721,7 +1650,6 @@ Fifo::~Fifo() { for (int i = 0; i < nbuffer; ++i) { - // p3.3.45 if(buffer[i]->buffer) { //printf("Fifo::~Fifo freeing buffer\n"); @@ -1742,7 +1670,6 @@ Fifo::~Fifo() bool Fifo::put(int segs, unsigned long samples, float** src, unsigned pos) { - // Added by Tim. p3.3.17 #ifdef FIFO_DEBUG printf("FIFO::put segs:%d samples:%lu pos:%u\n", segs, samples, pos); #endif @@ -1765,7 +1692,6 @@ bool Fifo::put(int segs, unsigned long samples, float** src, unsigned pos) // Changed by Tim. p3.3.15 //b->buffer = new float[n]; posix_memalign((void**)&(b->buffer), 16, sizeof(float) * n); - // p3.3.45 if(!b->buffer) { printf("Fifo::put could not allocate buffer segs:%d samples:%lu pos:%u\n", segs, samples, pos); @@ -1774,7 +1700,6 @@ bool Fifo::put(int segs, unsigned long samples, float** src, unsigned pos) b->maxSize = n; } - // p3.3.45 if(!b->buffer) { printf("Fifo::put no buffer! segs:%d samples:%lu pos:%u\n", segs, samples, pos); @@ -1798,7 +1723,6 @@ bool Fifo::put(int segs, unsigned long samples, float** src, unsigned pos) bool Fifo::get(int segs, unsigned long samples, float** dst, unsigned* pos) { - // Added by Tim. p3.3.17 #ifdef FIFO_DEBUG printf("FIFO::get segs:%d samples:%lu\n", segs, samples); #endif @@ -1808,7 +1732,6 @@ bool Fifo::get(int segs, unsigned long samples, float** dst, unsigned* pos) return true; } FifoBuffer* b = buffer[ridx]; - // p3.3.45 if(!b->buffer) { printf("Fifo::get no buffer! segs:%d samples:%lu b->pos:%u\n", segs, samples, b->pos); @@ -1844,7 +1767,6 @@ void Fifo::remove() bool Fifo::getWriteBuffer(int segs, unsigned long samples, float** buf, unsigned pos) { - // Added by Tim. p3.3.17 #ifdef FIFO_DEBUG printf("Fifo::getWriteBuffer segs:%d samples:%lu pos:%u\n", segs, samples, pos); #endif @@ -1866,7 +1788,6 @@ bool Fifo::getWriteBuffer(int segs, unsigned long samples, float** buf, unsigned // Changed by Tim. p3.3.15 //b->buffer = new float[n]; posix_memalign((void**)&(b->buffer), 16, sizeof(float) * n); - // p3.3.45 if(!b->buffer) { printf("Fifo::getWriteBuffer could not allocate buffer segs:%d samples:%lu pos:%u\n", segs, samples, pos); @@ -1875,8 +1796,6 @@ bool Fifo::getWriteBuffer(int segs, unsigned long samples, float** buf, unsigned b->maxSize = n; } - - // p3.3.45 if(!b->buffer) { printf("Fifo::getWriteBuffer no buffer! segs:%d samples:%lu pos:%u\n", segs, samples, pos); diff --git a/muse2/muse/osc.cpp b/muse2/muse/osc.cpp index 6959803e..7daeb9ff 100644 --- a/muse2/muse/osc.cpp +++ b/muse2/muse/osc.cpp @@ -841,7 +841,8 @@ bool OscIF::oscInitGui(const QString& typ, const QString& baseName, const QStrin arguments << oscUrl << filePath << name - << QString("channel-1"); + //<< QString("channel-1"); + << (titlePrefix() + label); #ifdef OSC_DEBUG fprintf(stderr, "OscIF::oscInitGui starting QProcess\n"); @@ -885,7 +886,8 @@ bool OscIF::oscInitGui(const QString& typ, const QString& baseName, const QStrin oscUrl.toLatin1().constData(), filePath.toLatin1().constData(), name.toLatin1().constData(), - "channel 1", (void*)0); + //"channel 1", (void*)0); + label.toLatin1().constData(), (void*)0); // Should not return after execlp. If so it's an error. fprintf(stderr, "exec %s %s %s %s %s failed: %s\n", @@ -941,13 +943,13 @@ void OscIF::oscShowGui(bool v) } //for (int i = 0; i < 5; ++i) { - for (int i = 0; i < 10; ++i) { // Give it a wee bit more time? + for (int i = 0; i < 20; ++i) { // Give it a wee bit more time? if (_uiOscPath) break; sleep(1); } if (_uiOscPath == 0) { - printf("OscIF::oscShowGui(): no _uiOscPath. Error: Timeout - synth gui did not start within 10 seconds.\n"); + printf("OscIF::oscShowGui(): no _uiOscPath. Error: Timeout - synth gui did not start within 20 seconds.\n"); return; } @@ -1091,10 +1093,14 @@ bool OscDssiIF::oscInitGui() _oscSynthIF->dssiSynth()->name(), _oscSynthIF->dssiSynthI()->name(), _oscSynthIF->dssiSynth()->fileName(), _oscSynthIF->dssi_ui_filename()); } + +QString OscDssiIF::titlePrefix() const +{ + return _oscSynthIF ? _oscSynthIF->titlePrefix() : QString(); +} #endif // DSSI_SUPPORT - //--------------------------------------------------------- // OscEffectIF:: // oscSetPluginI @@ -1165,6 +1171,11 @@ bool OscEffectIF::oscInitGui() _oscPluginI->plugin()->fileName(), _oscPluginI->dssi_ui_filename()); } +QString OscEffectIF::titlePrefix() const +{ + return _oscPluginI ? _oscPluginI->titlePrefix() : QString(); +} + #else //OSC_SUPPORT void initOSC() {} diff --git a/muse2/muse/osc.h b/muse2/muse/osc.h index 30df03cb..e3f1a26d 100644 --- a/muse2/muse/osc.h +++ b/muse2/muse/osc.h @@ -74,6 +74,8 @@ class OscIF virtual bool oscInitGui() { return false; } virtual void oscShowGui(bool); virtual bool oscGuiVisible() const; + + virtual QString titlePrefix() const { return QString(); } }; class OscEffectIF : public OscIF @@ -95,6 +97,8 @@ class OscEffectIF : public OscIF virtual int oscConfigure(lo_arg**); virtual bool oscInitGui(); + + virtual QString titlePrefix() const; }; #ifdef DSSI_SUPPORT @@ -117,6 +121,8 @@ class OscDssiIF : public OscIF virtual int oscConfigure(lo_arg**); virtual bool oscInitGui(); + + virtual QString titlePrefix() const; }; #endif // DSSI_SUPPORT diff --git a/muse2/muse/part.cpp b/muse2/muse/part.cpp index eb5b1af6..da01a5d5 100644 --- a/muse2/muse/part.cpp +++ b/muse2/muse/part.cpp @@ -750,6 +750,18 @@ WavePart::WavePart(const WavePart& p) : Part(p) Part::~Part() { + if (_prevClone!=this || _nextClone!=this) + { + printf("THIS MIGHT BE A HINT FOR BUGS: Part isn't unchained in ~Part()! i'll do that now. this is\n" + "not an actual bug, actually that manual unchain should be unneccessary if this was coded\n" + "properly. but as it wasn't, and the unchain was always done manually, this might be an\n" + "indicator that it have been forgotten. either your computer will explode in 3..2..1..now,\n" + "or you can ignore this message.\n" + "\n"); + + unchainClone(this); + } + _events->incRef(-1); if (_events->refCount() <= 0) delete _events; diff --git a/muse2/muse/plugin.cpp b/muse2/muse/plugin.cpp index 2bdd0317..227a9daf 100644 --- a/muse2/muse/plugin.cpp +++ b/muse2/muse/plugin.cpp @@ -1573,65 +1573,60 @@ bool Pipeline::nativeGuiVisible(int idx) //--------------------------------------------------------- // apply +// If ports is 0, just process controllers only, not audio (do not 'run'). //--------------------------------------------------------- -//void Pipeline::apply(int ports, unsigned long nframes, float** buffer1) void Pipeline::apply(unsigned long ports, unsigned long nframes, float** buffer1) { // prepare a second set of buffers in case a plugin is not // capable of inPlace processing - - // Removed by Tim. p3.3.15 //float* buffer2[ports]; //float data[nframes * ports]; //for (int i = 0; i < ports; ++i) // buffer2[i] = data + i * nframes; - // p3.3.41 - //fprintf(stderr, "Pipeline::apply data: nframes:%lu %e %e %e %e\n", nframes, buffer1[0][0], buffer1[0][1], buffer1[0][2], buffer1[0][3]); + //fprintf(stderr, "Pipeline::apply data: nframes:%lu %e %e %e %e\n", nframes, buffer1[0][0], buffer1[0][1], buffer1[0][2], buffer1[0][3]); bool swap = false; for (iPluginI ip = begin(); ip != end(); ++ip) { PluginI* p = *ip; - if (p && p->on()) { - if (p->inPlaceCapable()) - { - if (swap) - //p->connect(ports, buffer2, buffer2); - //p->connect(ports, buffer, buffer); - p->apply(nframes, ports, buffer, buffer); // p4.0.21 - else - //p->connect(ports, buffer1, buffer1); - p->apply(nframes, ports, buffer1, buffer1); // - } - else - { - if (swap) - //p->connect(ports, buffer2, buffer1); - //p->connect(ports, buffer, buffer1); - p->apply(nframes, ports, buffer, buffer1); // - else - //p->connect(ports, buffer1, buffer2); - //p->connect(ports, buffer1, buffer); - p->apply(nframes, ports, buffer1, buffer); // - swap = !swap; - } - //p->apply(nframes); // Rem. p4.0.21 - } + + if(p) + { + //if (p && p->on()) { + if (p->on()) + { + //fprintf(stderr, "Pipeline::apply PluginI:%p on:%d\n", p, p->on()); + if (p->inPlaceCapable()) + { + if (swap) + p->apply(nframes, ports, buffer, buffer); + else + p->apply(nframes, ports, buffer1, buffer1); + } + else + { + if (swap) + p->apply(nframes, ports, buffer, buffer1); + else + p->apply(nframes, ports, buffer1, buffer); + swap = !swap; + } + } + else + { + p->apply(nframes, 0, 0, 0); // Do not process (run) audio, process controllers only. + } } - if (swap) + } + if (ports != 0 && swap) { - //for (int i = 0; i < ports; ++i) - for (unsigned long i = 0; i < ports; ++i) // p4.0.21 + for (unsigned long i = 0; i < ports; ++i) //memcpy(buffer1[i], buffer2[i], sizeof(float) * nframes); //memcpy(buffer1[i], buffer[i], sizeof(float) * nframes); AL::dsp->cpy(buffer1[i], buffer[i], nframes); } - - // p3.3.41 - //fprintf(stderr, "Pipeline::apply after data: nframes:%lu %e %e %e %e\n", nframes, buffer1[0][0], buffer1[0][1], buffer1[0][2], buffer1[0][3]); - } //--------------------------------------------------------- @@ -2439,6 +2434,7 @@ void PluginI::showGui() if (_plugin) { if (_gui == 0) makeGui(); + _gui->setWindowTitle(titlePrefix() + name()); if (_gui->isVisible()) _gui->hide(); else @@ -2557,8 +2553,18 @@ void PluginI::enable2AllControllers(bool v) controls[i].en2Ctrl = v; } +//--------------------------------------------------------- +// titlePrefix +//--------------------------------------------------------- + +QString PluginI::titlePrefix() const +{ + return _track->name() + QString(": "); +} + //--------------------------------------------------------- // apply +// If ports is 0, just process controllers only, not audio (do not 'run'). //--------------------------------------------------------- /* @@ -2653,7 +2659,6 @@ void PluginI::apply(unsigned long n) */ #if 1 -// p4.0.21 void PluginI::apply(unsigned long n, unsigned long ports, float** bufIn, float** bufOut) { // Process control value changes. @@ -2769,7 +2774,6 @@ void PluginI::apply(unsigned long n, unsigned long ports, float** bufIn, float** //controls[v.idx].val = v.value; controls[v.idx].tmpVal = v.value; - /* // Need to update the automation value, otherwise it overwrites later with the last MusEGlobal::automation value. if(_track && _id != -1) { @@ -2795,7 +2799,6 @@ void PluginI::apply(unsigned long n, unsigned long ports, float** bufIn, float** // enableController(k, false); //_track->recordAutomation(id, v.value); } - */ } // Now update the actual values from the temporary values... @@ -2813,20 +2816,23 @@ void PluginI::apply(unsigned long n, unsigned long ports, float** bufIn, float** nsamp = n - sample; //printf("PluginI::apply ports:%lu n:%lu frame:%lu sample:%lu nsamp:%lu syncFrame:%lu loopcount:%d\n", - // ports, n, frame, sample, nsamp, syncFrame, loopcount); // REMOVE Tim. + // ports, n, frame, sample, nsamp, syncFrame, loopcount); // Don't allow zero-length runs. This could/should be checked in the control loop instead. // Note this means it is still possible to get stuck in the top loop (at least for a while). if(nsamp == 0) continue; - connect(ports, sample, bufIn, bufOut); + if(ports != 0) + { + connect(ports, sample, bufIn, bufOut); - for(int i = 0; i < instances; ++i) - { - //fprintf(stderr, "PluginI::apply handle %d\n", i); - _plugin->apply(handle[i], nsamp); - } + for(int i = 0; i < instances; ++i) + { + //fprintf(stderr, "PluginI::apply handle %d\n", i); + _plugin->apply(handle[i], nsamp); + } + } sample += nsamp; loopcount++; // REMOVE Tim. @@ -3444,7 +3450,8 @@ PluginGui::PluginGui(MusECore::PluginIBase* p) params = 0; paramsOut = 0; plugin = p; - setWindowTitle(plugin->name()); + //setWindowTitle(plugin->name()); + setWindowTitle(plugin->titlePrefix() + plugin->name()); QToolBar* tools = addToolBar(tr("File Buttons")); @@ -4106,16 +4113,18 @@ void PluginGui::save() void PluginGui::bypassToggled(bool val) { + setWindowTitle(plugin->titlePrefix() + plugin->name()); plugin->setOn(val); MusEGlobal::song->update(SC_ROUTE); } //--------------------------------------------------------- -// songChanged +// setOn //--------------------------------------------------------- void PluginGui::setOn(bool val) { + setWindowTitle(plugin->titlePrefix() + plugin->name()); onOff->blockSignals(true); onOff->setChecked(val); onOff->blockSignals(false); @@ -4208,11 +4217,11 @@ void PluginGui::updateControls() } - if(!MusEGlobal::automation) - return; - AutomationType at = plugin->track()->automationType(); - if(at == AUTO_OFF) - return; + //if(!MusEGlobal::automation) + // return; + //AutomationType at = plugin->track()->automationType(); + //if(at == AUTO_OFF) + // return; if (params) { //for (int i = 0; i < plugin->parameters(); ++i) { for (unsigned long i = 0; i < plugin->parameters(); ++i) { // p4.0.21 diff --git a/muse2/muse/plugin.h b/muse2/muse/plugin.h index 717f98b6..044fd863 100644 --- a/muse2/muse/plugin.h +++ b/muse2/muse/plugin.h @@ -72,18 +72,6 @@ class Xml; class MidiController; -/* -//--------------------------------------------------------- -// PluginBase -//--------------------------------------------------------- - -class PluginBase -{ - protected: - void range(unsigned long i, float*, float*) const; -}; -*/ - //--------------------------------------------------------- // Plugin //--------------------------------------------------------- @@ -155,13 +143,11 @@ class Plugin { if (plugin && plugin->cleanup) plugin->cleanup(handle); } - //void connectPort(LADSPA_Handle handle, int port, float* value) { - void connectPort(LADSPA_Handle handle, unsigned long port, float* value) { // p4.0.21 + void connectPort(LADSPA_Handle handle, unsigned long port, float* value) { if(plugin) plugin->connect_port(handle, port, value); } - //void apply(LADSPA_Handle handle, int n) { - void apply(LADSPA_Handle handle, unsigned long n) { // p4.0.21 + void apply(LADSPA_Handle handle, unsigned long n) { if(plugin) plugin->run(handle, n); } @@ -170,12 +156,10 @@ class Plugin { int oscConfigure(LADSPA_Handle /*handle*/, const char* /*key*/, const char* /*value*/); #endif - //int ports() { return plugin ? plugin->PortCount : 0; } unsigned long ports() { return _portCount; } LADSPA_PortDescriptor portd(unsigned long k) const { return plugin ? plugin->PortDescriptors[k] : 0; - //return _portDescriptors[k]; } LADSPA_PortRangeHint range(unsigned long i) { @@ -184,8 +168,7 @@ class Plugin { return plugin->PortRangeHints[i]; } - //double defaultValue(unsigned long port) const; - float defaultValue(unsigned long port) const; // p4.0.21 + float defaultValue(unsigned long port) const; void range(unsigned long i, float*, float*) const; CtrlValueType ctrlValueType(unsigned long /*i*/) const; CtrlList::Mode ctrlMode(unsigned long /*i*/) const; @@ -202,20 +185,6 @@ class Plugin { unsigned long controlInPorts() const { return _controlInPorts; } unsigned long controlOutPorts() const { return _controlOutPorts; } bool inPlaceCapable() const { return _inPlaceCapable; } - - /* - bool isLog(int k) const { - LADSPA_PortRangeHint r = plugin->PortRangeHints[pIdx[k]]; - return LADSPA_IS_HINT_LOGARITHMIC(r.HintDescriptor); - } - bool isBool(int k) const { - return LADSPA_IS_HINT_TOGGLED(plugin->PortRangeHints[pIdx[k]].HintDescriptor); - } - bool isInt(int k) const { - LADSPA_PortRangeHint r = plugin->PortRangeHints[pIdx[k]]; - return LADSPA_IS_HINT_INTEGER(r.HintDescriptor); - } - */ }; typedef std::list::iterator iPlugin; @@ -266,21 +235,18 @@ class PluginIBase ~PluginIBase(); virtual bool on() const = 0; virtual void setOn(bool /*val*/) = 0; - //virtual int pluginID() = 0; - virtual unsigned long pluginID() = 0; // p4.0.21 + virtual unsigned long pluginID() = 0; virtual int id() = 0; virtual QString pluginLabel() const = 0; virtual QString name() const = 0; virtual QString lib() const = 0; virtual QString dirPath() const = 0; virtual QString fileName() const = 0; + virtual QString titlePrefix() const = 0; virtual AudioTrack* track() = 0; - //virtual void enableController(int /*i*/, bool /*v*/ = true) = 0; - //virtual bool controllerEnabled(int /*i*/) const = 0; - //virtual bool controllerEnabled2(int /*i*/) const = 0; - virtual void enableController(unsigned long /*i*/, bool /*v*/ = true) = 0; // p4.0.21 + virtual void enableController(unsigned long /*i*/, bool /*v*/ = true) = 0; virtual bool controllerEnabled(unsigned long /*i*/) const = 0; virtual bool controllerEnabled2(unsigned long /*i*/) const = 0; virtual void updateControllers() = 0; @@ -288,12 +254,7 @@ class PluginIBase virtual void writeConfiguration(int /*level*/, Xml& /*xml*/) = 0; virtual bool readConfiguration(Xml& /*xml*/, bool /*readPreset*/=false) = 0; - //virtual int parameters() const = 0; - //virtual void setParam(int /*i*/, double /*val*/) = 0; - //virtual double param(int /*i*/) const = 0; - //virtual const char* paramName(int /*i*/) = 0; - //virtual LADSPA_PortRangeHint range(int /*i*/) = 0; - virtual unsigned long parameters() const = 0; // p4.0.21 + virtual unsigned long parameters() const = 0; virtual unsigned long parametersOut() const = 0; virtual void setParam(unsigned long /*i*/, float /*val*/) = 0; virtual float param(unsigned long /*i*/) const = 0; @@ -307,8 +268,6 @@ class PluginIBase virtual CtrlList::Mode ctrlMode(unsigned long /*i*/) const = 0; QString dssi_ui_filename() const; - //virtual void showGui(bool) = 0; // p4.0.20 - //virtual void showNativeGui(bool) = 0; // MusEGui::PluginGui* gui() const { return _gui; } void deleteGui(); }; @@ -353,7 +312,6 @@ class PluginBase #define AUDIO_IN (LADSPA_PORT_AUDIO | LADSPA_PORT_INPUT) #define AUDIO_OUT (LADSPA_PORT_AUDIO | LADSPA_PORT_OUTPUT) -//class PluginI { class PluginI : public PluginIBase { Plugin* _plugin; int channel; @@ -365,10 +323,8 @@ class PluginI : public PluginIBase { Port* controls; Port* controlsOut; - //int controlPorts; - //int controlOutPorts; - unsigned long controlPorts; // p4.0.21 - unsigned long controlOutPorts; // + unsigned long controlPorts; + unsigned long controlOutPorts; ///PluginGui* _gui; bool _on; @@ -400,26 +356,17 @@ class PluginI : public PluginIBase { void setTrack(AudioTrack* t) { _track = t; } AudioTrack* track() { return _track; } - //int pluginID() { return _plugin->id(); } - unsigned long pluginID() { return _plugin->id(); } // p4.0.21 + unsigned long pluginID() { return _plugin->id(); } void setID(int i); int id() { return _id; } void updateControllers(); bool initPluginInstance(Plugin*, int channels); void setChannels(int); - //void connect(int ports, float** src, float** dst); - //void apply(int n); - //void connect(unsigned ports, float** src, float** dst); - //void apply(unsigned n); - void connect(unsigned long ports, unsigned long offset, float** src, float** dst); // p4.0.21 - void apply(unsigned long n, unsigned long ports, float** bufIn, float** bufOut); // - - //void enableController(int i, bool v = true) { controls[i].enCtrl = v; } - //bool controllerEnabled(int i) const { return controls[i].enCtrl; } - //void enable2Controller(int i, bool v = true) { controls[i].en2Ctrl = v; } - //bool controllerEnabled2(int i) const { return controls[i].en2Ctrl; } - void enableController(unsigned long i, bool v = true) { controls[i].enCtrl = v; } // p4.0.21 + void connect(unsigned long ports, unsigned long offset, float** src, float** dst); + void apply(unsigned long n, unsigned long ports, float** bufIn, float** bufOut); + + void enableController(unsigned long i, bool v = true) { controls[i].enCtrl = v; } bool controllerEnabled(unsigned long i) const { return controls[i].enCtrl; } void enable2Controller(unsigned long i, bool v = true) { controls[i].en2Ctrl = v; } bool controllerEnabled2(unsigned long i) const { return controls[i].en2Ctrl; } @@ -434,6 +381,7 @@ class PluginI : public PluginIBase { QString lib() const { return _plugin->lib(); } QString dirPath() const { return _plugin->dirPath(); } QString fileName() const { return _plugin->fileName(); } + QString titlePrefix() const; #ifdef OSC_SUPPORT OscEffectIF& oscIF() { return _oscif; } @@ -453,8 +401,7 @@ class PluginI : public PluginIBase { void writeConfiguration(int level, Xml& xml); bool readConfiguration(Xml& xml, bool readPreset=false); bool loadControl(Xml& xml); - //bool setControl(const QString& s, double val); - bool setControl(const QString& s, float val); // p4.0.21 + bool setControl(const QString& s, float val); void showGui(); void showGui(bool); bool isDssiPlugin() const { return _plugin->isDssiPlugin(); } @@ -464,20 +411,8 @@ class PluginI : public PluginIBase { bool guiVisible(); bool nativeGuiVisible(); - //int parameters() const { return controlPorts; } - //void setParam(int i, double val) { controls[i].tmpVal = val; } - //double param(int i) const { return controls[i].val; } - //double defaultValue(unsigned int param) const; - //const char* paramName(int i) { return _plugin->portName(controls[i].idx); } - //LADSPA_PortDescriptor portd(int i) const { return _plugin->portd(controls[i].idx); } - //void range(int i, float* min, float* max) const { _plugin->range(controls[i].idx, min, max); } - //bool isAudioIn(int k) { return (_plugin->portd(k) & AUDIO_IN) == AUDIO_IN; } - //bool isAudioOut(int k) { return (_plugin->portd(k) & AUDIO_OUT) == AUDIO_OUT; } - //LADSPA_PortRangeHint range(int i) { return _plugin->range(controls[i].idx); } - // p4.0.21 unsigned long parameters() const { return controlPorts; } unsigned long parametersOut() const { return controlOutPorts; } - //void setParam(unsigned i, float val) { controls[i].tmpVal = val; } void setParam(unsigned long i, float val); float param(unsigned long i) const { return controls[i].val; } float paramOut(unsigned long i) const { return controlsOut[i].val; } @@ -500,8 +435,6 @@ class PluginI : public PluginIBase { // chain of connected efx inserts //--------------------------------------------------------- -//const int PipelineDepth = 4; // Moved to globaldefs.h - class Pipeline : public std::vector { float* buffer[MAX_CHANNELS]; @@ -525,8 +458,7 @@ class Pipeline : public std::vector { void deleteAllGuis(); bool guiVisible(int); bool nativeGuiVisible(int); - //void apply(int ports, unsigned long nframes, float** buffer); - void apply(unsigned long ports, unsigned long nframes, float** buffer); // p4.0.21 + void apply(unsigned long ports, unsigned long nframes, float** buffer); void move(int idx, bool up); bool empty(int idx) const; void setChannels(int); @@ -537,11 +469,6 @@ typedef Pipeline::const_iterator ciPluginI; extern void initPlugins(); -//extern bool ladspaDefaultValue(const LADSPA_Descriptor* plugin, int port, float* val); -//extern void ladspaControlRange(const LADSPA_Descriptor* plugin, int i, float* min, float* max); -//extern bool ladspa2MidiControlValues(const LADSPA_Descriptor* plugin, int port, int ctlnum, int* min, int* max, int* def); -//extern float midi2LadspaValue(const LADSPA_Descriptor* plugin, int port, int ctlnum, int val); -// p4.0.21 extern bool ladspaDefaultValue(const LADSPA_Descriptor* plugin, unsigned long port, float* val); extern void ladspaControlRange(const LADSPA_Descriptor* plugin, unsigned long port, float* min, float* max); extern bool ladspa2MidiControlValues(const LADSPA_Descriptor* plugin, unsigned long port, int ctlnum, int* min, int* max, int* def); @@ -593,8 +520,7 @@ struct GuiWidgets { }; QWidget* widget; int type; - //int param; - unsigned long param; // p4.0.21 + unsigned long param; }; //--------------------------------------------------------- @@ -604,13 +530,11 @@ struct GuiWidgets { class PluginGui : public QMainWindow { Q_OBJECT - //PluginI* plugin; // plugin instance MusECore::PluginIBase* plugin; // plugin instance GuiParam* params; GuiParam* paramsOut; - //int nobj; - unsigned long nobj; // number of widgets in gw // p4.0.21 + unsigned long nobj; // number of widgets in gw GuiWidgets* gw; QAction* onOff; @@ -640,7 +564,6 @@ class PluginGui : public QMainWindow { void heartBeat(); public: - //PluginGui(MusECore::PluginI*); PluginGui(MusECore::PluginIBase*); ~PluginGui(); diff --git a/muse2/muse/remote/pyapi.cpp b/muse2/muse/remote/pyapi.cpp index 645c639e..de8f15ef 100644 --- a/muse2/muse/remote/pyapi.cpp +++ b/muse2/muse/remote/pyapi.cpp @@ -1129,7 +1129,9 @@ bool Song::event(QEvent* _e) break; } case QPybridgeEvent::SONG_ADD_TRACK: - MusEGlobal::song->addTrack((Track::TrackType)e->getP1()); // Add at end of list. + MusECore::Undo operations; + MusEGlobal::song->addTrack(operations, (Track::TrackType)e->getP1()); // Add at end of list. + MusEGlobal::song->applyOperationGroup(operations); break; case QPybridgeEvent::SONG_CHANGE_TRACKNAME: { Track* t = this->findTrack(e->getS1()); diff --git a/muse2/muse/route.cpp b/muse2/muse/route.cpp index f00c6d6c..1d494fb0 100644 --- a/muse2/muse/route.cpp +++ b/muse2/muse/route.cpp @@ -4,6 +4,7 @@ // $Id: route.cpp,v 1.18.2.3 2008/05/21 00:28:52 terminator356 Exp $ // // (C) Copyright 2003-2004 Werner Schweer (ws@seh.de) +// (C) Copyright 2011 Tim E. Real (terminator356 on sourceforge) // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License @@ -37,8 +38,6 @@ //#define ROUTE_DEBUG -//#define ROUTE_MIDIPORT_NAME_PREFIX "MusE MidiPort " - namespace MusECore { const QString ROUTE_MIDIPORT_NAME_PREFIX = "MusE MidiPort "; @@ -57,9 +56,7 @@ Route::Route(void* t, int ch) type = JACK_ROUTE; } -//Route::Route(AudioTrack* t, int ch) Route::Route(Track* t, int ch, int chans) -//Route::Route(Track* t, int ch) { track = t; midiPort = -1; @@ -69,7 +66,6 @@ Route::Route(Track* t, int ch, int chans) type = TRACK_ROUTE; } -//Route::Route(MidiJackDevice* d) Route::Route(MidiDevice* d, int ch) { device = d; @@ -77,19 +73,10 @@ Route::Route(MidiDevice* d, int ch) channel = ch; channels = -1; remoteChannel = -1; - /* - //if(dynamic_cast(d)) - if(d->deviceType() == MidiDevice::JACK_MIDI) - type = JACK_MIDI_ROUTE; - else - //if(dynamic_cast(d)) - if(d->deviceType() == MidiDevice::ALSA_MIDI) - type = ALSA_MIDI_ROUTE; - */ type = MIDI_DEVICE_ROUTE; } -Route::Route(int port, int ch) // p3.3.49 +Route::Route(int port, int ch) { track = 0; midiPort = port; @@ -99,16 +86,12 @@ Route::Route(int port, int ch) // p3.3.49 type = MIDI_PORT_ROUTE; } -//Route::Route(const QString& s, bool dst, int ch) Route::Route(const QString& s, bool dst, int ch, int rtype) { - //Route node(name2route(s, dst)); Route node(name2route(s, dst, rtype)); channel = node.channel; if(channel == -1) channel = ch; - //if(channels == -1) - // channels = chans; channels = node.channels; remoteChannel = node.remoteChannel; type = node.type; @@ -123,14 +106,6 @@ Route::Route(const QString& s, bool dst, int ch, int rtype) jackPort = node.jackPort; midiPort = -1; } - /* - else - if (type == JACK_MIDI_ROUTE) - device = node.device; - else - if (type == ALSA_MIDI_ROUTE) - device = node.device; - */ else if(type == MIDI_DEVICE_ROUTE) { @@ -138,10 +113,10 @@ Route::Route(const QString& s, bool dst, int ch, int rtype) midiPort = -1; } else - if(type == MIDI_PORT_ROUTE) // p3.3.49 + if(type == MIDI_PORT_ROUTE) { track = 0; - midiPort = node.midiPort; // + midiPort = node.midiPort; } } @@ -179,31 +154,20 @@ void addRoute(Route src, Route dst) // dst.type, dst.channel, dst.name().toLatin1().constData()); if (src.type == Route::JACK_ROUTE) { - //if (dst.type != TRACK_ROUTE) - //{ - // fprintf(stderr, "addRoute: bad route 1\n"); - // exit(-1); - // return; - //} - if (dst.type == Route::TRACK_ROUTE) { if (dst.track->type() != Track::AUDIO_INPUT) { fprintf(stderr, "addRoute: source is jack, dest:%s is track but not audio input\n", dst.track->name().toLatin1().constData()); - //exit(-1); return; } if (dst.channel < 0) { fprintf(stderr, "addRoute: source is jack, dest:%s is track but invalid channel:%d\n", dst.track->name().toLatin1().constData(), dst.channel); - //exit(-1); return; } - //src.channel = src.dstChannel = dst.channel; src.channel = dst.channel; - //src.channels = dst.channels = 1; RouteList* inRoutes = dst.track->inRoutes(); for (ciRoute i = inRoutes->begin(); i != inRoutes->end(); ++i) { @@ -221,28 +185,11 @@ void addRoute(Route src, Route dst) inRoutes->push_back(src); } else - //if (dst.type == Route::JACK_MIDI_ROUTE) if (dst.type == Route::MIDI_DEVICE_ROUTE) - //if (dst.type == Route::MIDI_PORT_ROUTE) // p3.3.49 { - //MidiDevice *md = MusEGlobal::midiPorts[dst.midiPort].device(); - //if(dst.device->deviceType() == MidiDevice::JACK_MIDI) - //if(!md) - //{ - // fprintf(stderr, "addRoute: source is Jack, but no destination port device\n"); - // return; - //} - if(dst.device->deviceType() == MidiDevice::JACK_MIDI) - //if(md->deviceType() == MidiDevice::JACK_MIDI) { src.channel = dst.channel; - //src.channel = -1; - //src.channel = 0; - //src.channel = src.dstChannel = dst.channel; - //src.channels = dst.channels = 1; - //dst.channel = -1; - RouteList* routes = dst.device->inRoutes(); for (ciRoute i = routes->begin(); i != routes->end(); ++i) { @@ -262,45 +209,32 @@ void addRoute(Route src, Route dst) else { fprintf(stderr, "addRoute: source is Jack, but destination is not jack midi - type:%d\n", dst.device->deviceType()); - // exit(-1); return; } } else { fprintf(stderr, "addRoute: source is Jack, but destination is not track or midi - type:%d \n", dst.type); - // exit(-1); return; } } else if (dst.type == Route::JACK_ROUTE) { - //if (src.type != TRACK_ROUTE) - //{ - // fprintf(stderr, "addRoute: bad route 3\n"); - // exit(-1); - // return; - //} - if (src.type == Route::TRACK_ROUTE) { if (src.track->type() != Track::AUDIO_OUTPUT) { fprintf(stderr, "addRoute: destination is jack, source is track but not audio output\n"); - // exit(-1); return; } if (src.channel < 0) { fprintf(stderr, "addRoute: destination is jack, source:%s is track but invalid channel:%d\n", src.track->name().toLatin1().constData(), src.channel); - // exit(-1); return; } RouteList* outRoutes = src.track->outRoutes(); - //dst.channel = dst.dstChannel = src.channel; dst.channel = src.channel; - //dst.channels = src.channels = 1; for (ciRoute i = outRoutes->begin(); i != outRoutes->end(); ++i) { @@ -318,17 +252,11 @@ void addRoute(Route src, Route dst) outRoutes->push_back(dst); } else - //if (src.type == Route::JACK_MIDI_ROUTE) if (src.type == Route::MIDI_DEVICE_ROUTE) { if(src.device->deviceType() == MidiDevice::JACK_MIDI) { dst.channel = src.channel; - //dst.channel = -1; - //src.channel = -1; - //dst.channel = dst.dstChannel = src.channel; - //dst.channels = src.channels = 1; - RouteList* routes = src.device->outRoutes(); for (ciRoute i = routes->begin(); i != routes->end(); ++i) { @@ -348,18 +276,16 @@ void addRoute(Route src, Route dst) else { fprintf(stderr, "addRoute: destination is Jack, but source is not jack midi - type:%d\n", src.device->deviceType()); - // exit(-1); return; } } else { fprintf(stderr, "addRoute: destination is Jack, but source is not track or midi - type:%d \n", src.type); - // exit(-1); return; } } - else if(src.type == Route::MIDI_PORT_ROUTE) // p3.3.49 + else if(src.type == Route::MIDI_PORT_ROUTE) { if(dst.type != Route::TRACK_ROUTE) { @@ -367,66 +293,18 @@ void addRoute(Route src, Route dst) return; } - // p4.0.14 - /* - if(dst.track->type() == Track::AUDIO_INPUT) - { - if(src.channel < 1 || src.channel >= (1 << MIDI_CHANNELS)) - { - fprintf(stderr, "addRoute: source is midi port:%d, but channel mask:%d out of range\n", src.midiPort, src.channel); - return; - } - - MidiPort *mp = &MusEGlobal::midiPorts[src.midiPort]; - //src.channel = dst.channel = -1; - RouteList* outRoutes = mp->outRoutes(); - iRoute ir = outRoutes->begin(); - for ( ; ir != outRoutes->end(); ++ir) - { - //if (*i == dst) // route already there - ir->dump(); - if (ir->type == Route::TRACK_ROUTE && ir->track == dst.track) // Does a route to the track exist? - { - //#ifdef ROUTE_DEBUG - fprintf(stderr, "addRoute: src midi port:%d dst audio in track:%s out route already exists. ir->channel:%d |= dst.channel:%d\n", - src.midiPort, dst.track->name().toLatin1().constData(), ir->channel, dst.channel); - //#endif - ir->channel |= dst.channel; // Bitwise OR the desired channel bit with the existing bit mask. - break; - //return; - } - } - if(ir == outRoutes->end()) // Only if route not found, add the route, with the requested channel bits as mask to start with. - outRoutes->push_back(dst); - - RouteList* inRoutes = dst.track->inRoutes(); - - ir = inRoutes->begin(); - for ( ; ir != inRoutes->end(); ++ir) - { - if (ir->type == Route::MIDI_PORT_ROUTE && ir->midiPort == src.midiPort) // Does a route to the midi port exist? - { - fprintf(stderr, "addRoute: src midi port:%d dst audio in track:%s in route already exists. ir->channel:%d |= src.channel:%d\n", - src.midiPort, dst.track->name().toLatin1().constData(), ir->channel, src.channel); - ir->channel |= src.channel; // Bitwise OR the desired channel bit with the existing bit mask. - break; - } - } - if(ir == inRoutes->end()) // Only if route not found, add the route, with the requested channel bits as mask to start with. - inRoutes->push_back(src); - - return; - } - */ - MidiPort *mp = &MusEGlobal::midiPorts[src.midiPort]; - // p4.0.17 Do not allow ports with synth midi devices to connect to audio ins! - if(dst.track->type() == Track::AUDIO_INPUT && mp->device() && mp->device()->isSynti()) - { - fprintf(stderr, "addRoute: destination is audio in, but source midi port:%d is synth device\n", src.midiPort); + // Do not allow ports with synth midi devices to connect to audio ins! p4.0.17 + //if(dst.track->type() == Track::AUDIO_INPUT && mp->device() && mp->device()->isSynti()) + //{ + // fprintf(stderr, "addRoute: destination is audio in, but source midi port:%d is synth device\n", src.midiPort); + // return; + //} + // Actually, do not allow synth ports to connect to any track. It may be useful in some cases, + // may be desired later, but for now it's just a routing hassle. p4.0.35 + if(mp->device() && mp->device()->isSynti()) return; - } if(dst.channel < 1 || dst.channel >= (1 << MIDI_CHANNELS)) { @@ -443,46 +321,39 @@ void addRoute(Route src, Route dst) src.channel = dst.channel; RouteList* outRoutes = mp->outRoutes(); - //for (iRoute i = outRoutes->begin(); i != outRoutes->end(); ++i) - iRoute ir = outRoutes->begin(); // p3.3.50 + iRoute ir = outRoutes->begin(); for ( ; ir != outRoutes->end(); ++ir) { - //if (*i == dst) // route already there - if (ir->type == Route::TRACK_ROUTE && ir->track == dst.track) // p3.3.50 Does a route to the track exist? + if (ir->type == Route::TRACK_ROUTE && ir->track == dst.track) // Does a route to the track exist? { - //#ifdef ROUTE_DEBUG - //fprintf(stderr, "addRoute: src midi port:%d dst track:%s route already exists.\n", src.midiPort, dst.track->name().toLatin1().constData()); - //#endif - ir->channel |= dst.channel; // p3.3.50 Bitwise OR the desired channel bit with the existing bit mask. + ir->channel |= dst.channel; // Bitwise OR the desired channel bit with the existing bit mask. break; - - //return; } } #ifdef ROUTE_DEBUG fprintf(stderr, "addRoute: src midi port:%d dst track name:%s pushing dst and src routes\n", src.midiPort, dst.track->name().toLatin1().constData()); #endif - if(ir == outRoutes->end()) // p3.3.50 Only if route not found, add the route, with the requested channel bits as mask to start with. + if(ir == outRoutes->end()) // Only if route not found, add the route, with the requested channel bits as mask to start with. outRoutes->push_back(dst); RouteList* inRoutes = dst.track->inRoutes(); - // p3.3.50 Make sure only one single route, with a channel mask, can ever exist. + // Make sure only one single route, with a channel mask, can ever exist. ir = inRoutes->begin(); for ( ; ir != inRoutes->end(); ++ir) { - if (ir->type == Route::MIDI_PORT_ROUTE && ir->midiPort == src.midiPort) // p3.3.50 Does a route to the midi port exist? + if (ir->type == Route::MIDI_PORT_ROUTE && ir->midiPort == src.midiPort) // Does a route to the midi port exist? { - ir->channel |= src.channel; // p3.3.50 Bitwise OR the desired channel bit with the existing bit mask. + ir->channel |= src.channel; // Bitwise OR the desired channel bit with the existing bit mask. break; } } - if(ir == inRoutes->end()) // p3.3.50 Only if route not found, add the route, with the requested channel bits as mask to start with. + if(ir == inRoutes->end()) // Only if route not found, add the route, with the requested channel bits as mask to start with. inRoutes->push_back(src); } - else if(dst.type == Route::MIDI_PORT_ROUTE) // p3.3.49 + else if(dst.type == Route::MIDI_PORT_ROUTE) { if(src.type != Route::TRACK_ROUTE) { @@ -495,7 +366,6 @@ void addRoute(Route src, Route dst) return; } - //MidiDevice *md = MusEGlobal::midiPorts[dst.midiPort].device(); //if(!md) //{ @@ -506,24 +376,17 @@ void addRoute(Route src, Route dst) dst.channel = src.channel; RouteList* outRoutes = src.track->outRoutes(); - //for (iRoute i = outRoutes->begin(); i != outRoutes->end(); ++i) - iRoute ir = outRoutes->begin(); // p3.3.50 + iRoute ir = outRoutes->begin(); for ( ; ir != outRoutes->end(); ++ir) { - //if (*i == dst) // route already there - if (ir->type == Route::MIDI_PORT_ROUTE && ir->midiPort == dst.midiPort) // p3.3.50 Does a route to the midi port exist? + if (ir->type == Route::MIDI_PORT_ROUTE && ir->midiPort == dst.midiPort) // Does a route to the midi port exist? { - //#ifdef ROUTE_DEBUG - //fprintf(stderr, "addRoute: dst midi port:%d src track:%s route already exists.\n", dst.midiPort, src.track->name().toLatin1().constData()); - //#endif - //return; - - ir->channel |= dst.channel; // p3.3.50 Bitwise OR the desired channel bit with the existing bit mask. + ir->channel |= dst.channel; // Bitwise OR the desired channel bit with the existing bit mask. break; } } - if(ir == outRoutes->end()) // p3.3.50 Only if route not found, add the route, with the requested channel bits as mask to start with. + if(ir == outRoutes->end()) // Only if route not found, add the route, with the requested channel bits as mask to start with. outRoutes->push_back(dst); MidiPort *mp = &MusEGlobal::midiPorts[dst.midiPort]; @@ -533,167 +396,97 @@ void addRoute(Route src, Route dst) #endif RouteList* inRoutes = mp->inRoutes(); - // p3.3.50 Make sure only one single route, with a channel mask, can ever exist. + // Make sure only one single route, with a channel mask, can ever exist. ir = inRoutes->begin(); for ( ; ir != inRoutes->end(); ++ir) { - if (ir->type == Route::TRACK_ROUTE && ir->track == src.track) // p3.3.50 Does a route to the track exist? + if (ir->type == Route::TRACK_ROUTE && ir->track == src.track) // Does a route to the track exist? { - ir->channel |= src.channel; // p3.3.50 Bitwise OR the desired channel bit with the existing bit mask. + ir->channel |= src.channel; // Bitwise OR the desired channel bit with the existing bit mask. break; } } - if(ir == inRoutes->end()) // p3.3.50 Only if route not found, add the route, with the requested channel bits as mask to start with. + if(ir == inRoutes->end()) // Only if route not found, add the route, with the requested channel bits as mask to start with. inRoutes->push_back(src); - //inRoutes->insert(inRoutes->begin(), src); } else { - if(src.type != Route::TRACK_ROUTE || dst.type != Route::TRACK_ROUTE) // p3.3.49 + if(src.type != Route::TRACK_ROUTE || dst.type != Route::TRACK_ROUTE) { fprintf(stderr, "addRoute: source or destination are not track routes\n"); return; } - // Removed p3.3.49 - /* - //if ((src.type == Route::JACK_MIDI_ROUTE) || (src.type == Route::ALSA_MIDI_ROUTE)) - if(src.type == Route::MIDI_DEVICE_ROUTE) - { - //src.channel = src.dstChannel = dst.dstChannel = dst.channel; - src.channel = dst.channel; - //src.channels = dst.channels = 1; - RouteList* outRoutes = src.device->outRoutes(); - #ifdef ROUTE_DEBUG - fprintf(stderr, "addRoute: src name: %s looking for existing dest in out routes...\n", src.device->name().toLatin1().constData()); - #endif - for (iRoute i = outRoutes->begin(); i != outRoutes->end(); ++i) - { - if (*i == dst) // route already there - { - //#ifdef ROUTE_DEBUG - fprintf(stderr, "addRoute: src Jack or ALSA midi route already exists.\n"); - //#endif - return; - } - } - #ifdef ROUTE_DEBUG - fprintf(stderr, "addRoute: src midi dst name: %s pushing destination and source routes\n", dst.track->name().toLatin1().constData()); - #endif - - outRoutes->push_back(dst); - RouteList* inRoutes = dst.track->inRoutes(); - inRoutes->push_back(src); - } - else - */ + RouteList* outRoutes = src.track->outRoutes(); - { - ///if(dst.type == Route::MIDI_DEVICE_ROUTE) // Removed p3.3.49 - //{ - /// dst.channel = src.channel; - //src.channel = src.dstChannel = dst.dstChannel = dst.channel; - //src.channels = dst.channels = 1; - //} - //else - //{ - //src.channel = src.dstChannel = dst.dstChannel = dst.channel; - //src.channels = dst.channels = 1; - //} - - RouteList* outRoutes = src.track->outRoutes(); - - // - // Must enforce to ensure channel and channels are valid if defaults of -1 passed. - // - if(src.track->type() == Track::AUDIO_SOFTSYNTH) - { - if(src.channel == -1) - src.channel = 0; - if(src.channels == -1) - src.channels = src.track->channels(); - //if(dst.type == Route::TRACK_ROUTE) // p3.3.49 Removed - //{ - //if(dst.channel == -1) - // dst.channel = 0; - //if(dst.channels == -1) - // Yes, that's correct: dst channels = src track channels. - // dst.channels = src.track->channels(); - dst.channel = src.channel; - dst.channels = src.channels; - dst.remoteChannel = src.remoteChannel; - //} - } - //if(dst.type == Route::TRACK_ROUTE && dst.track->type() == Track::AUDIO_SOFTSYNTH) - //{ - // if(dst.channel == -1) - // dst.channel = 0; - // if(dst.channels == -1) - // Yes, that's correct: dst channels = src track channels. - // dst.channels = src.track->channels(); - //} - - for (ciRoute i = outRoutes->begin(); i != outRoutes->end(); ++i) - { - if (*i == dst) // route already there - // TODO: - //if (i->type == dst.type && i->channel == dst.channel) + // + // Must enforce to ensure channel and channels are valid if defaults of -1 passed. + // + if(src.track->type() == Track::AUDIO_SOFTSYNTH) + { + if(src.channel == -1) + src.channel = 0; + if(src.channels == -1) + src.channels = src.track->channels(); + dst.channel = src.channel; + dst.channels = src.channels; + dst.remoteChannel = src.remoteChannel; + } + + for (ciRoute i = outRoutes->begin(); i != outRoutes->end(); ++i) + { + if (*i == dst) // route already there + // TODO: + //if (i->type == dst.type && i->channel == dst.channel) + { + //if(i->type == Route::TRACK_ROUTE) + { + //if(i->track == dst.track) { - //if(i->type == Route::TRACK_ROUTE) + //if(i->channels == dst.channels) { - //if(i->track == dst.track) - { - //if(i->channels == dst.channels) - { - //#ifdef ROUTE_DEBUG - fprintf(stderr, "addRoute: src track route already exists.\n"); - //#endif - return; - } - //else - //{ - - //} - } + //#ifdef ROUTE_DEBUG + fprintf(stderr, "addRoute: src track route already exists.\n"); + //#endif + return; } - } - } - outRoutes->push_back(dst); - RouteList* inRoutes; - - // Removed p3.3.49 - /* - //if ((dst.type == Route::JACK_MIDI_ROUTE) || (dst.type == Route::ALSA_MIDI_ROUTE)) - if(dst.type == Route::MIDI_DEVICE_ROUTE) - { - #ifdef ROUTE_DEBUG - fprintf(stderr, "addRoute: src track dst midi name: %s pushing destination and source routes\n", dst.device->name().toLatin1().constData()); - #endif - inRoutes = dst.device->inRoutes(); - } - else - */ - - { - #ifdef ROUTE_DEBUG - //fprintf(stderr, "addRoute: src track ch:%d chs:%d dst track ch:%d chs:%d name: %s pushing destination and source routes\n", src.channel, src.channels, dst.channel, dst.channels, dst.track->name().toLatin1().constData()); - fprintf(stderr, "addRoute: src track ch:%d chs:%d remch:%d dst track ch:%d chs:%d remch:%d name: %s pushing dest and source routes\n", - src.channel, src.channels, src.remoteChannel, dst.channel, dst.channels, dst.remoteChannel, dst.track->name().toLatin1().constData()); - //fprintf(stderr, "addRoute: src track ch:%d dst track ch:%d name: %s pushing destination and source routes\n", src.channel, dst.channel, dst.track->name().toLatin1().constData()); - #endif - inRoutes = dst.track->inRoutes(); - } - - - // - // make sure AUDIO_AUX is processed last - // - if (src.track->type() == Track::AUDIO_AUX) - inRoutes->push_back(src); - else - inRoutes->insert(inRoutes->begin(), src); - } + //else + //{ + + //} + } + } + } + } + outRoutes->push_back(dst); + RouteList* inRoutes; + + #ifdef ROUTE_DEBUG + //fprintf(stderr, "addRoute: src track ch:%d chs:%d dst track ch:%d chs:%d name: %s pushing destination and source routes\n", src.channel, src.channels, dst.channel, dst.channels, dst.track->name().toLatin1().constData()); + fprintf(stderr, "addRoute: src track ch:%d chs:%d remch:%d dst track ch:%d chs:%d remch:%d name: %s pushing dest and source routes\n", + src.channel, src.channels, src.remoteChannel, dst.channel, dst.channels, dst.remoteChannel, dst.track->name().toLatin1().constData()); + //fprintf(stderr, "addRoute: src track ch:%d dst track ch:%d name: %s pushing destination and source routes\n", src.channel, dst.channel, dst.track->name().toLatin1().constData()); + #endif + inRoutes = dst.track->inRoutes(); + + // + // make sure AUDIO_AUX is processed last + // + if (src.track->type() == Track::AUDIO_AUX) // REMOVE Tim. This special aux code may not be useful or needed now. + inRoutes->push_back(src); // + else + inRoutes->insert(inRoutes->begin(), src); + + // Is the source an Aux Track or else does it have Aux Tracks routed to it? + // Update the destination track's aux ref count, and all tracks it is routed to. + if(src.track->auxRefCount()) + //dst.track->updateAuxStates( src.track->auxRefCount() ); + src.track->updateAuxRoute( src.track->auxRefCount(), dst.track ); + else + if(src.track->type() == Track::AUDIO_AUX) + //dst.track->updateAuxStates( 1 ); + src.track->updateAuxRoute( 1, dst.track ); } } @@ -709,12 +502,6 @@ void removeRoute(Route src, Route dst) if (src.type == Route::JACK_ROUTE) { - //if (dst.type != TRACK_ROUTE) - //{ - // fprintf(stderr, "removeRoute: bad route 1\n"); - // exit(-1); - // return; - //} if(!dst.isValid()) { printf("removeRoute: source is jack, invalid destination\n"); @@ -726,7 +513,6 @@ void removeRoute(Route src, Route dst) if (dst.track->type() != Track::AUDIO_INPUT) { fprintf(stderr, "removeRoute: source is jack, destination is track but not audio input\n"); - // exit(-1); return; } RouteList* inRoutes = dst.track->inRoutes(); @@ -741,7 +527,6 @@ void removeRoute(Route src, Route dst) } } else - //if (dst.type == Route::JACK_MIDI_ROUTE) if (dst.type == Route::MIDI_DEVICE_ROUTE) { RouteList* routes = dst.device->inRoutes(); @@ -758,18 +543,11 @@ void removeRoute(Route src, Route dst) else { fprintf(stderr, "removeRoute: source is jack, destination unknown\n"); - // exit(-1); return; } } else if (dst.type == Route::JACK_ROUTE) { - //if (src.type != TRACK_ROUTE) - //{ - // fprintf(stderr, "removeRoute: bad route 3\n"); - // exit(-1); - // return; - //} if(!src.isValid()) { printf("removeRoute: destination is jack, invalid source\n"); @@ -781,7 +559,6 @@ void removeRoute(Route src, Route dst) if (src.track->type() != Track::AUDIO_OUTPUT) { fprintf(stderr, "removeRoute: destination is jack, source is track but not audio output\n"); - // exit(-1); return; } RouteList* outRoutes = src.track->outRoutes(); @@ -795,7 +572,6 @@ void removeRoute(Route src, Route dst) } } else - //if (src.type == Route::JACK_MIDI_ROUTE) if (src.type == Route::MIDI_DEVICE_ROUTE) { RouteList* routes = src.device->outRoutes(); @@ -811,11 +587,10 @@ void removeRoute(Route src, Route dst) else { fprintf(stderr, "removeRoute: destination is jack, source unknown\n"); - // exit(-1); return; } } - else if(src.type == Route::MIDI_PORT_ROUTE) // p3.3.49 + else if(src.type == Route::MIDI_PORT_ROUTE) { if(dst.type != Route::TRACK_ROUTE) { @@ -829,19 +604,18 @@ void removeRoute(Route src, Route dst) RouteList* outRoutes = mp->outRoutes(); for (iRoute i = outRoutes->begin(); i != outRoutes->end(); ++i) { - //if (*i == dst) - if(i->type == Route::TRACK_ROUTE && i->track == dst.track) // p3.3.50 Is there a route to the track? + if(i->type == Route::TRACK_ROUTE && i->track == dst.track) // Is there a route to the track? { //printf("i->channel:%x dst.channel:%x\n", i->channel, dst.channel); - i->channel &= ~dst.channel; // p3.3.50 Unset the desired channel bits. + i->channel &= ~dst.channel; // Unset the desired channel bits. if(i->channel == 0) // Only if there are no channel bits set, erase the route. { //printf("erasing out route from midi port:%d\n", src.midiPort); outRoutes->erase(i); } - break; // For safety, keep looking and remove any more found. - // No, must break, else crash. There should only be one route anyway... + break; // For safety, keep looking and remove any more found. + // No, must break, else crash. There should only be one route anyway... } } } @@ -853,22 +627,21 @@ void removeRoute(Route src, Route dst) RouteList* inRoutes = dst.track->inRoutes(); for (iRoute i = inRoutes->begin(); i != inRoutes->end(); ++i) { - //if (*i == src) - if (i->type == Route::MIDI_PORT_ROUTE && i->midiPort == src.midiPort) // p3.3.50 Is there a route to the midi port? + if (i->type == Route::MIDI_PORT_ROUTE && i->midiPort == src.midiPort) // Is there a route to the midi port? { - i->channel &= ~src.channel; // p3.3.50 Unset the desired channel bits. + i->channel &= ~src.channel; // Unset the desired channel bits. if(i->channel == 0) // Only if there are no channel bits set, erase the route. inRoutes->erase(i); - break; // For safety, keep looking and remove any more found. - // No, must break, else crash. There should only be one route anyway... + break; // For safety, keep looking and remove any more found. + // No, must break, else crash. There should only be one route anyway... } } } else printf("removeRoute: source is midi port:%d but destination track invalid\n", src.midiPort); } - else if(dst.type == Route::MIDI_PORT_ROUTE) // p3.3.49 + else if(dst.type == Route::MIDI_PORT_ROUTE) { if(src.type != Route::TRACK_ROUTE) { @@ -881,15 +654,14 @@ void removeRoute(Route src, Route dst) RouteList* outRoutes = src.track->outRoutes(); for (iRoute i = outRoutes->begin(); i != outRoutes->end(); ++i) { - //if (*i == dst) - if (i->type == Route::MIDI_PORT_ROUTE && i->midiPort == dst.midiPort) // p3.3.50 Is there a route to the midi port? + if (i->type == Route::MIDI_PORT_ROUTE && i->midiPort == dst.midiPort) // Is there a route to the midi port? { - i->channel &= ~dst.channel; // p3.3.50 Unset the desired channel bits. + i->channel &= ~dst.channel; // Unset the desired channel bits. if(i->channel == 0) // Only if there are no channel bits set, erase the route. outRoutes->erase(i); - break; // For safety, keep looking and remove any more found. - // No, must break, else crash. There should only be one route anyway... + break; // For safety, keep looking and remove any more found. + // No, must break, else crash. There should only be one route anyway... } } } @@ -902,15 +674,14 @@ void removeRoute(Route src, Route dst) RouteList* inRoutes = mp->inRoutes(); for (iRoute i = inRoutes->begin(); i != inRoutes->end(); ++i) { - //if (*i == src) - if (i->type == Route::TRACK_ROUTE && i->track == src.track) // p3.3.50 Is there a route to the track? + if (i->type == Route::TRACK_ROUTE && i->track == src.track) // Is there a route to the track? { - i->channel &= ~src.channel; // p3.3.50 Unset the desired channel bits. + i->channel &= ~src.channel; // Unset the desired channel bits. if(i->channel == 0) // Only if there are no channel bits set, erase the route. inRoutes->erase(i); - break; // For safety, keep looking and remove any more found. - // No, must break, else crash. There should only be one route anyway... + break; // For safety, keep looking and remove any more found. + // No, must break, else crash. There should only be one route anyway... } } } @@ -919,87 +690,54 @@ void removeRoute(Route src, Route dst) } else { - if(src.type != Route::TRACK_ROUTE || dst.type != Route::TRACK_ROUTE) // p3.3.49 + if(src.type != Route::TRACK_ROUTE || dst.type != Route::TRACK_ROUTE) { fprintf(stderr, "removeRoute: source and destination are not tracks\n"); return; } - // Removed p3.3.49 - /* - //if((src.type == Route::JACK_MIDI_ROUTE) || (src.type == Route::ALSA_MIDI_ROUTE)) - if(src.type == Route::MIDI_DEVICE_ROUTE) + // Is the source an Aux Track or else does it have Aux Tracks routed to it? + // Update the destination track's aux ref count, and all tracks it is routed to. + if(src.isValid() && dst.isValid()) { - if(src.isValid()) - { - RouteList* outRoutes = src.device->outRoutes(); - for (iRoute i = outRoutes->begin(); i != outRoutes->end(); ++i) - { - if (*i == dst) { - outRoutes->erase(i); - break; - } - } - } + if(src.track->auxRefCount()) + //dst.track->updateAuxStates( -src.track->auxRefCount() ); + src.track->updateAuxRoute( -src.track->auxRefCount(), dst.track ); else - printf("removeRoute: source is midi but invalid\n"); - - if(dst.isValid()) + if(src.track->type() == Track::AUDIO_AUX) + //dst.track->updateAuxStates( -1 ); + src.track->updateAuxRoute( -1, dst.track ); + } + + if(src.isValid()) + { + RouteList* outRoutes = src.track->outRoutes(); + for (iRoute i = outRoutes->begin(); i != outRoutes->end(); ++i) { - RouteList* inRoutes = dst.track->inRoutes(); - for (iRoute i = inRoutes->begin(); i != inRoutes->end(); ++i) - { - if (*i == src) { - inRoutes->erase(i); - break; - } - } + if (*i == dst) { + outRoutes->erase(i); + break; + } } - else - printf("removeRoute: source is midi but destination invalid\n"); - } + } else - */ + printf("removeRoute: source is track but invalid\n"); + if(dst.isValid()) { - if(src.isValid()) - { - RouteList* outRoutes = src.track->outRoutes(); - for (iRoute i = outRoutes->begin(); i != outRoutes->end(); ++i) - { - if (*i == dst) { - outRoutes->erase(i); - break; - } - } - } - else - printf("removeRoute: source is track but invalid\n"); + RouteList* inRoutes; - if(dst.isValid()) + inRoutes = dst.track->inRoutes(); + for (iRoute i = inRoutes->begin(); i != inRoutes->end(); ++i) { - RouteList* inRoutes; - - //if ((dst.type == Route::JACK_MIDI_ROUTE) || (dst.type == Route::ALSA_MIDI_ROUTE)) - // Removed p3.3.49 - /* - if (dst.type == Route::MIDI_DEVICE_ROUTE) - inRoutes = dst.device->inRoutes(); - else - */ - - inRoutes = dst.track->inRoutes(); - for (iRoute i = inRoutes->begin(); i != inRoutes->end(); ++i) - { - if (*i == src) { - inRoutes->erase(i); - break; - } - } - } - else - printf("removeRoute: source is track but destination invalid\n"); - } + if (*i == src) { + inRoutes->erase(i); + break; + } + } + } + else + printf("removeRoute: source is track but destination invalid\n"); } } @@ -1013,9 +751,19 @@ void removeRoute(Route src, Route dst) // So far it only works with MidiDevice <-> Jack. //--------------------------------------------------------- -// p3.3.55 void removeAllRoutes(Route src, Route dst) { + // TODO: Is the source an Aux Track or else does it have Aux Tracks routed to it? + // Update the destination track's aux ref count, and all tracks it is routed to. + /* if(src.isValid() && dst.isValid()) + { + if(src.track->auxRefCount()) + dst.track->updateAuxStates( -src.track->auxRefCount() ); + else + if(src.track->type() == Track::TrackType::AUDIO_AUX)) + dst.track->updateAuxStates( -1 ); + } */ + if(src.isValid()) { if(src.type == Route::MIDI_DEVICE_ROUTE) @@ -1052,22 +800,11 @@ static QString track2name(const Track* n) QString Route::name() const { - // p3.3.38 Removed - /* - QString s; - if ((type == TRACK_ROUTE) && (channel != -1)) { -// if (channel != -1) { - QString c; - c.setNum(channel+1); - s = c + ":"; - } - */ - if(type == MIDI_DEVICE_ROUTE) { if(device) { - // p3.3.55 Removed for unified jack in/out devices, the actual port names are now different from device name. + // For unified jack in/out devices, the actual port names are now different from device name. // Like this: device: "MyJackDevice1" -> inport: "MyJackDevice1_in" outport: "MyJackDevice1_out" /* if(device->deviceType() == MidiDevice::JACK_MIDI) @@ -1075,8 +812,7 @@ QString Route::name() const else */ - //if(device->deviceType() == MidiDevice::ALSA_MIDI) - return device->name(); + return device->name(); } return QWidget::tr("None"); } @@ -1084,16 +820,14 @@ QString Route::name() const if(type == JACK_ROUTE) { if (!MusEGlobal::checkAudioDevice()) return ""; - //return s + MusEGlobal::audioDevice->portName(jackPort); return MusEGlobal::audioDevice->portName(jackPort); } else - if(type == MIDI_PORT_ROUTE) // p3.3.49 + if(type == MIDI_PORT_ROUTE) { return ROUTE_MIDIPORT_NAME_PREFIX + QString().setNum(midiPort); } else - //return s + track2name(track); return track2name(track); } @@ -1106,7 +840,6 @@ Route name2route(const QString& rn, bool /*dst*/, int rtype) { // printf("name2route %s\n", rn.toLatin1().constData()); int channel = -1; - //int channel = 0; QString s(rn); // Support old route style in med files. Obsolete. if (rn[0].isNumber() && rn[1]==':') @@ -1117,8 +850,6 @@ Route name2route(const QString& rn, bool /*dst*/, int rtype) if(rtype == -1) { - //if(dst) - //{ if(MusEGlobal::checkAudioDevice()) { void* p = MusEGlobal::audioDevice->findPort(s.toLatin1().constData()); @@ -1149,7 +880,6 @@ Route name2route(const QString& rn, bool /*dst*/, int rtype) return Route(*i, channel); } - // p3.3.49 if(s.left(ROUTE_MIDIPORT_NAME_PREFIX.length()) == ROUTE_MIDIPORT_NAME_PREFIX) { bool ok = false; @@ -1160,8 +890,6 @@ Route name2route(const QString& rn, bool /*dst*/, int rtype) } else { - //if(dst) - //{ if(rtype == Route::TRACK_ROUTE) { TrackList* tl = MusEGlobal::song->tracks(); @@ -1178,8 +906,6 @@ Route name2route(const QString& rn, bool /*dst*/, int rtype) AudioTrack* track = (AudioTrack*)*i; if(track->name() == s) return Route(track, channel); - //return Route(track, channel, 1); - //return Route(track, channel, track->channels()); } } } @@ -1191,7 +917,6 @@ Route name2route(const QString& rn, bool /*dst*/, int rtype) for(iMidiDevice i = MusEGlobal::midiDevices.begin(); i != MusEGlobal::midiDevices.end(); ++i) { if((*i)->name() == s) - //if (jmd->name() == rn) return Route(*i, channel); /* @@ -1224,7 +949,7 @@ Route name2route(const QString& rn, bool /*dst*/, int rtype) } } else - if(rtype == Route::MIDI_PORT_ROUTE) // p3.3.49 + if(rtype == Route::MIDI_PORT_ROUTE) { if(s.left(ROUTE_MIDIPORT_NAME_PREFIX.length()) == ROUTE_MIDIPORT_NAME_PREFIX) { @@ -1238,7 +963,6 @@ Route name2route(const QString& rn, bool /*dst*/, int rtype) printf(" name2route: <%s> not found\n", rn.toLatin1().constData()); return Route((Track*) 0, channel); - //return Route((Track*) 0, channel, 1); } //--------------------------------------------------------- @@ -1255,10 +979,6 @@ bool checkRoute(const QString& s, const QString& d) return false; if (src.type == Route::JACK_ROUTE) { - //if (dst.type != TRACK_ROUTE) { - // return false; - // } - if (dst.type == Route::TRACK_ROUTE) { if (dst.track->type() != Track::AUDIO_INPUT) { @@ -1274,12 +994,9 @@ bool checkRoute(const QString& s, const QString& d) } } else - //if (dst.type == Route::JACK_MIDI_ROUTE) if (dst.type == Route::MIDI_DEVICE_ROUTE) { - //src.channel = dst.channel; src.channel = -1; - //dst.channel = -1; RouteList* routes = dst.device->inRoutes(); for (ciRoute i = routes->begin(); i != routes->end(); ++i) { @@ -1293,10 +1010,6 @@ bool checkRoute(const QString& s, const QString& d) } else if (dst.type == Route::JACK_ROUTE) { - //if (src.type != TRACK_ROUTE) { - // return false; - // } - if (src.type == Route::TRACK_ROUTE) { if (src.track->type() != Track::AUDIO_OUTPUT) { @@ -1312,13 +1025,10 @@ bool checkRoute(const QString& s, const QString& d) } } else - //if (src.type == Route::JACK_MIDI_ROUTE) if (src.type == Route::MIDI_DEVICE_ROUTE) { RouteList* routes = src.device->outRoutes(); - //dst.channel = src.channel; dst.channel = -1; - //src.channel = -1; for (ciRoute i = routes->begin(); i != routes->end(); ++i) { if (*i == dst) { // route already there @@ -1329,7 +1039,7 @@ bool checkRoute(const QString& s, const QString& d) else return false; } - else if (src.type == Route::MIDI_PORT_ROUTE) // p3.3.49 + else if (src.type == Route::MIDI_PORT_ROUTE) { RouteList* outRoutes = MusEGlobal::midiPorts[src.midiPort].outRoutes(); for (ciRoute i = outRoutes->begin(); i != outRoutes->end(); ++i) @@ -1339,13 +1049,11 @@ bool checkRoute(const QString& s, const QString& d) } } } - //else if (dst.type == Route::MIDI_PORT_ROUTE) // p3.3.49 + //else if (dst.type == Route::MIDI_PORT_ROUTE) //{ //} else { - //RouteList* outRoutes = ((src.type == Route::JACK_MIDI_ROUTE) || (src.type == Route::ALSA_MIDI_ROUTE)) ? - // src.device->outRoutes() : src.track->outRoutes(); RouteList* outRoutes = (src.type == Route::MIDI_DEVICE_ROUTE) ? src.device->outRoutes() : src.track->outRoutes(); for (ciRoute i = outRoutes->begin(); i != outRoutes->end(); ++i) @@ -1366,7 +1074,7 @@ void Route::read(Xml& xml) { QString s; int dtype = MidiDevice::ALSA_MIDI; - int port = -1; // p3.3.49 + int port = -1; unsigned char rtype = Route::TRACK_ROUTE; for (;;) @@ -1397,7 +1105,7 @@ void Route::read(Xml& xml) if(tag == "name") s = xml.s2(); else - if(tag == "mport") // p3.3.49 + if(tag == "mport") { port = xml.s2().toInt(); rtype = Route::MIDI_PORT_ROUTE; @@ -1409,7 +1117,7 @@ void Route::read(Xml& xml) #ifdef ROUTE_DEBUG printf("Route::read(): tag end type:%d channel:%d name:%s\n", rtype, channel, s.toLatin1().constData()); #endif - if(rtype == MIDI_PORT_ROUTE) // p3.3.49 + if(rtype == MIDI_PORT_ROUTE) { if(port >= 0 && port < MIDI_PORTS) { @@ -1462,7 +1170,6 @@ void Route::read(Xml& xml) MidiDevice* md = *imd; if(md->name() == s && md->deviceType() == dtype) { - // p3.3.45 // We found a device, but if it is not in use by the song (port is -1), ignore it. // This prevents loading and propagation of bogus routes in the med file. if(md->midiPort() == -1) @@ -1509,7 +1216,7 @@ void Song::readRoute(Xml& xml) case Xml::End: return; case Xml::TagStart: - // p3.3.38 2010/02/03 Support old routes in med files. Now obsolete! + // 2010/02/03 Support old routes in med files. Now obsolete! if (tag == "srcNode") src = xml.parse1(); else if (tag == "dstNode") @@ -1545,7 +1252,7 @@ void Song::readRoute(Xml& xml) if(tag == "remch") remch = xml.s2().toInt(); else - if(tag == "channelMask") // p3.3.50 New channel mask for midi port-track routes. + if(tag == "channelMask") // New channel mask for midi port-track routes. ch = xml.s2().toInt(); else printf("Song::readRoute(): unknown attribute:%s\n", tag.toLatin1().constData()); @@ -1564,17 +1271,17 @@ void Song::readRoute(Xml& xml) // Support new routes. if(sroute.isValid() && droute.isValid()) { - // p3.3.49 Support pre- 1.1-RC2 midi-device-to-track routes. Obsolete. Replaced with midi port routes. + // Support pre- 1.1-RC2 midi-device-to-track routes. Obsolete. Replaced with midi port routes. if(sroute.type == Route::MIDI_DEVICE_ROUTE && droute.type == Route::TRACK_ROUTE) { if(sroute.device->midiPort() >= 0 && sroute.device->midiPort() < MIDI_PORTS - && ch >= 0 && ch < MIDI_CHANNELS) // p3.3.50 + && ch >= 0 && ch < MIDI_CHANNELS) { sroute.midiPort = sroute.device->midiPort(); sroute.device = 0; sroute.type = Route::MIDI_PORT_ROUTE; - sroute.channel = 1 << ch; // p3.3.50 Convert to new bit-wise channel mask. + sroute.channel = 1 << ch; // Convert to new bit-wise channel mask. droute.channel = sroute.channel; addRoute(sroute, droute); @@ -1586,13 +1293,13 @@ void Song::readRoute(Xml& xml) else if(sroute.type == Route::TRACK_ROUTE && droute.type == Route::MIDI_DEVICE_ROUTE) { if(droute.device->midiPort() >= 0 && droute.device->midiPort() < MIDI_PORTS - && ch >= 0 && ch < MIDI_CHANNELS) // p3.3.50 + && ch >= 0 && ch < MIDI_CHANNELS) { droute.midiPort = droute.device->midiPort(); droute.device = 0; droute.type = Route::MIDI_PORT_ROUTE; - droute.channel = 1 << ch; // p3.3.50 Convert to new bit-wise channel mask. + droute.channel = 1 << ch; // Convert to new bit-wise channel mask. sroute.channel = droute.channel; addRoute(sroute, droute); @@ -1659,7 +1366,7 @@ void Route::dump() const printf("Route dump: jack audio port <%s> channel %d\n", MusEGlobal::audioDevice->portName(jackPort).toLatin1().constData(), channel); } else - if (type == MIDI_PORT_ROUTE) // p3.3.49 + if (type == MIDI_PORT_ROUTE) { printf("Route dump: midi port <%d> channel mask %d\n", midiPort, channel); } @@ -1672,8 +1379,6 @@ void Route::dump() const if(device->deviceType() == MidiDevice::JACK_MIDI) { if(MusEGlobal::checkAudioDevice()) - //printf("jack midi port device <%s> ", MusEGlobal::audioDevice->portName(device->clientPort()).toLatin1().constData()); - // p3.3.55 { printf("jack midi device <%s> ", device->name().toLatin1().constData()); if(device->inClientPort()) @@ -1730,36 +1435,16 @@ bool Route::operator==(const Route& a) const { //if (!MusEGlobal::checkAudioDevice()) return false; //return MusEGlobal::audioDevice->portName(jackPort) == MusEGlobal::audioDevice->portName(a.jackPort); - // p3.3.55 Simplified. - return jackPort == a.jackPort; + return jackPort == a.jackPort; // Simplified. } else - if (type == MIDI_PORT_ROUTE) // p3.3.49 + if (type == MIDI_PORT_ROUTE) { return midiPort == a.midiPort; } else if (type == MIDI_DEVICE_ROUTE) { - // p3.3.55 Changed for unified jack in/out devices, the actual port names are now different from device name. - // Like this: device: "MyJackDevice1" -> inport: "MyJackDevice1_in" outport: "MyJackDevice1_out" - /* - if(device && a.device && device->deviceType() == a.device->deviceType()) - { - if(device->deviceType() == MidiDevice::JACK_MIDI) - { - if (!MusEGlobal::checkAudioDevice()) return false; - return MusEGlobal::audioDevice->portName(device->clientPort()) == MusEGlobal::audioDevice->portName(a.device->clientPort()); - } - else - if(device->deviceType() == MidiDevice::ALSA_MIDI) - // TODO: OK ?? - return device->clientPort() == a.device->clientPort() && (channel == a.channel); - else - if(device->deviceType() == MidiDevice::SYNTH_MIDI) - return device->name() == a.device->name(); - } - */ return device == a.device; } } @@ -1767,4 +1452,56 @@ bool Route::operator==(const Route& a) const return false; } +/* +//--------------------------------------------------------- +// isCircularRoute +// Recursive. +// If dst is valid, start traversal from there, not from src. +// Returns true if circular. +//--------------------------------------------------------- + +bool isCircularRoutePath(Track* src, Track* dst) +{ + //if(isMidiTrack() || _type == AUDIO_AUX) + //if(isMidiTrack()) + // return; + + bool rv = false; + + if(dst) + { + src->setNodeTraversed(true); + rv = isCircularRoutePath(dst, NULL); + src->setNodeTraversed(false); + //if(rv) + // fprintf(stderr, " Circular route %s -> %s\n", src->name().toLatin1().constData(), dst->name().toLatin1().constData()); + return rv; + } + + if(src->nodeTraversed()) + return true; + + src->setNodeTraversed(true); + + //printf("isCircularRoute %s\n", src->name().toLatin1().constData()); + + RouteList* orl = src->outRoutes(); + for (iRoute i = orl->begin(); i != orl->end(); ++i) + { + if( !(*i).isValid() || (*i).type != Route::TRACK_ROUTE ) + continue; + Track* t = (*i).track; + //if(t->isMidiTrack()) + // continue; + rv = isCircularRoutePath(src, NULL); + if(rv) + break; + } + + src->setNodeTraversed(false); + return rv; +} +*/ + + } // namespace MusECore diff --git a/muse2/muse/route.h b/muse2/muse/route.h index 36b00d47..587369bc 100644 --- a/muse2/muse/route.h +++ b/muse2/muse/route.h @@ -4,6 +4,7 @@ // $Id: route.h,v 1.5.2.1 2008/05/21 00:28:52 terminator356 Exp $ // // (C) Copyright 2001 Werner Schweer (ws@seh.de) +// (C) Copyright 2011 Tim E. Real (terminator356 on sourceforge) // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License @@ -43,17 +44,15 @@ class Xml; //--------------------------------------------------------- struct Route { - enum { TRACK_ROUTE=0, JACK_ROUTE=1, MIDI_DEVICE_ROUTE=2, MIDI_PORT_ROUTE=3 }; // p3.3.49 + enum { TRACK_ROUTE=0, JACK_ROUTE=1, MIDI_DEVICE_ROUTE=2, MIDI_PORT_ROUTE=3 }; union { - //AudioTrack* track; Track* track; - //MidiJackDevice* device; MidiDevice* device; void* jackPort; }; - int midiPort; // p3.3.49 Midi port number. Best not to put this in the union to avoid problems? + int midiPort; // Midi port number. Best not to put this in the union to avoid problems? //snd_seq_addr_t alsaAdr; @@ -75,7 +74,7 @@ struct Route { Route(void* t, int ch=-1); Route(Track* t, int ch = -1, int chans = -1); Route(MidiDevice* d, int ch); - Route(int port, int ch); // p3.3.49 + Route(int port, int ch); Route(const QString&, bool dst, int ch, int rtype = -1); Route(); @@ -84,7 +83,7 @@ struct Route { bool isValid() const { return ((type == TRACK_ROUTE) && (track != 0)) || ((type == JACK_ROUTE) && (jackPort != 0)) || ((type == MIDI_DEVICE_ROUTE) && (device != 0)) || - ((type == MIDI_PORT_ROUTE) && (midiPort >= 0) && (midiPort < MIDI_PORTS)); // p3.3.49 + ((type == MIDI_PORT_ROUTE) && (midiPort >= 0) && (midiPort < MIDI_PORTS)); } void read(Xml& xml); void dump() const; @@ -106,6 +105,7 @@ extern void removeRoute(Route, Route); extern void removeAllRoutes(Route, Route); // p3.3.55 extern Route name2route(const QString&, bool dst, int rtype = -1); extern bool checkRoute(const QString&, const QString&); +//extern bool isCircularRoutePath(Track* src, Track* dst); // Recursive. //--------------------------------------------------------- // RouteMenuMap diff --git a/muse2/muse/shortcuts.cpp b/muse2/muse/shortcuts.cpp index 132eef97..cefb198e 100644 --- a/muse2/muse/shortcuts.cpp +++ b/muse2/muse/shortcuts.cpp @@ -66,7 +66,7 @@ void initShortCuts() defShrt(SHRT_COPY, Qt::CTRL + Qt::Key_C, QT_TRANSLATE_NOOP("shortcuts", "Edit: Copy"), INVIS_SHRT, "copy"); defShrt(SHRT_COPY_RANGE, Qt::CTRL + Qt::SHIFT + Qt::Key_C, QT_TRANSLATE_NOOP("shortcuts", "Edit: Copy in range"), GLOBAL_SHRT, "copy_range"); defShrt(SHRT_UNDO, Qt::CTRL + Qt::Key_Z, QT_TRANSLATE_NOOP("shortcuts", "Edit: Undo"), INVIS_SHRT, "undo"); - defShrt(SHRT_REDO, Qt::CTRL + Qt::Key_Y, QT_TRANSLATE_NOOP("shortcuts", "Edit: Redo"), INVIS_SHRT, "redo"); + defShrt(SHRT_REDO, Qt::CTRL + Qt::SHIFT + Qt::Key_Z, QT_TRANSLATE_NOOP("shortcuts", "Edit: Redo"), INVIS_SHRT, "redo"); defShrt(SHRT_CUT, Qt::CTRL + Qt::Key_X, QT_TRANSLATE_NOOP("shortcuts", "Edit: Cut"), INVIS_SHRT, "cut"); defShrt(SHRT_PASTE, Qt::CTRL + Qt::Key_V, QT_TRANSLATE_NOOP("shortcuts", "Edit: Paste"), INVIS_SHRT, "paste"); defShrt(SHRT_PASTE_DIALOG, Qt::CTRL + Qt::SHIFT + Qt::Key_V, QT_TRANSLATE_NOOP("shortcuts", "Edit: Paste (with dialog)"), GLOBAL_SHRT, "paste_dialog"); diff --git a/muse2/muse/song.cpp b/muse2/muse/song.cpp index 70314035..36be50a0 100644 --- a/muse2/muse/song.cpp +++ b/muse2/muse/song.cpp @@ -156,6 +156,7 @@ void Song::setSig(const AL::TimeSignature& sig) Track* Song::addNewTrack(QAction* action, Track* insertAt) { +printf("Song::addNewTrack\n"); int n = action->data().toInt(); // Ignore negative numbers since this slot could be called by a menu or list etc. passing -1. if(n < 0) @@ -165,13 +166,20 @@ Track* Song::addNewTrack(QAction* action, Track* insertAt) if(n >= MENU_ADD_SYNTH_ID_BASE) { n -= MENU_ADD_SYNTH_ID_BASE; + int ntype = n / MENU_ADD_SYNTH_ID_BASE; + if(ntype >= Synth::SYNTH_TYPE_END) + return 0; + + n %= MENU_ADD_SYNTH_ID_BASE; if(n >= (int)MusEGlobal::synthis.size()) return 0; - SynthI* si = createSynthI(MusEGlobal::synthis[n]->baseName(), MusEGlobal::synthis[n]->name(), insertAt); + //printf("Song::addNewTrack synth: type:%d idx:%d class:%s label:%s\n", ntype, n, MusEGlobal::synthis[n]->baseName().toLatin1().constData(), MusEGlobal::synthis[n]->name().toLatin1().constData()); + SynthI* si = createSynthI(MusEGlobal::synthis[n]->baseName(), MusEGlobal::synthis[n]->name(), (Synth::Type)ntype, insertAt); if(!si) return 0; - + if (MusEGlobal::config.unhideTracks) SynthI::setVisible(true); + // Add instance last in midi device list. for (int i = 0; i < MIDI_PORTS; ++i) { @@ -181,15 +189,19 @@ Track* Song::addNewTrack(QAction* action, Track* insertAt) { MusEGlobal::midiSeq->msgSetMidiDevice(port, si); MusEGlobal::muse->changeConfig(true); // save configuration file - deselectTracks(); - si->setSelected(true); - update(); + if (SynthI::visible()) { + deselectTracks(); + si->setSelected(true); + update(); + } return si; } } - deselectTracks(); - si->setSelected(true); - update(SC_SELECTION); + if (SynthI::visible()) { + deselectTracks(); + si->setSelected(true); + update(SC_SELECTION); + } return si; } // Normal track. @@ -200,10 +212,14 @@ Track* Song::addNewTrack(QAction* action, Track* insertAt) if((Track::TrackType)n >= Track::AUDIO_SOFTSYNTH) return 0; - Track* t = addTrack((Track::TrackType)n, insertAt); - deselectTracks(); - t->setSelected(true); - update(SC_SELECTION); + Undo operations; + Track* t = addTrack(operations, (Track::TrackType)n, insertAt); + applyOperationGroup(operations); + if (t->isVisible()) { + deselectTracks(); + t->setSelected(true); + update(SC_SELECTION); + } return t; } } @@ -216,53 +232,63 @@ Track* Song::addNewTrack(QAction* action, Track* insertAt) // If insertAt is valid, inserts before insertAt. Else at the end after all tracks. //--------------------------------------------------------- -Track* Song::addTrack(Track::TrackType type, Track* insertAt) +Track* Song::addTrack(Undo& operations, Track::TrackType type, Track* insertAt) { + printf("Song::addTrack\n"); Track* track = 0; int lastAuxIdx = _auxs.size(); switch(type) { case Track::MIDI: track = new MidiTrack(); track->setType(Track::MIDI); + if (MusEGlobal::config.unhideTracks) MidiTrack::setVisible(true); break; case Track::DRUM: track = new MidiTrack(); track->setType(Track::DRUM); ((MidiTrack*)track)->setOutChannel(9); + if (MusEGlobal::config.unhideTracks) MidiTrack::setVisible(true); break; case Track::WAVE: track = new MusECore::WaveTrack(); ((AudioTrack*)track)->addAuxSend(lastAuxIdx); + if (MusEGlobal::config.unhideTracks) WaveTrack::setVisible(true); break; case Track::AUDIO_OUTPUT: track = new AudioOutput(); + if (MusEGlobal::config.unhideTracks) AudioOutput::setVisible(true); break; case Track::AUDIO_GROUP: track = new AudioGroup(); ((AudioTrack*)track)->addAuxSend(lastAuxIdx); + if (MusEGlobal::config.unhideTracks) AudioGroup::setVisible(true); break; case Track::AUDIO_AUX: track = new AudioAux(); + if (MusEGlobal::config.unhideTracks) AudioAux::setVisible(true); break; case Track::AUDIO_INPUT: track = new AudioInput(); ((AudioTrack*)track)->addAuxSend(lastAuxIdx); + if (MusEGlobal::config.unhideTracks) AudioInput::setVisible(true); break; case Track::AUDIO_SOFTSYNTH: printf("not implemented: Song::addTrack(SOFTSYNTH)\n"); // ((AudioTrack*)track)->addAuxSend(lastAuxIdx); break; default: - printf("Song::addTrack() illegal type %d\n", type); - abort(); + printf("THIS SHOULD NEVER HAPPEN: Song::addTrack() illegal type %d. returning NULL.\n" + "save your work if you can and expect soon crashes!\n", type); + return NULL; } track->setDefaultName(); int idx = insertAt ? _tracks.index(insertAt) : -1; - insertTrack1(track, idx); - msgInsertTrack(track, idx, true); - insertTrack3(track, idx); + // insertTrack1(track, idx); // this and the below are replaced + // msgInsertTrack(track, idx, true); // by the UndoOp-operation + // insertTrack3(track, idx); // does nothing + operations.push_back(UndoOp(UndoOp::AddTrack, idx, track)); // Add default track <-> midiport routes. if(track->isMidiTrack()) @@ -1928,7 +1954,7 @@ void Song::panic() // If clear_all is false, it will not touch things like midi ports. //--------------------------------------------------------- -void Song::clear(bool signal, bool /*clear_all*/) +void Song::clear(bool signal, bool clear_all) { if(MusEGlobal::debugMsg) printf("Song::clear\n"); @@ -1953,7 +1979,7 @@ void Song::clear(bool signal, bool /*clear_all*/) // p3.3.50 Reset this. MusEGlobal::midiPorts[i].setFoundInSongFile(false); - //if(clear_all) // Allow not touching devices. p4.0.17 TESTING: Maybe some problems... + if(clear_all) // Allow not touching devices. p4.0.17 TESTING: Maybe some problems... // This will also close the device. MusEGlobal::midiPorts[i].setMidiDevice(0); } @@ -1972,7 +1998,7 @@ void Song::clear(bool signal, bool /*clear_all*/) //if((*imd)->deviceType() == MidiDevice::JACK_MIDI) if(dynamic_cast< MidiJackDevice* >(*imd)) { - //if(clear_all) // Allow not touching devices. p4.0.17 TESTING: Maybe some problems... + if(clear_all) // Allow not touching devices. p4.0.17 TESTING: Maybe some problems... { // Remove the device from the list. MusEGlobal::midiDevices.erase(imd); @@ -2919,7 +2945,6 @@ void Song::insertTrack2(Track* track, int idx) break; default: fprintf(stderr, "unknown track type %d\n", track->type()); - // abort(); return; } @@ -2936,7 +2961,7 @@ void Song::insertTrack2(Track* track, int idx) for (iTrack i = _tracks.begin(); i != _tracks.end(); ++i) { if ((*i)->isMidiTrack()) continue; - MusECore::WaveTrack* wt = (MusECore::WaveTrack*)*i; + MusECore::AudioTrack* wt = (MusECore::AudioTrack*)*i; if (wt->hasAuxSend()) { wt->addAuxSend(n); } @@ -2957,6 +2982,13 @@ void Song::insertTrack2(Track* track, int idx) Route src(track, r->channel, r->channels); src.remoteChannel = r->remoteChannel; r->track->outRoutes()->push_back(src); + // Is the source an Aux Track or else does it have Aux Tracks routed to it? + // Update the Audio Output track's aux ref count. p4.0.37 + if(r->track->auxRefCount()) + track->updateAuxRoute( r->track->auxRefCount(), NULL ); + else + if(r->track->type() == Track::AUDIO_AUX) + track->updateAuxRoute( 1, NULL ); } } else if (track->type() == Track::AUDIO_INPUT) @@ -2970,6 +3002,13 @@ void Song::insertTrack2(Track* track, int idx) Route src(track, r->channel, r->channels); src.remoteChannel = r->remoteChannel; r->track->inRoutes()->push_back(src); + // Is this track an Aux Track or else does it have Aux Tracks routed to it? + // Update the other track's aux ref count and all tracks it is connected to. p4.0.37 + if(track->auxRefCount()) + r->track->updateAuxRoute( track->auxRefCount(), NULL ); + else + if(track->type() == Track::AUDIO_AUX) + r->track->updateAuxRoute( 1, NULL ); } } else if (track->isMidiTrack()) // p3.3.50 @@ -3000,6 +3039,13 @@ void Song::insertTrack2(Track* track, int idx) Route src(track, r->channel, r->channels); src.remoteChannel = r->remoteChannel; r->track->outRoutes()->push_back(src); + // Is the source an Aux Track or else does it have Aux Tracks routed to it? + // Update this track's aux ref count. p4.0.37 + if(r->track->auxRefCount()) + track->updateAuxRoute( r->track->auxRefCount(), NULL ); + else + if(r->track->type() == Track::AUDIO_AUX) + track->updateAuxRoute( 1, NULL ); } rl = track->outRoutes(); for (ciRoute r = rl->begin(); r != rl->end(); ++r) @@ -3010,6 +3056,13 @@ void Song::insertTrack2(Track* track, int idx) Route src(track, r->channel, r->channels); src.remoteChannel = r->remoteChannel; r->track->inRoutes()->push_back(src); + // Is this track an Aux Track or else does it have Aux Tracks routed to it? + // Update the other track's aux ref count and all tracks it is connected to. p4.0.37 + if(track->auxRefCount()) + r->track->updateAuxRoute( track->auxRefCount(), NULL ); + else + if(track->type() == Track::AUDIO_AUX) + r->track->updateAuxRoute( 1, NULL ); } } @@ -3022,18 +3075,9 @@ void Song::insertTrack2(Track* track, int idx) // non realtime part of insertTrack //--------------------------------------------------------- +// empty. gets executed after the realtime part void Song::insertTrack3(Track* /*track*/, int /*idx*/)//prevent compiler warning: unused parameter { - //printf("Song::insertTrack3\n"); - - /* - switch(track->type()) { - case Track::AUDIO_SOFTSYNTH: - break; - default: - break; - } - */ } //--------------------------------------------------------- @@ -3153,6 +3197,13 @@ void Song::removeTrack2(Track* track) Route src(track, r->channel, r->channels); src.remoteChannel = r->remoteChannel; r->track->outRoutes()->removeRoute(src); + // Is the source an Aux Track or else does it have Aux Tracks routed to it? + // Update the Audio Output track's aux ref count. p4.0.37 + if(r->track->auxRefCount()) + track->updateAuxRoute( -r->track->auxRefCount(), NULL ); + else + if(r->track->type() == Track::AUDIO_AUX) + track->updateAuxRoute( -1, NULL ); } } else if (track->type() == Track::AUDIO_INPUT) @@ -3167,6 +3218,13 @@ void Song::removeTrack2(Track* track) Route src(track, r->channel, r->channels); src.remoteChannel = r->remoteChannel; r->track->inRoutes()->removeRoute(src); + // Is this track an Aux Track or else does it have Aux Tracks routed to it? + // Update the other track's aux ref count and all tracks it is connected to. p4.0.37 + if(track->auxRefCount()) + r->track->updateAuxRoute( -track->auxRefCount(), NULL ); + else + if(track->type() == Track::AUDIO_AUX) + r->track->updateAuxRoute( -1, NULL ); } } else if (track->isMidiTrack()) // p3.3.50 @@ -3198,6 +3256,13 @@ void Song::removeTrack2(Track* track) Route src(track, r->channel, r->channels); src.remoteChannel = r->remoteChannel; r->track->outRoutes()->removeRoute(src); + // Is the source an Aux Track or else does it have Aux Tracks routed to it? + // Update this track's aux ref count. p4.0.37 + if(r->track->auxRefCount()) + track->updateAuxRoute( -r->track->auxRefCount(), NULL ); + else + if(r->track->type() == Track::AUDIO_AUX) + track->updateAuxRoute( -1, NULL ); } rl = track->outRoutes(); for (ciRoute r = rl->begin(); r != rl->end(); ++r) @@ -3209,6 +3274,13 @@ void Song::removeTrack2(Track* track) Route src(track, r->channel, r->channels); src.remoteChannel = r->remoteChannel; r->track->inRoutes()->removeRoute(src); + // Is this track an Aux Track or else does it have Aux Tracks routed to it? + // Update the other track's aux ref count and all tracks it is connected to. p4.0.37 + if(track->auxRefCount()) + r->track->updateAuxRoute( -track->auxRefCount(), NULL ); + else + if(track->type() == Track::AUDIO_AUX) + r->track->updateAuxRoute( -1, NULL ); } } @@ -3219,21 +3291,10 @@ void Song::removeTrack2(Track* track) // non realtime part of removeTrack //--------------------------------------------------------- +//empty. gets executed after the realtime part void Song::removeTrack3(Track* /*track*/)//prevent of compiler warning: unused parameter - { - /* - switch(track->type()) { - case Track::AUDIO_SOFTSYNTH: - { - SynthI* s = (SynthI*) track; - s->deactivate3(); - } - break; - default: - break; - } - */ - } +{ +} //--------------------------------------------------------- // executeScript diff --git a/muse2/muse/song.h b/muse2/muse/song.h index 7bbd831d..2c07396c 100644 --- a/muse2/muse/song.h +++ b/muse2/muse/song.h @@ -37,6 +37,7 @@ #include "al/sig.h" #include "undo.h" #include "track.h" +#include "synth.h" class QAction; class QFont; @@ -362,7 +363,7 @@ class Song : public QObject { // Configuration //----------------------------------------- - SynthI* createSynthI(const QString& sclass, const QString& label = QString(), Track* insertAt = 0); + SynthI* createSynthI(const QString& sclass, const QString& label = QString(), Synth::Type type = Synth::SYNTH_TYPE_END, Track* insertAt = 0); void rescanAlsaPorts(); @@ -410,7 +411,7 @@ class Song : public QObject { void setQuantize(bool val); void panic(); void seqSignal(int fd); - Track* addTrack(Track::TrackType type, Track* insertAt = 0); + Track* addTrack(Undo& operations, Track::TrackType type, Track* insertAt = 0); Track* addNewTrack(QAction* action, Track* insertAt = 0); QString getScriptPath(int id, bool delivered); void populateScriptMenu(QMenu* menuPlugins, QObject* receiver); diff --git a/muse2/muse/songfile.cpp b/muse2/muse/songfile.cpp index 9adfd406..9a3c11f5 100644 --- a/muse2/muse/songfile.cpp +++ b/muse2/muse/songfile.cpp @@ -1325,13 +1325,19 @@ void MusE::readToplevels(MusECore::Xml& xml) } else if (tag == "marker") { showMarker(true); - if (toplevels.back()->type()==MusEGui::TopWin::MARKER) - toplevels.back()->readStatus(xml); + TopWin* tw = toplevels.findType(TopWin::MARKER); + if(!tw) + xml.skip("marker"); + else + tw->readStatus(xml); } else if (tag == "arrangerview") { showArranger(true); - if (toplevels.back()->type()==MusEGui::TopWin::ARRANGER) - toplevels.back()->readStatus(xml); + TopWin* tw = toplevels.findType(TopWin::ARRANGER); + if(!tw) + xml.skip("arrangerview"); + else + tw->readStatus(xml); } else if (tag == "waveedit") { if(!pl->empty()) @@ -1343,8 +1349,11 @@ void MusE::readToplevels(MusECore::Xml& xml) } else if (tag == "cliplist") { startClipList(true); - if (toplevels.back()->type()==MusEGui::TopWin::CLIPLIST) - toplevels.back()->readStatus(xml); + TopWin* tw = toplevels.findType(TopWin::CLIPLIST); + if(!tw) + xml.skip("cliplist"); + else + tw->readStatus(xml); } else xml.unknown("MusE"); @@ -1506,9 +1515,34 @@ void MusE::read(MusECore::Xml& xml, bool skipConfig, bool isTemplate) else if (tag == "configuration") if (skipConfig) //xml.skip(tag); - readConfiguration(xml,true /* only read sequencer settings */, false /* do NOT read global settings */); + readConfiguration(xml,true /* only read sequencer settings */, false /* do NOT read global settings, see below */); + // see even more below! else - readConfiguration(xml, false, false /* do NOT read global settings */); + readConfiguration(xml, false, false /* do NOT read global settings, see below */); + /* Explanation for why "do NOT read global settings": + * if you would use true here, then muse would overwrite certain global config stuff + * by the settings stored in the song. but you don't want this. imagine that you + * send a friend a .med file. your friend opens it and baaam, his configuration is + * garbled. why? well, because these readConfigurations here would have overwritten + * parts (but not all) of his global config (like MDI/SDI, toolbar states etc.) + * with the data stored in the song. (it IS stored there. dunny why, i find it pretty + * senseless.) + * + * If you've a problem which seems to be solved by replacing "false" with "true", i've + * a better solution for you: go into conf.cpp, in void readConfiguration(Xml& xml, bool readOnlySequencer, bool doReadGlobalConfig) + * (around line 525), look for a comment like this: + * "Global and/or per-song config stuff ends here" (alternatively just search for + * "----"). Your problem is probably that some non-global setting should be loaded but + * is not. Fix it by either placing the else if (foo)... clause responsible for that + * setting to be loaded into the first part, that is, before "else if (!doReadGlobalConfig)" + * or (if the settings actually IS global and not per-song), ensure that the routine + * which writes the global (and not the song-)configuration really writes that setting. + * (it might happen that it formerly worked because it was written to the song instead + * of the global config by mistake, and now isn't loaded anymore. write it to the + * correct location.) + * + * -- flo93 + */ else if (tag == "song") { MusEGlobal::song->read(xml, isTemplate); diff --git a/muse2/muse/structure.cpp b/muse2/muse/structure.cpp index 90d02908..70b19540 100644 --- a/muse2/muse/structure.cpp +++ b/muse2/muse/structure.cpp @@ -137,7 +137,7 @@ void adjustGlobalLists(Undo& operations, int startPos, int diff) // - cut master track //--------------------------------------------------------- -void globalCut() +void globalCut(bool onlySelectedTracks) { int lpos = MusEGlobal::song->lpos(); int rpos = MusEGlobal::song->rpos(); @@ -146,17 +146,11 @@ void globalCut() Undo operations; TrackList* tracks = MusEGlobal::song->tracks(); - bool at_least_one_selected=false; - - for (iTrack it = tracks->begin(); it != tracks->end(); ++it) - if ( (*it)->selected() ) { - at_least_one_selected=true; - break; - } for (iTrack it = tracks->begin(); it != tracks->end(); ++it) { - MidiTrack* track = dynamic_cast(*it); - if (track == 0 || (at_least_one_selected && !track->selected())) + //MidiTrack* track = dynamic_cast(*it); + Track* track = *it; + if (track == 0 || (onlySelectedTracks && !track->selected())) continue; PartList* pl = track->parts(); for (iPart p = pl->begin(); p != pl->end(); ++p) { @@ -169,63 +163,61 @@ void globalCut() operations.push_back(UndoOp(UndoOp::DeletePart,part)); } else if ((t < lpos) && ((t+l) > lpos) && ((t+l) <= rpos)) { - // remove part tail - int len = lpos - t; - MidiPart* nPart = new MidiPart(*(MidiPart*)part); - nPart->setLenTick(len); - // - // cut Events in nPart - EventList* el = nPart->events(); - for (iEvent ie = el->lower_bound(len); ie != el->end(); ++ie) - operations.push_back(UndoOp(UndoOp::DeleteEvent,ie->second, nPart, false, false)); - - operations.push_back(UndoOp(UndoOp::ModifyPart,part, nPart, true, true)); - } + // remove part tail + int len = lpos - t; + Part *nPart; + if (track->isMidiTrack()) + nPart = new MidiPart(*(MidiPart*)part); + else + nPart = new WavePart(*(WavePart*)part); + + nPart->setLenTick(len); + // + // cut Events in nPart + EventList* el = nPart->events(); + for (iEvent ie = el->lower_bound(len); ie != el->end(); ++ie) + operations.push_back(UndoOp(UndoOp::DeleteEvent,ie->second, nPart, false, false)); + + operations.push_back(UndoOp(UndoOp::ModifyPart,part, nPart, true, true)); + } else if ((t < lpos) && ((t+l) > lpos) && ((t+l) > rpos)) { //---------------------- // remove part middle //---------------------- + Part* p1; + Part* p2; + Part* p3; + track->splitPart(part, lpos, p1, p2); + delete p2; + track->splitPart(part, rpos, p2, p3); + delete p2; + p3->setTick(lpos); + p1->events()->incARef(-1); // the later MusEGlobal::song->applyOperationGroup() will increment it so we must decrement it first :/ + p3->events()->incARef(-1); // the later MusEGlobal::song->applyOperationGroup() will increment it so we must decrement it first :/ - MidiPart* nPart = new MidiPart(*(MidiPart*)part); - EventList* el = nPart->events(); - iEvent is = el->lower_bound(lpos-t); - iEvent ie = el->lower_bound(rpos-t); //lower bound, because we do NOT want to erase the events at rpos-t - for (iEvent i = is; i != ie; ++i) - operations.push_back(UndoOp(UndoOp::DeleteEvent,i->second, nPart, false, false)); - - for (iEvent i = el->lower_bound(rpos-t); i != el->end(); ++i) { - Event event = i->second; - Event nEvent = event.clone(); - nEvent.setTick(nEvent.tick() - (rpos-lpos)); - // Indicate no undo, and do not do port controller values and clone parts. - operations.push_back(UndoOp(UndoOp::ModifyEvent,nEvent, event, nPart, false, false)); - } - nPart->setLenTick(l - (rpos-lpos)); // Indicate no undo, and do port controller values and clone parts. - operations.push_back(UndoOp(UndoOp::ModifyPart,part, nPart, true, true)); + operations.push_back(UndoOp(UndoOp::ModifyPart,part, p1, true, true)); + operations.push_back(UndoOp(UndoOp::AddPart,p3)); } else if ((t >= lpos) && (t < rpos) && (t+l) > rpos) { // remove part head - MidiPart* nPart = new MidiPart(*(MidiPart*)part); - EventList* el = nPart->events(); - iEvent i_end = el->lower_bound(rpos-t); //lower bound, because we do NOT want to erase the events at rpos-t - for (iEvent it = el->begin(); it!=i_end; it++) - operations.push_back(UndoOp(UndoOp::DeleteEvent,it->second, nPart, false, false)); - - for (iEvent it = el->lower_bound(rpos-t); it!=el->end(); it++) { - Event event = it->second; - Event nEvent = event.clone(); - nEvent.setTick(nEvent.tick() - (rpos-t)); - // Indicate no undo, and do not do port controller values and clone parts. - operations.push_back(UndoOp(UndoOp::ModifyEvent,nEvent, event, nPart, false, false)); - } - - nPart->setLenTick(l - (rpos-t)); - operations.push_back(UndoOp(UndoOp::ModifyPart,part, nPart, true, true)); + Part* p1; + Part* p2; + track->splitPart(part, rpos, p1, p2); + delete p1; + p2->setTick(lpos); + p2->events()->incARef(-1); // the later MusEGlobal::song->applyOperationGroup() will increment it so we must decrement it first :/ + operations.push_back(UndoOp(UndoOp::ModifyPart,part, p2, true, true)); } else if (t >= rpos) { - MidiPart* nPart = new MidiPart(*(MidiPart*)part); + // move part to the left + Part *nPart; + if (track->isMidiTrack()) + nPart = new MidiPart(*(MidiPart*)part); + else + nPart = new WavePart(*(WavePart*)part); + //MidiPart* nPart = new MidiPart(*(MidiPart*)part); int nt = part->tick(); nPart->setTick(nt - (rpos -lpos)); // Indicate no undo, and do port controller values but not clone parts. @@ -246,33 +238,24 @@ void globalCut() // - insert in master track //--------------------------------------------------------- -void globalInsert() - { - Undo operations=movePartsTotheRight(MusEGlobal::song->lpos(), MusEGlobal::song->rpos()-MusEGlobal::song->lpos(), true); +void globalInsert(bool onlySelectedTracks) +{ + Undo operations=movePartsTotheRight(MusEGlobal::song->lpos(), MusEGlobal::song->rpos()-MusEGlobal::song->lpos(), onlySelectedTracks); MusEGlobal::song->applyOperationGroup(operations); - } - +} Undo movePartsTotheRight(unsigned int startTicks, int moveTicks, bool only_selected, set* tracklist) - { +{ if (moveTicks<=0) return Undo(); Undo operations; TrackList* tracks = MusEGlobal::song->tracks(); - bool at_least_one_selected=false; - - for (iTrack it = tracks->begin(); it != tracks->end(); ++it) - if ( (*it)->selected() ) { - at_least_one_selected=true; - break; - } - for (iTrack it = tracks->begin(); it != tracks->end(); ++it) { - MidiTrack* track = dynamic_cast(*it); + Track* track = *it; if ( (track == 0) || - (only_selected && at_least_one_selected && !track->selected()) || + (only_selected && !track->selected()) || (tracklist && tracklist->find(track)==tracklist->end()) ) continue; PartList* pl = track->parts(); @@ -283,23 +266,23 @@ Undo movePartsTotheRight(unsigned int startTicks, int moveTicks, bool only_selec if (t + l <= startTicks) continue; if (startTicks > t && startTicks < (t+l)) { - MidiPart* nPart = new MidiPart(*(MidiPart*)part); - nPart->setLenTick(l + moveTicks); - EventList* el = nPart->events(); - - for (riEvent i = el->rbegin(); i!=el->rend(); ++i) - { - if (i->first < startTicks-t) - break; - Event event = i->second; - Event nEvent = i->second.clone(); - nEvent.setTick(nEvent.tick() + moveTicks); - operations.push_back(UndoOp(UndoOp::ModifyEvent, nEvent, event, nPart, false, false)); - } - operations.push_back(UndoOp(UndoOp::ModifyPart, part, nPart, true, true)); + // split part to insert new space + Part* p1; + Part* p2; + track->splitPart(part, startTicks, p1, p2); + p2->setTick(startTicks+moveTicks); + p2->events()->incARef(-1); // the later MusEGlobal::song->applyOperationGroup() will increment it so we must decrement it first :/ + p1->events()->incARef(-1); // the later MusEGlobal::song->applyOperationGroup() will increment it so we must decrement it first :/ + + operations.push_back(UndoOp(UndoOp::ModifyPart, part, p1, true, true)); + operations.push_back(UndoOp(UndoOp::AddPart, p2)); } else if (t >= startTicks) { - MidiPart* nPart = new MidiPart(*(MidiPart*)part); + Part *nPart; + if (track->isMidiTrack()) + nPart = new MidiPart(*(MidiPart*)part); + else + nPart = new WavePart(*(WavePart*)part); nPart->setTick(t + moveTicks); operations.push_back(UndoOp(UndoOp::ModifyPart, part, nPart, true, false)); } @@ -317,47 +300,50 @@ Undo movePartsTotheRight(unsigned int startTicks, int moveTicks, bool only_selec // - split all parts at the song position pointer //--------------------------------------------------------- -void globalSplit() - { - int pos = MusEGlobal::song->cpos(); - Undo operations; - TrackList* tracks = MusEGlobal::song->tracks(); - bool at_least_one_selected=false; - - for (iTrack it = tracks->begin(); it != tracks->end(); ++it) - if ( (*it)->selected() ) { - at_least_one_selected=true; - break; - } - - - for (iTrack it = tracks->begin(); it != tracks->end(); ++it) { - Track* track = *it; - if (track == 0 || (at_least_one_selected && !track->selected())) - continue; - - PartList* pl = track->parts(); - for (iPart p = pl->begin(); p != pl->end(); ++p) { - Part* part = p->second; - int p1 = part->tick(); - int l0 = part->lenTick(); - if (pos > p1 && pos < (p1+l0)) { - Part* p1; - Part* p2; - track->splitPart(part, pos, p1, p2); +void globalSplit(bool onlySelectedTracks) +{ + Undo operations=partSplitter(MusEGlobal::song->cpos(), onlySelectedTracks); + MusEGlobal::song->applyOperationGroup(operations); +} - p1->events()->incARef(-1); // the later MusEGlobal::song->applyOperationGroup() will increment it - p2->events()->incARef(-1); // so we must decrement it first :/ +Undo partSplitter(unsigned int pos, bool onlySelectedTracks) +{ + Undo operations; + TrackList* tracks = MusEGlobal::song->tracks(); + + for (iTrack it = tracks->begin(); it != tracks->end(); ++it) { + Track* track = *it; + if (track == 0 || (onlySelectedTracks && !track->selected())) + continue; + + PartList* pl = track->parts(); + for (iPart p = pl->begin(); p != pl->end(); ++p) { + Part* part = p->second; + unsigned int p1 = part->tick(); + unsigned int l0 = part->lenTick(); + if (pos > p1 && pos < (p1+l0)) { + Part* p1; + Part* p2; + track->splitPart(part, pos, p1, p2); + + p1->events()->incARef(-1); // the later MusEGlobal::song->applyOperationGroup() will increment it + p2->events()->incARef(-1); // so we must decrement it first :/ + + //MusEGlobal::song->informAboutNewParts(part, p1); // is unneccessary because of ModifyPart + MusEGlobal::song->informAboutNewParts(part, p2); + operations.push_back(UndoOp(UndoOp::ModifyPart,part, p1, true, false)); + operations.push_back(UndoOp(UndoOp::AddPart,p2)); + if (MusEGlobal::debugMsg) + { + printf("in partSplitter: part1 %d\n",p1->events()->refCount()); + printf("in partSplitter: part2 %d\n",p2->events()->refCount()); + } + break; + } + } + } + return operations; +} - //MusEGlobal::song->informAboutNewParts(part, p1); // is unneccessary because of ModifyPart - MusEGlobal::song->informAboutNewParts(part, p2); - operations.push_back(UndoOp(UndoOp::ModifyPart,part, p1, true, false)); - operations.push_back(UndoOp(UndoOp::AddPart,p2)); - break; - } - } - } - MusEGlobal::song->applyOperationGroup(operations); - } } // namespace MusECore diff --git a/muse2/muse/structure.h b/muse2/muse/structure.h index b92c4e14..3a359dc0 100644 --- a/muse2/muse/structure.h +++ b/muse2/muse/structure.h @@ -28,10 +28,11 @@ namespace MusECore { Undo movePartsTotheRight(unsigned int startTick, int moveTick, bool only_selected=false, std::set* tracklist=NULL); +Undo partSplitter(unsigned int tick, bool onlySelectedTracks=false); void adjustGlobalLists(Undo& operations, int startPos, int diff); -void globalCut(); -void globalInsert(); -void globalSplit(); +void globalCut(bool onlySelectedTracks=false); +void globalInsert(bool onlySelectedTracks=false); +void globalSplit(bool onlySelectedTracks=false); } #endif diff --git a/muse2/muse/synth.cpp b/muse2/muse/synth.cpp index 93067835..7ab18bda 100644 --- a/muse2/muse/synth.cpp +++ b/muse2/muse/synth.cpp @@ -32,6 +32,7 @@ #include #include +#include //#include #include "app.h" @@ -62,6 +63,19 @@ namespace MusECore { extern void connectNodes(AudioTrack*, AudioTrack*); bool SynthI::_isVisible=false; +const char* synthTypes[] = { "METRONOME", "MESS", "DSSI", "VST", "UNKNOWN" }; +QString synthType2String(Synth::Type type) { return QString(synthTypes[type]); } + +Synth::Type string2SynthType(const QString& type) +{ + for(int i = 0; i < Synth::SYNTH_TYPE_END; ++i) + { + if(synthType2String((Synth::Type)i) == type) + return (Synth::Type)i; + } + return Synth::SYNTH_TYPE_END; +} + /* //--------------------------------------------------------- // description @@ -145,19 +159,17 @@ void MessSynthIF::setNativeGeometry(int x, int y, int w, int h) // search for synthesizer base class //--------------------------------------------------------- -//static Synth* findSynth(const QString& sclass) -static Synth* findSynth(const QString& sclass, const QString& label) +static Synth* findSynth(const QString& sclass, const QString& label, Synth::Type type = Synth::SYNTH_TYPE_END) { for (std::vector::iterator i = MusEGlobal::synthis.begin(); i != MusEGlobal::synthis.end(); ++i) { - //if ((*i)->baseName() == sclass) - //if ((*i)->name() == sclass) - if ( ((*i)->baseName() == sclass) && (label.isEmpty() || ((*i)->name() == label)) ) - - return *i; + if( ((*i)->baseName() == sclass) && + (label.isEmpty() || ((*i)->name() == label)) && + (type == Synth::SYNTH_TYPE_END || type == (*i)->synthType()) ) + return *i; } - printf("synthi class:%s label:%s not found\n", sclass.toLatin1().constData(), label.toLatin1().constData()); + printf("synthi type:%d class:%s label:%s not found\n", type, sclass.toLatin1().constData(), label.toLatin1().constData()); return 0; } @@ -166,10 +178,9 @@ static Synth* findSynth(const QString& sclass, const QString& label) // create a synthesizer instance of class "label" //--------------------------------------------------------- -static SynthI* createSynthInstance(const QString& sclass, const QString& label) +static SynthI* createSynthInstance(const QString& sclass, const QString& label, Synth::Type type = Synth::SYNTH_TYPE_END) { - //Synth* s = findSynth(sclass); - Synth* s = findSynth(sclass, label); + Synth* s = findSynth(sclass, label, type); SynthI* si = 0; if (s) { si = new SynthI(); @@ -652,13 +663,11 @@ void initMidiSynth() // If insertAt is valid, inserts before insertAt. Else at the end after all tracks. //--------------------------------------------------------- -SynthI* Song::createSynthI(const QString& sclass, const QString& label, Track* insertAt) +SynthI* Song::createSynthI(const QString& sclass, const QString& label, Synth::Type type, Track* insertAt) { //printf("Song::createSynthI calling ::createSynthI class:%s\n", sclass.toLatin1().constData()); - //SynthI* si = ::createSynthI(sclass); - //SynthI* si = ::createSynthI(sclass, label); - SynthI* si = createSynthInstance(sclass, label); + SynthI* si = createSynthInstance(sclass, label, type); if(!si) return 0; //printf("Song::createSynthI created SynthI. Before insertTrack1...\n"); @@ -705,6 +714,9 @@ void SynthI::write(int level, Xml& xml) const { xml.tag(level++, "SynthI"); AudioTrack::writeProperties(level, xml); + //xml.intTag(level, "synthType", synth()->synthType()); + xml.strTag(level, "synthType", synthType2String(synth()->synthType())); + xml.strTag(level, "class", synth()->baseName()); // To support plugins like dssi-vst where all the baseNames are the same 'dssi-vst' and the label is the name of the dll file. @@ -823,7 +835,8 @@ void SynthI::read(Xml& xml) { QString sclass; QString label; - + Synth::Type type = Synth::SYNTH_TYPE_END; + int port = -1; bool startgui = false; bool startngui = false; @@ -837,7 +850,10 @@ void SynthI::read(Xml& xml) case Xml::End: return; case Xml::TagStart: - if (tag == "class") + if (tag == "synthType") + //type = xml.parseInt(); + type = string2SynthType(xml.parse1()); + else if (tag == "class") sclass = xml.parse1(); else if (tag == "label") label = xml.parse1(); @@ -866,8 +882,15 @@ void SynthI::read(Xml& xml) break; case Xml::TagEnd: if (tag == "SynthI") { - //Synth* s = findSynth(sclass); - Synth* s = findSynth(sclass, label); + + // NOTICE: This is a hack to quietly change songs to use the new 'fluid_synth' name instead of 'fluidsynth'. + // Recent linker changes required the name change in fluidsynth's cmakelists. Nov 8, 2011 By Tim. + if(sclass == QString("fluidsynth") && + (type == Synth::SYNTH_TYPE_END || type == Synth::MESS_SYNTH) && + (label.isEmpty() || label == QString("FluidSynth")) ) + sclass = QString("fluid_synth"); + + Synth* s = findSynth(sclass, label, type); if (s == 0) return; if (initInstance(s, name())) diff --git a/muse2/muse/synth.h b/muse2/muse/synth.h index c5b63424..497395c0 100644 --- a/muse2/muse/synth.h +++ b/muse2/muse/synth.h @@ -72,6 +72,8 @@ class Synth { QString _version; public: + enum Type { METRO_SYNTH=0, MESS_SYNTH, DSSI_SYNTH, VST_SYNTH, SYNTH_TYPE_END }; + //Synth(const QFileInfo& fi); //Synth(const QFileInfo& fi, QString label); Synth(const QFileInfo& fi, QString label, QString descr, QString maker, QString ver); @@ -80,6 +82,7 @@ class Synth { //virtual const char* description() const { return ""; } //virtual const char* version() const { return ""; } + virtual Type synthType() const = 0; int instances() const { return _instances; } virtual void incInstances(int val) { _instances += val; } QString completeBaseName() /*const*/ { return info.completeBaseName(); } // ddskrjo @@ -117,6 +120,8 @@ class MessSynth : public Synth { //virtual const char* description() const; //virtual const char* version() const; + virtual Type synthType() const { return MESS_SYNTH; } + //virtual void* instantiate(); virtual void* instantiate(const QString&); @@ -363,6 +368,9 @@ class MessSynthIF : public SynthIF { virtual int getControllerInfo(int id, const char** name, int* ctrl, int* min, int* max, int* initval); }; +extern QString synthType2String(Synth::Type); +extern Synth::Type string2SynthType(const QString&); + } // namespace MusECore namespace MusEGlobal { diff --git a/muse2/muse/ticksynth.cpp b/muse2/muse/ticksynth.cpp index 1edc0b12..6d3721ea 100644 --- a/muse2/muse/ticksynth.cpp +++ b/muse2/muse/ticksynth.cpp @@ -49,6 +49,7 @@ class MetronomeSynth : public Synth { //MetronomeSynth(const QFileInfo& fi) : Synth(fi, QString("Metronome")) {} MetronomeSynth(const QFileInfo& fi) : Synth(fi, QString("Metronome"), QString("Metronome"), QString(), QString()) {} virtual ~MetronomeSynth() {} + virtual Type synthType() const { return METRO_SYNTH; } virtual void incInstances(int) {} virtual void* instantiate(); diff --git a/muse2/muse/track.cpp b/muse2/muse/track.cpp index 2091d03e..e9aa0cf6 100644 --- a/muse2/muse/track.cpp +++ b/muse2/muse/track.cpp @@ -4,6 +4,7 @@ // $Id: track.cpp,v 1.34.2.11 2009/11/30 05:05:49 terminator356 Exp $ // // (C) Copyright 2000-2004 Werner Schweer (ws@seh.de) +// (C) Copyright 2011 Tim E. Real (terminator356 on sourceforge) // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License @@ -36,10 +37,12 @@ namespace MusECore { //bool Track::_isVisible=true; -unsigned int Track::_soloRefCnt = 0; +unsigned int Track::_soloRefCnt = 0; Track* Track::_tmpSoloChainTrack = 0; bool Track::_tmpSoloChainDoIns = false; bool Track::_tmpSoloChainNoDec = false; +//bool Track::_tmpIsAuxProcessing = false; +//int Track::_tmpIsAuxProcRefCount = 0; const char* Track::_cname[] = { "Midi", "Drum", "Wave", "AudioOut", "AudioIn", "AudioGroup", @@ -199,6 +202,8 @@ int Track::y() const void Track::init() { + _auxRouteCount = 0; + _nodeTraversed = false; _activity = 0; _lastActivity = 0; _recordFlag = false; @@ -233,6 +238,8 @@ Track::Track(Track::TrackType t) //Track::Track(const Track& t) Track::Track(const Track& t, bool cloneParts) { + _auxRouteCount = t._auxRouteCount; + _nodeTraversed = t._nodeTraversed; _activity = t._activity; _lastActivity = t._lastActivity; _recordFlag = t._recordFlag; @@ -298,6 +305,8 @@ Track::~Track() Track& Track::operator=(const Track& t) { + _auxRouteCount = t._auxRouteCount; + _nodeTraversed = t._nodeTraversed; _activity = t._activity; _lastActivity = t._lastActivity; _recordFlag = t._recordFlag; @@ -414,6 +423,107 @@ void Track::dump() const _name.toLatin1().constData(), _type, _parts.size(), _selected); } +//--------------------------------------------------------- +// updateAuxRoute +// Internal use. Update all the Aux ref counts of tracks dst is connected to. +// If dst is valid, start traversal from there, not from this track. +//--------------------------------------------------------- + +void Track::updateAuxRoute(int refInc, Track* dst) +{ + //if(isMidiTrack() || _type == AUDIO_AUX) + if(isMidiTrack()) + return; + + //printf("Track::updateAuxRoute %s _auxRouteCount:%d refInc:%d\n", name().toLatin1().constData(), _auxRouteCount, refInc); + + if(dst) + { + _nodeTraversed = true; + dst->updateAuxRoute(refInc, NULL); + _nodeTraversed = false; + return; + } + + if(_type == AUDIO_AUX) + return; + + if(_nodeTraversed) + { + fprintf(stderr, "Track::updateAuxRoute %s _auxRouteCount:%d refInc:%d :\n", name().toLatin1().constData(), _auxRouteCount, refInc); + if(refInc >= 0) + fprintf(stderr, " MusE Warning: Please check your routes: Circular path found!\n"); + else + fprintf(stderr, " MusE: Circular path removed.\n"); + return; + } + + _nodeTraversed = true; + + _auxRouteCount += refInc; + if(_auxRouteCount < 0) + { + fprintf(stderr, "Track::updateAuxRoute Ref underflow! %s _auxRouteCount:%d refInc:%d\n", name().toLatin1().constData(), _auxRouteCount, refInc); + //_auxRouteCount = 0; + } + + for (iRoute i = _outRoutes.begin(); i != _outRoutes.end(); ++i) + { + if( !(*i).isValid() || (*i).type != Route::TRACK_ROUTE ) + continue; + Track* t = (*i).track; + //if(t->isMidiTrack()) + // continue; + t->updateAuxRoute(refInc, NULL); + } + + _nodeTraversed = false; +} + +//--------------------------------------------------------- +// isCircularRoute +// If dst is valid, start traversal from there, not from this track. +// Returns true if circular. +//--------------------------------------------------------- + +bool Track::isCircularRoute(Track* dst) +{ + //if(isMidiTrack() || _type == AUDIO_AUX) + //if(isMidiTrack()) + // return; + + bool rv = false; + + if(dst) + { + _nodeTraversed = true; + rv = dst->isCircularRoute(NULL); + _nodeTraversed = false; + //if(rv) + // fprintf(stderr, " Circular route %s -> %s\n", name().toLatin1().constData(), dst->name().toLatin1().constData()); + return rv; + } + + if(_nodeTraversed) + return true; + + _nodeTraversed = true; + + for (iRoute i = _outRoutes.begin(); i != _outRoutes.end(); ++i) + { + if( !(*i).isValid() || (*i).type != Route::TRACK_ROUTE ) + continue; + Track* t = (*i).track; + //if(t->isMidiTrack()) + // continue; + rv = t->isCircularRoute(NULL); + if(rv) + break; + } + + _nodeTraversed = false; + return rv; +} //--------------------------------------------------------- // MidiTrack @@ -462,7 +572,6 @@ void MidiTrack::init() { _outPort = 0; _outChannel = 0; - // Changed by Tim. p3.3.8 //_inPortMask = 0xffff; ///_inPortMask = 0xffffffff; @@ -537,7 +646,7 @@ void MidiTrack::setOutPortAndChannelAndUpdate(int port, int ch) //--------------------------------------------------------- // setInPortAndChannelMask // For old song files with port mask (max 32 ports) and channel mask (16 channels), -// before midi routing was added (the iR button). p3.3.48 +// before midi routing was added (the iR button). //--------------------------------------------------------- void MidiTrack::setInPortAndChannelMask(unsigned int portmask, int chanmask) @@ -550,7 +659,7 @@ void MidiTrack::setInPortAndChannelMask(unsigned int portmask, int chanmask) for(int port = 0; port < 32; ++port) // 32 is the old maximum number of ports. { - // p3.3.50 If the port was not used in the song file to begin with, just ignore it. + // If the port was not used in the song file to begin with, just ignore it. // This saves from having all of the first 32 ports' channels connected. if(!MusEGlobal::midiPorts[port].foundInSongFile()) continue; @@ -558,34 +667,18 @@ void MidiTrack::setInPortAndChannelMask(unsigned int portmask, int chanmask) //if(!(portmask & (1 << port))) // continue; - // p3.3.50 Removed. Allow to connect to port with no device so user can change device later. + // Removed. Allow to connect to port with no device so user can change device later. //MidiPort* mp = &MusEGlobal::midiPorts[port]; //MidiDevice* md = mp->device(); //if(!md) // continue; - //for(int ch = 0; ch < MIDI_CHANNELS; ++ch) // p3.3.50 Removed. - //{ - //if(!(chanmask & (1 << ch))) - // continue; - - //Route aRoute(md, ch); - //Route bRoute(this, ch); - Route aRoute(port, chanmask); // p3.3.50 + Route aRoute(port, chanmask); Route bRoute(this, chanmask); - // p3.3.50 Removed. - //iRoute iir = rl->begin(); - //for(; iir != rl->end(); ++iir) - //{ - //if(*iir == aRoute) - // if(iir->type == Route::MIDI_PORT_ROUTE && iir->midiPort == port) // p3.3.50 - // break; - //} - // Route wanted? //if((portmask & (1 << port)) && (chanmask & (1 << ch))) - if(portmask & (1 << port)) // p3.3.50 + if(portmask & (1 << port)) { // Route already exists? //if(iir != rl->end()) @@ -818,11 +911,11 @@ void MidiTrack::read(Xml& xml) //setInPortMask(xml.parseInt()); ///setInPortMask(xml.parseUInt()); //xml.skip(tag); // Obsolete. - portmask = xml.parseUInt(); // p3.3.48: Support old files. + portmask = xml.parseUInt(); // Support old files. else if (tag == "inchannelMap") ///setInChannelMask(xml.parseInt()); //xml.skip(tag); // Obsolete. - chanmask = xml.parseInt(); // p3.3.48: Support old files. + chanmask = xml.parseInt(); // Support old files. else if (tag == "locked") _locked = xml.parseInt(); else if (tag == "echo") @@ -843,7 +936,7 @@ void MidiTrack::read(Xml& xml) case Xml::TagEnd: if (tag == "miditrack" || tag == "drumtrack") { - setInPortAndChannelMask(portmask, chanmask); // p3.3.48: Support old files. + setInPortAndChannelMask(portmask, chanmask); // Support old files. return; } default: @@ -972,7 +1065,7 @@ void Track::writeRouting(int level, Xml& xml) const xml.tag(level++, s.toAscii().constData()); - // p3.3.38 New routing scheme. + // New routing scheme. s = "source"; if(r->type != Route::TRACK_ROUTE) s += QString(" type=\"%1\"").arg(r->type); @@ -994,10 +1087,10 @@ void Track::writeRouting(int level, Xml& xml) const if(r->type == Route::TRACK_ROUTE && r->track && r->track->type() == Track::AUDIO_INPUT) continue; - if(r->midiPort != -1 || !r->name().isEmpty()) // p3.3.49 + if(r->midiPort != -1 || !r->name().isEmpty()) { s = "Route"; - if(r->type == Route::MIDI_PORT_ROUTE) // p3.3.50 + if(r->type == Route::MIDI_PORT_ROUTE) { if(r->channel != -1 && r->channel != 0) s += QString(" channelMask=\"%1\"").arg(r->channel); // Use new channel mask. @@ -1019,14 +1112,14 @@ void Track::writeRouting(int level, Xml& xml) const s = "dest"; - //if(r->type == Route::MIDI_DEVICE_ROUTE) // p3.3.49 Obsolete since 1.1-RC2 + //if(r->type == Route::MIDI_DEVICE_ROUTE) // Obsolete since 1.1-RC2 // s += QString(QT_TRANSLATE_NOOP("@default", " devtype=\"%1\"")).arg(r->device->deviceType()); // //if(r->type != Route::TRACK_ROUTE) // if(r->type != Route::TRACK_ROUTE && r->type != Route::MIDI_PORT_ROUTE) s += QString(" type=\"%1\"").arg(r->type); //s += QString(QT_TRANSLATE_NOOP("@default", " name=\"%1\"/")).arg(r->name()); - if(r->type == Route::MIDI_PORT_ROUTE) // p3.3.49 + if(r->type == Route::MIDI_PORT_ROUTE) s += QString(" mport=\"%1\"/").arg(r->midiPort); else s += QString(" name=\"%1\"/").arg(Xml::xmlString(r->name())); diff --git a/muse2/muse/track.h b/muse2/muse/track.h index 25a846ac..04cf71c2 100644 --- a/muse2/muse/track.h +++ b/muse2/muse/track.h @@ -4,6 +4,7 @@ // $Id: track.h,v 1.39.2.17 2009/12/20 05:00:35 terminator356 Exp $ // // (C) Copyright 1999-2004 Werner Schweer (ws@seh.de) +// (C) Copyright 2011 Tim E. Real (terminator356 on sourceforge) // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License @@ -70,9 +71,10 @@ class Track { static bool _tmpSoloChainDoIns; static bool _tmpSoloChainNoDec; - // p3.3.38 RouteList _inRoutes; RouteList _outRoutes; + bool _nodeTraversed; // Internal anti circular route traversal flag. + int _auxRouteCount; // Number of aux paths feeding this track. QString _name; bool _recordFlag; @@ -89,8 +91,6 @@ class Track { int _activity; int _lastActivity; - //int _meter[MAX_CHANNELS]; - //int _peak[MAX_CHANNELS]; double _meter[MAX_CHANNELS]; double _peak[MAX_CHANNELS]; @@ -147,7 +147,10 @@ class Track { bool noInRoute() const { return _inRoutes.empty(); } bool noOutRoute() const { return _outRoutes.empty(); } void writeRouting(int, Xml&) const; - + bool isCircularRoute(Track* dst); + int auxRefCount() const { return _auxRouteCount; } // Number of Aux Tracks with routing paths to this track. + void updateAuxRoute(int refInc, Track* dst); // Internal use. + PartList* parts() { return &_parts; } const PartList* cparts() const { return &_parts; } Part* findPart(unsigned tick); @@ -168,20 +171,21 @@ class Track { virtual void setMute(bool val); virtual void setOff(bool val); - virtual void updateSoloStates(bool noDec) = 0; - virtual void updateInternalSoloStates(); - void updateSoloState(); void setInternalSolo(unsigned int val); - static void clearSoloRefCounts(); virtual void setSolo(bool val) = 0; virtual bool isMute() const = 0; - unsigned int internalSolo() const { return _internalSolo; } bool soloMode() const { return _soloRefCnt; } bool solo() const { return _solo; } bool mute() const { return _mute; } bool off() const { return _off; } bool recordFlag() const { return _recordFlag; } + // + // Internal use... + static void clearSoloRefCounts(); + void updateSoloState(); + virtual void updateSoloStates(bool noDec) = 0; + virtual void updateInternalSoloStates(); int activity() { return _activity; } void setActivity(int v) { _activity = v; } @@ -190,8 +194,6 @@ class Track { void addActivity(int v) { _activity += v; } void resetPeaks(); static void resetAllMeter(); - //int meter(int ch) const { return _meter[ch]; } - //int peak(int ch) const { return _peak[ch]; } double meter(int ch) const { return _meter[ch]; } double peak(int ch) const { return _peak[ch]; } void resetMeter(); @@ -220,9 +222,9 @@ class MidiTrack : public Track { int _outPort; int _outChannel; //int _inPortMask; - ///unsigned int _inPortMask; // bitmask of accepted record ports - ///int _inChannelMask; // bitmask of accepted record channels - bool _recEcho; // For midi (and audio). Whether to echo incoming record events to output device. + //unsigned int _inPortMask; // bitmask of accepted record ports + //int _inChannelMask; // bitmask of accepted record channels + bool _recEcho; // For midi (and audio). Whether to echo incoming record events to output device. EventList* _events; // tmp Events during midi import MPEventList* _mpevents; // tmp Events druring recording @@ -270,17 +272,17 @@ class MidiTrack : public Track { void setOutPortAndChannelAndUpdate(int /*port*/, int /*chan*/); //void setInPortMask(int i) { _inPortMask = i; } - ///void setInPortMask(unsigned int i) { _inPortMask = i; } // Obsolete - ///void setInChannelMask(int i) { _inChannelMask = i; } // + //void setInPortMask(unsigned int i) { _inPortMask = i; } // Obsolete + //void setInChannelMask(int i) { _inChannelMask = i; } // // Backward compatibility: For reading old songs. void setInPortAndChannelMask(unsigned int /*portmask*/, int /*chanmask*/); void setRecEcho(bool b) { _recEcho = b; } int outPort() const { return _outPort; } //int inPortMask() const { return _inPortMask; } - ///unsigned int inPortMask() const { return _inPortMask; } + //unsigned int inPortMask() const { return _inPortMask; } int outChannel() const { return _outChannel; } - ///int inChannelMask() const { return _inChannelMask; } + //int inChannelMask() const { return _inChannelMask; } bool recEcho() const { return _recEcho; } virtual bool isMute() const; @@ -298,14 +300,10 @@ class MidiTrack : public Track { clefTypes getClef() { return clefType; } }; -} // namespace MusECore - -namespace MusECore { - //--------------------------------------------------------- // AudioTrack // this track can hold audio automation data and can -// hold tracktypes AUDIO, AUDIO_MASTER, AUDIO_GROUP, +// hold tracktypes WAVE, AUDIO_GROUP, AUDIO_OUTPUT, // AUDIO_INPUT, AUDIO_SOFTSYNTH, AUDIO_AUX //--------------------------------------------------------- @@ -313,25 +311,19 @@ class AudioTrack : public Track { //friend class MidiTrack; //static unsigned int _soloRefCnt; - bool _haveData; + bool _haveData; // Whether we have data from a previous process call during current cycle. CtrlListList _controller; CtrlRecList _recEvents; // recorded automation events bool _prefader; // prefader metering std::vector _auxSend; - Pipeline* _efxPipe; - - AutomationType _automationType; - - //RouteList _inRoutes; - //RouteList _outRoutes; - - bool _sendMetronome; - //void readRecfile(Xml& xml); void readAuxSend(Xml& xml); - + + bool _sendMetronome; + AutomationType _automationType; + Pipeline* _efxPipe; protected: float** outBuffers; @@ -344,7 +336,7 @@ class AudioTrack : public Track { SndFile* _recFile; Fifo fifo; // fifo -> _recFile bool _processed; - + public: AudioTrack(TrackType t); //AudioTrack(TrackType t, int num_out_bufs = MAX_CHANNELS); @@ -424,12 +416,6 @@ class AudioTrack : public Track { void readVolume(Xml& xml); //void writeRouting(int, Xml&) const; - // routing - //RouteList* inRoutes() { return &_inRoutes; } - //RouteList* outRoutes() { return &_outRoutes; } - //bool noInRoute() const { return _inRoutes.empty(); } - //bool noOutRoute() const { return _outRoutes.empty(); } - virtual void preProcessAlways() { _processed = false; } virtual void addData(unsigned /*samplePos*/, int /*channels*/, int /*srcStartChan*/, int /*srcChannels*/, unsigned /*frames*/, float** /*buffer*/); virtual void copyData(unsigned /*samplePos*/, int /*channels*/, int /*srcStartChan*/, int /*srcChannels*/, unsigned /*frames*/, float** /*buffer*/); diff --git a/muse2/muse/undo.cpp b/muse2/muse/undo.cpp index eb554495..8587b108 100644 --- a/muse2/muse/undo.cpp +++ b/muse2/muse/undo.cpp @@ -50,8 +50,11 @@ const char* UndoOp::typeName() "AddTrack", "DeleteTrack", "ModifyTrack", "AddPart", "DeletePart", "ModifyPart", "AddEvent", "DeleteEvent", "ModifyEvent", - "AddTempo", "DeleteTempo", "AddSig", "DeleteSig", - "SwapTrack", "ModifyClip" + "AddTempo", "DeleteTempo", + "AddSig", "DeleteSig", + "AddKey", "DeleteKey", + "SwapTrack", "ModifyClip", "ModifyMarker", + "ModifySongLen", "DoNothing" }; return name[type]; } @@ -95,6 +98,7 @@ void UndoOp::dump() case ModifyMarker: case AddKey: case DeleteKey: + case ModifySongLen: case DoNothing: break; } @@ -530,6 +534,10 @@ void Song::doUndo2() MusEGlobal::keymap.addKey(i->a, (key_enum)i->b); updateFlags |= SC_KEY; break; + case UndoOp::ModifySongLen: + _len=i->b; + updateFlags = -1; // set all flags + break; case UndoOp::ModifyClip: case UndoOp::ModifyMarker: case UndoOp::DoNothing: @@ -767,6 +775,10 @@ void Song::doRedo2() MusEGlobal::keymap.delKey(i->a); updateFlags |= SC_KEY; break; + case UndoOp::ModifySongLen: + _len=i->a; + updateFlags = -1; // set all flags + break; case UndoOp::ModifyClip: case UndoOp::ModifyMarker: case UndoOp::DoNothing: diff --git a/muse2/muse/undo.h b/muse2/muse/undo.h index 19c252bf..af55a307 100644 --- a/muse2/muse/undo.h +++ b/muse2/muse/undo.h @@ -54,6 +54,7 @@ struct UndoOp { SwapTrack, ModifyClip, ModifyMarker, + ModifySongLen, // a = new len, b = old len DoNothing }; UndoType type; diff --git a/muse2/muse/vst.h b/muse2/muse/vst.h index b57b598d..b41e7137 100644 --- a/muse2/muse/vst.h +++ b/muse2/muse/vst.h @@ -50,6 +50,7 @@ class VstSynth : public Synth { } virtual ~VstSynth() {} + virtual Type synthType() const { return VST_SYNTH; } virtual void incInstances(int val); virtual void* instantiate(); //virtual SynthIF* createSIF() const; diff --git a/muse2/muse/wave.cpp b/muse2/muse/wave.cpp index 06759441..f22f6f97 100644 --- a/muse2/muse/wave.cpp +++ b/muse2/muse/wave.cpp @@ -105,7 +105,7 @@ SndFile::~SndFile() bool SndFile::openRead() { if (openFlag) { - printf("SndFile:: alread open\n"); + printf("SndFile:: already open\n"); return false; } QString p = path(); @@ -468,7 +468,7 @@ size_t SndFile::readWithHeap(int srcChannels, float** dst, size_t n, bool overwr { float *buffer = new float[n * sfinfo.channels]; int rn = readInternal(srcChannels,dst,n,overwrite, buffer); - delete buffer; + delete[] buffer; return rn; } @@ -588,11 +588,11 @@ size_t SndFile::write(int srcChannels, float** src, size_t n) else { printf("SndFile:write channel mismatch %d -> %d\n", srcChannels, dstChannels); - delete buffer; + delete[] buffer; return 0; } int nbr = sf_writef_float(sf, buffer, n) ; - delete buffer; + delete[] buffer; return nbr; } @@ -1120,6 +1120,22 @@ SndFileR::~SndFileR() } } +void SndFileList::clearDelete() +{ + // ~SndFile searches itself on the list (and will find for + // sure) and deletes the entry on its own. + while (!empty()) + delete *begin(); + + /* this is wrong, because ~SndFile deletes itself from the + * list, causing the iterator to be invalidated -> fail. + for (SndFileList::iterator i = begin(); i != end(); ++i) + delete *i; + clear(); + */ +} + + } // namespace MusECore namespace MusEGui { diff --git a/muse2/muse/wave.h b/muse2/muse/wave.h index 58e0ab87..535df939 100644 --- a/muse2/muse/wave.h +++ b/muse2/muse/wave.h @@ -182,11 +182,7 @@ class SndFileR { class SndFileList : public std::list { public: SndFile* search(const QString& name); - void clearDelete() { - for (SndFileList::iterator i = begin(); i != end(); ++i) - delete *i; - clear(); - } + void clearDelete(); }; typedef SndFileList::iterator iSndFile; diff --git a/muse2/muse/waveedit/waveedit.cpp b/muse2/muse/waveedit/waveedit.cpp index 537d8529..1c1115b1 100644 --- a/muse2/muse/waveedit/waveedit.cpp +++ b/muse2/muse/waveedit/waveedit.cpp @@ -289,6 +289,7 @@ WaveEdit::WaveEdit(MusECore::PartList* pl) } initTopwinState(); + MusEGlobal::muse->topwinMenuInited(this); } void WaveEdit::initShortcuts() diff --git a/muse2/muse/wavetrack.cpp b/muse2/muse/wavetrack.cpp index 9edeffb6..0d699cbe 100644 --- a/muse2/muse/wavetrack.cpp +++ b/muse2/muse/wavetrack.cpp @@ -229,8 +229,8 @@ bool WaveTrack::getData(unsigned framePos, int channels, unsigned nframe, float* ciRoute i = irl->begin(); if(i->track->isMidiTrack()) { - if(MusEGlobal::debugMsg) - printf("WaveTrack::getData: Error: First route is a midi track route!\n"); + //if(MusEGlobal::debugMsg) + // printf("WaveTrack::getData: Error: First route is a midi track route!\n"); return false; } // p3.3.38 @@ -246,8 +246,8 @@ bool WaveTrack::getData(unsigned framePos, int channels, unsigned nframe, float* { if(i->track->isMidiTrack()) { - if(MusEGlobal::debugMsg) - printf("WaveTrack::getData: Error: Route is a midi track route!\n"); + //if(MusEGlobal::debugMsg) + // printf("WaveTrack::getData: Error: Route is a midi track route!\n"); //return false; continue; } diff --git a/muse2/muse/widgets/citem.h b/muse2/muse/widgets/citem.h index 1777eb23..199d18b0 100644 --- a/muse2/muse/widgets/citem.h +++ b/muse2/muse/widgets/citem.h @@ -90,7 +90,7 @@ class CItem { }; typedef std::multimap >::iterator iCItem; -//typedef std::multimap >::const_iterator ciCItem; +typedef std::multimap >::const_iterator ciCItem; typedef std::multimap >::const_reverse_iterator rciCItem; //--------------------------------------------------------- diff --git a/muse2/muse/widgets/filedialog.cpp b/muse2/muse/widgets/filedialog.cpp index 68f2718f..7f2c1681 100644 --- a/muse2/muse/widgets/filedialog.cpp +++ b/muse2/muse/widgets/filedialog.cpp @@ -123,11 +123,13 @@ void MFileDialog::userToggled(bool flag) if (lastUserDir.isEmpty()) { - lastUserDir = MusEGlobal::museUser + QString("/") + baseDir; // Initialize if first time + //lastUserDir = MusEGlobal::museUser + QString("/") + baseDir; // Initialize if first time + lastUserDir = MusEGlobal::configPath + QString("/") + baseDir; // Initialize if first time // p4.0.39 } if (testDirCreate(this, lastUserDir)) - setDirectory(MusEGlobal::museUser); + //setDirectory(MusEGlobal::museUser); + setDirectory(MusEGlobal::configPath); // p4.0.39 else setDirectory(lastUserDir); @@ -270,34 +272,6 @@ void MFileDialog::directoryChanged(const QString&) } } - -//--------------------------------------------------------- -// getFilterExtension -//--------------------------------------------------------- - -QString getFilterExtension(const QString &filter) -{ - // - // Return the first extension found. Must contain at least one * character. - // - - int pos = filter.indexOf('*'); - if(pos == -1) - return QString(); - - QString filt; - int len = filter.length(); - ++pos; - for( ; pos < len; ++pos) - { - QChar c = filter[pos]; - if((c == ')') || (c == ';') || (c == ',') || (c == ' ')) - break; - filt += filter[pos]; - } - return filt; -} - //--------------------------------------------------------- // getOpenFileName //--------------------------------------------------------- @@ -509,10 +483,12 @@ FILE* fileOpen(QWidget* parent, QString name, const QString& ext, FILE* fp = 0; if (popenFlag) { if (strcmp(mode, "r") == 0) - zip += QString(" -d < "); + //zip += QString(" -d < "); + zip += QString(" -d < \""); // p4.0.40 else - zip += QString(" > "); - zip += name; + zip += QString(" > \""); + //zip += name; + zip = zip + name + QString("\""); // p4.0.40 fp = popen(zip.toAscii().data(), mode); } else { diff --git a/muse2/muse/widgets/filedialog.h b/muse2/muse/widgets/filedialog.h index b731b65a..b4e21e2c 100644 --- a/muse2/muse/widgets/filedialog.h +++ b/muse2/muse/widgets/filedialog.h @@ -3,6 +3,7 @@ // Linux Music Editor // $Id: filedialog.h,v 1.2.2.2 2008/01/19 13:33:46 wschweer Exp $ // (C) Copyright 2000 Werner Schweer (ws@seh.de) +// (C) Copyright 2011 Tim E. Real (terminator356 on sourceforge) // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License diff --git a/muse2/muse/widgets/genset.cpp b/muse2/muse/widgets/genset.cpp index d7642b3b..ec2c8637 100644 --- a/muse2/muse/widgets/genset.cpp +++ b/muse2/muse/widgets/genset.cpp @@ -4,6 +4,7 @@ // $Id: genset.cpp,v 1.7.2.8 2009/12/01 03:52:40 terminator356 Exp $ // // (C) Copyright 2001-2004 Werner Schweer (ws@seh.de) +// (C) Copyright 2011 Tim E. Real (terminator356 on sourceforge) // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License @@ -24,8 +25,10 @@ #include #include +#include #include #include +#include #include "genset.h" #include "app.h" @@ -33,6 +36,7 @@ #include "midiseq.h" #include "globals.h" #include "icons.h" +#include "helper.h" namespace MusEGui { @@ -93,12 +97,6 @@ GlobalSettingsConfig::GlobalSettingsConfig(QWidget* parent) } } - userInstrumentsPath->setText(MusEGlobal::config.userInstrumentsDir); - selectInstrumentsDirButton->setIcon(*openIcon); - defaultInstrumentsDirButton->setIcon(*undoIcon); - connect(selectInstrumentsDirButton, SIGNAL(clicked()), SLOT(selectInstrumentsPath())); - connect(defaultInstrumentsDirButton, SIGNAL(clicked()), SLOT(defaultInstrumentsPath())); - guiRefreshSelect->setValue(MusEGlobal::config.guiRefresh); minSliderSelect->setValue(int(MusEGlobal::config.minSlider)); minMeterSelect->setValue(MusEGlobal::config.minMeter); @@ -119,6 +117,9 @@ GlobalSettingsConfig::GlobalSettingsConfig(QWidget* parent) Period affects midi playback resolution. Shorter periods are desirable. */ + + projDirEntry->setText(MusEGlobal::config.projectBaseFolder); + projDirOpenToolButton->setIcon(*openIcon); startSongEntry->setText(MusEGlobal::config.startSong); startSongGroup->button(MusEGlobal::config.startMode)->setChecked(true); @@ -171,9 +172,14 @@ Shorter periods are desirable. popsDefStayOpenCheckBox->setChecked(MusEGlobal::config.popupsDefaultStayOpen); lmbDecreasesCheckBox->setChecked(MusEGlobal::config.leftMouseButtonCanDecrease); rangeMarkerWithoutMMBCheckBox->setChecked(MusEGlobal::config.rangeMarkerWithoutMMB); - + + addHiddenCheckBox->setChecked(MusEGlobal::config.addHiddenTracks); + unhideTracksCheckBox->setChecked(MusEGlobal::config.unhideTracks); + //updateSettings(); // TESTING + connect(projDirOpenToolButton, SIGNAL(clicked()), SLOT(browseProjDir())); + connect(applyButton, SIGNAL(clicked()), SLOT(apply())); connect(okButton, SIGNAL(clicked()), SLOT(ok())); connect(cancelButton, SIGNAL(clicked()), SLOT(cancel())); @@ -258,6 +264,8 @@ void GlobalSettingsConfig::updateSettings() //dummyAudioRealRate->setText(dad ? QString().setNum(sampleRate) : "---"); //dummyAudioRealRate->setText(QString().setNum(sampleRate)); // Not used any more. p4.0.20 + projDirEntry->setText(MusEGlobal::config.projectBaseFolder); + startSongEntry->setText(MusEGlobal::config.startSong); startSongGroup->button(MusEGlobal::config.startMode)->setChecked(true); @@ -310,6 +318,9 @@ void GlobalSettingsConfig::updateSettings() lmbDecreasesCheckBox->setChecked(MusEGlobal::config.leftMouseButtonCanDecrease); rangeMarkerWithoutMMBCheckBox->setChecked(MusEGlobal::config.rangeMarkerWithoutMMB); + addHiddenCheckBox->setChecked(MusEGlobal::config.addHiddenTracks); + unhideTracksCheckBox->setChecked(MusEGlobal::config.unhideTracks); + updateMdiSettings(); } @@ -350,7 +361,9 @@ void GlobalSettingsConfig::apply() MusEGlobal::config.useOutputLimiter = outputLimiterCheckBox->isChecked(); MusEGlobal::config.vstInPlace = vstInPlaceCheckBox->isChecked(); MusEGlobal::config.rtcTicks = rtcResolutions[rtcticks]; - MusEGlobal::config.userInstrumentsDir = userInstrumentsPath->text(); + + MusEGlobal::config.projectBaseFolder = projDirEntry->text(); + MusEGlobal::config.startSong = startSongEntry->text(); MusEGlobal::config.startMode = startSongGroup->checkedId(); int das = dummyAudioSize->currentIndex(); @@ -408,6 +421,9 @@ void GlobalSettingsConfig::apply() MusEGlobal::config.leftMouseButtonCanDecrease = lmbDecreasesCheckBox->isChecked(); MusEGlobal::config.rangeMarkerWithoutMMB = rangeMarkerWithoutMMBCheckBox->isChecked(); + MusEGlobal::config.addHiddenTracks = addHiddenCheckBox->isChecked(); + MusEGlobal::config.unhideTracks = unhideTracksCheckBox->isChecked(); + //MusEGlobal::muse->showMixer(MusEGlobal::config.mixerVisible); MusEGlobal::muse->showMixer1(MusEGlobal::config.mixer1Visible); MusEGlobal::muse->showMixer2(MusEGlobal::config.mixer2Visible); @@ -442,8 +458,6 @@ void GlobalSettingsConfig::apply() MusEGlobal::muse->resize(MusEGlobal::config.geometryMain.size()); MusEGlobal::muse->move(MusEGlobal::config.geometryMain.topLeft()); - MusEGlobal::museUserInstruments = MusEGlobal::config.userInstrumentsDir; - MusEGlobal::muse->setHeartBeat(); // set guiRefresh MusEGlobal::midiSeq->msgSetRtc(); // set midi tick rate @@ -546,21 +560,6 @@ void GlobalSettingsConfig::transportCurrent() transportY->setValue(r.y()); } -void GlobalSettingsConfig::selectInstrumentsPath() - { - QString dir = QFileDialog::getExistingDirectory(this, - tr("Selects instruments directory"), - MusEGlobal::config.userInstrumentsDir); - userInstrumentsPath->setText(dir); - } - -void GlobalSettingsConfig::defaultInstrumentsPath() - { - QString dir = MusEGlobal::configPath + "/instruments"; - userInstrumentsPath->setText(dir); - } - - void GlobalSettingsConfig::traditionalPreset() { for (std::list::iterator it = mdisettings.begin(); it!=mdisettings.end(); it++) @@ -598,5 +597,12 @@ void GlobalSettingsConfig::borlandPreset() updateMdiSettings(); } +void GlobalSettingsConfig::browseProjDir() +{ + QString dir = MusEGui::browseProjectFolder(this); + if(!dir.isEmpty()) + projDirEntry->setText(dir); +} + } // namespace MusEGui diff --git a/muse2/muse/widgets/genset.h b/muse2/muse/widgets/genset.h index 0e1697ee..b076a27f 100644 --- a/muse2/muse/widgets/genset.h +++ b/muse2/muse/widgets/genset.h @@ -4,6 +4,7 @@ // $Id: genset.h,v 1.3 2004/01/25 09:55:17 wschweer Exp $ // // (C) Copyright 2001 Werner Schweer (ws@seh.de) +// (C) Copyright 2011 Tim E. Real (terminator356 on sourceforge) // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License @@ -53,8 +54,7 @@ class GlobalSettingsConfig : public QDialog, public Ui::GlobalSettingsDialogBase void bigtimeCurrent(); void mainCurrent(); void transportCurrent(); - void selectInstrumentsPath(); - void defaultInstrumentsPath(); + void browseProjDir(); void traditionalPreset(); void mdiPreset(); void borlandPreset(); diff --git a/muse2/muse/widgets/gensetbase.ui b/muse2/muse/widgets/gensetbase.ui index ba26cf38..124ee72a 100644 --- a/muse2/muse/widgets/gensetbase.ui +++ b/muse2/muse/widgets/gensetbase.ui @@ -30,7 +30,36 @@ Application - + + + + Project directory + + + + + + Projects: + + + false + + + + + + + + + + ... + + + + + + + @@ -413,14 +442,14 @@
- + Start Muse - + @@ -438,7 +467,7 @@ - + @@ -811,9 +840,9 @@ Adjusts responsiveness of audio controls and 2 - + - + @@ -1179,31 +1208,7 @@ Adjusts responsiveness of audio controls and - - - - Instruments Directory - - - - - - - - - - - - - - - - - - - - Qt::Vertical @@ -1223,7 +1228,7 @@ Adjusts responsiveness of audio controls and - GUI + GUI Behaviour @@ -1406,10 +1411,58 @@ left button behave like the middle button in such areas. + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + + + + Allow adding hidden tracks in track list menu + + + + + + + Unhide tracks when adding hidden tracks + + + + + + + + + + - + + + + + GUI Style + + + MDI-subwindowness and sharing menus @@ -1460,8 +1513,8 @@ left button behave like the middle button in such areas. 0 0 - 482 - 143 + 512 + 378 diff --git a/muse2/muse/widgets/header.cpp b/muse2/muse/widgets/header.cpp index 2c1057c3..968e7f73 100644 --- a/muse2/muse/widgets/header.cpp +++ b/muse2/muse/widgets/header.cpp @@ -51,7 +51,7 @@ void Header::readStatus(MusECore::Xml& xml) for (QStringList::Iterator it = l.begin(); it != l.end(); ++it) { int logialIdx=abs((*it).toInt()); bool isHidden = (*it).toInt() < 0 ? true:false; - int section = visualIndex(logialIdx); + int section = visualIndex(logialIdx - (isHidden? 1:0)); moveSection(section, index); if (isHidden) hideSection(logialIdx-1); @@ -65,7 +65,7 @@ void Header::readStatus(MusECore::Xml& xml) bool foundIt=false; for (QStringList::Iterator it = l.begin(); it != l.end(); ++it) { int id=((*it).toInt()); - if ( id == i || i ==1-id ) + if ( id == i || i == -1 - id ) foundIt=true; } if (foundIt == false) { @@ -97,7 +97,7 @@ void Header::writeStatus(int level, MusECore::Xml& xml) const //xml.nput(level, "<%s> ", name()); xml.nput(level, "<%s> ", MusECore::Xml::xmlString(objectName()).toLatin1().constData()); int n = count(); - for (int i = n; i >= 0; --i) { + for (int i = n-1; i >= 0; --i) { if (isSectionHidden(logicalIndex(i))) xml.nput("%d ", -logicalIndex(i)-1); // hidden is stored as negative value starting from -1 else diff --git a/muse2/muse/widgets/knob.cpp b/muse2/muse/widgets/knob.cpp index 920d2028..269f65cf 100644 --- a/muse2/muse/widgets/knob.cpp +++ b/muse2/muse/widgets/knob.cpp @@ -323,6 +323,30 @@ void Knob::rangeChange() repaint(); } +void Knob::mousePressEvent(QMouseEvent *e) +{ + if (e->button() == Qt::MidButton || e->modifiers() & Qt::ControlModifier) { + int xpos = e->x() - width() /2; + double v = float(e->y()) / height() * 1.2; + + double halfRange = (maxValue() - minValue())/2; + double midValue = minValue() + halfRange; + // apply to range + if (xpos < 0) { // left values + v = -v; + } + setValue(v * halfRange + midValue); + SliderBase::valueChange(); + + // fake a left-click to make the knob still "stick" to + // the mouse. + QMouseEvent temp(e->type(), e->pos(), Qt::LeftButton, e->buttons(), e->modifiers()); + SliderBase::mousePressEvent(&temp); + return; + } + SliderBase::mousePressEvent(e); +} + //--------------------------------------------------------- // resizeEvent //--------------------------------------------------------- diff --git a/muse2/muse/widgets/knob.h b/muse2/muse/widgets/knob.h index 483fafa6..bd8621a1 100644 --- a/muse2/muse/widgets/knob.h +++ b/muse2/muse/widgets/knob.h @@ -80,6 +80,7 @@ class Knob : public SliderBase, public ScaleIf virtual void paintEvent(QPaintEvent *); virtual void resizeEvent(QResizeEvent *e); + virtual void mousePressEvent(QMouseEvent *e); double getValue(const QPoint &p); void getScrollMode( QPoint &p, const Qt::MouseButton &button, int &scrollMode, int &direction ); void scaleChange() { repaint(); } diff --git a/muse2/muse/widgets/meter.cpp b/muse2/muse/widgets/meter.cpp index 5c79ffb2..d9ca8e20 100644 --- a/muse2/muse/widgets/meter.cpp +++ b/muse2/muse/widgets/meter.cpp @@ -229,6 +229,8 @@ void Meter::setRange(double min, double max) void Meter::paintEvent(QPaintEvent* ev) { + // For some reason upon resizing we get double calls here and in resizeEvent. + QPainter p(this); p.setRenderHint(QPainter::Antialiasing); @@ -534,8 +536,11 @@ void Meter::drawVU(QPainter& p, const QRect& rect, const QPainterPath& drawPath, void Meter::resizeEvent(QResizeEvent* ev) { - QFrame::resizeEvent(ev); + // For some reason upon resizing we get double calls here and in paintEvent. + //printf("Meter::resizeEvent w:%d h:%d\n", ev->size().width(), ev->size().height()); cur_yv = -1; // Force re-initialization. + QFrame::resizeEvent(ev); + update(); } //--------------------------------------------------------- diff --git a/muse2/muse/widgets/midisync.ui b/muse2/muse/widgets/midisync.ui index 8fc6248a..81d7451e 100644 --- a/muse2/muse/widgets/midisync.ui +++ b/muse2/muse/widgets/midisync.ui @@ -388,6 +388,19 @@ Enabled inputs in the list will + + + + Note: Sync delay and MTC sync currently not fully implemeted + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + false + + + diff --git a/muse2/muse/widgets/mtrackinfo.cpp b/muse2/muse/widgets/mtrackinfo.cpp index b5460447..19e9729a 100644 --- a/muse2/muse/widgets/mtrackinfo.cpp +++ b/muse2/muse/widgets/mtrackinfo.cpp @@ -574,7 +574,8 @@ void MidiTrackInfo::setLabelText() //gradient.setColorAt(0, c.darker()); //gradient.setColorAt(0, c); //gradient.setColorAt(1, c.darker()); - gradient.setColorAt(0, c.lighter()); + gradient.setColorAt(0, c); + gradient.setColorAt(0.5, c.lighter()); gradient.setColorAt(1, c); //palette.setBrush(QPalette::Button, gradient); //palette.setBrush(QPalette::Window, gradient); @@ -635,14 +636,17 @@ void MidiTrackInfo::iOutputPortChanged(int index) { if(!selected) return; + int port_num = iOutput->itemData(index).toInt(); + if(port_num < 0 || port_num >= MIDI_PORTS) + return; MusECore::MidiTrack* track = (MusECore::MidiTrack*)selected; - if (index == track->outPort()) + if (port_num == track->outPort()) return; // Changed by T356. - //track->setOutPort(index); + //track->setOutPort(port_num); MusEGlobal::audio->msgIdle(true); - //audio->msgSetTrackOutPort(track, index); - track->setOutPortAndUpdate(index); + //audio->msgSetTrackOutPort(track, port_num); + track->setOutPortAndUpdate(port_num); MusEGlobal::audio->msgIdle(false); //MusEGlobal::song->update(SC_MIDI_TRACK_PROP); @@ -1081,11 +1085,9 @@ void MidiTrackInfo::instrPopup() //QMenu* pup = new QMenu; PopupMenu* pup = new PopupMenu(true); - //instr->populatePatchPopup(pop, channel, MusEGlobal::song->mtype(), track->type() == MusECore::Track::DRUM); - populatePatchPopup(instr, pup, channel, MusEGlobal::song->mtype(), track->type() == MusECore::Track::DRUM); + instr->populatePatchPopup(pup, channel, MusEGlobal::song->mtype(), track->type() == MusECore::Track::DRUM); + //populatePatchPopup(instr, pup, channel, MusEGlobal::song->mtype(), track->type() == MusECore::Track::DRUM); - //if(pop->actions().count() == 0) - // return; if(pup->actions().count() == 0) { delete pup; @@ -1095,7 +1097,6 @@ void MidiTrackInfo::instrPopup() connect(pup, SIGNAL(triggered(QAction*)), SLOT(instrPopupActivated(QAction*))); //connect(pup, SIGNAL(hovered(QAction*)), SLOT(instrPopupActivated(QAction*))); - //QAction *act = pop->exec(iPatch->mapToGlobal(QPoint(10,5))); QAction *act = pup->exec(iPatch->mapToGlobal(QPoint(10,5))); if(act) { @@ -1346,12 +1347,20 @@ void MidiTrackInfo::updateTrackInfo(int flags) //iInput->clear(); iOutput->clear(); + int item_idx = 0; for (int i = 0; i < MIDI_PORTS; ++i) { + MusECore::MidiDevice* md = MusEGlobal::midiPorts[i].device(); + if(!md) // In the case of this combo box, don't bother listing empty ports. p4.0.41 + continue; + //if(!(md->rwFlags() & 1 || md->isSynti()) && (i != outPort)) + if(!(md->rwFlags() & 1) && (i != outPort)) // Only writeable ports, or current one. p4.0.41 + continue; QString name; name.sprintf("%d:%s", i+1, MusEGlobal::midiPorts[i].portname().toLatin1().constData()); - iOutput->insertItem(i, name); + iOutput->insertItem(item_idx, name, i); if (i == outPort) - iOutput->setCurrentIndex(i); + iOutput->setCurrentIndex(item_idx); + item_idx++; } iOutput->blockSignals(false); diff --git a/muse2/muse/widgets/musewidgetsplug.cpp b/muse2/muse/widgets/musewidgetsplug.cpp index 4068da57..f707fb7c 100644 --- a/muse2/muse/widgets/musewidgetsplug.cpp +++ b/muse2/muse/widgets/musewidgetsplug.cpp @@ -157,7 +157,8 @@ MusEGlobal::GlobalConfigValues config = { -60.0, // double minSlider; false, // use Jack freewheel 20, // int guiRefresh; - QString(""), // helpBrowser + QString(""), // userInstrumentsDir // Obsolete. Must keep for compatibility. + //QString(""), // helpBrowser // Obsolete true, // extendedMidi 384, // division for smf export QString(""), // copyright string for smf export diff --git a/muse2/muse/widgets/popupmenu.cpp b/muse2/muse/widgets/popupmenu.cpp index af546ec3..af870975 100644 --- a/muse2/muse/widgets/popupmenu.cpp +++ b/muse2/muse/widgets/popupmenu.cpp @@ -341,21 +341,38 @@ void PopupMenu::popHovered(QAction* action) void PopupMenu::mouseReleaseEvent(QMouseEvent *e) { - #ifdef POPUP_MENU_DISABLE_STAY_OPEN + QAction* action = actionAt(e->pos()); + if (!(action && action == activeAction() && !action->isSeparator() && action->isEnabled())) + action=NULL; + + #ifdef POPUP_MENU_DISABLE_STAY_OPEN + if (action && action->menu() != NULL && action->isCheckable()) + action->activate(QAction::Trigger); + QMenu::mouseReleaseEvent(e); + + if (action && action->menu() != NULL && action->isCheckable()) + close(); + return; #else // Check for Ctrl to stay open. if(!_stayOpen || (!MusEGlobal::config.popupsDefaultStayOpen && (e->modifiers() & Qt::ControlModifier) == 0)) { + if (action && action->menu() != NULL && action->isCheckable()) + action->activate(QAction::Trigger); + QMenu::mouseReleaseEvent(e); + + if (action && action->menu() != NULL && action->isCheckable()) + close(); + return; } //printf("PopupMenu::mouseReleaseEvent\n"); - QAction *action = actionAt(e->pos()); - if (action && action == activeAction() && !action->isSeparator() && action->isEnabled()) + if (action) action->activate(QAction::Trigger); else QMenu::mouseReleaseEvent(e); diff --git a/muse2/muse/widgets/poslabel.cpp b/muse2/muse/widgets/poslabel.cpp index 6cdcb27e..b893c58d 100644 --- a/muse2/muse/widgets/poslabel.cpp +++ b/muse2/muse/widgets/poslabel.cpp @@ -138,7 +138,11 @@ void PosLabel::setTickValue(unsigned val) if (val == _tickValue) return; if (val >= MAX_TICK) - abort(); + { + printf("THIS SHOULD NEVER HAPPEN: val=%u > MAX_TICK=%u in PosLabel::setTickValue()!\n",val, MAX_TICK); + val=MAX_TICK-1; + } + _tickValue = val; updateValue(); } diff --git a/muse2/muse/widgets/projectcreate.ui b/muse2/muse/widgets/projectcreate.ui index 406c83d6..d03f093c 100644 --- a/muse2/muse/widgets/projectcreate.ui +++ b/muse2/muse/widgets/projectcreate.ui @@ -17,28 +17,94 @@ - - - Project Name: + + + + + Projects folder: + + + + + + + true + + + + + + + ... + + + + + + + + + Qt::Horizontal + + + + Project Name: + + + + + + + Project is a Template + + + Qt::Horizontal - QSizePolicy::Fixed + QSizePolicy::Minimum + + + + 60 + 20 + + + + + + + + + + + + Project song file type: + + + + + + + + + + Qt::Horizontal - 75 + 40 20 @@ -87,9 +153,16 @@ - + + + ... + + + + + - Browse + ... @@ -123,6 +196,18 @@ + + projectNameEdit + templateCheckBox + projectFileTypeCB + createFolderCheckbox + storageDirEdit + browseDirButton + commentEdit + buttonBox + projDirLineEdit + projDirToolButton + diff --git a/muse2/muse/widgets/projectcreateimpl.cpp b/muse2/muse/widgets/projectcreateimpl.cpp index 31973101..665d725e 100644 --- a/muse2/muse/widgets/projectcreateimpl.cpp +++ b/muse2/muse/widgets/projectcreateimpl.cpp @@ -4,6 +4,7 @@ // $Id: ./muse/widgets/projectcreateimpl.cpp $ // // Copyright (C) 1999-2011 by Werner Schweer and others +// (C) Copyright 2011 Tim E. Real (terminator356 on sourceforge) // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License @@ -21,12 +22,16 @@ // //========================================================= #include -#include -#include +#include +#include +#include + #include "projectcreateimpl.h" #include "gconfig.h" #include "globals.h" #include "app.h" +#include "helper.h" +#include "icons.h" namespace MusEGui { @@ -35,10 +40,51 @@ ProjectCreateImpl::ProjectCreateImpl(QWidget *parent) : { setupUi(this); - createFolderCheckbox->setChecked(MusEGlobal::config.projectStoreInFolder); + //bool is_new = (MusEGlobal::museProject == MusEGlobal::museProjectInitPath); + directoryPath = MusEGlobal::config.projectBaseFolder; + + QStringList filters = localizedStringListFromCharArray(MusEGlobal::project_create_file_save_pattern, "file_patterns"); + projectFileTypeCB->addItems(filters); + + QString proj_title = MusEGlobal::muse->projectTitle(); + QString proj_path = MusEGlobal::muse->projectPath(); + QString proj_ext = MusEGlobal::muse->projectExtension(); + + projectNameEdit->setText(proj_title); + + bool is_template = proj_path.startsWith(MusEGlobal::configPath + "/templates"); + + templateCheckBox->setChecked(is_template); + + projDirPath = proj_path; + + int type_idx = 0; + if(!proj_ext.isEmpty()) + { + // FIXME Imperfect. Trying to avoid adding yet another series of character strings. p4.0.40 + type_idx = projectFileTypeCB->findText(proj_ext, Qt::MatchContains | Qt::MatchCaseSensitive); + if(type_idx == -1) + type_idx = 0; + } + projectFileTypeCB->setCurrentIndex(type_idx); + + projDirToolButton->setIcon(*openIcon); + browseDirButton->setIcon(*openIcon); + restorePathButton->setIcon(*undoIcon); + + restorePathButton->setEnabled(false); // Disabled at first. + + //createFolderCheckbox->setChecked(MusEGlobal::config.projectStoreInFolder && is_new); // Suggest no folder if not new. + + connect(templateCheckBox,SIGNAL(clicked()), this, SLOT(templateButtonChanged())); + //connect(templateCheckBox,SIGNAL(clicked()), this, SLOT(updateDirectoryPath())); + connect(projDirToolButton,SIGNAL(clicked()), this, SLOT(browseProjDir())); + connect(restorePathButton,SIGNAL(clicked()), this, SLOT(restorePath())); connect(browseDirButton,SIGNAL(clicked()), this, SLOT(selectDirectory())); - connect(projectNameEdit,SIGNAL(textChanged(QString)), this, SLOT(updateDirectoryPath())); - connect(createFolderCheckbox,SIGNAL(clicked()), this, SLOT(updateDirectoryPath())); + //connect(projectNameEdit,SIGNAL(textChanged(QString)), this, SLOT(updateDirectoryPath())); + connect(projectNameEdit,SIGNAL(textChanged(QString)), this, SLOT(updateProjectName())); + connect(createFolderCheckbox,SIGNAL(clicked()), this, SLOT(createProjFolderChanged())); + connect(projectFileTypeCB,SIGNAL(currentIndexChanged(int)), this, SLOT(updateDirectoryPath())); connect(buttonBox, SIGNAL(accepted()), this, SLOT(ok())); #if QT_VERSION >= 0x040700 projectNameEdit->setPlaceholderText(""); @@ -46,52 +92,155 @@ ProjectCreateImpl::ProjectCreateImpl(QWidget *parent) : // as of Qt-4.7.1 //commentEdit->setPlaceholderText(""); #endif - directoryPath = MusEGlobal::config.projectBaseFolder; updateDirectoryPath(); show(); } void ProjectCreateImpl::selectDirectory() { - QFileDialog qfd; - qfd.selectFile(directoryPath); - qfd.setFileMode(QFileDialog::DirectoryOnly); - if (qfd.exec() == QDialog::Rejected) { - return; - } - directoryPath=qfd.selectedFiles().first(); + QString dpath = templateCheckBox->isChecked() ? + (overrideTemplDirPath.isEmpty() ? (MusEGlobal::configPath + QString("/templates")) : overrideTemplDirPath) : + (overrideDirPath.isEmpty() ? directoryPath : overrideDirPath); + + QString dir = QFileDialog::getExistingDirectory(this, tr("Select directory"), dpath); + if(dir.isEmpty()) + return; + + (templateCheckBox->isChecked() ? overrideTemplDirPath : overrideDirPath) = dir; + restorePathButton->setEnabled(true); updateDirectoryPath(); } -void ProjectCreateImpl::updateDirectoryPath() +void ProjectCreateImpl::updateProjectName() { + QString curExt = projectFileTypeCB->currentText(); + if(curExt.isEmpty()) + curExt = ".med"; + else + { + curExt = MusEGui::getFilterExtension(curExt); + // Do we have a valid extension? + if(curExt.isEmpty()) + curExt = ".med"; + } + QString name = ""; if (createFolderCheckbox->isChecked()) { if (!projectNameEdit->text().isEmpty()) - name = projectNameEdit->text() + "/" + projectNameEdit->text() + ".med"; + //name = projectNameEdit->text() + "/" + projectNameEdit->text() + ".med"; + name = projectNameEdit->text() + "/" + projectNameEdit->text() + curExt; //storageDirEdit->setText(directoryPath + name ); } else { if (!projectNameEdit->text().isEmpty()) - name = projectNameEdit->text() + ".med"; + //name = projectNameEdit->text() + ".med"; + name = projectNameEdit->text() + curExt; //storageDirEdit->setText(directoryPath +"/" + name); } - storageDirEdit->setText(directoryPath +"/" + name ); // Tim + + bool is_new = (MusEGlobal::museProject == MusEGlobal::museProjectInitPath); + + QString dpath = templateCheckBox->isChecked() ? + (overrideTemplDirPath.isEmpty() ? (MusEGlobal::configPath + QString("/templates")) : overrideTemplDirPath) : + (overrideDirPath.isEmpty() ? (is_new ? directoryPath : projDirPath) : overrideDirPath); + + QDir proj_dir(dpath); + //if(is_project && MusEGlobal::config.projectStoreInFolder) + bool is_project = dpath.startsWith(MusEGlobal::config.projectBaseFolder); + //bool is_template = dpath.startsWith(MusEGlobal::configPath + "/templates") && templateCheckBox->isChecked(); + //bool is_new = (MusEGlobal::museProject == MusEGlobal::museProjectInitPath) && MusEGlobal::config.projectStoreInFolder; + //bool is_new = (MusEGlobal::museProject == MusEGlobal::museProjectInitPath) && + MusEGlobal::config.projectStoreInFolder && + (templateCheckBox->isChecked() ? overrideTemplDirPath.isEmpty() : overrideDirPath.isEmpty()); + //bool is_template = is_new && dpath.startsWith(MusEGlobal::configPath + "/templates") && templateCheckBox->isChecked(); + if(!is_new && createFolderCheckbox->isChecked() && !templateCheckBox->isChecked() && + (templateCheckBox->isChecked() ? overrideTemplDirPath.isEmpty() : overrideDirPath.isEmpty())) + proj_dir.cdUp(); + dpath = proj_dir.absolutePath(); + + //if(!initProjPath.isEmpty()) + //{ + // initProjPath.clear(); + //} + + storageDirEdit->blockSignals(true); + storageDirEdit->setText(dpath + "/" + name ); + storageDirEdit->blockSignals(false); + + projDirLineEdit->setEnabled(!templateCheckBox->isChecked() && is_project); +} + +void ProjectCreateImpl::updateDirectoryPath() +{ + updateProjectName(); + + projDirLineEdit->blockSignals(true); + projDirLineEdit->setText(MusEGlobal::config.projectBaseFolder); + projDirLineEdit->blockSignals(false); } -QString ProjectCreateImpl::getProjectPath() +QString ProjectCreateImpl::getProjectPath() const { return storageDirEdit->text(); } -QString ProjectCreateImpl::getSongInfo() + +QString ProjectCreateImpl::getSongInfo() const { return commentEdit->toPlainText(); } + void ProjectCreateImpl::ok() { MusEGlobal::config.projectStoreInFolder = createFolderCheckbox->isChecked(); - MusEGlobal::config.projectBaseFolder = directoryPath; - MusEGlobal::muse->changeConfig(true); + //MusEGlobal::config.projectBaseFolder = directoryPath; + //MusEGlobal::muse->changeConfig(true); emit accept(); } +void ProjectCreateImpl::createProjFolderChanged() +{ + //MusEGlobal::config.projectStoreInFolder = createFolderCheckbox->isChecked(); + //MusEGlobal::muse->changeConfig(true); // Save to config file. + updateDirectoryPath(); +} + +void ProjectCreateImpl::browseProjDir() +{ + QString dir = MusEGui::browseProjectFolder(this); + if(!dir.isEmpty()) + { + directoryPath = dir; + MusEGlobal::config.projectBaseFolder = dir; + MusEGlobal::muse->changeConfig(true); // Save to config file. + updateDirectoryPath(); + } +} + +void ProjectCreateImpl::templateButtonChanged() +{ + restorePathButton->setEnabled(templateCheckBox->isChecked() ? !overrideTemplDirPath.isEmpty() : !overrideDirPath.isEmpty()); + updateDirectoryPath(); +} + +void ProjectCreateImpl::restorePath() +{ + if(templateCheckBox->isChecked()) + overrideTemplDirPath.clear(); + else + overrideDirPath.clear(); + restorePathButton->setEnabled(templateCheckBox->isChecked() ? !overrideTemplDirPath.isEmpty() : !overrideDirPath.isEmpty()); + updateDirectoryPath(); +} + +/* +bool ProjectCreateImpl::getProjectIsTemplate() const +{ + return templateCheckBox->isChecked(); +} + +QString ProjectCreateImpl::getTemplatePath() const +{ + return templDirPath; +} +*/ + } //namespace MusEGui diff --git a/muse2/muse/widgets/projectcreateimpl.h b/muse2/muse/widgets/projectcreateimpl.h index 258b0921..f08cb1bc 100644 --- a/muse2/muse/widgets/projectcreateimpl.h +++ b/muse2/muse/widgets/projectcreateimpl.h @@ -4,6 +4,7 @@ // $Id: ./muse/widgets/projectcreateimpl.h $ // // Copyright (C) 1999-2011 by Werner Schweer and others +// (C) Copyright 2011 Tim E. Real (terminator356 on sourceforge) // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License @@ -33,18 +34,28 @@ class ProjectCreateImpl : public QDialog, Ui::ProjectCreate Q_OBJECT QString directoryPath; + QString overrideDirPath; + QString overrideTemplDirPath; + QString projDirPath; + public: explicit ProjectCreateImpl(QWidget *parent = 0); - QString getProjectPath(); - QString getSongInfo(); + QString getProjectPath() const; + QString getSongInfo() const; + //bool getProjectIsTemplate() const; + //QString getTemplatePath() const; signals: -public slots: +protected slots: + void updateProjectName(); void updateDirectoryPath(); void selectDirectory(); void ok(); - + void createProjFolderChanged(); + void browseProjDir(); + void templateButtonChanged(); + void restorePath(); }; } // namespace MusEGui diff --git a/muse2/muse/widgets/routepopup.cpp b/muse2/muse/widgets/routepopup.cpp index 80ae98bd..0f1f8264 100644 --- a/muse2/muse/widgets/routepopup.cpp +++ b/muse2/muse/widgets/routepopup.cpp @@ -43,10 +43,10 @@ namespace MusEGui { int RoutePopupMenu::addMenuItem(MusECore::AudioTrack* track, MusECore::Track* route_track, PopupMenu* lb, int id, int channel, int channels, bool isOutput) { // totalInChannels is only used by syntis. - int toch = ((MusECore::AudioTrack*)track)->totalOutChannels(); + //int toch = ((MusECore::AudioTrack*)track)->totalOutChannels(); // If track channels = 1, it must be a mono synth. And synti channels cannot be changed by user. - if(track->channels() == 1) - toch = 1; + //if(track->channels() == 1) + // toch = 1; // Don't add the last stray mono route if the track is stereo. //if(route_track->channels() > 1 && (channel+1 == chans)) @@ -95,6 +95,13 @@ int RoutePopupMenu::addMenuItem(MusECore::AudioTrack* track, MusECore::Track* ro } } } + + if(!act->isChecked()) // If circular route exists, allow user to break it, otherwise forbidden. + { + if( (isOutput ? track : route_track)->isCircularRoute(isOutput ? route_track : track) ) + act->setEnabled(false); + } + return ++id; } @@ -259,6 +266,13 @@ int RoutePopupMenu::addSyntiPorts(MusECore::AudioTrack* t, PopupMenu* lb, int id } } } + + if(!act->isChecked()) // If circular route exists, allow user to break it, otherwise forbidden. + { + if( (isOutput ? t : track)->isCircularRoute(isOutput ? track : t) ) + act->setEnabled(false); + } + ++id; } @@ -520,6 +534,13 @@ int RoutePopupMenu::nonSyntiTrackAddSyntis(MusECore::AudioTrack* t, PopupMenu* l } } } + + if(!act->isChecked()) // If circular route exists, allow user to break it, otherwise forbidden. + { + if( (isOutput ? t : track)->isCircularRoute(isOutput ? track : t) ) + act->setEnabled(false); + } + ++id; } @@ -573,6 +594,13 @@ int RoutePopupMenu::nonSyntiTrackAddSyntis(MusECore::AudioTrack* t, PopupMenu* l } } } + + if(!act->isChecked()) // If circular route exists, allow user to break it, otherwise forbidden. + { + if( (isOutput ? t : track)->isCircularRoute(isOutput ? track : t) ) + act->setEnabled(false); + } + ++id; } } @@ -1062,9 +1090,8 @@ void RoutePopupMenu::prepare() for( ; pi < MIDI_PORTS; ++pi) { MusECore::MidiDevice* md = MusEGlobal::midiPorts[pi].device(); - //if(md && !md->isSynti() && (md->rwFlags() & 2)) - //if(md && (md->rwFlags() & 2)) // p4.0.27 - if(md && (md->rwFlags() & 2 || md->isSynti()) ) // p4.0.27 + if(md && !md->isSynti() && (md->rwFlags() & 2)) + //if(md && (md->rwFlags() & 2 || md->isSynti()) ) // p4.0.27 Reverted p4.0.35 break; } if(pi == MIDI_PORTS) @@ -1091,12 +1118,9 @@ void RoutePopupMenu::prepare() // continue; // Do not list synth devices! - ///if(md && md->isSynti()) - /// continue; - ///if(md && !(md->rwFlags() & 2)) - /// continue; - // p4.0.27 Go ahead. Synths esp MESS send out stuff. - if( md && !(md->rwFlags() & 2) && !md->isSynti() ) + if( md && (!(md->rwFlags() & 2) || md->isSynti()) ) + // p4.0.27 Go ahead. Synths esp MESS send out stuff. Reverted p4.0.35 + //if( md && !(md->rwFlags() & 2) && !md->isSynti() ) continue; //printf("MusE::prepareRoutingPopupMenu adding submenu portnum:%d\n", i); diff --git a/muse2/muse/widgets/synthconfigbase.ui b/muse2/muse/widgets/synthconfigbase.ui index 97f0beaa..500241a8 100644 --- a/muse2/muse/widgets/synthconfigbase.ui +++ b/muse2/muse/widgets/synthconfigbase.ui @@ -6,12 +6,12 @@ 0 0 - 630 + 810 492 - MusE: Synth Configuration + Midi Port and Soft Synth Configuration @@ -30,6 +30,11 @@ Name + + + Type + + Midi Port @@ -135,6 +140,11 @@ File + + + Type + + Inst diff --git a/muse2/muse/widgets/utils.cpp b/muse2/muse/widgets/utils.cpp index 708bef07..1641b267 100644 --- a/muse2/muse/widgets/utils.cpp +++ b/muse2/muse/widgets/utils.cpp @@ -528,7 +528,8 @@ int get_paste_len() if (p->endTick() > end_tick) end_tick=p->endTick(); - + + unchainClone(p); delete p; } } diff --git a/muse2/muse/widgets/visibletracks.cpp b/muse2/muse/widgets/visibletracks.cpp index f8ce06bf..4976ecf9 100644 --- a/muse2/muse/widgets/visibletracks.cpp +++ b/muse2/muse/widgets/visibletracks.cpp @@ -29,6 +29,7 @@ #include "action.h" #include "track.h" #include "synth.h" +#include "app.h" namespace MusEGui { @@ -130,6 +131,7 @@ void VisibleTracks::visibilityChanged(QAction* action) default: break; } + MusEGlobal::muse->changeConfig(true); // save settings emit visibilityChanged(); } diff --git a/muse2/muse/widgets/visibletracks.h b/muse2/muse/widgets/visibletracks.h index d56c9ce7..bf49c068 100644 --- a/muse2/muse/widgets/visibletracks.h +++ b/muse2/muse/widgets/visibletracks.h @@ -52,13 +52,14 @@ class VisibleTracks : public QToolBar { private slots: void visibilityChanged(QAction* action); + public slots: + void updateVisibleTracksButtons(); signals: void visibilityChanged(); public: VisibleTracks(QWidget* /*parent*/, const char* name = 0); // Needs a parent ! - void updateVisibleTracksButtons(); ~VisibleTracks(); }; diff --git a/muse2/muse/xml.cpp b/muse2/muse/xml.cpp index 139437c1..45bed368 100644 --- a/muse2/muse/xml.cpp +++ b/muse2/muse/xml.cpp @@ -4,6 +4,7 @@ // $Id: xml.cpp,v 1.17.2.6 2009/12/07 20:48:45 spamatica Exp $ // // (C) Copyright 2000 Werner Schweer (ws@seh.de) +// (C) Copyright 2011 Tim E. Real (terminator356 on sourceforge) // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License @@ -24,6 +25,7 @@ #include #include +#include #include #include #include @@ -112,9 +114,12 @@ void Xml::nextc() void Xml::token(int cc) { - char buffer[512]; + //char buffer[512]; + QByteArray buffer; + int i = 0; - for (; i < 511;) { + //for (; i < 511;) { + for (; i < 9999999;) { // Stop at a reasonably large amount 10 million. if (c == ' ' || c == '\t' || c == cc || c == '\n' || c == EOF) break; buffer[i++] = c; @@ -131,12 +136,16 @@ void Xml::token(int cc) void Xml::stoken() { - char buffer[1024*4]; + //char buffer[1024*4]; + QByteArray buffer; + int i = 0; buffer[i] = c; ++i; next(); - for (;i < 1024*4-1;) { + + //for (;i < 1024*4-1;) { + for (;i < 10000000*4-1;) { // Stop at a reasonably large amount 10 million. if (c == '"') { buffer[i++] = c; next(); @@ -207,8 +216,10 @@ QString Xml::strip(const QString& s) Xml::Token Xml::parse() { - char buffer[1024*1024]; // increase buffer -rj - char* p; + //char buffer[1024*1024]; // increase buffer -rj + //char* p; + QByteArray buffer; + int idx = 0; again: bool endFlag = false; @@ -262,15 +273,23 @@ Xml::Token Xml::parse() } if (c == '?') { next(); - p = buffer; + //p = buffer; + //p = buffer.data(); + idx = 0; for (;;) { if (c == '?' || c == EOF || c == '>') break; - *p++ = c; + + //*p++ = c; + buffer[idx++] = c; + // TODO: check overflow next(); } - *p = 0; + + //*p = 0; + buffer[idx] = 0; + _s1 = QString(buffer); if (c == EOF) { fprintf(stderr, "XML: unexpected EOF\n"); @@ -298,15 +317,23 @@ Xml::Token Xml::parse() } goto again; } - p = buffer; + //p = buffer; + //p = buffer.data(); + idx = 0; for (;;) { if (c == '/' || c == ' ' || c == '\t' || c == '>' || c == '\n' || c == EOF) break; // TODO: check overflow - *p++ = c; + + //*p++ = c; + buffer[idx++] = c; + next(); } - *p = 0; + + //*p = 0; + buffer[idx] = 0; + _s1 = QString(buffer); // skip white space: while (c == ' ' || c == '\t' || c == '\n') @@ -355,26 +382,43 @@ Xml::Token Xml::parse() fprintf(stderr, "XML: level = 0\n"); goto error; } - p = buffer; + //p = buffer; + //p = buffer.data(); + idx = 0; for (;;) { if (c == EOF || c == '<') break; if (c == '&') { next(); if (c == '<') { // be tolerant with old muse files - *p++ = '&'; + + //*p++ = '&'; + buffer[idx++] = '&'; + continue; } - char name[32]; - char* dp = name; - *dp++ = c; - for (; dp-name < 31;) { + + //char name[32]; + //char* dp = name; + QByteArray name; + int name_idx = 0; + + //*dp++ = c; + name[name_idx++] = c; + + //for (; dp-name < 31;) { + for (; name_idx < 9999999;) { // Stop at a reasonably large amount 10 million. next(); if (c == ';') break; - *dp++ = c; + + //*dp++ = c; + name[name_idx++] = c; } - *dp = 0; + + //*dp = 0; + name[name_idx] = 0; + if (strcmp(name, "lt") == 0) c = '<'; else if (strcmp(name, "gt") == 0) @@ -388,10 +432,16 @@ Xml::Token Xml::parse() else c = '?'; } - *p++ = c; + + //*p++ = c; + buffer[idx++] = c; + next(); } - *p = 0; + + //*p = 0; + buffer[idx] = 0; + _s1 = QString(buffer); if (c == '<') diff --git a/muse2/share/locale/muse_de.ts b/muse2/share/locale/muse_de.ts index 1284b82d..5b827ede 100644 --- a/muse2/share/locale/muse_de.ts +++ b/muse2/share/locale/muse_de.ts @@ -219,22 +219,22 @@ click on part to mute/unmute Alle Dateien (*) - + Add Midi Track Midispur hinzufügen - + Add Drum Track Schlagzeugspur hinzufügen - + Add Wave Track Wavespur hinzufügen - + Add Audio Output Audioausgang hinzufügen @@ -270,7 +270,7 @@ click on part to mute/unmute FST - + Add Synth Synthesizer hinzufügen @@ -5074,7 +5074,7 @@ Konfiguration MusE: Globale Einstellungen - + Audio Audio @@ -5200,12 +5200,11 @@ Konfiguration (Ticks/Sekunde) - GUI - GUI + GUI - + /sec /sek @@ -5254,7 +5253,22 @@ Bereichen die linke Maustaste wie die mittlere verhält. Shift + Rechtsklick setzt den linken Bereichs-Marker - + + Allow adding hidden tracks in track list menu + Erlaube es, verborgene Spurtypen hinzuzufügen in der Spurliste + + + + Unhide tracks when adding hidden tracks + Verborgene Spurentypen anzeigen, wenn ein solcher Typ hinzugefügt wird + + + + GUI Style + GUI-Stil + + + MDI-subwindowness and sharing menus Unterfenster und Menü-Teilen @@ -5298,12 +5312,12 @@ Bereichen die linke Maustaste wie die mittlere verhält. Hilfe Browser: - + Application Anwendung - + Start Muse MusE starten @@ -5483,7 +5497,22 @@ Bereichen die linke Maustaste wie die mittlere verhält. 16 - + + Project directory + Projektverzeichnis + + + + Projects: + Projekte: + + + + ... + ... + + + Main Window Hauptfenster @@ -5633,12 +5662,16 @@ einen höheren Wert. (Ticks/Viertelnote) - Instruments Directory - Instrumentenverzeichnis + Instrumentenverzeichnis - + + GUI Behaviour + GUI-Verhalten + + + Use old-style stop shortcut: Benutze altes Stopp-Kürzel: @@ -5648,12 +5681,12 @@ einen höheren Wert. Bewege "für Aufnahme scharfschalten" mit Auswahl - + On Launch Beim Start - + Behavior Verhalten @@ -7400,6 +7433,11 @@ bis zum Senden des ersten Clocks. Send sync delay Pause für das Senden von Sync + + + Note: Sync delay and MTC sync currently not fully implemeted + Hinweis: Sync delay und MTC sync sind momentan nicht komplett implementiert + MidiTrackInfoBase @@ -9917,7 +9955,7 @@ Wahrscheinlich hat dir ausgewählte Spur den falschen Typ. MusECore::Song - + Jack shutdown! Jack heruntergefahren! @@ -10016,7 +10054,7 @@ Knopf. &Abbrechen - + MusE - external script failed MusE - externes Skript fehlgeschlagen @@ -10064,6 +10102,14 @@ Knopf. Viertelnoten + + MusEGui + + + Select project directory + Projektverzeichnis auswählen + + MusEGui::Appearance @@ -10445,7 +10491,7 @@ Rechtsklick, um die GUI zu zeigen. Transport - + C&ut &Ausschneiden @@ -10551,13 +10597,13 @@ Rechtsklick, um die GUI zu zeigen. - all parts in one staff - alle Parts in ein System + all tracks in one staff + alle Spuren in ein System - one staff per part - ein System pro Part + one staff per track + ein System pro Spur @@ -10615,6 +10661,21 @@ Rechtsklick, um die GUI zu zeigen. Global Split Globales Aufteilen + + + Global Cut - selected tracks + Globaler Schnitt - markierte Spuren + + + + Global Insert - selected tracks + Globales Einfügen - markierte Spuren + + + + Global Split - selected tracks + Globales Aufteilen - markierte Spuren + &Edit @@ -10626,7 +10687,7 @@ Rechtsklick, um die GUI zu zeigen. &Struktur - + Functions Funktionen @@ -10686,7 +10747,7 @@ Rechtsklick, um die GUI zu zeigen. Fenster&konfiguration - + New Neu @@ -10753,7 +10814,7 @@ Rechtsklick, um die GUI zu zeigen. MusEGui::AudioStrip - + panorama Panorama @@ -10783,7 +10844,7 @@ Rechtsklick, um die GUI zu zeigen. Vor Regler - nach Regler - + dB dB @@ -10912,7 +10973,7 @@ Rechtsklick, um die GUI zu zeigen. MusEGui::ClipListEdit - + MusE: Clip List Editor MusE: Clip-Listen-Editor @@ -11026,7 +11087,7 @@ Rechtsklick, um die GUI zu zeigen. MusEGui::DrumEdit - + mute instrument Instrument stummschalten @@ -11382,7 +11443,7 @@ Rechtsklick, um die GUI zu zeigen. LV4 - + Muse: Load Drum Map MusE: Schlagzeugbelegung laden @@ -11447,50 +11508,40 @@ Rechtsklick, um die GUI zu zeigen. MusE: Datei schreiben schlug fehl - - - - MusE: - MusE: + MusE: - - The user instrument directory %1 does not exist yet. Create it now? - Das Benutzerinstrumentenverzeichnis + Das Benutzerinstrumentenverzeichnis %1 existiert nicht. Jetzt erzeugen? - - (You can change the user instruments directory at Settings->Global Settings->Midi) - (Sie können das Benutzer-Instrumentenversuchnis unter Einstellungen -> Globale Einstellungen -> Midi ändern) + (Sie können das Benutzer-Instrumentenversuchnis unter Einstellungen -> Globale Einstellungen -> Midi ändern) - - Unable to create user instrument directory '%1' - Konnte das Benutzer-Instrumentenverzeichnis "%1" nicht anlegen + Konnte das Benutzer-Instrumentenverzeichnis "%1" nicht anlegen - - + + MusE: Save Instrument Definition MusE: Instrumentendefinition speichern - - + + Instrument Definition (*.idf) Instrumentendefinition (*.idf) - + MusE: Save instrument as MusE: Instrument speichern unter @@ -11508,7 +11559,7 @@ Are you sure? Sind Sie sicher? - + MusE: Bad instrument name MusE: Ungeeigneter Instrumentenname @@ -11857,9 +11908,8 @@ click on part to mute/unmute MusEGui::GlobalSettingsConfig - Selects instruments directory - Wählt Instrumentenverzeichnis aus + Wählt Instrumentenverzeichnis aus @@ -11873,7 +11923,7 @@ click on part to mute/unmute MusEGui::LMaster - + MusE: Mastertrack MusE: Masterspur @@ -11988,7 +12038,7 @@ click on part to mute/unmute Wert - + Reposition of the initial tempo and signature events is not allowed Das Verschieben der initialen Tempo- und Taktmaß-Events ist nicht erlaubt @@ -12011,7 +12061,7 @@ click on part to mute/unmute MusEGui::ListEdit - + insert Note Note einfügen @@ -12176,18 +12226,18 @@ Möchten Sie sie jetzt auf alle existierende MIDI-Spuren anwenden? - + in ein - - + + out aus - + Show first aliases Zeige erste Aliase @@ -12393,13 +12443,13 @@ Möchten Sie sie jetzt auf alle existierende MIDI-Spuren anwenden? Status - + <unknown> <unbekannt> - + <none> <kein> @@ -12423,7 +12473,7 @@ Möchten Sie sie jetzt auf alle existierende MIDI-Spuren anwenden? MusEGui::MarkerView - + MusE: Marker MusE: Marker @@ -12496,7 +12546,7 @@ Möchten Sie sie jetzt auf alle existierende MIDI-Spuren anwenden? MusEGui::MasterEdit - + MusE: Mastertrack MusE: Masterspur @@ -13049,7 +13099,7 @@ Sync-Einstellungen anwenden? MusEGui::MidiTrackInfo - + <unknown> <unbekannt> @@ -13074,7 +13124,7 @@ Sync-Einstellungen anwenden? MusEGui::MusE - + Failed to start audio! Audio konnte nicht gestartet werden! @@ -13092,7 +13142,7 @@ Sync-Einstellungen anwenden? Timeout beim Warten auf Audio. Überprüfen Sie, ob Jack läuft. - + Und&o &Rückgängig @@ -13241,13 +13291,13 @@ Sync-Einstellungen anwenden? - - + + &Save &Speichern - + Click this button to save the song you are editing. You will be prompted for a file name. You can also select the Save command from the File menu. @@ -13276,7 +13326,7 @@ Alternativ das Lied mit dem Befehl "Sichern" im Menü "Datei" - + Import Wave File Wavedatei importieren @@ -13531,7 +13581,7 @@ Alternativ das Lied mit dem Befehl "Sichern" im Menü "Datei" Transport - + &File &Datei @@ -13571,12 +13621,12 @@ Alternativ das Lied mit dem Befehl "Sichern" im Menü "Datei" &Hilfe - + Cannot read template Vorlage nicht lesbar - + File open error Fehler beim Datei öffnen @@ -13591,14 +13641,14 @@ Alternativ das Lied mit dem Befehl "Sichern" im Menü "Datei" Unbekanntes Dateiformat: %1 - - - + + + MusE: Song: %1 MusE: Lied: %1 - + MusE: load project Muse: Projekt laden @@ -13608,7 +13658,7 @@ Alternativ das Lied mit dem Befehl "Sichern" im Menü "Datei" Muse: Vorlage laden - + MusE: Write File failed MusE: Datei schreiben schlug fehl @@ -13621,29 +13671,28 @@ Aktuelles Projekt sichern? - + S&kip &Überspringen - + &Cancel &Abbrechen - - + MusE: Save As MusE: Speichern unter - + Nothing to edit Es gibt nichts zu editieren - + @@ -13703,7 +13752,7 @@ und eine Audio-Ausgangs-Spur Linken/rechten Marker für Abmischbereich einstellen - + The current Project contains unsaved data Load overwrites current Project: Save Current Project? @@ -13713,7 +13762,7 @@ Aktuelles Projekt sichern? - + &Abort &Abbrechen @@ -13779,7 +13828,7 @@ failed: schlug fehl: - + Import part is only valid for midi and wave tracks! Part importieren ist nur möglich für MIDI und WAVE-Spuren! @@ -13886,7 +13935,7 @@ Möchten Sie sie dennoch importieren? Kopieren/verschieben/klonen auf anderen Spurtyp nicht möglich - + C&ut &Ausschneiden @@ -13965,7 +14014,7 @@ Files: Dateien: - + %n part(s) out of %1 could not be pasted. Likely the selected track is the wrong type. @@ -14066,7 +14115,7 @@ Wahrscheinlich hat die ausgewählte Spur den falschen Typ. MusEGui::PianoRoll - + &Edit &Bearbeiten @@ -14273,7 +14322,7 @@ Wahrscheinlich hat die ausgewählte Spur den falschen Typ. MusEGui::PluginDialog - + MusE: select plugin MusE: PlugIn wählen @@ -14376,7 +14425,7 @@ Wahrscheinlich hat die ausgewählte Spur den falschen Typ. MusEGui::PluginGui - + File Buttons Datei-Knöpfe @@ -14412,35 +14461,43 @@ Wahrscheinlich hat die ausgewählte Spur den falschen Typ. MusE: Vorlage sichern + + MusEGui::ProjectCreateImpl + + + Select directory + Verzeichnis auswählen + + MusEGui::RoutePopupMenu - + - + - - + + Channel Kanal - - + + Soloing chain Solo-Kette - - + + Audio returns Audio-Rückkanäle - + Warning: No input devices! Warnung: Keine Eingangsgeräte! @@ -14450,7 +14507,7 @@ Wahrscheinlich hat die ausgewählte Spur den falschen Typ. Öffne MIDI-Konfig... - + <none> <kein> @@ -14479,7 +14536,7 @@ Wahrscheinlich hat die ausgewählte Spur den falschen Typ. MusEGui::ScoreCanvas - + Treble Violinschlüssel @@ -14499,7 +14556,7 @@ Wahrscheinlich hat die ausgewählte Spur den falschen Typ. Notenzeile entfernen - + Ambiguous part Unklarer Part @@ -14522,7 +14579,7 @@ Wahrscheinlich hat die ausgewählte Spur den falschen Typ. MusEGui::ScoreEdit - + Undo/Redo tools Rückgängig/Wiederholen-Werkzeuge @@ -14562,20 +14619,20 @@ Wahrscheinlich hat die ausgewählte Spur den falschen Typ. letzte - + - + Apply to new notes: Für neue Noten: - - + + Apply to selected notes: Für markierte Noten: - + Velocity: Dynamik: @@ -14595,7 +14652,7 @@ Wahrscheinlich hat die ausgewählte Spur den falschen Typ. Quantisierung: - + Pixels per whole: Pixel pro ganze Note: @@ -14745,7 +14802,7 @@ Wahrscheinlich hat die ausgewählte Spur den falschen Typ. Je nach &Part - + Set up &preamble &Preambel einstellen @@ -14765,7 +14822,7 @@ Wahrscheinlich hat die ausgewählte Spur den falschen Typ. Partitur&name setzen - + Enter the new score title Geben Sie den neuen Titel ein @@ -14833,15 +14890,28 @@ Titel ist nicht einzigartig Taktmaß-Skala + + MusEGui::Strip + + + Remove track? + Spur entfernen? + + MusEGui::TList - + <none> <kein> - + + visible + sichtbar + + + no clef kein Notenschlüssel @@ -14871,30 +14941,30 @@ Titel ist nicht einzigartig Bitte eindeutigen Spurnamen wählen - - + + Update drummap? Drumbelegung aktualisieren? - + Do you want to use same port for all instruments in the drummap? Möchten Sie für alle Instrumente der Drumbelegung den selben Anschluss verwenden? - + &Yes &Ja - - + + &No &Nein - + show gui GUI anzeigen @@ -14906,7 +14976,7 @@ Titel ist nicht einzigartig Native GUI anzeigen - + Treble clef Violinschlüssel @@ -14926,7 +14996,7 @@ Titel ist nicht einzigartig Sichtbare Automatisierung - + Delete Track Spur löschen @@ -14941,7 +15011,7 @@ Titel ist nicht einzigartig Spur einfügen - + Midi Midi @@ -14955,6 +15025,11 @@ Titel ist nicht einzigartig Do you want to use same port and channel for all instruments in the drummap? Möchten Sie für alle Instrumente der Drumbelegung den selben Anschluss und Kanal verwenden? + + + Unused Devices + Ungenutzte Geräte + MusEGui::TempoSig @@ -14967,7 +15042,7 @@ Titel ist nicht einzigartig MusEGui::Toolbar1 - + Off @@ -15007,7 +15082,7 @@ Titel ist nicht einzigartig Vollbild - + Piano roll Pianoroll @@ -15265,7 +15340,7 @@ Titel ist nicht einzigartig MusEGui::VisibleTracks - + Show wave tracks Zeige Wave-Spuren @@ -16650,12 +16725,34 @@ erweitert werden muss um nicht mehr als Projekt erzeugen - + + Projects folder: + Projektverzeichnis: + + + + + + ... + ...... + + + Project Name: Projekt-Name: - + + Project is a Template + Projekt ist eine Vorlage + + + + Project song file type: + Projekt-Lieddatei-Typ: + + + Project Path to song file: Projektpfad zur Lieddatei: @@ -16665,12 +16762,11 @@ erweitert werden muss um nicht mehr als Erzeuge Projektverzeichnis (empfohlen für Audioprojekte) - Browse - Durchsuchen + Durchsuchen - + Song information: Lied-Information: @@ -16811,9 +16907,8 @@ gegenwärtig nicht benutzt QObject - Other - Andere + Andere @@ -16848,7 +16943,7 @@ gegenwärtig nicht benutzt Neu - + create peakfile for Pegelspitzendatei erzeugen für @@ -16899,7 +16994,7 @@ Erzeugen? Verzeichnis erzeugen schlug fehl - + File %1 exists. Overwrite? @@ -16908,7 +17003,7 @@ exists. Overwrite? existiert. Überschreiben? - + Open File %1 failed: %2 @@ -16925,7 +17020,7 @@ exists besteht - + MusE: write MusE: schreiben @@ -16948,13 +17043,13 @@ failed: schlug fehl: - + MusE: Open File MusE: Datei öffnen - - + + None Kein @@ -18069,12 +18164,11 @@ Rhythmus Zufallsgenerator noch nicht eingeführt! SynthConfigBase - MusE: Synth Configuration - MusE: Synth Einstellung + MusE: Synth Einstellung - + Soft Synthesizer Software-Synthesizer @@ -18084,18 +18178,18 @@ Rhythmus Zufallsgenerator noch nicht eingeführt! Datei - + Instances Instanzen - + Name Name - + list of available software synthesizers Liste verfügbarer Software-Synthesizer @@ -18115,12 +18209,23 @@ Rhythmus Zufallsgenerator noch nicht eingeführt! Midi Anschluss - + + Midi Port and Soft Synth Configuration + MIDI-Port- und SoftSynth-Konfiguration + + + + + Type + Typ + + + Midi connections Midi Verbindungen - + Inst Inst @@ -18969,7 +19074,7 @@ Robert Jonsson - + @@ -18981,7 +19086,7 @@ Robert Jonsson Alle Dateien (*) - + Midi (*.mid) Midi (*.mid) @@ -19003,28 +19108,31 @@ Robert Jonsson + Uncompressed med Files (*.med) Unkomprimierte med-Dateien (*.med) - + + gzip compressed med Files (*.med.gz) Mit gzip komprimierte med-Dateien (*.med.gz) - + + bzip2 compressed med Files (*.med.bz2) Mit bzip2 komprimierte med-Dateien (*.med.bz2) - + mid Files (*.mid *.midi *.kar *.MID *.MIDI *.KAR) Midi-Dateien (*.mid *.midi *.kar *.MID *.MIDI *.KAR) - + (*.jpg *.gif *.png) (*.jpg *.gif *.png) diff --git a/muse2/share/locale/muse_en.ts b/muse2/share/locale/muse_en.ts index c6e38689..867761ce 100644 --- a/muse2/share/locale/muse_en.ts +++ b/muse2/share/locale/muse_en.ts @@ -4,42 +4,42 @@ @default - + Add Midi Track - + Add Drum Track - + Add Wave Track - + Add Audio Output - + Add Audio Group - + Add Audio Input - + Add Aux Send - + Add Synth @@ -4041,7 +4041,7 @@ Adjusts responsiveness of audio controls and - GUI + GUI Behaviour @@ -4104,42 +4104,57 @@ left button behave like the middle button in such areas. - + + Allow adding hidden tracks in track list menu + + + + + Unhide tracks when adding hidden tracks + + + + + GUI Style + + + + MDI-subwindowness and sharing menus - + Presets: - + traditional MusE SDI - + Cakewalk-like MDI - + Borland-/Mac-like MDI - + &Apply - + &Ok - + &Cancel @@ -5124,6 +5139,11 @@ Enabled inputs in the list will Send sync delay + + + Note: Sync delay and MTC sync currently not fully implemeted + + MidiTrackInfoBase @@ -5808,12 +5828,12 @@ Enabled inputs in the list will MusECore::Song - + Jack shutdown! - + Jack has detected a performance problem which has lead to MusE being disconnected. This could happen due to a number of reasons: @@ -5832,71 +5852,71 @@ click on the Restart button. - - + + Automation: - + previous event - + next event - - + + set event - - + + add event - - + + erase event - + erase range - + clear automation - + Clear all controller events? - + &Ok - + &Cancel - + MusE - external script failed - + MusE was unable to launch the script, error message: %1 @@ -6302,249 +6322,264 @@ Right-click to show GUI. - + C&ut - + &Copy - + Copy in range - + &Paste - + Paste (show dialog) - + Paste c&lone - + Paste clone (show dialog) - + &Insert Empty Measure - + Delete Selected Tracks - + Shrink selected parts - + Expand selected parts - + Clean selected parts - + Add Track - + Select - + Select &All - + &Deselect All - + Invert &Selection - + &Inside Loop - + &Outside Loop - + All &Parts on Track - + Score - - all parts in one staff + + all tracks in one staff - - one staff per part + + one staff per track - + New score window - + Pianoroll - + Drums - - + + List - + Wave - + Mastertrack - + Graphic - + Midi &Transform - + Global Cut - + Global Insert - + Global Split - + + Global Cut - selected tracks + + + + + Global Insert - selected tracks + + + + + Global Split - selected tracks + + + + &Edit - + &Structure - + Functions - + &Quantize Notes - + Change note &length - + Change note &velocity - + Crescendo/Decrescendo - + Transpose - + Erase Events (Not Parts) - + Move Events (Not Parts) - + Set Fixed Note Length - + Delete Overlapping Notes - + Legato - + Window &Config - - + + New @@ -6610,108 +6645,108 @@ Right-click to show GUI. MusEGui::AudioStrip - + panorama - + aux send level - + Pan - + 1/2 channel - + Pre - + pre fader - post fader - + dB - + record - + mute - + record downmix - - + + solo mode - + off - + iR - + input routing - + oR - + output routing - + Off - + Read - + Touch - + Write - + automation type @@ -6769,27 +6804,27 @@ Right-click to show GUI. MusEGui::ClipListEdit - + MusE: Clip List Editor - + Undo/Redo tools - + panic - + transport - + Window &Config @@ -6882,379 +6917,379 @@ Right-click to show GUI. MusEGui::DrumEdit - - - - mute instrument - - - sound name + mute instrument - volume percent + sound name - quantisation + volume percent - this input note triggers the sound + quantisation - note length + this input note triggers the sound - this is the note which is played + note length - output channel (hold ctl to affect all rows) + + this is the note which is played - output port (hold ctl to affect all rows) + output channel (hold ctl to affect all rows) - - shift + control key: draw velocity level 1 + output port (hold ctl to affect all rows) - control key: draw velocity level 2 + shift + control key: draw velocity level 1 - shift key: draw velocity level 3 + control key: draw velocity level 2 + shift key: draw velocity level 3 + + + + + draw velocity level 4 - + output channel (ctl: affect all rows) - + output port (ctl: affect all rows) - + &File - + Load Map - + Save Map - + Reset GM Map - + &Edit - + Cut - + Copy - + Copy events in range - + Paste - + Paste (with Dialog) - + Delete Events - + &Select - + Select All - + Select None - + Invert - + Inside Loop - + Outside Loop - + Previous Part - + Next Part - + Fu&nctions - + Re-order list - + Set Fixed Length - + Modify Velocity - + Crescendo/Decrescendo - + Quantize - + Erase Event - + Move Notes - + Delete Overlaps - + &Plugins - + Window &Config - + Drum tools - + Load Drummap - + Store Drummap - + Step Record - + Midi Input - + cursor tools - + Set step size for cursor edit - + panic - + transport - + ctrl - + Add Controller View - + M - + Sound - + Vol - + QNT - + E-Note - + Len - + A-Note - + Ch - + Port - + LV1 - + LV2 - + LV3 - + LV4 - + Muse: Load Drum Map - + MusE: Store Drum Map - + Drum map - + Reset the drum map with GM defaults? @@ -7697,7 +7732,7 @@ click on part to mute/unmute MusEGui::GlobalSettingsConfig - + Selects instruments directory @@ -7713,137 +7748,137 @@ click on part to mute/unmute MusEGui::LMaster - + MusE: Mastertrack - + &Edit - + Insert Tempo - + Insert Signature - + Insert Key - + Edit Positon - + Edit Value - + Delete Event - + Window &Config - + Undo/Redo tools - + Edit tools - + Tempo - + Timesig - + Key - + new tempo - + new signature - + new key - + panic - + transport - + Meter - + Time - + Type - + Value - + Reposition of the initial tempo and signature events is not allowed - + MusE: List Editor - + Input error, conversion not OK or value out of range - + Reposition of tempo and signature events to start position is not allowed! @@ -7851,127 +7886,127 @@ click on part to mute/unmute MusEGui::ListEdit - + insert Note - + insert SysEx - + insert Ctrl - + insert Meta - + insert Channel Aftertouch - + insert Poly Aftertouch - + &Edit - + Cut - + Copy - + Paste - + Delete Events - + Window &Config - + Undo/Redo tools - + Insert tools - + panic - + transport - + Tick - + Bar - + Type - + Ch - + Val A - + Val B - + Val C - + Len - + Comment @@ -8015,13 +8050,13 @@ Do you want to apply to all existing midi tracks now? - + in - + out @@ -8224,13 +8259,13 @@ Do you want to apply to all existing midi tracks now? - + <unknown> - - + + <none> @@ -8254,72 +8289,72 @@ Do you want to apply to all existing midi tracks now? MusEGui::MarkerView - + MusE: Marker - + add marker - + delete marker - + &Edit - + Window &Config - + Undo/Redo tools - + edit tools - + panic - + transport - + Bar:Beat:Tick - + Hr:Mn:Sc:Fr:Sf - + Lock - + Text - + Marker Properties @@ -8327,92 +8362,92 @@ Do you want to apply to all existing midi tracks now? MusEGui::MasterEdit - + MusE: Mastertrack - + Window &Config - + Undo/Redo tools - + panic - + transport - + Enable master - + Enable - + Enable usage of master track - + Info - + Cursor - + time at cursor position - + tempo at cursor position - + Off - + Bar - + Snap - + CurPos - + tempo at current position - + time signature at current position @@ -8850,7 +8885,7 @@ Apply sync settings? MusEGui::MidiTrackInfo - + <unknown> @@ -8893,622 +8928,622 @@ Apply sync settings? - + Und&o - + Re&do - + undo last change to song - + redo last undo - + Loop - + loop between left mark and right mark - + Punchin - + record starts at left mark - + Punchout - + record stops at right mark - + Start - + rewind to start position - + Rewind - + rewind current position - + Forward - + move current position - + Stop - + stop sequencer - + Play - + start sequencer play - + Record - + to record press record and then play - - + + Panic - + send note off to all midi channels - + &New - + Create New Song - + &Open - - + + Click this button to open a <em>new song</em>.<br>You can also select the <b>Open command</b> from the File menu. - + Open &Recent - - - + + + &Save - - + + Click this button to save the song you are editing. You will be prompted for a file name. You can also select the Save command from the File menu. - + Save &As - + Import Midifile - + Export Midifile - + Import Part - - + + Import Wave File - + Find unused wave files - + &Quit - + Song Info - + Transport Panel - + Bigtime Window - + Mixer A - + Mixer B - + Cliplist - + Marker View - + Arranger View - + Fullscreen - + &Plugins - + Edit Instrument - + Input Plugins - + Transpose - + Midi Input Transform - + Midi Input Filter - + Midi Remote Control - + Rhythm Generator - + Reset Instr. - + Init Instr. - + Local Off - + Bounce to Track - + Bounce to File - + Restart Audio - + Mixer Automation - + Take Snapshot - + Clear Automation Data - + Cascade - + Tile - + In rows - + In columns - + Global Settings - + Configure Shortcuts - + Follow Song - + Don't Follow Song - + Follow Page - + Follow Continuous - + Metronome - + Midi Sync - + Midi File Import/Export - + Appearance Settings - + Midi Ports / Soft Synth - + &Manual - + &MusE Homepage - + &Report Bug... - + &About MusE - + File Buttons - + Undo/Redo - + Transport - + &File - + &View - + &Midi - + &Audio - + A&utomation - + &Windows - + MusE Se&ttings - + &Help - + Cannot read template - + File open error - + File read error - + Unknown File Format: %1 - - - + + + MusE: Song: %1 - + MusE: load project - + MusE: load template - + MusE: Write File failed - + The current Project contains unsaved data Save Current Project? - - + + S&kip - + &Cancel - - + + MusE: Save As - - + + Nothing to edit - - - - - + + + + + MusE: Bounce to Track - + No wave tracks found - - + + No audio output tracks found - + Select one audio output track, and one target wave track - + Select one target wave track - + Select one target wave track, and one audio output track - - + + MusE: Bounce to File - + Select one audio output track - + MusE: Bounce - + set left/right marker for bounce range - + The current Project contains unsaved data Load overwrites current Project: Save Current Project? - - + + &Abort @@ -9539,34 +9574,34 @@ browser on your machine. - + MusE: Import Midi - + Add midi file to current project? - + &Add to Project - + &Replace - + reading midifile - + failed: @@ -9609,29 +9644,29 @@ Likely the selected track is the wrong type. - + to import an audio file you have first to selecta wave track - + Import Wavefile - + This wave file has a samplerate of %1, as opposed to current setting %2. Do you still want to import it? - + &Yes - + &No @@ -9677,85 +9712,85 @@ Do you still want to import it? - + C&ut - + &Copy - + s&elect - + clones - + rename - + color - + delete - + split - + glue - + de-clone - - - + + + save part to disk - + wave edit - + file info - + MusE: save part - + Part name: %1 Files: - + %n part(s) out of %1 could not be pasted. Likely the selected track is the wrong type. @@ -9766,7 +9801,7 @@ Likely the selected track is the wrong type. - + %n part(s) could not be pasted. Likely the selected track is the wrong type. @@ -9777,32 +9812,32 @@ Likely the selected track is the wrong type. - + Cannot paste: multiple tracks selected - + Cannot paste: no track selected - + Can only paste to midi/drum track - + Can only paste to wave track - + Can only paste to midi or wave track - + Cannot paste: wrong data type @@ -9856,202 +9891,202 @@ Likely the selected track is the wrong type. MusEGui::PianoRoll - + &Edit - + C&ut - + &Copy - + Copy events in range - + &Paste - + Paste (with dialog) - + Delete &Events - + &Select - + Select &All - + &Deselect All - + Invert &Selection - + &Inside Loop - + &Outside Loop - + &Previous Part - + &Next Part - + Fu&nctions - + Quantize - + Modify Note Length - + Modify Velocity - + Crescendo/Decrescendo - + Transpose - + Erase Events - + Move Notes - + Set Fixed Length - + Delete Overlaps - + Legato - + &Plugins - + Window &Config - + &Event Color - + &Blue - + &Pitch colors - + &Velocity colors - + Pianoroll tools - + Step Record - + Midi Input - + Play Events - + panic - + transport - + ctrl - + Add Controller View @@ -10059,102 +10094,102 @@ Likely the selected track is the wrong type. MusEGui::PluginDialog - + MusE: select plugin - + Lib - + Label - + Name - + AI - + AO - + CI - + CO - + IP - + id - + Maker - + Copyright - + Ok - + Cancel - + Mono and Stereo - + Stereo - + Mono - + Show All - + Select which types of plugins should be visible in the list.<br>Note that using mono plugins on stereo tracks is not a problem, two will be used in parallell.<br>Also beware that the 'all' alternative includes plugins that probably not are usable by MusE. - + Search in 'Label' and 'Name': @@ -10162,38 +10197,38 @@ Likely the selected track is the wrong type. MusEGui::PluginGui - + File Buttons - + Load Preset - + Save Preset - - + + bypass plugin - + MusE: load preset - + Error reading preset. Might not be right type for this plugin - + MusE: save preset @@ -10201,63 +10236,63 @@ Likely the selected track is the wrong type. MusEGui::RoutePopupMenu - - - - - - - - + + + + + + + + Channel - - - + + + Soloing chain - - + + Audio returns - + Warning: No input devices! - + Open midi config... - - + + <none> - + Toggle all - + More... - + Audio sends - + Midi port sends @@ -10265,42 +10300,42 @@ Likely the selected track is the wrong type. MusEGui::ScoreCanvas - + Treble - + Bass - + Grand Staff - + Remove staff - + Ambiguous part - + There are two or more possible parts you could add the note to, but none matches the selected part. Please select the destination part by clicking on any note belonging to it and try again, or add a new stave containing only the destination part. - + No part - + There are no parts you could add the note to. @@ -10308,261 +10343,261 @@ Likely the selected track is the wrong type. MusEGui::ScoreEdit - + Undo/Redo tools - + Step recording tools - + Step Record - + panic - + transport - + Note settings - + Note length: - + last - - - + + + Apply to new notes: - - + + Apply to selected notes: - + Velocity: - + Off-Velocity: - + Quantisation settings - + Quantisation: - + Pixels per whole: - + &Edit - + C&ut - + &Copy - + Copy events in range - + &Paste - + Paste (with dialog) - + Delete &Events - + &Select - + Select &All - + &Deselect All - + Invert &Selection - + &Inside Loop - + &Outside Loop - + Fu&nctions - + &Quantize - + Change note &length - + Change note &velocity - + Crescendo/Decrescendo - + Transpose - + Erase Events - + Move Notes - + Set Fixed Length - + Delete Overlaps - + Legato - + Window &Config - + Note head &colors - + &Black - + &Velocity - + &Part - + Set up &preamble - + Display &key signature - + Display &time signature - + Set Score &name - - + + Enter the new score title - + Error - + Changing score title failed: the selected title is not unique @@ -10617,6 +10652,14 @@ the selected title is not unique + + MusEGui::Strip + + + Remove track? + + + MusEGui::TList @@ -10751,24 +10794,24 @@ the selected title is not unique MusEGui::Toolbar1 + - Off - + Solo - + Cursor - + Snap @@ -10791,57 +10834,57 @@ the selected title is not unique - + Piano roll - + List editor - + Drum editor - + Master track editor - + Master track list editor - + Wave editor - + Clip list - + Marker view - + Score editor - + Arranger - + <unknown toplevel type> @@ -11048,50 +11091,50 @@ the selected title is not unique MusEGui::VisibleTracks - - - - Show wave tracks - - - Show group tracks + Show wave tracks - Show aux tracks + Show group tracks - Show input tracks + Show aux tracks - Show output tracks + Show input tracks - Show midi tracks + Show output tracks + Show midi tracks + + + + + Show synth tracks - + Visible track types @@ -11557,11 +11600,6 @@ to be expanded by more than QObject - - - Other - - @@ -11600,8 +11638,8 @@ to be expanded by more than - - + + None @@ -12221,7 +12259,7 @@ p, li { white-space: pre-wrap; } SynthConfigBase - MusE: Synth Configuration + Midi Port and Soft Synth Configuration @@ -12231,57 +12269,63 @@ p, li { white-space: pre-wrap; } - + Name + + Type + + + + Midi Port - + Remove Instance - + Midi connections - + Soft Synthesizer - + Add Instance - + list of available software synthesizers - + File - + Inst - + Version - + Description diff --git a/muse2/share/locale/muse_es.ts b/muse2/share/locale/muse_es.ts index 454934f9..7a380e3f 100644 --- a/muse2/share/locale/muse_es.ts +++ b/muse2/share/locale/muse_es.ts @@ -250,17 +250,17 @@ haz click en una parte para silenciar/des-silenciar Route - + Ruta dest - + dest name="%1"/ - + nombre="%1"/ Velocity @@ -274,12 +274,12 @@ haz click en una parte para silenciar/des-silenciar Open midi config... - Confugurar MIDI + Configurar MIDI... Empty ports - Puerto vacio + Puertos no asignados @@ -289,7 +289,7 @@ haz click en una parte para silenciar/des-silenciar channelMask="%1" - + channelMask="%1" @@ -302,7 +302,7 @@ haz click en una parte para silenciar/des-silenciar Version 2 pre-alpha - Versión 2.0 pre-alfa + MusE 2.0 pre-alfa @@ -311,17 +311,19 @@ See http://www.muse-sequencer.org for new versions and more information. Published under the GNU Public License - + (C) Derechos de autor 1999-2010 Werner Schweer y otros. +Ver http://www.muse-sequencer.org por nuevas versiones +y mas información. &Keep On Rocking! - + Volver a la sesión Alt+K - + Alt+K @@ -380,7 +382,7 @@ Published under the GNU Public License Parts - Partes + Regiones show frames @@ -404,7 +406,7 @@ Published under the GNU Public License y-stretch - + Periodo Y @@ -613,12 +615,12 @@ Published under the GNU Public License Color name: - + Nombre de color Global opacity - + Opacidad global @@ -633,12 +635,12 @@ Published under the GNU Public License Palette - + Paleta MusE: Appearance settings - + MusE: Configuración de apariencia @@ -653,47 +655,47 @@ Published under the GNU Public License add to palette - + Agregar a la paleta B - + Azul S - S + Saturación H - + Matíz V - + Brillo G - + Verde R - R + Rojo clear - + Limpiar Style Sheet: - + Hoja de estilo @@ -1242,7 +1244,7 @@ Published under the GNU Public License off - apagado + Apagar @@ -1284,7 +1286,7 @@ Published under the GNU Public License MusE: ClipList - MusE: Lista de Clips + MusE: Lista de archivos de audio @@ -1304,7 +1306,7 @@ Published under the GNU Public License Len - Longitud + Duración @@ -1324,7 +1326,7 @@ Published under the GNU Public License Len: - Longitud: + Duración: @@ -1360,17 +1362,17 @@ Published under the GNU Public License 0 (single track) - + 0 (una sola pista) 1 (multiple tracks) - + 1 (Pistas multiples) Format: - + Formato: @@ -1390,12 +1392,12 @@ Published under the GNU Public License Division: - + División: Copyright: - + Derecho de autor Enable extended smf format @@ -1404,62 +1406,62 @@ Published under the GNU Public License MusE: Config Midi File Import/Export - + MusE: Configuración de la importacion/exportación MIDI Import: - + Importado Split tracks into &parts - + Dividir en pistas y regiones Alt+P - + Alt+P Split tracks into parts, or one single part - + Dividir en pistas y regiones o una sola región. Export: - + Exportado: Enable extended smf format (currently not implemented) - + Habilitar formato extendido smf (no implementado) Use &2-byte time signatures instead of standard 4 - + Compás de 2 bytes Alt+2 - + Alt+2 Note: Format 0 uses the FIRST midi track's name/comment in the arranger - + Nota: Formato 0 utiliza el nombre de la primera pista midi como comentario en el arreglista Save space by replacing note-offs with &zero velocity note-ons - + Ahorro de espacio por la sustitución de "note-off" con cero y la velocidad de "note-on" Alt+Z - + Alt+Z @@ -1467,7 +1469,7 @@ Published under the GNU Public License MusE: Crescendo/Decrescendo - MusE: Crescendo/Decrescendo + MusE: Crescendo/Decrescendo @@ -1492,18 +1494,18 @@ Published under the GNU Public License Start velocity - Intensidad al inicio + Velocidad al inicio % - + % End velocity - Intencidad al final + Velocidad al final @@ -1570,7 +1572,7 @@ Published under the GNU Public License Save configuration - Guardar Configuración + Guardar configuración @@ -1584,7 +1586,7 @@ Published under the GNU Public License Critical Error - Error Critico + Error critico @@ -1602,23 +1604,23 @@ Published under the GNU Public License Parsing error for file %1 - + Error de análisis del archivo %1 Load category dialog - + Cargar diálogo de la categoría Load set dialog - + Cargar grupo de diálogos Save set dialog - + Guardar grupo de diálogos @@ -1644,17 +1646,17 @@ Published under the GNU Public License Load set - + Cargar grupo Save set - + Guardar grupo Delete set - + Borrar grupo @@ -1701,19 +1703,19 @@ Published under the GNU Public License No more category supported - + No se soportan mas categorías You can not add more categories - + No se pueden agregar mas categorias Do you really want to delete %1 ? - + ¿Seguro desea borrar %1 ? @@ -1739,7 +1741,7 @@ Published under the GNU Public License You must first select a category. - + Primero debe seleccionar una categoria @@ -1752,7 +1754,8 @@ Published under the GNU Public License %1 is supposed to be affected to the hbank number %2, but there is already one on this slot. Do you want to replace it or to add it in the next free slot ? - + %1 Se supone que es el número de banco superior afectado %2, pero ya hay uno en esta ranura. + ¿Quiere reemplazarlo o añadir una ranura libre después? @@ -1778,7 +1781,7 @@ Published under the GNU Public License There is no more free category slot. - + No hay mas lugar para categorías. @@ -1788,12 +1791,12 @@ Published under the GNU Public License No more subcategory supported - + No se soportan mas sub categorías You can not add more subcategories - + No se pueden agregar mas sub categorias @@ -1805,7 +1808,7 @@ Published under the GNU Public License You must first select a subcategory. - + Primero debe seleccionar una sub categoria @@ -1816,12 +1819,13 @@ Published under the GNU Public License %1 is supposed to be affected to the lbank number %2, but there is already one on this slot. Do you want to replace it or to add it in the next free slot ? - + %1 Se supone que es el número de banco inferior afectado %2, pero ya hay uno en esta ranura. + ¿Quiere reemplazarlo o añadir una ranura libre después? There is no more free subcategory slot. - + No hay mas lugar para sub categorías. @@ -1831,12 +1835,12 @@ Published under the GNU Public License No more preset supported - + No se soportan mas preseteos You can not add more presets - + No se pueden agregar mas preseteos @@ -1850,7 +1854,7 @@ Published under the GNU Public License You must first select a preset. - + Primero selecciones un preseteo. @@ -1861,12 +1865,13 @@ Published under the GNU Public License %1 is supposed to be affected to the prog number %2, but there is already one on this slot. Do you want to replace it or to add it in the next free slot ? - + %1 Se supone que es afectada el número del programa %2,pero ya hay uno en esta ranura. + ¿Quieres reemplazarlo o añadir una ranura libre después? There is no more free preset slot. - + No hay mas lugar para preseteos. @@ -1876,7 +1881,7 @@ Published under the GNU Public License Browse set dialog - + Buscar ajustes de diálogo @@ -1889,7 +1894,7 @@ Published under the GNU Public License DeicsOnze - + DeicsOnze @@ -1899,17 +1904,17 @@ Published under the GNU Public License Program numerous - + Numero de programa INITVOICE - + InitVoice LBank - + Banco inferior @@ -1920,18 +1925,18 @@ Published under the GNU Public License Bank numerous - + Numero de banco NONE - NINGUNO + Ninguno HBank - + Banco superior @@ -1941,7 +1946,7 @@ Published under the GNU Public License Prog - + Programa @@ -1951,7 +1956,7 @@ Published under the GNU Public License DeicsOnze v0.5.5 Copyright (c) 2004-2006 Nil Geisweiller. Published under GPL licence. - + DeicsOnze v0.5.5 Derechos Reservados(c) 2004-2006 Nil Geisweiller. Publicado bajo licencia GPL. @@ -1966,32 +1971,32 @@ Published under the GNU Public License PL3 - + PL3 PL2 - + PL2 PL1 - + PL1 PR1 - + PR1 PR2 - + PR2 PR3 - + PR3 @@ -2002,7 +2007,7 @@ Published under the GNU Public License Pitch modulation depth - + Profundidad de modulación de tono @@ -2012,78 +2017,78 @@ Published under the GNU Public License LFO Sync - + LFO Sync Pitch modulation sensitivity - + Pitch modulation sensitivity Pitch Modulation Sensitivity - + Pitch Modulation Sensitivity LFO Delay - + LFO Delay LFO delay - + LFO delay LFO speed - + LFO speed Amplitude modulation depth - + Amplitude modulation depth Amplitude modulation sensitivity - + Amplitude modulation sensitivity Amplitude Modulation Sensitivity - + Amplitude Modulation Sensitivity AMS - + AMS LFO Waveform - + LFO Waveform Pitch Modulation Depth - + Pitch Modulation Depth PMD - + PMD LFO Speed - + LFO Speed AMD - + AMD @@ -2098,13 +2103,13 @@ Published under the GNU Public License PMS - + PMS Modulation Matrix - + Modulation Matrix @@ -2116,18 +2121,25 @@ Published under the GNU Public License <b>Algorithm 6</b> : addition of the three <i>Op 1, 2, 3</i> all modulated by <i>Op 4</i><br> <b>Algorithm 7</b> : addition of the three <i>Op 1, 2, 3</i> with <i>Op 3</i> modulated by <i>Op 4</i><br> <b>Algorithm 8</b> : addition of the four <i>Op 1, 2, 3, 4</i> - + <b>Algorithm 1</b> : <i>Op 1</i> modulated by <i>Op 2</i> modulated by <i>Op 3</i> modulated by <i>Op 4</i><br> +<b>Algorithm 2</b> : <i>Op 1</i> modulated by <i>Op 2</i> modulated by both <i>Op 3</i> and <i>Op 4</i><br> +<b>Algorithm 3</b> : <i>Op 1</i> modulated by both <i>Op 4</i> and <i>Op 2</i> modulated by <i>Op 3</i><br> +<b>Algorithm 4</b> : <i>Op 1</i> modulated by both <i>Op 2</i> and <i>Op 3</i> modulated by <i>Op 4</i><br> +<b>Algorithm 5</b> : (<i>Op 1</i> modulated by <i>Op 2</i>) add to (<i>Op 3</i> modulated by <i>Op 4</i>) <br> +<b>Algorithm 6</b> : addition of the three <i>Op 1, 2, 3</i> all modulated by <i>Op 4</i><br> +<b>Algorithm 7</b> : addition of the three <i>Op 1, 2, 3</i> with <i>Op 3</i> modulated by <i>Op 4</i><br> +<b>Algorithm 8</b> : addition of the four <i>Op 1, 2, 3, 4</i> Op4 Feedback - + Op4 Feedback Feedback level of the operator 4 - + Feedback level of the operator 4 @@ -2139,22 +2151,22 @@ Published under the GNU Public License Op &1 - + Op &1 Scaling 1 - + Scaling 1 LS1 - + LS1 RS1 - + RS1 @@ -2166,7 +2178,7 @@ Published under the GNU Public License Rate Scaling - + Rate Scaling @@ -2182,7 +2194,7 @@ Published under the GNU Public License Attack Rate of the operator 1 - + Attack Rate of the operator 1 @@ -2194,32 +2206,32 @@ Published under the GNU Public License Level Scaling - + Level Scaling Amplitude Envelope 1 - + Amplitude Envelope 1 RR1 - + RR1 D1R1 - + D1R1 D1L1 - + D1L1 D2R1 - + D2R1 @@ -2227,7 +2239,7 @@ Published under the GNU Public License Release Rate - + Release Rate @@ -2235,7 +2247,7 @@ Published under the GNU Public License 2° Decay Rate - + 2° Decay Rate @@ -2243,7 +2255,7 @@ Published under the GNU Public License 1° Decay Level - + 1° Decay Level @@ -2251,7 +2263,7 @@ Published under the GNU Public License 1° Decay Rate - + 1° Decay Rate @@ -2259,22 +2271,22 @@ Published under the GNU Public License Attack Rate - + Attack Rate AR1 - + AR1 Detune, OSCWave, EGShift 1 - + Detune, OSCWave, EGShift 1 DET1 - + DET1 @@ -2287,7 +2299,7 @@ Published under the GNU Public License Detune - Desafinación + Detune @@ -2295,7 +2307,7 @@ Published under the GNU Public License EG Shift - + EG Shift @@ -2303,7 +2315,7 @@ Published under the GNU Public License 96dB - + 96dB @@ -2311,7 +2323,7 @@ Published under the GNU Public License 48dB - + 48dB @@ -2319,7 +2331,7 @@ Published under the GNU Public License 24dB - + 24dB @@ -2327,7 +2339,7 @@ Published under the GNU Public License 12dB - + 12dB @@ -2335,7 +2347,7 @@ Published under the GNU Public License Wave form - + Wave form @@ -2350,17 +2362,24 @@ Wave form 5 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Wave form 6 = <i>if <b>t</b>&#060 pi then sin(2*<b>t</b>)*abs(sin(2*<b>t</b>)) else 0</i><br> Wave form 7 = <i>if <b>t</b>&#060 pi then abs(sin(2*<b>t</b>)) else 0</i><br> Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t</b>)*sin(2*<b>t</b>) else 0</i> - + Wave form 1 = <i>sin(<b>t</b>)</i><br> +Wave form 2 = <i>sin(<b>t</b>)*abs(sin(<b>t</b>))</i><br> +Wave form 3 = <i>if <b>t</b>&#060 pi then sin(<b>t</b>) else 0</i><br> +Wave form 4 = <i>if <b>t</b>&#060 pi then sin(<b>t</b>)*abs(sin(<b>t</b>)) else 0</i><br> +Wave form 5 = <i>if <b>t</b>&#060 pi then sin(2*<b>t</b>) else 0</i><br> +Wave form 6 = <i>if <b>t</b>&#060 pi then sin(2*<b>t</b>)*abs(sin(2*<b>t</b>)) else 0</i><br> +Wave form 7 = <i>if <b>t</b>&#060 pi then abs(sin(2*<b>t</b>)) else 0</i><br> +Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t</b>)*sin(2*<b>t</b>) else 0</i> Sensitivity 1 - + Sensitivity 1 KVS1 - + KVS1 @@ -2368,12 +2387,12 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Amplitude Modulation Enable - + Amplitude Modulation Enable AME1 - + AME1 @@ -2381,7 +2400,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Keyboard Velocity Sensitivity - + Keyboard Velocity Sensitivity @@ -2389,12 +2408,12 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Key Velocity Sensitivity - + Key Velocity Sensitivity EBS1 - + EBS1 @@ -2402,7 +2421,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t EG Bias Sensitivity - + EG Bias Sensitivity @@ -2410,17 +2429,17 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Eg Bias Sensitivity - + Eg Bias Sensitivity Frequency 1 - + Frequency 1 Coarse 1 - + Coarse 1 @@ -2428,12 +2447,12 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Coarse Ratio - + Coarse Ratio Fine 1 - + Fine 1 @@ -2441,12 +2460,12 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Fine Ratio - + Fine Ratio Freq 1 - + Freq 1 @@ -2454,7 +2473,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Fixed Frequency - + Fixed Frequency @@ -2462,7 +2481,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Toggle Fix Frequency - + Toggle Fix Frequency @@ -2470,12 +2489,12 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t FIX - + FIX OUT 1 - + OUT 1 @@ -2483,7 +2502,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Output Volume - + Output Volume @@ -2493,381 +2512,381 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Volume - Volumen + Volume Op &2 - + Op &2 Amplitude Envelope 2 - + Amplitude Envelope 2 D1R2 - + D1R2 D1L2 - + D1L2 D2R2 - + D2R2 RR2 - + RR2 AR2 - + AR2 Frequency 2 - + Frequency 2 Coarse 2 - + Coarse 2 Fine 2 - + Fine 2 Freq 2 - + Freq 2 Scaling 2 - + Scaling 2 LS2 - + LS2 RS2 - + RS2 OUT 2 - + OUT 2 Detune, OSCWave, EGShift 2 - + Detune, OSCWave, EGShift 2 DET2 - + DET2 Sensitivity 2 - + Sensitivity 2 EBS2 - + EBS2 KVS2 - + KVS2 AME2 - + AME2 Op &3 - + Op &3 Amplitude Envelope 3 - + Amplitude Envelope 3 D1R3 - + D1R3 D1L3 - + D1L3 D2R3 - + D2R3 RR3 - + RR3 AR3 - + AR3 Scaling 3 - + Scaling 3 LS3 - + LS3 RS3 - + RS3 OUT 3 - + OUT 3 Frequency 3 - + Frequency 3 Coarse 3 - + Coarse 3 Fine 3 - + Fine 3 Freq 3 - + Freq 3 Detune, OSCWave, EGShift 3 - + Detune, OSCWave, EGShift 3 DET3 - + DET3 Sensitivity 3 - + Sensitivity 3 EBS3 - + EBS3 KVS3 - + KVS3 AME3 - + AME3 Op &4 - + Op &4 amplitude Envelope 4 - + amplitude Envelope 4 AR4 - + AR4 D1R4 - + D1R4 D1L4 - + D1L4 D2R4 - + D2R4 RR4 - + RR4 Frequency 4 - + Frequency 4 Coarse 4 - + Coarse 4 Fine 4 - + Fine 4 Freq 4 - + Freq 4 Scaling 4 - + Scaling 4 LS4 - + LS4 RS4 - + RS4 OUT 4 - + OUT 4 Detune, OSCWave, EGShift 4 - + Detune, OSCWave, EGShift 4 DET4 - + DET4 Sensitivity 4 - + Sensitivity 4 EBS4 - + EBS4 KVS4 - + KVS4 AME4 - + AME4 &Func - + &Func Delay Pan Depth - + Delay Pan Depth Delay Pan LFO Freq - + Delay Pan LFO Freq Delay Ch Send Level - + Delay Ch Send Level Channel Chorus - + Channel Chorus Delay Feedback - + Delay Feedback Delay On/Off, Return Level - + Delay On/Off, Return Level On - Encendido + On Delay Beat Ratio - + Delay Beat Ratio Delay BPM - + Delay BPM Foot Control - + Foot Control @@ -2900,7 +2919,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Pitch Bend Range - + Pitch Bend Range @@ -2908,7 +2927,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Pitch - Tono + Pitch @@ -2916,29 +2935,29 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Amplitude - + Amplitude Modulation Wheel - + Modulation Wheel Breath Control - + Breath Control Pitch Bias - + Pitch Bias Envelope Bias - + Envelope Bias @@ -2948,172 +2967,172 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Phony Mode - + Phony Mode POLY - + POLY MONO - + MONO Potamento - + Portamento Portamento Mode - + Portamento Mode FINGER - + FINGER FULL - + FULL PT - + PT Portamento Time - + Portamento Time C&horus - + C&horus Chorus Parameters - + Chorus Parameters Channel send level - + Channel send level On/Off and Return level - + On/Off and Return level Select LADSPA plugin - + Select LADSPA plugin Change plugin - + Cambiar efecto &Reverb - + &Reverb Reverb Parameters - + &Config - + &Configuración Font Size - + Tamaño de fuente Quality - + Calidad High - + Alta Middle - + Media Low - + Baja Ultra low - + Muy baja Filter - + Filtro Save Mode (into the song) - + Guardar modo (en la sesión) Save only the used presets - + Guardar solo el preseteo Save the entire set - + Guardar todas las configuraciones Save the configuration - + Guardar configuración Configuration File - + Archivo de configuración Save... - + Guardar... Load... - + Abrir... Save as default - + Guardar por defecto @@ -3128,94 +3147,94 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Background - + Fondo Edit Text - + Editar texro Edit Background - + Editar fondo Red - + Rojo Blue - + Azúl Green - + Verde Set Path - + Ajustes de la ruta Image in the background : - + Imagen de fondo: Browse... - + Buscar... Load the set at the initialization : - + Cargar al iniciar Set Brightness, Detune, Attack and Release of the current channel to default - + Ajustes de Brightness, Detune, Attack y Release del canal actual por defecto Res. Ctrl - + Reestablecer Cut all notes off - + Apaga todas las notas Panic! - + Pánico! Number of Voices - + Número de voces Number of voices - + Número de voces Enable - + Habilitado @@ -3225,17 +3244,17 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Vol - + Volumen Channel Ctrl - + Controlador de canal Release - Relajación + Release @@ -3245,17 +3264,17 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Brightness - + Brillo Modulation - + Modulación Pan - + Panorámica @@ -3283,12 +3302,12 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Looped Events - + Bucle de eventos Selected Looped - + Selecionar bucle @@ -3616,7 +3635,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t textLabel3 - + textLabel3 @@ -3641,7 +3660,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Program - + Programa @@ -3652,7 +3671,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t pushButton4 - + pushButton4 @@ -3691,17 +3710,17 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t 200% - 5 1/3' {200%?} + 200% 100% - 5 1/3' {100%?} + 100% 0% - 5 1/3' {0%?} + 0% @@ -3711,7 +3730,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Alt+R - + Alt+R @@ -3721,7 +3740,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Alt+A - + Alt+A @@ -3731,7 +3750,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Alt+C - + Alt+C @@ -3762,22 +3781,22 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t MusE: Instrument Editor - + MusE: Editro de Instrumento High Bank: - + Banco superior: Low Bank: - + Banco inferior: Program: - + Programa: @@ -3791,7 +3810,7 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t Alt+D - + Alt+D @@ -3822,7 +3841,9 @@ Wave form 8 = <i>if <b>t</b>&#060 pi then sin(2*<b>t This is a list of commonly used midi controllers. Note that in MusE pitch and program changes are handled like normal controllers. - + Lista de controladores MIDI de uso común +Tenga en cuenta que en Muse cambios de tono +y el programa se manejan como los controladores normales. @@ -3866,7 +3887,7 @@ handled like normal controllers. Program - + Programa @@ -3883,12 +3904,12 @@ handled like normal controllers. Min - + Minimo Max - + Máximo @@ -3907,12 +3928,12 @@ handled like normal controllers. Hex Entry: - + Hexadecimal: &File - + Archivo @@ -3922,7 +3943,7 @@ handled like normal controllers. New - + Nuevo @@ -3932,7 +3953,7 @@ handled like normal controllers. Ctrl+N - + Ctrl+N @@ -3947,7 +3968,7 @@ handled like normal controllers. Ctrl+O - + Ctrl+O @@ -3962,7 +3983,7 @@ handled like normal controllers. Ctrl+S - + Ctrl+S @@ -3987,32 +4008,32 @@ handled like normal controllers. Instrument Name: - + Nombre de instrumento: Selected instrument name. - + Seleccionar nombre de instrumento List of defined instruments. - + Lista de instrumentos definidos Pa&tches - + Grupos List of groups and patches. - + Lista de grupos Group/Patch - + Grupos @@ -4025,159 +4046,159 @@ handled like normal controllers. Group or patch name - + Nombre de grupo o sección Patch high bank number - + Número de grupo de banco superior Patch high bank number. --- means don't care. - + Número de grupo de banco superior. --- dont care - + no importa Patch low bank number - + Número de grupo de banco inferior Patch low bank number. --- means don't care. - + Número de grupo de banco inferior. --- - + Patch program number - + Número de parte de programa Drum patch - + Parte de percusiòn If set, the patch is available only for drum channels. - + Si se establece, el grupo estará disponible únicamente para los canales de percusión. GM patch - + Grupo GM If set, the patch is available in a 'GM' or 'NO' midi song type. - + Si se establece, estará disponible el grupo "GM" para la sesión. GS patch - + Grupo GS If set, the patch is available in a 'GS' or 'NO' midi song type. - + Si se establece, estará disponible el grupo "GS" para la sesión. XG patch - + Grupo XG If set, the patch is available in an 'XG' or 'NO' midi song type. - + Si se establece, estará disponible el grupo "XG" para la sesión. Delete group or patch - + Borrar grupo New patch - + Nueva grupo New &Patch - + Nueva gru&po Alt+P - + Alt+P New group - + Nuevo grupo New &Group - + Nuevo &Grupo Alt+G - + Alt+G Contro&ller - + Contro&lador Common: - + Comunes: List of defined controllers - + Lista de controladores definidos List of defined controllers. - + Lista de controladores definidos. Min - + Mínimo Max - + Máximo Def - + Def Midi controller name - + Nombre de controlador MIDI @@ -4188,28 +4209,28 @@ handled like normal controllers. Midi controller type - + Tipo de controlador MIDI RPN14 - + RPN14 NRPN14 - + NRPN14 Midi controller number high byte - + Controlar número alto del byte MIDI Midi controller number low byte (* means drum controller) - + Controlador MIDI byte bajo (* significa que controla la percusión) @@ -4222,23 +4243,26 @@ Allows controllers for each instrument in replaced by the 'ANote' in the drum map. Examples: The GS and XG instruments' Drum controllers. - + Controlador MIDI byte bajo. + Byte bajo es * el controlador + regulador de percusión,-para las pistas de batería e + instrumentos GS / XG. * wild card - + * Range: - + Rango: Minimum value. If negative, auto-translate. - + Valor mínimo. Si es negativo,se traduce automaticamente. @@ -4261,18 +4285,29 @@ Type 'Pitch' is the exception. It is biased at zero, even with a negative minimum: 'Pitch': Min: -8192 Max: 8191 True range: Min: -8192 Max: 8191 (bias 0) - + Valor mínimo. Si el valor mínimo + es negativo, el rango automáticamente + se traduce en un rango positivo. + +El valor es determinado por el tipo de controlador +7-bit Controller7 / RPN: Bias = 64 +14-bit Controller14 / RPN14: Bias = 8192 + +'Pitch' es la excepción. Está fijada + a cero, incluso con un mínimo negativo +'Pitch': Min: -8192 Max: 8191 +True range: Min: -8192 Max: 8191 (bias 0) Maximum value - + Valor máximo Default: - + Por defecto: @@ -4291,7 +4326,7 @@ True range: Min: -8192 Max: 8191 (bias 0) Progr. - Progr. + Programa @@ -4306,7 +4341,7 @@ True range: Min: -8192 Max: 8191 (bias 0) Default value. Off: No default. - + El valor por defecto. Apagado: No hay valor por defecto. @@ -4325,7 +4360,15 @@ Caution! Watch out for controllers such as values. You should probably turn 'off' their default (in piano roll or drum edit, and instrument editor). - + Valor por defecto (inicial) . Apagado, no tiene valor predeterminado. + +Si se elije un valor por defecto , el valor será enviado + cuando el controlador se añada en la sesión + (en el editor de matríz o editor de lista). cuando + si la sesión se vuelve a cargar, el valor se vuelve a enviar. +De lo contrario el controlador permanece en su último valor. +Los controladores también se añaden automáticamente a una + sesión a la recepción de un evento de controlador midi. @@ -4336,47 +4379,47 @@ Caution! Watch out for controllers such as Add common controller - + Agregar controlador común &Add - + &Agregar Alt+A - + Alt+A Delete controller - + Borrar controlador Create a new controller - + Crear un nuevo controlador New &Controller - + Nuevo Alt+C - + Alt+C Null Param Hi: - + Byte alto no válido: Null parameter number High byte - + El número de byte alto no es válido. @@ -4387,37 +4430,42 @@ This prevents subsequent 'data' events from corrupting the RPN/NRPN controller. Typically, set to 127/127, or an unused RPN/NRPN controller number. - + Si se establece, 'nulo' el número de parámetro + será enviados después de cada evento RPN / NRPN. +Esto evita que los acontecimientos posteriores de "datos" + corrompan el controlador RPN / NRPN. +Por lo general, establezca a 127/127, o usar el + número de controlador RPN / NRPN. Lo: - + Inferior: Null parameter number Low byte - + El parametro inferior es nulo S&ysEx - + S&ysEx SysEx List: - + Lista se Sistema exclusivo (SysEx) New SysE&x - + Nuevo SysE&x Alt+X - + Alt+X @@ -4428,13 +4476,13 @@ Typically, set to 127/127, or an unused new item - + Nuevo ítem What's this? - + ¿Que es esto? @@ -4507,7 +4555,7 @@ Typically, set to 127/127, or an unused Length: - Longitud: + Duración: @@ -4736,7 +4784,7 @@ Typically, set to 127/127, or an unused CHANNEL SETUP - + CONFIGURACIÓN DE CANAL @@ -4803,7 +4851,7 @@ Typically, set to 127/127, or an unused Project - Proyecto + Sesión @@ -4815,7 +4863,7 @@ Datos de sesión fdialogbuttons - + Dialogo de botones @@ -4873,7 +4921,7 @@ Configuración MusE: Modify Note Length - MusE: Modificar duración de nota + MusE: Cambiar duración de notas @@ -4903,7 +4951,7 @@ Configuración lenNew = (lenOld * rate) + offset - + lenNew = (lenOld * rate) + offset @@ -4921,7 +4969,7 @@ Configuración MusE: Global Settings - MusE: Valores globales + MusE: Configuración global globales @@ -4942,7 +4990,7 @@ Configuración min. Meter Value - valor mínimo del vumeter + Valor mínimo del vúmetro min.Slider Val @@ -4956,7 +5004,7 @@ Configuración Ticks - Ticks + Tics @@ -4986,7 +5034,7 @@ Configuración Displayed Resolution (Ticks/Quarternote) Resolución mostrada -(ticks/negra) +(tics/negra) @@ -5047,7 +5095,7 @@ Configuración RTC Resolution (Ticks/Sec) Resolución del reloj -(Ticks/segundo) +(Tics/segundo) @@ -5062,23 +5110,24 @@ Configuración GUI Refresh Rate - Velocidad de refresco del GUI + Velocidad de refresco de la interfáz Use project save dialog - + Usar diálogo de guardado Some popup menus stay open (else hold Ctrl) - + Menús emergentes (si no mantenga presionado Ctrl) Allows some popup menus to stay open. Otherwise, hold Ctrl to keep them open. - + Permite tener abiertos algunos menús emengentes. +De lo contrario, mantenga la tecla Ctrl para mantenerlos abiertos. @@ -5086,42 +5135,46 @@ Otherwise, hold Ctrl to keep them open. values, while the right button increases. Users without a middle mouse button can select this option to make the left button behave like the middle button in such areas. - + En algunas zonas, el botón central del ratón disminuye el +valor, mientras que el botón derecho lo aumenta. Los usuarios +sin un botón central del ratón, puede seleccionar esta opción +para hacer que el botón de la izquierda se comporte como +el botón del medio. Use left mouse button for decreasing values - + Botón izquierdo del ratón reduce el valor Shift + Right click sets left range marker - + Ctrl + clic derecho establece marcador de la izquierda. MDI-subwindowness and sharing menus - + MDI Sub ventanas y posición de menús Presets: - + Preseteos: traditional MusE SDI - + Comportamiento tradicional de MusE Cakewalk-like MDI - + Comportamiento similar a Cakewalk Borland-/Mac-like MDI - + Comportamiento similar a Borland/Mac @@ -5145,32 +5198,32 @@ left button behave like the middle button in such areas. Application - + Aplicación Start Muse - + Inicio de MusE start with last song - + Abrir la última sesión start with song - + Abrir la sesión start song: - + Iniciar sesión: Views - + Vistas @@ -5179,7 +5232,7 @@ left button behave like the middle button in such areas. y-pos - + pos. Y @@ -5187,7 +5240,7 @@ left button behave like the middle button in such areas. show - + Ver @@ -5196,7 +5249,7 @@ left button behave like the middle button in such areas. x-pos - + Pos. X @@ -5204,7 +5257,7 @@ left button behave like the middle button in such areas. height - + Ancho @@ -5212,12 +5265,12 @@ left button behave like the middle button in such areas. width - + Altura Big Time - + Ventana de tiempo Arranger @@ -5235,7 +5288,7 @@ left button behave like the middle button in such areas. Cur - + Actual @@ -5244,82 +5297,82 @@ left button behave like the middle button in such areas. set current values - + Establecer valores actuales start with template: default.med - + Abrir la plantilla: default.med show splash screen - + Mostrar pantalla de inicio Mixer A - + Mezcaldora A Mixer B - + Mezcladora B show "Did you know?" dialog - + Ver dialogo ¿Sabia usted que? Start song - + Iniciar Sesión min. Slider Val - + Valor mínimo del potensiómetro Enable denormal protection - + Habilitar proteccion Enable output limiter - + Habilitar limitación de salida External Waveditor - + Editor de audio externo External Waveditor command - + Editor de audio externo (comando) Note: External editor opened from the internal editor. - + Note: El editor externo se abre desde adentro Dummy Audio Driver (settings require restart) - + Controlador de audio en vacío (El cambio requiere reinicio) Hz - + Hz Period size (Frames per period): - + Tamaño del período (Cuadros por período) @@ -5330,33 +5383,34 @@ left button behave like the middle button in such areas. Main Window - + Ventana principal Try to use Jack Freewheel - + Habilitar Jack para juego libre Speeds bounce operations - + Velocidad de las operaciones de rebote Use Jack Freewheel mode if possible. This dramatically speeds bounce operations. - + Usar juego libre para Jack si es posible +Reduce dramaticamente el tiempo de rebote. VST in-place - + VST emplazado Enable VST in-place processing (restart required) - + Activar VST en el prosesamiento (Requiere reiniciar) @@ -5364,18 +5418,19 @@ This dramatically speeds bounce operations. VST Ladspa effect rack plugins do not work or feedback loudly, even if they are supposed to be in-place capable. Setting requires a restart. - + Activar VST en el procesamiento. Desactive esta opción si + Rack de efectos Ladspa VST no está instalado (Requiere reiniciar) Minimum control period - + Periodo mínimo de control Minimum audio controller process period (samples). - + Período mínimo del control de proceso de audio (muestras) @@ -5384,7 +5439,12 @@ Adjusts responsiveness of audio controls and controller graphs. Set a low value for fast, smooth control. If it causes performance problems, set a higher value. - + Período mínimo del control de proceso de audio (muestras) +Ajusta la sensibilidad de los controles de audio y + gráficos de control. Establecer un valor bajo para un control rápido + y suave. + Si le causa problemas de rendimiento, establezca un + valor mayor. @@ -5439,12 +5499,12 @@ Adjusts responsiveness of audio controls and Sample rate - + Frecuencia de muestreo Shorter periods give better midi playback resolution. - + Períodos más cortos dan una mejor resolución de la reproducción midi. @@ -5465,32 +5525,33 @@ Adjusts responsiveness of audio controls and Midi Resolution (Ticks/Quarternote) - + Resolución MIDI +(Tics/Negra) Instruments Directory - + Carpeta de instrumentos Use old-style stop shortcut: - + Atajo antiguo para detener Move single armed track with selection - + Armar la pista con la selección (Grabar) On Launch - + Lanzar al inicio Behavior - + Comportamiento @@ -5643,7 +5704,7 @@ Adjusts responsiveness of audio controls and MusE: Legato - + MusE: Legato @@ -5663,32 +5724,32 @@ Adjusts responsiveness of audio controls and Looped Events - + Eventos del bucle Selected Looped - + Bucle seleccionado Settings - + Configuración ticks - + Tics Minimum Length - + Duración minima: Allow shortening notes - + Permitir notas cortas @@ -5950,7 +6011,7 @@ Adjusts responsiveness of audio controls and Goto Left Mark - Ir ala marca izquierda + Ir a marca izquierda @@ -5960,7 +6021,7 @@ Adjusts responsiveness of audio controls and Insert rest (step rec) - + Insertar el resto @@ -6104,27 +6165,27 @@ Adjusts responsiveness of audio controls and Form - + Forma GroupBox - + Grupos MDI subwin - + MDI sub ventana Shares menu when subwin - + Acciones de menú cuando es sub ventana Shares menu when free - + Acciones de menú cuando es ventana libre @@ -6147,7 +6208,7 @@ Adjusts responsiveness of audio controls and MIDI Click - Click MIDI + Clic MIDI @@ -6207,17 +6268,17 @@ Adjusts responsiveness of audio controls and Signature - compás + Compás Prerecord - pre-captura + Pre-captura Preroll - pre-escucha + Pre-escucha @@ -6237,37 +6298,37 @@ Adjusts responsiveness of audio controls and Choose outputs... - + Seleccionar salidas... 50 - 5 1/3' {25%?} {50?} + 50 % Audio volume - + % De volúmen de audio Hint: Enable metronome in Transportpanel - + Habilitar metrónomo en el panel de transporte Alt+A - + Alt+A Alt+O - + Alt+O Alt+C - + Alt+C @@ -6476,7 +6537,7 @@ clase de controladores en la lista de MusE. Controller - Caontrolador + Controlador @@ -6494,7 +6555,7 @@ clase de controladores en la lista de MusE. Pitch Bend - Rueda de bend + Rueda de afinación @@ -7289,28 +7350,28 @@ clase de controladores en la lista de MusE. Sync receiving and sending - + Sincronizar la recepción y envío Send and receive Jack transport - + Recepción y envío del transporte de Jack Send and receive Jack transport information, including stop, start and position. - + Información de la recepción y envío del transporte de Jack, incluye detener, iniciar y posición. Use Jack transport - + Usar transporte de Jack Make MusE the Jack transport Timebase Master - + Hacer de MusE el transporte de base de tiempo principal para Jack @@ -7320,17 +7381,22 @@ Allows Jack to show time as MusE will try to become master, but other Jack clients can also take over later. You can always click here again for Master. - + Hacer de MusE el transporte de base de tiempo principal para Jack +Permite a Jack para mostrar el tiempo como + Compases de MusE , pulso, e inserciones. +MusE tratará de convertirse en maestro, pero otros + clientes de Jack también pueden hacerlo más adelante. +Siempre puede hacer clic aquí de nuevo para definir como maestro. Jack transport Timebase Master - + Usar Jack como transporte maestro Control MusE timing by external midi clock or MTC sync - + Control de tiempo de MusE por el reloj MIDI externo o sincronización MTC @@ -7339,17 +7405,21 @@ You can always click here again for Master. MusE can sync to midi clock, or MTC quarter frame sync. Enabled inputs in the list will be in effect (RMC, RMMC, RMTC). - + Cuando está en modo esclavo, el tempo es + controlado externamente. +Muse se sincroniza con el reloj midi, o sincronización MTC +Entradas habilitadas en la lista + que rigen (RMC, RMMC, CRFM). Slave to external sync - + Esclavo de sincronía externa Send start to first clock delay - + Retraso del envío de empezar el primer reloj. @@ -7357,17 +7427,19 @@ Enabled inputs in the list will to synchronize to MusE. This value is the delay from sending start to sending the first clock. - + Permite "sincronización lenta" para dispositivos + sincronizar con Muse. Este valor es el + retraso del envío de empezar el primer reloj. ms - + ms Send sync delay - + Enviar retraso de sincronización @@ -7408,7 +7480,7 @@ Enabled inputs in the list will iR - + ER @@ -7444,7 +7516,7 @@ Enabled inputs in the list will Transp. - Transp. + Transporte Volume @@ -7458,42 +7530,42 @@ Enabled inputs in the list will Rec: - + Grabar Prog - + Programa Vol - + Volumen Pan - Balance + Panorama Delay - Delay + Retardo H-Bank - Banco-H + Banco-superior Compr. - Compr. + Compresión L-Bank - Banco-L + Banco-inferior Progr. @@ -7502,12 +7574,12 @@ Enabled inputs in the list will Velocity - Velocidad + Velocidad Length - Longitud + Duración input ports @@ -7543,17 +7615,17 @@ Puedes especificar más de un canal para grabar: all midi events are sent to this output channel - + Todos los eventos MIDI se envían a este canal de salida Out ch - + Canal de salida input routing - + Ruteo de entrada Inputs @@ -7567,49 +7639,52 @@ Puedes especificar más de un canal para grabar: oR - + SR input detect - + Detectar entrada Input detect indicator. Detects all note on-off, controller, aftertouch, program change, and pitchbend (but not sysex or realtime) events on the selected channels, on the selected midi ports. - + Indicador de entrada. Detecta todas las notas de encendido y apagado, eventos , + de control, aftertouch, cambio de programa, y pitchbend en los + canales seleccionados, en los puertos MIDI seleccionados. + (No detecta envios SysEx o tiempo real) W - + W Midi thru - + MIDI thru Pass input events through ('thru') to output. - + Pasar los eventos de entrada a la salida (Thru). Select instrument patch - + Seleccione el instrumento <unknown> - + <desconocido> Add all settings to song - + Agregar todos los ajustes a la sesión @@ -7619,43 +7694,43 @@ Puedes especificar más de un canal para grabar: Bank Select MSB. Double-click on/off. - + Banco superior. Doble clic enciende/apaga Bank Select LSB. Double-click on/off. - + Banco inferior. Doble clic enciende/apaga Program. Double-click on/off. - + Programa. Doble clic enciende/apaga Add bank + prog settings to song - + Agregar ajustes de banco y programa a la sesión Volume. Double-click on/off. - + Volumen. Doble click Enciende/Apaga Add vol setting to song - + Agregar ajustes de volumen a la sesión Change stereo position. Double-click on/off. - + Cambiar la panorámica del estéreo. Doble clic enciende/apaga Add pan setting to song - + Agregar ajuste de panorámica a la sesión @@ -7843,7 +7918,7 @@ Puedes especificar más de un canal para grabar: Length - Longitud + Duración @@ -8121,7 +8196,7 @@ Puedes especificar más de un canal para grabar: MusE: Move Notes - + MusE: mover notas @@ -8141,12 +8216,12 @@ Puedes especificar más de un canal para grabar: Looped Events - + Eventos del bucle Selected Looped - + Bucle seleccionado @@ -8156,12 +8231,12 @@ Puedes especificar más de un canal para grabar: Move by - + Mover ticks - + Tics @@ -9384,13 +9459,26 @@ on the MusE mailinglist. To proceed check the status of Jack and try to restart it and then . click on the Restart button. - + Jack ha detectado un problema de rendimiento y MusE lo ha +desconectado +Esto podría suceder debido a varias razones: +- Un problema de rendimiento con su configuración particular. +- Un fallo en Muse u otro software de conexión. +--Un error al azar que tal vez nunca vuelva a ocurrir. +- Jack fue detenido por usted u otra persona +- Jack se estrelló +Si el problema persiste estaremos dispuesto a analizarlo +La lista de correos de MusE ee encuentra disponible a través +del menú de ayuda. + +Para comprobar el estado de Jack y reiniciar el servidor. +haga clic en el botón Reiniciar. Automation: - Automatizacion + Automatización @@ -9433,7 +9521,7 @@ click on the Restart button. Clear all controller events? - Limpiar todos los controladores + Limpiar todos los eventos de control @@ -9463,61 +9551,66 @@ click on the Restart button. Main application font, and default font for any controls not defined here. - + Fuente principal de la aplicación y la fuente por +defecto para los controles no estan definidas. For small controls like mixer strips. Also timescale small numbers, arranger part name overlay, and effects rack. - + Para los controles pequeños, como: bandas de mezclador. +escala de tiempo, superposición de nombre en la región, +y rack de efectos. Midi track info panel. Transport controls. - + Panel de información de la pista MIDI - Control del transporte Controller graph and S/X buttons. Large numbers for time and tempo scale, and time signature. - + Controlador de gráficos y botones S / X. Una gran cantidad +de eventos de tempo y el tempo de la escala y compás. Time scale markers. - + Marcas de la escala de tiempo List editor: meta event edit dialog multi-line edit box. - + Editor de la lista: Editar meta evento de diálogo multi-línea Mixer label font. Auto-font-sizing up to chosen font size. Word-breaking but only with spaces. - + Fuente de la etiqueta del mezclador. Auto dimensionado del tamaño de la fuente elegida. +La separación de palabras, pero sólo con espacios. Maximum mixer label auto-font-sizing font size. - + Tamaño máximo de la fuente para etiqueta del mezclador. Global opacity (opposite of transparency). - + Opacidad global Standard - Estandar + Estandar Custom - Personalozado + Personalizado @@ -9527,12 +9620,12 @@ Word-breaking but only with spaces. Select style sheet - + Seleccionar hoja de estilo Qt style sheets (*.qss) - + Hoja de estilo QT (*.qss) @@ -9585,12 +9678,12 @@ Word-breaking but only with spaces. Notation clef - + Clave de la notación Enable recording. Click to toggle. - + Habilitar captura: Clic en el botón. @@ -9598,33 +9691,41 @@ Word-breaking but only with spaces. Right-click to toggle track on/off. Mute is designed for rapid, repeated action. On/Off is not! - + Indicador de silenciado: click para silenciar +Clic con el boton derecho del ratón +para Apagar/Encender Solo indicator. Click to toggle. Connected tracks are also 'phantom' soloed, indicated by a dark square. - + Indicador de Solo, clic en el botón. +Pistas "fantasmas" en solo, + seran indicadas por un cuadrado negro. Track type. Right-click to change midi and drum track types. - + Tipo de pista: Clic derecho alterna entre tipo MIDI/Percusión Track name. Double-click to edit. Right-click for more options. - + Nombre de pista: Doble clic para editar +Click derecho para mas opciones. Midi/drum track: Output channel number. Audio track: Channels. Mid/right-click to change. - + Pista MIDI/Percusión: Numero de canal de salida +Pista de audio: Canales. +Clic con el botón del medio +o el derecho para cambiar. @@ -9632,7 +9733,10 @@ Mid/right-click to change. Synth track: Assigned midi port. Left-click to change. Right-click to show GUI. - + Pista de MIDI/Percusión: Puerto de salida. +Pista de sintetizador: Asigna el puerto MIDI +Clic de ratón para cambiar +Clic derecho para ver la interfaz @@ -9642,7 +9746,7 @@ Right-click to show GUI. Notation clef. Select this tracks notation clef. - + Clave de la notación. Seleccione esta clave de la notación de las pistas. @@ -9662,7 +9766,7 @@ Right-click to show GUI. Bar - Compaz + Compás @@ -9672,13 +9776,13 @@ Right-click to show GUI. Len - + Len song length - bars - Duracion de compaz + Duración de compás @@ -9795,7 +9899,7 @@ Right-click to show GUI. Clef - + Clave @@ -9803,7 +9907,7 @@ Right-click to show GUI. MusE: Arranger - MusE: Ordenar + Ordenar @@ -9833,7 +9937,7 @@ Right-click to show GUI. Copy in range - Copia en rango + Copiar interior del rango @@ -9858,7 +9962,7 @@ Right-click to show GUI. &Insert Empty Measure - + &Insertar compás vacío @@ -9868,22 +9972,22 @@ Right-click to show GUI. Shrink selected parts - + Encojer regiones seleccionadas Expand selected parts - + Expander regiones seleccionadas Clean selected parts - Limpiar partes seleccionadas + Limpiar regiones seleccionadas Add Track - Agregar Pista + Agregar pista @@ -9893,83 +9997,83 @@ Right-click to show GUI. Select &All - Seleccion&ar Todo + Seleccion&ar todo &Deselect All - &Deseleccionar Todo + &Deseleccionar todo Invert &Selection - Invertir &Selección + Invertir &selección &Inside Loop - &Interior de bucle + &Interior del bucle &Outside Loop - &Exterior de Bucle + &Exterior del bucle All &Parts on Track - Todas las &Partes de la pista + Todas las regiones de la &pista Score - Partitura + Editor de partitura all parts in one staff - + Todas las regiones en un solo pentagrama one staff per part - + Un pentagrama por región. New score window - + Nueva ventana de partitura Pianoroll - Pianola + Editor de matriz Drums - Percusión + Editor de percusión List - Lista + Editor de lista Wave - Audio + Editor de audio Mastertrack - Pista Maestra + Pista maestra. Graphic - Gráfico + Editor gráfico @@ -9984,12 +10088,12 @@ Right-click to show GUI. Global Insert - Inserción Global + Inserción global Global Split - Partición Global + División global @@ -10014,17 +10118,17 @@ Right-click to show GUI. Change note &length - Cambiar duracion de nota + Cambiar duración de notas Change note &velocity - Cambiar intensidad de nota + Cambiar velocidad de notas Crescendo/Decrescendo - + Crescendo/Decrescendo @@ -10034,17 +10138,17 @@ Right-click to show GUI. Erase Events (Not Parts) - Borrar eventos (no partes) + Borrar eventos (no regiones) Move Events (Not Parts) - Mover eventos (no partes) + Mover eventos (no regiones) Set Fixed Note Length - Fijar duracion de notas + Igualar duración de notas @@ -10054,12 +10158,12 @@ Right-click to show GUI. Legato - + Legato Window &Config - + Comportamiento de ventana @@ -10083,7 +10187,7 @@ Right-click to show GUI. Routing - + Ruteado @@ -10192,22 +10296,22 @@ Right-click to show GUI. iR - + ER input routing - + Ruteado de entrada oR - + SR output routing - ruteado de entrada + ruteado de salida @@ -10245,7 +10349,7 @@ Right-click to show GUI. bar - compaz + compaa @@ -10256,7 +10360,7 @@ Right-click to show GUI. tick - parte + Tic @@ -10290,7 +10394,7 @@ Right-click to show GUI. MusE: Clip List Editor - MusE: Editor de lista de clips + MusE: Editor de lista de archivos de audio @@ -10310,7 +10414,7 @@ Right-click to show GUI. Window &Config - + Comportamiento de ventana @@ -10333,17 +10437,17 @@ Right-click to show GUI. select controller - selecciona controlador + Seleccionar controlador X - + X remove panel - quitar panel + Quitar el panel @@ -10375,7 +10479,7 @@ Right-click to show GUI. Instrument-defined - Definicion de instrumento + Definición de instrumento @@ -10396,7 +10500,7 @@ Right-click to show GUI. Common Controls - + Controles comunes @@ -10417,7 +10521,7 @@ Right-click to show GUI. volume percent - + Porcentaje de volumen @@ -10435,67 +10539,67 @@ Right-click to show GUI. note length - longitud de nota + Duración de nota this is the note which is played - + Esta es la nota que se toca output channel (hold ctl to affect all rows) - + canal de salida (mantener presionado Ctrl a afectar a todas las pistas) output port (hold ctl to affect all rows) - + Puerto de salida (Mantener presionado CTRL a afecta todas las pistas) shift + control key: draw velocity level 1 - + Shift + CTRL: Dibuja la velocidad 1 control key: draw velocity level 2 - + CTRL: Dibuja la velocidad 2 shift key: draw velocity level 3 - + Shift: Dibuja la velocidad 3 draw velocity level 4 - + Dibuja la velocidad 4 output channel (ctl: affect all rows) - + Canal de salida. (CTRL afecta todas las pistas) output port (ctl: affect all rows) - + Puerto de salida (CTRL afecta todas las pistas) &File - + Archivo Load Map - Carga Mapa + Cargar Mapa @@ -10505,7 +10609,7 @@ Right-click to show GUI. Reset GM Map - + Resetear mapa GM @@ -10525,7 +10629,7 @@ Right-click to show GUI. Copy events in range - + Copiar eventos del rango @@ -10535,12 +10639,12 @@ Right-click to show GUI. Paste (with Dialog) - + Pegar (con dialogo) Delete Events - + Borrar eventos @@ -10550,12 +10654,12 @@ Right-click to show GUI. Select All - + Seleccionar todo Select None - + No seleccionar nada @@ -10565,47 +10669,47 @@ Right-click to show GUI. Inside Loop - + Interior del bucle Outside Loop - + Exterior del bucle Previous Part - + Región anterior Next Part - + Región siguiente Fu&nctions - + Funciones Re-order list - + Reordenar la lista Set Fixed Length - + Fijar duración Modify Velocity - + Modificar la velocidad. Crescendo/Decrescendo - + Crescendo/Decrescendo @@ -10615,32 +10719,32 @@ Right-click to show GUI. Erase Event - + Borrar evento Move Notes - + Mover notas Delete Overlaps - + Eliminar superpuestos &Plugins - + Efectos Window &Config - + Drum tools - + Herramientas de percusión @@ -10655,7 +10759,7 @@ Right-click to show GUI. Step Record - + Grabación por pasos @@ -10665,12 +10769,12 @@ Right-click to show GUI. cursor tools - + Herramientas de cursor Set step size for cursor edit - + Establecer el tamaño del paso para modificar el cursor @@ -10680,7 +10784,7 @@ Right-click to show GUI. transport - + Transporte @@ -10690,7 +10794,7 @@ Right-click to show GUI. Add Controller View - + Agregar vista de controlador @@ -10705,7 +10809,7 @@ Right-click to show GUI. Vol - + Volumen @@ -10720,7 +10824,7 @@ Right-click to show GUI. Len - + Duraciòn @@ -10730,7 +10834,7 @@ Right-click to show GUI. Ch - + Canal @@ -10770,12 +10874,12 @@ Right-click to show GUI. Drum map - + Mapa de percusiòn Reset the drum map with GM defaults? - + ¿Resetear en mapa de percusión con el banco GM? @@ -10783,7 +10887,7 @@ Right-click to show GUI. MusE: Enter Channel Aftertouch - MusE: Introduce el AfterTouch del canal + MusE: Introduzca el AfterTouch del canal @@ -10837,19 +10941,22 @@ Right-click to show GUI. %1 does not exist yet. Create it now? - + El instrumento no existe en la carpeta +%1 +¿Desea crearlo ahora? + (You can change the user instruments directory at Settings->Global Settings->Midi) - + (Usted puede cambiar la carpeta del instrumento desde Ajustes->Configuración global->MIDI) Unable to create user instrument directory '%1' - + No es posible crear el instrumento en la carpeta '%1' @@ -10889,7 +10996,8 @@ Are you sure? Please choose a unique instrument name. (The name might be used by a hidden instrument.) - + Selecciones un nombre único al instrumento +(El nombre puede estar siendo utilizado por un instrumento oculto.) @@ -10904,38 +11012,38 @@ Are you sure? MusE: Bad patchgroup name - + MusE: Nombre de grupo erroneo. Please choose a unique patchgroup name - + Seleccione un nombre único al grupo MusE: Bad controller name - + MusE: Nombre del controlador no válido. Please choose a unique controller name - + El nombre del controlador ya existe MusE: Cannot add common controller - + MusE: No se puede agregar un controlador comun. A controller named '%1' already exists. - + El nombre de controlador '%1' ya existe. A controller number %1 already exists. - + El número de controlador %1 ya existe. @@ -10948,7 +11056,8 @@ Are you sure? The current Instrument contains unsaved data Save Current Instrument? - + El instrumento actual contiene datos sin guardar. +¿Desea guardarlos ahora? @@ -10988,7 +11097,7 @@ Save Current Instrument? Enter Hex - + Ingrese Hex @@ -11023,11 +11132,11 @@ with the pointer tool you can: select parts move parts copy parts - selecciona la Herramienta de Puntero: -con la herramienta de puntero puedes: - seleccionar partes - mover partes - copiar partes + Selecciona la herramienta Puntero: +con la herramienta de puntero puede: + seleccionar regiones + mover regiones + copiar regiones. @@ -11035,31 +11144,31 @@ con la herramienta de puntero puedes: with the pencil tool you can: create new parts modify length of parts - selecciona la Herramienta de Lápiz: -con la herramienta de lápiz puedes: - crear nuevas partes - modificar la longitud de las partes + Selecciona la Herramienta de Lápiz: +con la herramienta de Lápiz puede: + crear nuevas regiones + modificar la duración de las regiones. select Delete Tool: with the delete tool you can delete parts - selecciona la Herramienta de Borrado: -con la herramienta de borrado puedes borrar partes + selecciona la Herramienta de Borrar: +con la herramienta de Borrar puedes borrar regiones. select Cut Tool: with the cut tool you can split a part selecciona la Herramienta de Corte: -con la herramienta de core puedes partir una parte +con la herramienta de Corte puede dividir una región select Glue Tool: with the glue tool you can glue two parts - selecciona la Herramienta de Pegado: -con la herramienta de pegado puedes unir dos partes + selecciona la Herramienta de Unir: +con la herramienta de Unir puedes unir dos regiones. @@ -11085,17 +11194,17 @@ inserta un evento de cuantización de visualización select Muting Tool: click on part to mute/unmute selecciona la Herramienta de Silenciar: -haz click en una parte para silenciar/des-silenciar +haz click en una región para silenciar/des-silenciar Manipulate automation - + Manipular automatización Cursor tool - + Herramientas de cursor @@ -11110,7 +11219,7 @@ haz click en una parte para silenciar/des-silenciar eraser - + Borrador @@ -11125,7 +11234,7 @@ haz click en una parte para silenciar/des-silenciar glue - + Pegador @@ -11140,17 +11249,17 @@ haz click en una parte para silenciar/des-silenciar mute parts - silenciar partes + silenciar regiones edit automation - + Editar automatización cursor - + Cursor @@ -11203,7 +11312,7 @@ haz click en una parte para silenciar/des-silenciar show native gui - + Ver interfaz nativa @@ -11223,7 +11332,7 @@ haz click en una parte para silenciar/des-silenciar Do you really want to replace the effect %1? - + ¿Desea reemplazar el efecto %1? @@ -11231,7 +11340,7 @@ haz click en una parte para silenciar/des-silenciar Selects instruments directory - + Seleccionar carpeta de instrumentos @@ -11239,7 +11348,7 @@ haz click en una parte para silenciar/des-silenciar Track Info Columns - + Colunna de informaciòn de pistas @@ -11247,7 +11356,7 @@ haz click en una parte para silenciar/des-silenciar MusE: Mastertrack - + MusE: pista maestra @@ -11257,52 +11366,52 @@ haz click en una parte para silenciar/des-silenciar Insert Tempo - + Insertar tiempo Insert Signature - + Insertar signatura Insert Key - + Insertar clave Edit Positon - + Editar posición Edit Value - + Editar valor Delete Event - + Borrar evento Window &Config - + &Configuraciòn de la ventana Undo/Redo tools - + Herramientas de Deshacer/rehacer Edit tools - + Editar herramientas Tempo - Tempo + Timpo @@ -11312,7 +11421,7 @@ haz click en una parte para silenciar/des-silenciar Key - + Clave @@ -11327,17 +11436,17 @@ haz click en una parte para silenciar/des-silenciar new key - + Nueva clave panic - pánico + Pánico transport - + Transporte @@ -11362,22 +11471,22 @@ haz click en una parte para silenciar/des-silenciar Reposition of the initial tempo and signature events is not allowed - + Reposición del tempo inicial y la firma de eventos, no está permitido MusE: List Editor - + MusE: Editor de lista Input error, conversion not OK or value out of range - + Error de entrada,la conversión no escorrecta o valor está fuera de rango. Reposition of tempo and signature events to start position is not allowed! - + Reposición de los eventos de tempo y la firma a la posición inicial no está permitida! @@ -11435,22 +11544,22 @@ haz click en una parte para silenciar/des-silenciar Delete Events - + Borrar eventos Window &Config - + &Configuraciòn de la ventana Undo/Redo tools - + Herramientas de Deshacer/Rehacer Insert tools - + Insertar herramientas @@ -11460,17 +11569,17 @@ haz click en una parte para silenciar/des-silenciar transport - + Transporte Tick - Tick + Tic Bar - + Compàz @@ -11480,7 +11589,7 @@ haz click en una parte para silenciar/des-silenciar Ch - + @@ -11500,7 +11609,7 @@ haz click en una parte para silenciar/des-silenciar Len - + @@ -11514,75 +11623,76 @@ haz click en una parte para silenciar/des-silenciar Default input connections - + Conexión de entrada predeterminada Are you sure you want to apply to all existing midi tracks now? - + ¿Seguro que desea aplicar a todas las pistas MIDI existentes? Default output connections - + Conexión de salida predeterminada Setting will apply to new midi tracks. Do you want to apply to all existing midi tracks now? - + El sjuste se aplicará a las nuevas pistas MIDI. +¿Usted desea aplicar a todas las pistas MIDI existentes? MusE: bad device name - + MusE: Nombre del dispositivo incorrecto please choose a unique device name - + El nombre del dispositivo ya existe in - + Entrada out - + Salida Show first aliases - + Mostrar primero los álias Show second aliases - + Mostrsr después los álias Toggle all - + Cambiar todos Change all tracks now - + Cambiar todas las pistas ahora Create Jack device - + Crear conexión Jack @@ -11593,77 +11703,77 @@ Do you want to apply to all existing midi tracks now? Enable gui - + Habilitar visualización Enable reading - + Habilitar lectura Enable writing - + Habilitar escritura Port instrument - + Puerto de instrumento Midi device name. Click to edit (Jack) - + Nombre del dispositivo MIDI, Clic para editar (Jack) Connections from Jack Midi outputs - + Conexiones de salidas MIDI de Jack Connections to Jack Midi inputs - + Conexiones de entrada MIDI de Jack Auto-connect these channels to new midi tracks - + Conectar automaticamente a estos canales las nuevas pistas midi Auto-connect new midi tracks to these channels - + Conectar nuevas pistas MIDI a estos canales Auto-connect new midi tracks to this channel - + Autoconectar las nuevas pistas MIDI a este canal Device state - + Estado del dispositivo Enable gui for device - + Habilitar visualización para el dispositivo Enable reading from device - + Habilitar la lectura desde el dispositivo Enable writing to device - + Habilitar la escritura en el dispositivo Name of the midi device associated with this port number. Click to edit Jack midi name. - + Nombre del dispositivo MIDI asociado con este puerto. Haga clic para cambiar el nombre del dispositivo MIDI de Jack. @@ -11673,27 +11783,27 @@ Do you want to apply to all existing midi tracks now? Connections from Jack Midi output ports - + Conexiones de los puertos de salida MIDI de Jack Connections to Jack Midi input ports - + Conexiones de los puertos de entrada MIDI de Jack Auto-connect these channels, on this port, to new midi tracks. - + Conexión automática de estos canales, en este puerto, a las nuevas pistas MIDI. Connect new midi tracks to these channels, on this port. - + Conecte las nuevas pistas MIDI a estos canales, en este puerto. Connect new midi tracks to this channel, on this port. - + Conecte las nuevas pistas MIDI a este canal, en este puerto. @@ -11713,12 +11823,12 @@ Do you want to apply to all existing midi tracks now? I - + O - + @@ -11733,22 +11843,22 @@ Do you want to apply to all existing midi tracks now? In routes - + Rutas de entrada Out routes - + Rutas de salida Def in ch - + Definir canales de entrada Def out ch - + Definir canales de salida @@ -11758,13 +11868,13 @@ Do you want to apply to all existing midi tracks now? <unknown> - + <desconocido> <none> - + <ningúno> @@ -11808,12 +11918,12 @@ Do you want to apply to all existing midi tracks now? Window &Config - + &Comportamiento de ventana Undo/Redo tools - + Herramientas de Deshacer/Rehacer @@ -11828,12 +11938,12 @@ Do you want to apply to all existing midi tracks now? transport - + Transporte Bar:Beat:Tick - Barra:Golpe:Tick + Compás:Golpe:Tic @@ -11861,17 +11971,17 @@ Do you want to apply to all existing midi tracks now? MusE: Mastertrack - + MusE: Pista maestra Window &Config - + &Configuraciones de la ventana Undo/Redo tools - + Herramientas de Deshacer/Rehacer @@ -11881,22 +11991,22 @@ Do you want to apply to all existing midi tracks now? transport - + Transporte Enable master - + Habilitar maestro Enable - + Habilitado Enable usage of master track - + Habilitar el uso de la pista maestra @@ -11921,12 +12031,12 @@ Do you want to apply to all existing midi tracks now? Off - + Apagado Bar - + Compás @@ -11955,7 +12065,7 @@ Do you want to apply to all existing midi tracks now? New - + Nuevo @@ -11971,12 +12081,12 @@ Do you want to apply to all existing midi tracks now? double click on/off - + Docle click Enciende/Apaga VariationSend - + Variación del envío @@ -11986,7 +12096,7 @@ Do you want to apply to all existing midi tracks now? ReverbSend - + Envio de reverberancia @@ -11996,7 +12106,7 @@ Do you want to apply to all existing midi tracks now? ChorusSend - + Envio de corolizador @@ -12011,12 +12121,12 @@ Do you want to apply to all existing midi tracks now? Pan/Balance - + Panorama/Balance Pan - + Panorama @@ -12031,22 +12141,22 @@ Do you want to apply to all existing midi tracks now? solo mode - + modo solo iR - + ER input routing - + Ruteado de entrada oR - + SR @@ -12071,125 +12181,133 @@ Do you want to apply to all existing midi tracks now? Midi clock input detected - + Midi clock input detectado Midi tick input detected - + Midi tick input detectado Midi real time input detected - + Midi real time input detectado MMC input detected - + MMC input detectado MTC input detected - + MTC input detectado Detected SMPTE format - + Formato SMPTE detectado Receive id number. 127 = Global. Double click to edit. - + Recibido id number, 127 = global, Doble clic para editar Accept midi clock input - + MIDI clock input aceptado Accept midi real time input - + MIDI real time input aceptado Accept MMC input - + MMC input aceptado Accept MTC input - + MTC input aceptado Receive start rewinds before playing - + Iniciando rebobinado antes de reproducir Transmit id number. 127 = Global. Double click to edit. - + Transmitiendo id number 127 = global, Doble clic para editar Send midi clock output - + Enviar MIDI clock output Send midi realtime output - + Enviar MIDI realtime output Send MMC output - + Enviar MMC output Send MTC output - + Enviar MTC output Midi clock input detected. Current port actually used is red. Click to force a port to be used. - + Entrada de MIDI clock input detectado. +El puerto utilizado es de color rojo. +Haga clic para obligar a un puerto a utilizarlo. Midi realtime input detected, including start/stop/continue, and song position. - + MIDI realtime input detectado, incluye + Reproducir, Detener, Continuar y Posición +en la canción. MMC input detected, including stop/play/deferred play, and locate. - + MMC input detectado, incluye + Reproducir, Detener, Continuar y Posición +en la canción. MTC input detected, including forward quarter-frame sync and full-frame locate. Current port actually used is red. Click to force a port to be current. - + De entrada MTC detectadas, así como avanzar de cuartos de la sincronía y localizar fotograma completo. +El puerto actual utilizado es de color rojo. Haga clic para obligar a un puerto a actualizar. Detected SMPTE format: 24fps, 25fps, 30fps drop frame, or 30fps non-drop Detects format of MTC quarter and full frame, and MMC locate. - + Formato SMPTE detectado: 24fps, 25fps, 30fps drop frame, or 30fps non-drop +Detecta el formato de cuarto de MTC y de fotograma completo, y localiza MMC. Receive id number. 127 = global receive all, even if not global. - + Recibe número de identificación. 127 = Globales reciben de todo, incluso si no es global. @@ -12199,7 +12317,12 @@ Auto-acquire: If two or more port realtime inputs are enabled, then another can take over. Best if each turns off its clock at stop, so MusE can re-acquire the clock from another port. Click on detect indicator to force another. - + Aceptar la entrada del reloj MIDI. Sólo una entrada se utiliza para el reloj. +Auto-adquisición: Si dos o más entradas en tiempo real del puerto están habilitadas, + el reloj detecta por primera vez se utiliza, hasta que el reloj se ha perdido, + luego otro se haga cargo. Mejor si cada uno se apaga el reloj + en la parada, por lo que Muse puede volver a adquirir el reloj de otro puerto. +Haga clic en la detección de indicadores de forzar a otro. @@ -12210,36 +12333,47 @@ Non-clock events (start,stop etc) are This means you may have several master devices connected, and muse will accept input from them. - + Acepta la entrada de MIDI en tiempo real, incluyendo + iniciar / detener / continuar, y posición de la canción. +los eventos (start, stop, etc) son + aceptado por todos los puertos habilitados. +Esto significa que usted puede tener varios maestros + con los dispositivos conectados, y MusE aceptará la voluntad de + éstos. Accept MMC input, including stop/play/deferred play, and locate. - + Aceptar la entrada de MMC, incluida la parada / reproducción / reproducción diferida, y localización. Accept MTC input, including forward quarter-frame sync and full-frame locate. See 'rc' column for more help. - + Aceptar la entrada del MTC, incluso delante de cuartos de la sincronía y localizar de fotograma completo. +Ver columna "rc" para obtener más ayuda. When start is received, rewind before playing. Note: It may be impossible to rewind fast enough to synchronize with the external device. - + Aceptar la entrada de MIDI en tiempo real, incluyendo + recibir al inicio, rebobinar antes de reproducir. +Nota: Puede ser imposible para un rebobinado rápido + lo suficiente como para sincronizar con el dispositivo externo. Transmit id number. 127 = global transmit to all. - + Transmitir id number. 127 = global transmitir a todos. Send midi clock output. If 'Slave to External Sync' is chosen, muse can re-transmit clock to any other chosen ports. - + Enviar la salida de reloj MIDI. al 'Esclavo de sincronización externa " que elija, + MusE puede volver a transmitir el reloj a cualquier otro puerto elegido. @@ -12249,7 +12383,12 @@ Note: It may be impossible to rewind fast other chosen ports. This means you may have several slave devices connected, and muse can re-send realtime messages to any or all of them. - + Enviar salida MIDI en tiempo real, incluyendo el arranque / parada / continuación, + y de posición de canción. al 'Esclavo de sincronización externa "que se elija, + MusE puede volver a transmitir mensajes MIDI de entrada en tiempo real a cualquier + otros puertos elegidos. Esto significa que usted puede tener varios esclavos + los dispositivos conectados, y MusE puede volver a enviar mensajes en tiempo real + a cualquiera o todos ellos. @@ -12264,17 +12403,17 @@ Note: It may be impossible to rewind fast c - + c k - + k r - + r @@ -12284,67 +12423,67 @@ Note: It may be impossible to rewind fast t - + t type - + Tipo rid - + rid rc - + rc rr - + rr rm - + rm rt - + rt rw - + rw tid - + tid tc - + tc tr - + tr tm - + tm tt - + tt @@ -12355,7 +12494,8 @@ Note: It may be impossible to rewind fast Settings have changed Apply sync settings? - + La configuración ha cambiado +¿Desea aplicar la nueva configuración de sincronización? @@ -12365,7 +12505,7 @@ Apply sync settings? &No - + Ca&ncelar @@ -12375,7 +12515,7 @@ Apply sync settings? <none> - + <ninguno> @@ -12384,7 +12524,7 @@ Apply sync settings? <unknown> - + <desconocido> @@ -12393,7 +12533,7 @@ Apply sync settings? New - + Nuevo @@ -12410,24 +12550,25 @@ Apply sync settings? Failed to start audio! - Falla al iniciar el audio + Fallo al iniciar el audio Was not able to start audio, check if jack is running. - + No se puede iniciar el audio, verifique el estado de Jack Timeout waiting for audio to run. Check if jack is running. - + Sa agotó el tiempo de espera. +Comprobar si Jack está en ejecución Und&o - &Deshacer + Deshacer @@ -12548,7 +12689,7 @@ Apply sync settings? &New - &Nuevo + &Nueva sesión @@ -12559,7 +12700,7 @@ Apply sync settings? &Open - &Abrir + &Abrir sesión @@ -12605,7 +12746,7 @@ Puedes seleccionar también el comando Guardar del men de Archivo. Import Part - Importar parte + Importar región. @@ -12626,7 +12767,7 @@ Puedes seleccionar también el comando Guardar del men de Archivo. Song Info - Información de la sesión + Comentarios de la sesión @@ -12636,7 +12777,7 @@ Puedes seleccionar también el comando Guardar del men de Archivo. Bigtime Window - Ventana del Gran reloj + Ventana de reloj @@ -12651,17 +12792,17 @@ Puedes seleccionar también el comando Guardar del men de Archivo. Cliplist - Lista de Clips + Lista de archivos de audio Marker View - Ver marcas + Editor de marcadores Arranger View - ORdenar vistas + Ordenar vistas @@ -12671,7 +12812,7 @@ Puedes seleccionar también el comando Guardar del men de Archivo. &Plugins - + Efectos @@ -12681,7 +12822,7 @@ Puedes seleccionar también el comando Guardar del men de Archivo. Input Plugins - Plugins e entrada + Efectos de entrada @@ -12711,12 +12852,12 @@ Puedes seleccionar también el comando Guardar del men de Archivo. Reset Instr. - Reinicializa Instrumento + Resetear instrumento Init Instr. - Inicializa Instruemnto + Inicializar instruemnto @@ -12746,7 +12887,7 @@ Puedes seleccionar también el comando Guardar del men de Archivo. Take Snapshot - + Obtener instantanea @@ -12761,47 +12902,47 @@ Puedes seleccionar también el comando Guardar del men de Archivo. Tile - + Titulo In rows - + Filas In columns - + Columnas Global Settings - Selecciones Globales + Configuración global Configure Shortcuts - Configurar accesos directos + Configurar atajos Follow Song - seguir canción + Seguir canción Don't Follow Song - no sigas la canción + No seguir canción Follow Page - sigue la página + Seguir la página Follow Continuous - sigue contínuamente + Seguir contínuamente @@ -12821,7 +12962,7 @@ Puedes seleccionar también el comando Guardar del men de Archivo. Appearance Settings - Selecciones de apariencia + Opciones de apariencia @@ -12841,7 +12982,7 @@ Puedes seleccionar también el comando Guardar del men de Archivo. &Report Bug... - &Reportar una falla + &Reportar un fallo @@ -12851,7 +12992,7 @@ Puedes seleccionar también el comando Guardar del men de Archivo. File Buttons - + Columna de botones @@ -12866,7 +13007,7 @@ Puedes seleccionar también el comando Guardar del men de Archivo. &File - Archivo + Sesión @@ -12896,7 +13037,7 @@ Puedes seleccionar también el comando Guardar del men de Archivo. MusE Se&ttings - Configuraciones de MusE + Configuraciones @@ -12987,51 +13128,53 @@ Guardar la sesión actual? No wave tracks found - + No existe el archivo de audio No audio output tracks found - + No hay salidas de audio Select one audio output track, and one target wave track - + Seleccione una salida de salida de audio, +y una pista de audio. Select one target wave track - + Seleccione una pista de audio de destino Select one target wave track, and one audio output track - + Selecciones una pista de audio, +y una salida de audio. MusE: Bounce to File - + Rebotar a archivo Select one audio output track - + Seleccionar salida de audio MusE: Bounce - + MusE: Rebotar set left/right marker for bounce range - + Fije marcadores derecho e izquierdo para el rango de rebote. @@ -13066,13 +13209,14 @@ Guardar el proyecto actual? Unable to launch help - + No es posible enlazar la ayuda. For some reason MusE has to launch the default browser on your machine. - + Por alguna razón, MusE tiene que lanzar +el navegador por defecto @@ -13083,17 +13227,17 @@ browser on your machine. Add midi file to current project? - + ¿Agregar archivo MIDI a la sesión? &Add to Project - + Agregar a la sesión &Replace - + &Reemplazar @@ -13112,23 +13256,25 @@ falló: Import part is only valid for midi and wave tracks! - + Importar regiones es solo para pistas MIDI o de audio MusE: load part - + MusE: Cargar región. No track selected for import - + No hay pistas seleccionadas para la importaciòn %n part(s) out of %1 could not be imported. Likely the selected track is the wrong type. - + + %n Región(es) fuera de %1 no puede ser importada. +Probablemente la pista seleccionada es del tipo incorrecto. @@ -13136,36 +13282,40 @@ Likely the selected track is the wrong type. %n part(s) could not be imported. Likely the selected track is the wrong type. - + + %n Región(es) no puede ser importada. +Probablemente la pista seleccionada es del tipo incorrecto. to import an audio file you have first to selecta wave track - + Para importar un archivo de audio seleccione la pista de audio Import Wavefile - + Importar archivo de audio This wave file has a samplerate of %1, as opposed to current setting %2. Do you still want to import it? - + Este archivo tiene una frecuencia de muestreo de %1, +El valor actual de la sesión es %2. +¿Desea importarlo de todos modos? &Yes - + Aceptar &No - + Ca&ncelar @@ -13178,12 +13328,12 @@ Do you still want to import it? Start - + Iniciar Len - + Duración @@ -13206,7 +13356,7 @@ Do you still want to import it? Cannot copy/move/clone to different Track-Type - No puedo copiar/mover/clonar a un tipo diferente de pista + No se puede copiar/mover/clonar a un tipo diferente de pista @@ -13221,12 +13371,12 @@ Do you still want to import it? s&elect - + S&eleccionar clones - + Clonar @@ -13251,7 +13401,7 @@ Do you still want to import it? glue - + Unir @@ -13263,7 +13413,7 @@ Do you still want to import it? save part to disk - + Guardar región en el disco. @@ -13273,24 +13423,27 @@ Do you still want to import it? file info - + Información de archivo MusE: save part - + MusE: Guardar región. Part name: %1 Files: - + Nombre de región: %1 +Archivos: %n part(s) out of %1 could not be pasted. Likely the selected track is the wrong type. - + + %n Región(es) fuera de %1 no pueden ser pegadas. +Probablemente la pista seleccionada es del tipo incorrecto. @@ -13298,7 +13451,9 @@ Likely the selected track is the wrong type. %n part(s) could not be pasted. Likely the selected track is the wrong type. - + + %n Región(es) no puede ser pegada. +Probablemente la pista seleccionada es del tipo incorrecto. @@ -13315,22 +13470,22 @@ Likely the selected track is the wrong type. Can only paste to midi/drum track - + Solo se puede insertar pistas MIDI/Percusión Can only paste to wave track - + Solo se pueden insertar pistas de audio Can only paste to midi or wave track - + Solo se pueden insertar pistas de MIDI o audio Cannot paste: wrong data type - No puedo pegar: Tipo de datos equivocado + No válido: Tipo de datos equivocado @@ -13338,7 +13493,8 @@ Likely the selected track is the wrong type. %n quarter(s) - + + %n Negra(s) @@ -13346,13 +13502,13 @@ Likely the selected track is the wrong type. %1 quarter for floating-point arguments like 1.5 - + %1 Negra %1 quarters for floating-point arguments like 1.5 - + %1 Negras @@ -13360,7 +13516,8 @@ Likely the selected track is the wrong type. %n quarter(s) - + + %n Negra(s) @@ -13368,13 +13525,13 @@ Likely the selected track is the wrong type. %1 quarter for floating-point arguments like 1.5 - + %1 Negra %1 quarters for floating-point arguments like 1.5 - + %1 Negras @@ -13397,7 +13554,7 @@ Likely the selected track is the wrong type. Copy events in range - + Copiar eventos del rango @@ -13422,42 +13579,42 @@ Likely the selected track is the wrong type. Select &All - Seleccion&ar Todo + Seleccion&ar todo &Deselect All - &Deseleccionar Todo + &Deseleccionar todo Invert &Selection - Invertir &Selección + Invertir &selección &Inside Loop - &Interior de bucle + &Interior del bucle &Outside Loop - &Exterior de Bucle + &Exterior del bucle &Previous Part - + Región previa &Next Part - + Siguiente región Fu&nctions - + Fu&nciones @@ -13467,17 +13624,17 @@ Likely the selected track is the wrong type. Modify Note Length - + Modificar duraciòn de la nota Modify Velocity - + Modificar la velocidad. Crescendo/Decrescendo - + Crescendo/Decrescendo @@ -13487,7 +13644,7 @@ Likely the selected track is the wrong type. Erase Events - + Borrar eventos @@ -13497,7 +13654,7 @@ Likely the selected track is the wrong type. Set Fixed Length - + Fijar ajustes de duración @@ -13507,17 +13664,17 @@ Likely the selected track is the wrong type. Legato - + Legato &Plugins - + Efectos Window &Config - + &Configuraciòn de ventanas @@ -13532,22 +13689,22 @@ Likely the selected track is the wrong type. &Pitch colors - + Color por afinación &Velocity colors - + Color por velocidad Pianoroll tools - + Herramientas del editor de matríz Step Record - + Grabación por pasos @@ -13567,7 +13724,7 @@ Likely the selected track is the wrong type. transport - + Transportar @@ -13577,7 +13734,7 @@ Likely the selected track is the wrong type. Add Controller View - + Agregar visor de controladores @@ -13655,7 +13812,7 @@ Likely the selected track is the wrong type. Mono and Stereo - + Mono y estereo @@ -13670,17 +13827,17 @@ Likely the selected track is the wrong type. Show All - + Ver todo Select which types of plugins should be visible in the list.<br>Note that using mono plugins on stereo tracks is not a problem, two will be used in parallell.<br>Also beware that the 'all' alternative includes plugins that probably not are usable by MusE. - + Los tipos de efectos seleccionados deben ser visibles en la lista. Tenga en cuenta que el uso de Efectos <br> mono en pistas estéreo no es un problema, los dos canales serán utilizados en paralelo. <br> Tenga cuidado de que no "todos" los efectos son utilizables por Muse. Search in 'Label' and 'Name': - + Buscar en nombre y etiqueta @@ -13688,7 +13845,7 @@ Likely the selected track is the wrong type. File Buttons - + Botón de archivos @@ -13714,7 +13871,7 @@ Likely the selected track is the wrong type. Error reading preset. Might not be right type for this plugin - + Preseteo dañado o no corresponde al efecto @@ -13741,49 +13898,49 @@ Likely the selected track is the wrong type. Soloing chain - + Cadena de solos Audio returns - + Retornos de audio Warning: No input devices! - + Atención: no hay entradas Open midi config... - + Abrir la configuraciòn MIDI <none> - + <ningúno> Toggle all - + Cambiar todos More... - + Mas... Audio sends - + Envios de audio Midi port sends - + Puertos de envio MIDI @@ -13791,42 +13948,42 @@ Likely the selected track is the wrong type. Treble - + Agudos Bass - + Bajos Grand Staff - + Doble Remove staff - + Remover partitura Ambiguous part - + Parte ambígua There are two or more possible parts you could add the note to, but none matches the selected part. Please select the destination part by clicking on any note belonging to it and try again, or add a new stave containing only the destination part. - + Hay dos o más partes posibles que podría añadir la nota, pero ninguno coincide con la parte seleccionada. Por favor, seleccione la parte de destino haciendo clic en cualquier nota que le pertenecen y vuelva a intentarlo, evite agregar una nota nueva que existe la parte destino. No part - + No hay partitura There are no parts you could add the note to. - + No hay piezas en las que se pueda añadir la nota. @@ -13834,80 +13991,80 @@ Likely the selected track is the wrong type. Undo/Redo tools - + Herramientas Deshacer/Rehacer Step recording tools - + Herramienta de grabación por pasos Step Record - + Grabación por pasos panic - pánico + Pánico transport - + Transporte Note settings - + Propiedades de la nota Note length: - + Duración de nota: last - + Pasado Apply to new notes: - + Se aplica a nuevas notas Apply to selected notes: - + Aplicar a las notas seleccionadas Velocity: - + Velocidad: Off-Velocity: - + Off-Velocity: Quantisation settings - + Ajustes del cuantizado Quantisation: - + Cuantizado: Pixels per whole: - + Pixeles por entero: @@ -13927,7 +14084,7 @@ Likely the selected track is the wrong type. Copy events in range - + Copiar eventos del rango @@ -13937,12 +14094,12 @@ Likely the selected track is the wrong type. Paste (with dialog) - + Pegar (con diálogo) Delete &Events - + Borrar &eventos @@ -13952,17 +14109,17 @@ Likely the selected track is the wrong type. Select &All - Seleccion&ar Todo + Seleccion&ar todo &Deselect All - &Deseleccionar Todo + &Deseleccionar todo Invert &Selection - Invertir &Selección + Invertir &selección @@ -13972,32 +14129,32 @@ Likely the selected track is the wrong type. &Outside Loop - &Exterior de Bucle + &Exterior del bucle Fu&nctions - + Fu&nciones &Quantize - + Cuantizar Change note &length - + Cambiar duración de notas Change note &velocity - + Cambiar velocidad de las notas Crescendo/Decrescendo - + Crescendo/Decrescendo @@ -14007,89 +14164,90 @@ Likely the selected track is the wrong type. Erase Events - + Borrar eventos Move Notes - + Mover notas Set Fixed Length - + Cambiar duración de notas Delete Overlaps - + Borrar notas duplicadas Legato - + Legato Window &Config - + Comportamiento de ventana Note head &colors - + Color de las notas &Black - + Negro &Velocity - + Velocidad &Part - + Región Set up &preamble - + Establecer encabezado Display &key signature - + Ver armadura de clave Display &time signature - + Ver signatura de tiempo Set Score &name - + Ajuste de nombre del pentagrama Enter the new score title - + Ingrese el título de la nueva partitura Error - + Error Changing score title failed: the selected title is not unique - + Error al cambiar el título a la partitura: +El título seleccionado ya existe. @@ -14125,12 +14283,12 @@ the selected title is not unique Shortcut conflicts with %1 - + Conflicto en el atajo con Undefined - + Sin definir @@ -14146,92 +14304,92 @@ the selected title is not unique <none> - + <ningúno> no clef - + No hay clave Treble - + Agudo Bass - + Bajo Grand - + Doble MusE: bad trackname - + MusE: Nombre de pista erroneo please choose a unique track name - + Error: El nombre de pista ya existe Update drummap? - + ¿Actualizár mapa de percusión? Do you want to use same port for all instruments in the drummap? - + ¿Desea utilizar el mismo puerto para todos los instrumentos en el mapa de percusión? &Yes - + Aceptar &No - + Cancelar show gui - mostrar gui + Ver interfáz show native gui - + Ver interfáz nativa Treble clef - + Partitura de agudos Bass clef - + Partitura de Bajos Grand Staff - + Partitura doble Viewable automation - + Automatización visible @@ -14241,12 +14399,12 @@ the selected title is not unique Track Comment - + Comentario de la pista Insert Track - + Insertar pista @@ -14261,7 +14419,7 @@ the selected title is not unique Do you want to use same port and channel for all instruments in the drummap? - + ¿Desea utilizar el mismo puerto y canal para todos los instrumentos del mapa de percusión? @@ -14279,7 +14437,7 @@ the selected title is not unique Off - + Apagado @@ -14294,7 +14452,7 @@ the selected title is not unique Snap - Snap + Chasquido @@ -14302,62 +14460,62 @@ the selected title is not unique As subwindow - + Como sub ventana Shares tools and menu - + Herramientas y menús Fullscreen - + Pantalla completa Piano roll - + Editor de matríz List editor - + Editor de lista Drum editor - + Editro de percusión Master track editor - + Editor de pista maestra Master track list editor - + Editor de lista de pista maestra Wave editor - + Editro de audio Clip list - + Lista de audios Marker view - + Ver marcadores Score editor - + Editor de partituras @@ -14367,7 +14525,7 @@ the selected title is not unique <unknown toplevel type> - + <Tipo de nivel superior desconocido> @@ -14552,12 +14710,12 @@ the selected title is not unique Jack - + Jack Jack transport sync on/off - + Sincronizar a Jack Encendido/Apagado @@ -14576,48 +14734,48 @@ the selected title is not unique Show wave tracks - + Ver pistas de audio Show group tracks - + Ver grupos Show aux tracks - + Ver envios auxiliares Show input tracks - + Ver entradas de audio Show output tracks - + Ver salidas de audio Show midi tracks - + Ver pistas MIDI Show synth tracks - + Ver Sintetizadores Visible track types - + Ver tipo de pistas @@ -14630,12 +14788,12 @@ the selected title is not unique Func&tions - + Funciones &Gain - + &Ganancia 200% @@ -14660,7 +14818,7 @@ the selected title is not unique Other - + Otros @@ -14670,7 +14828,7 @@ the selected title is not unique C&ut - C&ortar + Cortar @@ -14680,32 +14838,32 @@ the selected title is not unique Edit in E&xternal Editor - + Abrir con editor externo Mute Selection - + Silenciar selección Normalize Selection - + Normalizar selección Fade In Selection - + Aparecer progresivamente Fade Out Selection - + Desvanecer progresivamente Reverse Selection - + Invertir selección @@ -14715,32 +14873,32 @@ the selected title is not unique Select &All - Seleccion&ar Todo + Seleccion&ar todo &Deselect All - &Deseleccionar Todo + &Deseleccionar todo Window &Config - + &Comportamiento de ventana Wave edit tools - + Herramientas de edición de audio transport - + Transporte WaveEdit tools - + Herramientas de edición de audio @@ -14758,7 +14916,7 @@ the selected title is not unique MusE - external editor failed - + MusE: Falla del editor de audio externo @@ -14766,12 +14924,15 @@ the selected title is not unique check if the editor setting in: Global Settings->Audio:External Waveditor is set to a valid editor. - + Muse no pudo lanzar el editor externo +Compruebe esta configuraciòn en: +Configuración global-> Audio: Editor de audio externo +que el comando del editor sea válido. MusE - file size changed - + MusE: Cambió el tamaño del archivo @@ -14779,7 +14940,10 @@ is set to a valid editor. since it must fit the selected region. Missing data is muted - + Al editar en el editor externo no se debe cambiar el tamaño del archivo +ya que debe ajustarse a la región seleccionada. + +Los datos faltantes se silenciarán. @@ -15134,12 +15298,12 @@ Missing data is muted Oscillator - Oscilador + Oscillator Brass - Metales + Brass @@ -15149,7 +15313,7 @@ Missing data is muted Flute - Flauta + Flute @@ -15189,7 +15353,7 @@ Missing data is muted Envelope Lo - Envolvente Lo + Envelope Lo Attack(ms) @@ -15210,31 +15374,31 @@ Missing data is muted Envelope Hi - Envolvente Hi + Envelope Hi Release - Relajación + Release Sustain - Sostenido + Sustain Decay - Decaimiento + Decay Attack - Ataque + Attack @@ -15244,18 +15408,18 @@ Missing data is muted ms - + ms cB - + cB Velocity - Velocidad + Velocity @@ -15445,62 +15609,62 @@ Missing data is muted MusE: Paste Parts - + MusE: Pegar regiones. Number and raster - + Cantidad y alineado insert - + Insertar times - + -Tiempos raster - + Trama ticks - + Tics Move, Merge, Clone - + Mover, Mezclar, Clonar Move everything to the right - + Mover todo a la derecha. Move only affected parts to the right - + Mover sólo las regiones afectadas a la derecha. Put everything into a single track - + Poner todo en una sola pista. Merge with existing parts - + Mezclar con las regiones existentes. Insert as clones (where possible) - + Insertar como clones (si es posible) @@ -15518,59 +15682,60 @@ Missing data is muted MusE: Paste Events - + MusE: Pegar eventos Number and raster - + Cantidad y alineado insert - + Insertar times - + -Tiempos raster - + Alineado ticks - + -Tics Paste options - + Opciones del pegado Always into existing parts - + Siempre en las regiones existentes. Never into existing parts - + Nunca en las regiones existentes. Into existing parts if part has not to be expanded by more than - + En las regiones existentes si mas de +una región no tiene que ser ampliada . Put everything into the (selected) part - + Poner todo lo seleccionado en una región. @@ -15926,32 +16091,32 @@ to be expanded by more than Create Project - + Crear sesión Project Name: - + Nombre del la sesión: Project Path to song file: - + Ruta de la sesión: Create project folder (recommended for audio projects) - + Crear carpeta para la sesión (recomendado para sesiones de audio) Browse - + Buscar Song information: - + Información de la sesión @@ -16092,19 +16257,19 @@ actualmente sin uso Other - + Otro Error - + Error Please first select the range for crescendo with the loop markers. - + Por favor, seleccione el rango de crescendo con los marcadores de bucle. @@ -16121,7 +16286,7 @@ actualmente sin uso Cannot convert sysex string - No puedo convertir el paquete de sistema exclusivo + No se puede convertir el paquete de sistema exclusivo @@ -16132,22 +16297,22 @@ actualmente sin uso generic midi - midi genánico + MIDI genérico new - nuevo + Nueva sesión create peakfile for - crear archivo de picos para + Crear archivo de picos MusE: get file name - MusE: obtener el nombre de archivo + MusE: Obtener el nombre de archivo the directory @@ -16177,31 +16342,38 @@ no existe %1 does not exist. Create it? - + La carpeta +%1 +no existe. +¿Desea crearla? MusE: create directory - MusE: crear directorio + MusE: Crear carpeta creating dir failed - fallóla creación de directorio + falló la creación de carpeta File %1 exists. Overwrite? - + El archivo +%1 +ya existe. ¿Desea sobreescribirlo? Open File %1 failed: %2 - + Abrir archivo +%1 +falló: %2 File @@ -16218,7 +16390,7 @@ existe MusE: write - MusE: escribe + MusE: Escribir Overwrite @@ -16248,7 +16420,7 @@ falló None - Ninguno + Ningúno Master @@ -16269,7 +16441,7 @@ falló No selection. Ignoring - + No hay nada seleccionado! @@ -16277,7 +16449,7 @@ falló MusE: Quantize - + MusE: Cuantizár @@ -16297,12 +16469,12 @@ falló Looped Events - + Eventos del bucle Selected Looped - + Seleccionar bucle @@ -16312,7 +16484,7 @@ falló Strength: - + Porcentaje: @@ -16322,12 +16494,12 @@ falló Threshold (ticks): - + Umbrál (Tics): Quantize Len - + Cuantizar duración @@ -16337,57 +16509,57 @@ falló Whole - + Totalidad Half - + Mitad 4th - + 4th 4th Triplet - + 4th Triplet 8th - + Octavos 8th Triplet - + Octavos con puntillo 16th - + 16th 16th Triplet - + 16th Triplet 32th - + 32th 32th Triplet - + 32th Triplet Swing: - + Oscilación: @@ -16396,7 +16568,10 @@ If swing=0, this is normal If swing is 33, you get a 2:1-rhythm. If swing is -33, you get a 1:2-rhythm. - + Si en el cambio propuesto la duración es menor que el umbral, no se hace nada. +Si la oscilación es = 0, esto es normal +Si la oscilación es de 33, se obtiene un ritmo 2:1. +Si la oscilación es de -33, se obtiene un ritmo1:2. @@ -16464,7 +16639,7 @@ If swing is -33, you get a 1:2-rhythm. MusE: Erase Notes - + MusE: Borrar notas @@ -16484,22 +16659,22 @@ If swing is -33, you get a 1:2-rhythm. Looped Events - + Eventos del bucle Selected Looped - + Bucle seleccionado Thresholds - + Umbrales ticks - + -Tics @@ -16509,7 +16684,7 @@ If swing is -33, you get a 1:2-rhythm. Length - Longitud + Duración @@ -16520,7 +16695,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:7px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If nothing is checked, everything is removed.</p> <p style=" margin-top:0px; margin-bottom:7px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If velocity is checked, only notes with velo &lt; threshold are removed.</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If both are checked, notes with velo &lt; threshold OR with length &lt; threshold are removed.</p></body></html> - + @@ -16894,57 +17069,57 @@ en la lista de controles definidos por MusE MusE: Routing - + Muse: Ruteado Add Route - + Agregar ruta Source: - + Fuente: Destination: - + Destino: Connect - + Conectar connect source to destination - + Conectar fuente a destino Current Routes - + Rutas actuales Source - + Fuente Destination - + Destino Remove - + Eliminar remove selected route - + Eliminar ruta seleccionada @@ -16959,7 +17134,7 @@ en la lista de controles definidos por MusE SimpleDrums - Ladspa Plugin Chooser - + SimpleDrums - Selector de Efecto Ladspa @@ -16974,17 +17149,17 @@ en la lista de controles definidos por MusE Inports - + Puerto de entrada Outports - + Puerto de salida Creator - + Creador @@ -16994,17 +17169,17 @@ en la lista de controles definidos por MusE Alt+C - + Alt+C &OK - + Aceptar Alt+O - + Alt+O @@ -17012,22 +17187,22 @@ en la lista de controles definidos por MusE Clear and unload effect - + Limpiar y descargar efecto Load effect - + Cargar efecto Toggle display of effect parameters - + Vista de los parámetros de efecto Turn effect on/off - + Encender/Apagar efecto @@ -17255,7 +17430,7 @@ en la lista de controles definidos por MusE MusE: Set Note Length - + MusE: Cambiar duración de notas @@ -17275,12 +17450,12 @@ en la lista de controles definidos por MusE Looped Events - + Eventos en bucle Selected Looped - + Seleccionar bucle @@ -17290,12 +17465,12 @@ en la lista de controles definidos por MusE New length - + Nueva duración ticks - + -Tics @@ -17324,28 +17499,28 @@ en la lista de controles definidos por MusE Enter shortcut sequence - + Ingresar atajo Press keys to enter shortcut sequence! - + Ingrese la secuencia de teclas Old shortcut: - + Atajo anterior Undefined - + Sin definir New shortcut: - + Nuevo atajo @@ -17363,42 +17538,42 @@ en la lista de controles definidos por MusE Configure Keyboard Shortcuts - + Configurar atajos de teclado Shortcut Category - + Categoría de accesos rápidos Description - + Descripción Shortcut - + Acceso rápido &Clear - + Limpiar Alt+C - + Alt+C &Define - + &Definir Alt+D - + Alt+D @@ -17408,7 +17583,7 @@ en la lista de controles definidos por MusE Alt+A - + Alt+A @@ -17423,7 +17598,7 @@ en la lista de controles definidos por MusE DrumSynth 0.1 - + DrumSynth 0.1 @@ -17431,17 +17606,17 @@ en la lista de controles definidos por MusE &Load setup - + Cargar configuración &Save setup - + Guardar configuración Load sample dialog - + Cargar diálogo de muestra @@ -17460,12 +17635,12 @@ en la lista de controles definidos por MusE Song Information - + Información de la sesión Show on song load - + Mostrar al cargar la sesión @@ -17475,17 +17650,17 @@ en la lista de controles definidos por MusE Alt+C - + Alt+C &Ok - Ac&eptar + Aceptar Alt+O - + Alt+O @@ -17558,22 +17733,22 @@ en la lista de controles definidos por MusE Midi connections - + Conexiones de MIDI Inst - + Instrumento Version - + Versión Description - + Descripción @@ -17803,7 +17978,7 @@ en la lista de controles definidos por MusE MusE: Transpose - + MusE:-Transponer @@ -17823,12 +17998,12 @@ en la lista de controles definidos por MusE Looped Events - + Eventos del bucle Selected Looped - + Bucle seleccionadp @@ -17838,7 +18013,7 @@ en la lista de controles definidos por MusE Halftone-steps - + Semitonos @@ -17899,29 +18074,30 @@ en la lista de controles definidos por MusE Dialog - + Dialogo List of unused audio files in current project directory: - + Listar archivos de audio sin uso en la sesión Current project - + Sesión actual All .med files in current directory - + Todas las sesiones +en la carpeta actual Move files to 'unused' subdir - + Mover no usados a carpeta "unused" @@ -17934,13 +18110,13 @@ in current MusE: Load VAM Presets - + MusE: Cargar preseteos de VAM MusE: Save VAM Presets - + Guardar preseteos de VAM @@ -18153,7 +18329,15 @@ Jotsif Lindman Hörnlund Copyright(C) 2005 Robert Jonsson (rj@spamatica.se) - + VAM 1.0beta3 +Sintetizador análogo virtual para MusE +Liberado bajo licencia GPL. +Derechos Reservados(C) 2002 +Jotsif Lindman Hörnlund +( jotsif@linux.nu ) +Derechos Reservados(C) 2005 +Robert Jonsson +(rj@spamatica.se) @@ -18161,7 +18345,7 @@ Robert Jonsson MusE: Modify Velocity - MusE: Modificar velocidad + MusE: Modificar la velocidad. @@ -18195,7 +18379,7 @@ Robert Jonsson Rate: - Velocidad: + Porcentajes: @@ -18210,12 +18394,12 @@ Robert Jonsson Selected Looped - + Selecionar bucles veloNew = (veloOld * rate) + offset - + @@ -18350,32 +18534,32 @@ Robert Jonsson FreeVerb - + FreeVerb Room Size - Tamaño sala + Room Size Damping - Amortiguamiento + Damping Wet Level - + Wet Level Tap-Reverberator - + Tap-Reverb Decay [ms] - + Decay [ms] @@ -18386,252 +18570,252 @@ Robert Jonsson Dry Level [dB] - + Dry Level [dB] Wet Level [dB] - + Wet Level [dB] Preset: - + Preseteo: AfterBurn - + AfterBurn AfterBurn (Long) - + AfterBurn (Long) Ambience - + Ambience Ambience (Thick) - + Ambience (Thick) Ambience (Thick) - HD - + Ambience (Thick) - HD Cathedral - + Cathedral Cathedral - HD - + Cathedral - HD Drum Chamber - + Drum Chamber Garage - + Garage Garage (Bright) - + Garage (Bright) Gymnasium - + Gymnasium Gymnasium (Bright) - + Gymnasium (Bright) Gymnasium (Bright) - HD - + Gymnasium (Bright) - HD Hall (Small) - + Hall (Small) Hall (Medium) - + Hall (Medium) Hall (Large) - + Hall (Large) Hall (Large) - HD - + Hall (Large) - HD Plate (Small) - + Plate (Small) Plate (Medium) - + Plate (Medium) Plate (Large) - + Plate (Large) Plate (Large) - HD - + Plate (Large) - HD Pulse Chamber - + Pulse Chamber Pulse Chamber (Reverse) - + Pulse Chamber (Reverse) Resonator (96 ms) - + Resonator (96 ms) Resonator (152 ms) - + Resonator (152 ms) Resonator (208 ms) - + Resonator (208 ms) Room (Small) - + Room (Small) Room (Medium) - + Room (Medium) Room (Large) - + Room (Large) Room (Large) - HD - + Room (Large) - HD Slap Chamber - + Slap Chamber Slap Chamber - HD - + Slap Chamber - HD Slap Chamber (Bright) - + Slap Chamber (Bright) Slap Chamber (Bright) HD - + Slap Chamber (Bright) HD Smooth Hall (Small) - + Smooth Hall (Small) Smooth Hall (Medium) - + Smooth Hall (Medium) Smooth Hall (Large) - + Smooth Hall (Large) Smooth Hall (Large) - HD - + Smooth Hall (Large) - HD Vocal Plate - + Vocal Plate Vocal Plate - HD - + Vocal Plate - HD Warble Chamber - + Warble Chamber Warehoouse - + Warehoouse Warehouse - HD - + Warehouse - HD Comb Filters - + Filtros combinados Allpass Filters - + Sin filtros Bandpass Filters - + flitros de banda Enhanced Stereo - + Ampliar estéreo @@ -18639,873 +18823,873 @@ Robert Jonsson Transport: Start playback from current location - + Transporte: Iniciar reproducción desde la ubicación actual Transport: Toggle metronome - + Transporte: Alternar metrónomo Transport: Stop Playback - + Transporte : Detener reproducción Transport: Goto Start - + Transporte: Ir al comienzo Transport: Play, Stop, Rewind - + Transporte: Iniciar, Detener, Rebobinar Transport: Goto left marker - + Transporte: Ir a la marca izquierda Transport: Goto right marker - + Transporte: Ir a la marca derecha Transport: Toggle Loop section - + Transporte: Alternar selección del bucle Transport: Toggle Record - + Transporte Alternar grabación Transport: Clear all rec enabled tracks - + Transporte: deshabilitar el grabado en todas las pistas Toggle fullscreen - + Pantalla completa Edit: Copy - + Editar:Copiar Edit: Copy in range - + Editar: Copiar rango Edit: Undo - + Editar: Deshacer Edit: Redo - + Edit: Rehacer Edit: Cut - + Editar: Cortar Edit: Paste - + Editar: Pegar Edit: Paste (with dialog) - + Editar: Pegar (con diálogo) Edit: Delete - + Editar: Borrar File: New project - + Archivo: Nueva sesión File: Open from disk - + Archivo: Abrir desde disco File: Save project - + Archivo: Guardar sesión File: Open recent file - + Archivo: Sesiones recientes File: Save as - + Archivo: Guardar como File: Load template - + Archivo: Abrir plantilla File: Import midi file - + Archivo: Importar archivo MIDI File: Export midi file - + Archivo: Exportar archivo MIDI File: Import midi part - + Archivo: Importar región MIDI File: Import audio file - + Archivo: Importar archivo de audio File: Quit MusE - + Archivo: Cerrar MusE Edit: Select parts on track - + Editar: Seleccionar regiones de la pista Open pianoroll - + Abrir editor de matríz Open drumeditor - + Editar: Editor de percusión Open listeditor - + Abrir editor de lista Open waveeditor - + Abrir editor de audio Open graphical mastertrack editor - + Vista de pista maestra Open list mastertrack editor - + Lista de pista maestra Open midi transformer - + Abrir transformador MIDI Add midi track - + Agregar pista MIDI Add drum track - + Agregar pista de percusión Add wave track - + Agregar pista de audio Add audio output - + Agregar salida de audio Add audio group - + Agregar grupo de audio Add audio input - + Agregar entrada de audio Add audio aux - + Agregar envio auxiliar Structure: Global cut - + Estructura: Corte Globál Structure: Global insert - + Estructura: Inserción global Structure: Global split - + Estructura: División globál Structure: Cut events - + Estructura: Cortar eventos View: Open mixer #1 window - + Ver: Abrir mezclador #1 View: Open mixer #2 window - + Ver: Abrir mezclador #2 View: Toggle transport window - + Ver: Ventana alternativa del transporte View: Toggle bigtime window - + Ver: Ventana de reloj View: Open marker window - + Ver: Abrir ventana de marcadores Settings: Follow song by page - + Ajustes: Seguir página Settings: Follow song off - + Ajustes: No seguir canción Settings: Follow song continuous - + Ajustes: Seguir canción indefinidamente Settings: Global configuration - + Configuraciones: Configuración global Settings: Configure shortcuts - + Configuraciones: Atajos de teclado Settings: Configure metronome - + Configuraciones: Metrónomo Settings: Midi sync configuration - + Configuraciones: Sincronía MIDI Settings: Midi file import/export configuration - + Configuraciones: Configuracion de exportar/importar MIDI Settings: Appearance settings - + Configuraciones: Apariencia Settings: Midi ports / Soft Synth - + Configuraciones: Puertos MIDI/Sintetizadores virtuales Settings: Audio subsystem configuration - + Configuraciones: Configurar sub sistema de audio Midi: Edit midi instruments - + MIDI: Editar instrumentos Midi: Open midi input transform - + MIDI: Abrir el transformador de entrada MIDI Midi: Open midi input filter - + MIDI: Abrir el filtro de entrada MIDI Midi: Midi input transpose - + MIDI: Filtro de transporte de entrada Midi: Midi remote control - + MIDI: Control remoto MIDI Midi: Random rhythm generator - + MIDI: Generador de ritmo aleatorio Midi: Reset midi - + MIDI: Resetear MIDI Midi: Init midi - + MIDI: Inicializar MIDI Midi: Midi local off - + MIDI: MIDI local apagado Audio: Bounce audio to track - + Audio: Rebotar audio a pista Audio: Bounce audio to file - + Audio: Rebotar audio a archivo Audio: Restart audio - + Audio: Reiniciar audio Automation: Mixer automation - + Automatización: Mezcladora de automatización Automation: Take mixer snapshot - + Automatización: Tomar instantánea del mezclador Automation: Clear mixer automation - + Automatización: Limpiar la mezcladora de automatización Help: Open Manual - + Ayuda: Abrir manual Help: Toggle whatsthis mode - + Ayuda: Cambiar el modo ¿qué es esto? Edit: Edit selected part - + Editar: Seleccionar región Edit: Select nearest part on track above - + Editar: Seleccione la región más cercana por encima de la pista Edit: Add nearest part on track above - + Editar: Agregar la región más cercana por encima de la pista Edit: Select nearest part on track below - + Editar: Seleccione la región más cercana por debajo de la pista Edit: Add nearest part on track below - + Editar: Agregar la región más cercana por debajo de la pista Edit: Insert empty measure - + Editar: Insertar compás vacío Edit: Paste as clones - + Editar: Pegar como clon Edit: Paste as clones (with dialog) - + Editar: Pegar como clon (con diálogo) Select track above - + Seleccionar la pista anterior Select track below - + Seleccionar la pista siguiente Midi: Transpose - + MIDI: Transportar Edit: Select all - + Editar: Seleccionar todo Edit: Select none - + Editar: Deseleccionar Edit: Invert Selection - + Editar: Invertir selección Edit: Select events/parts inside locators - + Editar: seleccionar eventos/regiones dentro de los marcadores Edit: Select events/parts outside locators - + Editar: seleccionar eventos/regiones fuera de los marcadores Edit: Select previous part - + Edición: Seleccionar región anterior Edit: Select next part - + Editar: Seleccionar región siguiente Edit: Select nearest part/event to the left or move cursor - + Editar: Seleccione región /evento mas cercano a la izquierda o mover el cursor Edit: Add nearest part/event to the left to selection - + Edit: Añadir región/evento mas cercano a la izquierda a la selección Edit: Select nearest part/event to the right or move cursor - + Editar: seleccione la región/evento mas cercano la derecha o mover el cursor Edit: Add nearest part/event to the right to selection - + Edit: Añadir la región/evento a la derecha a la selección Edit: Set locators to selection - + Editar: Conjunto localizadores a la selección Edit: Increase pitch - + Editar: Subir afinación Edit: Decrease pitch - + Editar: Bajar afinación Edit: Increase event position - + Editar: Aumenta la posición del evento Edit: Decrease event position - + Editar: Disminuye la posición del evento View: Zoom in - + Ver: Acercar View: Zoom out - + Ver: Alejar View: Goto Current Position - + Ver: Ir a la posición actual View: Scroll left - + Ver: Mover a la izquierda Edit: Set Fixed Length on Midi Events - + Editar Igualar la duración de las notas MIDI Quantize - Cuantizar + Cuantizar Modify Note Length - + Modificar duraciòn Modify Velocity - + Modificar la velocidad Edit: Crescendo - + Editar: Crescendo Edit: Thin Out - + Editar: Truncar Edit: Erase Event - + Editar: Borrar evento Edit: Delete Overlaps - + Editar: Borrar notas duplicadas Edit: Note Shift - + Editar: Alterar nota Edit: Move Clock - + Editar: Mover reloj Edit: Copy Measure - + Editar: Copiar compás Edit: Erase Measure - + Editar: Vaciar compás Edit: Delete Measure - + Editar: Borrar compás Edit: Create Measure - + Editar: Crear compás Edit: Change Event Color - + Editar: Cambiar el color de evento Tool: Pointer - + Herramientas: Apuntador Tool: Pencil - + Herramientas: Lápiz Tool: Eraser - + Herramientas: Borrador Tool: Line Draw - + Herramientas: Linea de dibujo Tool: Cursor - + Herramientas: Cursor Add note velocity 1 - + Añadir velocidad de la nota 1 Add note velocity 2 - + Añadir velocidad de la nota 2 Add note velocity 3 - + Añadir velocidad de la nota 3 Add note velocity 4 - + Añadir velocidad de la nota 4 Cursor step size: larger - + Aumentar el paso de cursor Cursor step size: smaller - + Reducir el paso del cursor Instrument/Cursor up - + Instrumento, Incrementar valor Instrument/Cursor down - + Instrumento, Disminuir valor Tool: Scissor - + Herramientas: Tijeta Tool: Glue - + Herramienta: Unir Tool: Mute - + Herramienta: Silenciar Transport: Increase current position - + Transporte: Incrementar la posición actual Transport: Decrease current position - + Transporte: retroceder de la posición actual Transport: Increase current position, no snap - + Transporte: Adelantar de la posición actual, no snap Transport: Decrease current position, no snap - + Transporte: retroceder de la posición actual, no snap Quantize: Set quantize to 1/1 note - + Cuantizar: Ajustar cuantizado a 1/1 note Quantize: Set quantize to 1/2 note - + Cuantizar: Ajustar cuantizado a 1/2 note Quantize: Set quantize to 1/4 note - + Cuantizar: Ajustar cuantizado a 1/4 note Quantize: Set quantize to 1/8 note - + Cuantizar: Ajustar cuantizado a 1/8 note Quantize: Set quantize to 1/16 note - + Cuantizar: Ajustar cuantizado a 1/16 note Quantize: Set quantize to 1/32 note - + Cuantizar: Ajustar cuantizado a 1/32 note Quantize: Set quantize to 1/64 note - + Cuantizar: Ajustar cuantizado a 1/64 note Quantize: Toggle triol quantization - + Cuantizado: Ajuste de cauntización triol. Quantize: Toggle punctuation quantization - + Cuantización: Cambiar-puntuación-del cuantizado Quantize: Toggle punctuation quantization (2) - + Cuantización: Cambiar-puntuación-del cuantizado (2) Edit: Insert at location - + Editar: Insertar en la posición Edit: Increase length - + Editar: Incrementar duración Edit: Decrease length - + Editar: Acortar duración Insert Note - Insertar nota + Insertar nota Insert SysEx - Insertar sistema exclusivo + Insertar sistema exclusivo Insert Ctrl - Insertar controlador + Insertar controlador Insert Meta - Insertar Meta + Insertar Meta Insert Channel Aftertouch - Insertar AfterTouch de canal + Insertar AfterTouch de canal Insert Key Aftertouch - Insertar AfterTouch de tecla + Insertar AfterTouch de tecla Insert Tempo - + Insertar tempo Insert Signature - + Insertar armadura de clave Change Event Position - + Cambiar posición de evento Edit Event Value - + Editar valor del evento Insert Key - + Insertar clave Goto Next Marker - + Ir a la siguiente marca Goto Prev Marker - + Ir a la marca anterior diff --git a/muse2/share/locale/muse_fr.ts b/muse2/share/locale/muse_fr.ts index 99e3e5ef..eb19761e 100644 --- a/muse2/share/locale/muse_fr.ts +++ b/muse2/share/locale/muse_fr.ts @@ -226,22 +226,22 @@ cliquez sur une pièces pour la rendre muette ou pas. Tous les Fichiers (*) - + Add Midi Track Ajouter une Piste Midi - + Add Drum Track Ajouter une Piste de Batterie - + Add Wave Track Ajouter une Piste Audio - + Add Audio Output @@ -261,7 +261,7 @@ cliquez sur une pièces pour la rendre muette ou pas. - + Add Synth @@ -4998,12 +4998,11 @@ Time) (Tics par sec.) - GUI - GUI + GUI - + /sec /sec @@ -5048,7 +5047,22 @@ left button behave like the middle button in such areas. - + + Allow adding hidden tracks in track list menu + + + + + Unhide tracks when adding hidden tracks + + + + + GUI Style + + + + MDI-subwindowness and sharing menus @@ -5092,7 +5106,7 @@ left button behave like the middle button in such areas. Navigateur pour l'aide: - + Application @@ -5422,7 +5436,12 @@ Adjusts responsiveness of audio controls and - + + GUI Behaviour + + + + Use old-style stop shortcut: @@ -7171,6 +7190,11 @@ Enabled inputs in the list will Send sync delay + + + Note: Sync delay and MTC sync currently not fully implemeted + + MidiTrackInfoBase @@ -9147,7 +9171,7 @@ sélectionnées MusECore::Song - + Jack shutdown! @@ -9230,7 +9254,7 @@ click on the Restart button. - + MusE - external script failed @@ -9605,7 +9629,7 @@ Right-click to show GUI. - + C&ut Co&uper @@ -9711,12 +9735,12 @@ Right-click to show GUI. - all parts in one staff + all tracks in one staff - one staff per part + one staff per track @@ -9775,6 +9799,21 @@ Right-click to show GUI. Global Split Diviser Tout + + + Global Cut - selected tracks + + + + + Global Insert - selected tracks + + + + + Global Split - selected tracks + + &Edit @@ -9786,7 +9825,7 @@ Right-click to show GUI. &Structure - + Functions Fonctions @@ -9846,7 +9885,7 @@ Right-click to show GUI. - + New Nouveau @@ -9913,7 +9952,7 @@ Right-click to show GUI. MusEGui::AudioStrip - + panorama @@ -9943,7 +9982,7 @@ Right-click to show GUI. pre fader - post fader - + dB dB @@ -10072,7 +10111,7 @@ Right-click to show GUI. MusEGui::ClipListEdit - + MusE: Clip List Editor MusE: Editeur de la Liste de Clips @@ -10186,7 +10225,7 @@ Right-click to show GUI. MusEGui::DrumEdit - + mute instrument Rendre muet l'instrument @@ -10542,7 +10581,7 @@ Right-click to show GUI. LV4 - + Muse: Load Drum Map MusE: Charger Set de Batterie @@ -11013,7 +11052,7 @@ cliquez sur une pièces pour la rendre muette ou pas. MusEGui::GlobalSettingsConfig - + Selects instruments directory @@ -11029,7 +11068,7 @@ cliquez sur une pièces pour la rendre muette ou pas. MusEGui::LMaster - + MusE: Mastertrack @@ -11144,7 +11183,7 @@ cliquez sur une pièces pour la rendre muette ou pas. Valeur - + Reposition of the initial tempo and signature events is not allowed @@ -11167,7 +11206,7 @@ cliquez sur une pièces pour la rendre muette ou pas. MusEGui::ListEdit - + insert Note insére une note @@ -11332,18 +11371,18 @@ Do you want to apply to all existing midi tracks now? - + in - - + + out - + Show first aliases @@ -11541,13 +11580,13 @@ Do you want to apply to all existing midi tracks now? Etat - + <unknown> - + <none> @@ -11571,7 +11610,7 @@ Do you want to apply to all existing midi tracks now? MusEGui::MarkerView - + MusE: Marker MusE: Marqueur @@ -11644,7 +11683,7 @@ Do you want to apply to all existing midi tracks now? MusEGui::MasterEdit - + MusE: Mastertrack @@ -12167,7 +12206,7 @@ Apply sync settings? MusEGui::MidiTrackInfo - + <unknown> @@ -12210,7 +12249,7 @@ Apply sync settings? - + Und&o &Annuler @@ -12363,13 +12402,13 @@ midi - - + + &Save - + Click this button to save the song you are editing. You will be prompted for a file name. You can also select the Save command from the File menu. @@ -12397,7 +12436,7 @@ You can also select the Save command from the File menu. - + Import Wave File Importer fichier WAV @@ -12692,7 +12731,7 @@ You can also select the Save command from the File menu. &Aide - + Cannot read template @@ -12713,13 +12752,13 @@ You can also select the Save command from the File menu. - - + + MusE: Song: %1 - + MusE: load project Muse: charger Projet @@ -12742,17 +12781,17 @@ non encore sauvegardées. Enregistrer? - + S&kip - + &Cancel - + MusE: Save As MusE: enregistrer sous @@ -12764,7 +12803,7 @@ non encore sauvegardées. Enregistrer? Rien � éditer - + @@ -12832,7 +12871,7 @@ avant d'en ouvrir un autre? - + &Abort &Annuler @@ -12898,7 +12937,7 @@ failed: échec: - + Import part is only valid for midi and wave tracks! @@ -12998,7 +13037,7 @@ Do you still want to import it? différent - + C&ut Co&uper @@ -13076,7 +13115,7 @@ Files: - + %n part(s) out of %1 could not be pasted. Likely the selected track is the wrong type. @@ -13170,7 +13209,7 @@ sélectionnées MusEGui::PianoRoll - + &Edit @@ -13373,7 +13412,7 @@ sélectionnées MusEGui::PluginDialog - + MusE: select plugin MusE: choisir plugin @@ -13515,32 +13554,32 @@ sélectionnées MusEGui::RoutePopupMenu - + - + - - + + Channel Canal - - + + Soloing chain - - + + Audio returns - + Warning: No input devices! @@ -13550,7 +13589,7 @@ sélectionnées - + <none> @@ -13579,7 +13618,7 @@ sélectionnées MusEGui::ScoreCanvas - + Treble @@ -13599,7 +13638,7 @@ sélectionnées - + Ambiguous part @@ -13622,7 +13661,7 @@ sélectionnées MusEGui::ScoreEdit - + Undo/Redo tools @@ -13662,20 +13701,20 @@ sélectionnées - + - + Apply to new notes: - - + + Apply to selected notes: - + Velocity: @@ -13695,7 +13734,7 @@ sélectionnées - + Pixels per whole: @@ -13845,7 +13884,7 @@ sélectionnées - + Set up &preamble @@ -13865,7 +13904,7 @@ sélectionnées - + Enter the new score title @@ -13931,6 +13970,14 @@ the selected title is not unique Echelle de la signature + + MusEGui::Strip + + + Remove track? + + + MusEGui::TList @@ -14065,7 +14112,7 @@ the selected title is not unique MusEGui::Toolbar1 - + Off @@ -14105,7 +14152,7 @@ the selected title is not unique - + Piano roll @@ -14369,7 +14416,7 @@ l'enregistrement MusEGui::VisibleTracks - + Show wave tracks @@ -15852,11 +15899,6 @@ port QObject - - - Other - - @@ -15903,7 +15945,7 @@ port nouveau - + create peakfile for créer fichier de crêtes pour @@ -16008,8 +16050,8 @@ failed: MusE: Ouvrir un Fichier - - + + None @@ -17243,12 +17285,11 @@ sélectionnées SynthConfigBase - MusE: Synth Configuration - MusE: Configuration Synth Virtuel + MusE: Configuration Synth Virtuel - + Soft Synthesizer Synthétiseur Virtuel @@ -17258,18 +17299,18 @@ sélectionnées Fichier - + Instances Exemplaires - + Name Nom - + list of available software synthesizers liste des synthétiseurs virtuels disponibles @@ -17294,12 +17335,23 @@ disponibles Port MIDI - + + Midi Port and Soft Synth Configuration + + + + + + Type + Type + + + Midi connections - + Inst diff --git a/muse2/share/locale/muse_pl.ts b/muse2/share/locale/muse_pl.ts index 0d948e0f..00fa0d2c 100644 --- a/muse2/share/locale/muse_pl.ts +++ b/muse2/share/locale/muse_pl.ts @@ -200,22 +200,22 @@ Kliknij na pojedynczy klocek aby go wyłączyć z odtwarzania. Wszystkie Pliki (*) - + Add Midi Track Dodaj Ślad Midi - + Add Drum Track Dodaj Ślad Perkusyjny - + Add Wave Track Dodaj Ślad Audio - + Add Audio Output Dodaj Wyjście Audio @@ -239,7 +239,7 @@ Kliknij na pojedynczy klocek aby go wyłączyć z odtwarzania. Gumka - + Add Synth @@ -4871,12 +4871,11 @@ RTC (Rzeczywista Rozdzielczość Zegara) (Tykanie/Sekunda) - GUI - Interfejs Użytkownika + Interfejs Użytkownika - + /sec /sek. @@ -4920,7 +4919,22 @@ left button behave like the middle button in such areas. - + + Allow adding hidden tracks in track list menu + + + + + Unhide tracks when adding hidden tracks + + + + + GUI Style + + + + MDI-subwindowness and sharing menus @@ -4964,7 +4978,7 @@ left button behave like the middle button in such areas. Przeglądarka pomocy: - + Application Zastosowanie @@ -5294,7 +5308,12 @@ Adjusts responsiveness of audio controls and - + + GUI Behaviour + + + + Use old-style stop shortcut: @@ -7018,6 +7037,11 @@ Enabled inputs in the list will Send sync delay + + + Note: Sync delay and MTC sync currently not fully implemeted + + MidiTrackInfoBase @@ -9128,7 +9152,7 @@ Zapisać otwarty utwór? MusECore::Song - + Jack shutdown! @@ -9211,7 +9235,7 @@ click on the Restart button. - + MusE - external script failed @@ -9586,7 +9610,7 @@ Right-click to show GUI. - + C&ut @@ -9692,12 +9716,12 @@ Right-click to show GUI. - all parts in one staff + all tracks in one staff - one staff per part + one staff per track @@ -9756,6 +9780,21 @@ Right-click to show GUI. Global Split Globalne Podzielenie + + + Global Cut - selected tracks + + + + + Global Insert - selected tracks + + + + + Global Split - selected tracks + + &Edit @@ -9767,7 +9806,7 @@ Right-click to show GUI. &Globalne - + Functions Opcje @@ -9827,7 +9866,7 @@ Right-click to show GUI. - + New Nowy @@ -9894,7 +9933,7 @@ Right-click to show GUI. MusEGui::AudioStrip - + panorama Panorama @@ -9924,7 +9963,7 @@ Right-click to show GUI. przed/ za tłumikiem - + dB dB @@ -10053,7 +10092,7 @@ Right-click to show GUI. MusEGui::ClipListEdit - + MusE: Clip List Editor @@ -10167,7 +10206,7 @@ Right-click to show GUI. MusEGui::DrumEdit - + mute instrument wyłącz instrument @@ -10523,7 +10562,7 @@ Right-click to show GUI. PV4 - + Muse: Load Drum Map MuzA: Załaduj zestaw perkusyjny @@ -10988,7 +11027,7 @@ Kliknij na pojedynczy klocek aby go wyłączyć z odtwarzania. MusEGui::GlobalSettingsConfig - + Selects instruments directory @@ -11004,7 +11043,7 @@ Kliknij na pojedynczy klocek aby go wyłączyć z odtwarzania. MusEGui::LMaster - + MusE: Mastertrack MuzA: Ślad Tempo/Metrum @@ -11119,7 +11158,7 @@ Kliknij na pojedynczy klocek aby go wyłączyć z odtwarzania. Wartość - + Reposition of the initial tempo and signature events is not allowed @@ -11142,7 +11181,7 @@ Kliknij na pojedynczy klocek aby go wyłączyć z odtwarzania. MusEGui::ListEdit - + insert Note Wstaw nutę @@ -11306,18 +11345,18 @@ Do you want to apply to all existing midi tracks now? - + in - - + + out - + Show first aliases @@ -11515,13 +11554,13 @@ Do you want to apply to all existing midi tracks now? Status - + <unknown> - + <none> @@ -11545,7 +11584,7 @@ Do you want to apply to all existing midi tracks now? MusEGui::MarkerView - + MusE: Marker MuzA: Znacznik @@ -11618,7 +11657,7 @@ Do you want to apply to all existing midi tracks now? MusEGui::MasterEdit - + MusE: Mastertrack MuzA: Ślad Tempo/Metrum @@ -12141,7 +12180,7 @@ Apply sync settings? MusEGui::MidiTrackInfo - + <unknown> @@ -12184,7 +12223,7 @@ Apply sync settings? - + Und&o Co&fnij @@ -12334,13 +12373,13 @@ Apply sync settings? - - + + &Save &Zapisz - + Click this button to save the song you are editing. You will be prompted for a file name. You can also select the Save command from the File menu. @@ -12370,7 +12409,7 @@ Można też wybrać "Zapisz" z menu plik, lub "Ctrl-S". - + Import Wave File Import Pliku &Wave @@ -12666,7 +12705,7 @@ Zgrywanie śladu (bounce) P&omoc - + Cannot read template Nie można odczytać pliku szablonu @@ -12687,13 +12726,13 @@ Zgrywanie śladu (bounce) - - + + MusE: Song: %1 - + MusE: load project MuzA: ładuj utwór @@ -12716,17 +12755,17 @@ Zapisać otwarty utwór? - + S&kip - + &Cancel - + MusE: Save As MuzA: Zapisz Jako @@ -12738,7 +12777,7 @@ Zapisać otwarty utwór? Nie ma nic do edytowania - + @@ -12806,7 +12845,7 @@ Zapisać otwarty utwór? - + &Abort &Anuluj @@ -12870,7 +12909,7 @@ failed: - + Import part is only valid for midi and wave tracks! @@ -12969,7 +13008,7 @@ Do you still want to import it? Nie można skopiować/przenieść/sklonować do innego typu śladu - + C&ut @@ -13047,7 +13086,7 @@ Files: - + %n part(s) out of %1 could not be pasted. Likely the selected track is the wrong type. @@ -13140,7 +13179,7 @@ Likely the selected track is the wrong type. MusEGui::PianoRoll - + &Edit @@ -13343,7 +13382,7 @@ Likely the selected track is the wrong type. MusEGui::PluginDialog - + MusE: select plugin MuzA: wybierz wtyczkę @@ -13485,32 +13524,32 @@ Likely the selected track is the wrong type. MusEGui::RoutePopupMenu - + - + - - + + Channel - - + + Soloing chain - - + + Audio returns - + Warning: No input devices! @@ -13520,7 +13559,7 @@ Likely the selected track is the wrong type. - + <none> @@ -13549,7 +13588,7 @@ Likely the selected track is the wrong type. MusEGui::ScoreCanvas - + Treble @@ -13569,7 +13608,7 @@ Likely the selected track is the wrong type. - + Ambiguous part @@ -13592,7 +13631,7 @@ Likely the selected track is the wrong type. MusEGui::ScoreEdit - + Undo/Redo tools @@ -13632,20 +13671,20 @@ Likely the selected track is the wrong type. - + - + Apply to new notes: - - + + Apply to selected notes: - + Velocity: @@ -13665,7 +13704,7 @@ Likely the selected track is the wrong type. - + Pixels per whole: @@ -13815,7 +13854,7 @@ Likely the selected track is the wrong type. - + Set up &preamble @@ -13835,7 +13874,7 @@ Likely the selected track is the wrong type. - + Enter the new score title @@ -13901,6 +13940,14 @@ the selected title is not unique oś metrum + + MusEGui::Strip + + + Remove track? + + + MusEGui::TList @@ -14035,7 +14082,7 @@ the selected title is not unique MusEGui::Toolbar1 - + Off @@ -14075,7 +14122,7 @@ the selected title is not unique - + Piano roll @@ -14333,7 +14380,7 @@ the selected title is not unique MusEGui::VisibleTracks - + Show wave tracks @@ -15707,11 +15754,6 @@ currently not used QObject - - - Other - - @@ -15745,7 +15787,7 @@ currently not used nowy - + create peakfile for stwórz plik szczytu dla @@ -15845,8 +15887,8 @@ failed: MuzA: Otwórz plik - - + + None Brak @@ -16889,12 +16931,11 @@ Losowy Generator Rytmu jeszcze nie jest udostępniony! SynthConfigBase - MusE: Synth Configuration - MuzA: Konfiguracja Syntezatora Softowego + MuzA: Konfiguracja Syntezatora Softowego - + Soft Synthesizer Syntezator Softowy @@ -16904,18 +16945,18 @@ Losowy Generator Rytmu jeszcze nie jest udostępniony! Plik - + Instances Urządzenia - + Name Nazwa - + list of available software synthesizers lista wszystkich dostępnych syntezatorów softowych @@ -16935,12 +16976,23 @@ Losowy Generator Rytmu jeszcze nie jest udostępniony! Port Midi - + + Midi Port and Soft Synth Configuration + + + + + + Type + Typ + + + Midi connections Połączenia midi - + Inst Instr. diff --git a/muse2/share/locale/muse_ru.ts b/muse2/share/locale/muse_ru.ts index eb103ae5..4510daa7 100644 --- a/muse2/share/locale/muse_ru.ts +++ b/muse2/share/locale/muse_ru.ts @@ -204,22 +204,22 @@ click on part to mute/unmute Все файлы (*) - + Add Midi Track Добавить Midi Трек - + Add Drum Track Добавить трек с ударными - + Add Wave Track Добавить wave-трек - + Add Audio Output Добавить аудиовыход @@ -255,7 +255,7 @@ click on part to mute/unmute FST - + Add Synth Добавить синтезатор @@ -5474,7 +5474,22 @@ left button behave like the middle button in such areas. - + + Allow adding hidden tracks in track list menu + + + + + Unhide tracks when adding hidden tracks + + + + + GUI Style + + + + MDI-subwindowness and sharing menus @@ -5514,7 +5529,7 @@ left button behave like the middle button in such areas. &Отмена - + Audio Аудио @@ -5640,16 +5655,15 @@ left button behave like the middle button in such areas. (тиков/в сек) - GUI - ГИП + ГИП Help Browser: В чём читать справку: - + GUI Refresh Rate Частота обновления ГИП @@ -6030,7 +6044,12 @@ Adjusts responsiveness of audio controls and - + + GUI Behaviour + + + + Use old-style stop shortcut: Использовать старую "горячую клавишу" для остановки: @@ -8268,6 +8287,11 @@ Enabled inputs in the list will Send sync delay Посылать синхр. задержку + + + Note: Sync delay and MTC sync currently not fully implemeted + + MidiTrackInfo @@ -10834,7 +10858,7 @@ Likely the selected track is the wrong type. MusECore::Song - + Jack shutdown! Jack прекратил работу! @@ -10932,7 +10956,7 @@ click on the Restart button. - + MusE - external script failed MusE - ошибка запуска внешнего скрипта @@ -11323,7 +11347,7 @@ Right-click to show GUI. транспорт - + C&ut &Вырезать @@ -11429,12 +11453,12 @@ Right-click to show GUI. - all parts in one staff + all tracks in one staff - one staff per part + one staff per track @@ -11493,6 +11517,21 @@ Right-click to show GUI. Global Split Глобальное разделение + + + Global Cut - selected tracks + + + + + Global Insert - selected tracks + + + + + Global Split - selected tracks + + &Edit @@ -11504,7 +11543,7 @@ Right-click to show GUI. &Структура - + Functions @@ -11564,7 +11603,7 @@ Right-click to show GUI. - + New Новый @@ -11631,7 +11670,7 @@ Right-click to show GUI. MusEGui::AudioStrip - + panorama панорама @@ -11661,7 +11700,7 @@ Right-click to show GUI. пре федер - пост федер - + dB @@ -11790,7 +11829,7 @@ Right-click to show GUI. MusEGui::ClipListEdit - + MusE: Clip List Editor MusE: Редактор списка фрагментов @@ -11904,7 +11943,7 @@ Right-click to show GUI. MusEGui::DrumEdit - + mute instrument заглушить инструмент @@ -12260,7 +12299,7 @@ Right-click to show GUI. LV4 - + Muse: Load Drum Map Muse: Загрузить драм-карту @@ -12733,7 +12772,7 @@ click on part to mute/unmute MusEGui::GlobalSettingsConfig - + Selects instruments directory @@ -12749,7 +12788,7 @@ click on part to mute/unmute MusEGui::LMaster - + MusE: Mastertrack MusE: Мастер-трек @@ -12864,7 +12903,7 @@ click on part to mute/unmute Значение - + Reposition of the initial tempo and signature events is not allowed Изменение начального темпа и размера запрещено @@ -12887,7 +12926,7 @@ click on part to mute/unmute MusEGui::ListEdit - + insert Note вставить Ноту @@ -13051,18 +13090,18 @@ Do you want to apply to all existing midi tracks now? - + in в - - + + out вне (из) - + Show first aliases Показать первые псевдонимы @@ -13268,13 +13307,13 @@ Do you want to apply to all existing midi tracks now? Состояние - + <unknown> <неизвестно> - + <none> <ничего> @@ -13298,7 +13337,7 @@ Do you want to apply to all existing midi tracks now? MusEGui::MarkerView - + MusE: Marker MusE: Маркер @@ -13371,7 +13410,7 @@ Do you want to apply to all existing midi tracks now? MusEGui::MasterEdit - + MusE: Mastertrack MusE: Мастер-трек @@ -13924,7 +13963,7 @@ Apply sync settings? MusEGui::MidiTrackInfo - + <unknown> <неизвестно> @@ -13969,7 +14008,7 @@ Apply sync settings? - + Und&o &Отменить действие @@ -14118,13 +14157,13 @@ Apply sync settings? - - + + &Save &Сохранить - + Click this button to save the song you are editing. You will be prompted for a file name. You can also select the Save command from the File menu. @@ -14153,7 +14192,7 @@ You can also select the Save command from the File menu. - + Import Wave File Импортировать WAV-файл @@ -14448,7 +14487,7 @@ You can also select the Save command from the File menu. - + Cannot read template Не могу прочитать шаблон @@ -14469,13 +14508,13 @@ You can also select the Save command from the File menu. - - + + MusE: Song: %1 - + MusE: load project MusE: Открыть проект @@ -14498,17 +14537,17 @@ Save Current Project? - + S&kip - + &Cancel - + MusE: Save As MusE: Сохранить как @@ -14520,7 +14559,7 @@ Save Current Project? Нечего редактировать - + @@ -14590,7 +14629,7 @@ Save Current Project? - + &Abort &Отмена @@ -14658,7 +14697,7 @@ failed: не удалось: - + Import part is only valid for midi and wave tracks! Импортирование партий допустимо только для midi и wave треков! @@ -14759,7 +14798,7 @@ Do you still want to import it? Невозможно копировать/перемещать/клонировать данные в другие типы дорожек - + C&ut &Вырезать @@ -14837,7 +14876,7 @@ Files: - + %n part(s) out of %1 could not be pasted. Likely the selected track is the wrong type. @@ -14930,7 +14969,7 @@ Likely the selected track is the wrong type. MusEGui::PianoRoll - + &Edit &Правка @@ -15133,7 +15172,7 @@ Likely the selected track is the wrong type. MusEGui::PluginDialog - + MusE: select plugin MusE: выбрать плагин @@ -15275,32 +15314,32 @@ Likely the selected track is the wrong type. MusEGui::RoutePopupMenu - + - + - - + + Channel Канал - - + + Soloing chain - - + + Audio returns - + Warning: No input devices! @@ -15310,7 +15349,7 @@ Likely the selected track is the wrong type. - + <none> <ничего> @@ -15339,7 +15378,7 @@ Likely the selected track is the wrong type. MusEGui::ScoreCanvas - + Treble @@ -15359,7 +15398,7 @@ Likely the selected track is the wrong type. - + Ambiguous part @@ -15382,7 +15421,7 @@ Likely the selected track is the wrong type. MusEGui::ScoreEdit - + Undo/Redo tools @@ -15422,20 +15461,20 @@ Likely the selected track is the wrong type. - + - + Apply to new notes: - - + + Apply to selected notes: - + Velocity: @@ -15455,7 +15494,7 @@ Likely the selected track is the wrong type. - + Pixels per whole: @@ -15605,7 +15644,7 @@ Likely the selected track is the wrong type. - + Set up &preamble @@ -15625,7 +15664,7 @@ Likely the selected track is the wrong type. - + Enter the new score title @@ -15691,6 +15730,14 @@ the selected title is not unique шкала ключей + + MusEGui::Strip + + + Remove track? + + + MusEGui::TList @@ -15825,7 +15872,7 @@ the selected title is not unique MusEGui::Toolbar1 - + Off @@ -15865,7 +15912,7 @@ the selected title is not unique - + Piano roll @@ -16123,7 +16170,7 @@ the selected title is not unique MusEGui::VisibleTracks - + Show wave tracks @@ -18051,9 +18098,8 @@ currently not used QObject - Other - Другой + Другой @@ -18093,7 +18139,7 @@ currently not used новый - + create peakfile for создать пиковый файл для @@ -18197,8 +18243,8 @@ failed: MusE: Открыть файл - - + + None Ничего @@ -19406,12 +19452,11 @@ click on the Restart button. SynthConfigBase - MusE: Synth Configuration - MusE: Настройка програм. синт. + MusE: Настройка програм. синт. - + Soft Synthesizer Программный синтезатор @@ -19421,18 +19466,18 @@ click on the Restart button. Файл - + Instances Выбранный - + Name Имя - + list of available software synthesizers список доступных программных синтезаторов @@ -19457,7 +19502,18 @@ click on the Restart button. MIDI-порт - + + Midi Port and Soft Synth Configuration + + + + + + Type + Тип + + + Inst Инстр diff --git a/muse2/share/locale/muse_sv_SE.ts b/muse2/share/locale/muse_sv_SE.ts index 545ffd1e..0bf20ae7 100644 --- a/muse2/share/locale/muse_sv_SE.ts +++ b/muse2/share/locale/muse_sv_SE.ts @@ -206,22 +206,22 @@ klicka på en part för att Tysta/Avtysta Alla filer (*) - + Add Midi Track Lägg till Midispår - + Add Drum Track Lägg till Trumspår - + Add Wave Track Lägg till Wavespår - + Add Audio Output Lägg till Ljudutgång @@ -245,7 +245,7 @@ klicka på en part för att Tysta/Avtysta sudd - + Add Synth @@ -4880,7 +4880,22 @@ left button behave like the middle button in such areas. - + + Allow adding hidden tracks in track list menu + + + + + Unhide tracks when adding hidden tracks + + + + + GUI Style + + + + MDI-subwindowness and sharing menus @@ -4920,7 +4935,7 @@ left button behave like the middle button in such areas. &Avbryt - + Audio Ljud @@ -5041,17 +5056,12 @@ left button behave like the middle button in such areas. RTC-Upplösning (Tick/Sek) - - - GUI - - Help Browser: Hjälpläsare: - + GUI Refresh Rate GUI-uppdateringsfrekvens @@ -5391,7 +5401,12 @@ Adjusts responsiveness of audio controls and - + + GUI Behaviour + + + + Use old-style stop shortcut: @@ -7074,6 +7089,11 @@ Enabled inputs in the list will Send sync delay + + + Note: Sync delay and MTC sync currently not fully implemeted + + MidiTrackInfoBase @@ -9164,7 +9184,7 @@ misslyckades: MusECore::Song - + Jack shutdown! @@ -9247,7 +9267,7 @@ click on the Restart button. &Avbryt - + MusE - external script failed @@ -9622,7 +9642,7 @@ Right-click to show GUI. - + C&ut Klipp &ut @@ -9728,12 +9748,12 @@ Right-click to show GUI. - all parts in one staff + all tracks in one staff - one staff per part + one staff per track @@ -9792,6 +9812,21 @@ Right-click to show GUI. Global Split Global delning + + + Global Cut - selected tracks + + + + + Global Insert - selected tracks + + + + + Global Split - selected tracks + + &Edit @@ -9803,7 +9838,7 @@ Right-click to show GUI. &Struktur - + Functions Funktioner @@ -9863,7 +9898,7 @@ Right-click to show GUI. - + New Ny @@ -9930,7 +9965,7 @@ Right-click to show GUI. MusEGui::AudioStrip - + panorama @@ -9960,7 +9995,7 @@ Right-click to show GUI. - + dB @@ -10089,7 +10124,7 @@ Right-click to show GUI. MusEGui::ClipListEdit - + MusE: Clip List Editor MusE: Clip-listredigerare @@ -10203,7 +10238,7 @@ Right-click to show GUI. MusEGui::DrumEdit - + mute instrument tysta instrument @@ -10559,7 +10594,7 @@ Right-click to show GUI. - + Muse: Load Drum Map Muse: Ladda trummappning @@ -11032,7 +11067,7 @@ klicka på en part för att Tysta/Avtysta MusEGui::GlobalSettingsConfig - + Selects instruments directory @@ -11048,7 +11083,7 @@ klicka på en part för att Tysta/Avtysta MusEGui::LMaster - + MusE: Mastertrack MusE: Masterspår @@ -11163,7 +11198,7 @@ klicka på en part för att Tysta/Avtysta Värde - + Reposition of the initial tempo and signature events is not allowed Ompositionering av initalt tempo och/eller signaturevent är inte tillåtet @@ -11186,7 +11221,7 @@ klicka på en part för att Tysta/Avtysta MusEGui::ListEdit - + insert Note Mata in Not @@ -11350,18 +11385,18 @@ Do you want to apply to all existing midi tracks now? - + in - - + + out - + Show first aliases @@ -11559,13 +11594,13 @@ Do you want to apply to all existing midi tracks now? Status - + <unknown> - + <none> @@ -11589,7 +11624,7 @@ Do you want to apply to all existing midi tracks now? MusEGui::MarkerView - + MusE: Marker MusE: Markör @@ -11662,7 +11697,7 @@ Do you want to apply to all existing midi tracks now? MusEGui::MasterEdit - + MusE: Mastertrack MusE: Masterspår @@ -12185,7 +12220,7 @@ Apply sync settings? MusEGui::MidiTrackInfo - + <unknown> @@ -12228,7 +12263,7 @@ Apply sync settings? - + Und&o &Ångra @@ -12377,13 +12412,13 @@ Apply sync settings? - - + + &Save &Spara - + Click this button to save the song you are editing. You will be prompted for a file name. You can also select the Save command from the File menu. @@ -12412,7 +12447,7 @@ Du kan också välja menyalternativet Spara från Arkivmenyn. - + Import Wave File Importera ljudfil @@ -12707,7 +12742,7 @@ Du kan också välja menyalternativet Spara från Arkivmenyn. &Hjälp - + Cannot read template Kan inte läsa mall @@ -12728,13 +12763,13 @@ Du kan också välja menyalternativet Spara från Arkivmenyn. - - + + MusE: Song: %1 - + MusE: load project MusE: Öppna projekt @@ -12757,17 +12792,17 @@ Spara nuvarande Projekt? - + S&kip - + &Cancel &Avbryt - + MusE: Save As MusE: Spara Som @@ -12779,7 +12814,7 @@ Spara nuvarande Projekt? Inget att redigera - + @@ -12847,7 +12882,7 @@ Spara nuvarande Projekt? - + &Abort &Avbryt @@ -12912,7 +12947,7 @@ failed: misslyckades: - + Import part is only valid for midi and wave tracks! @@ -13011,7 +13046,7 @@ Do you still want to import it? Kan inte kopiera/flytta/klona till annan Spårtyp - + C&ut Klipp &ut @@ -13089,7 +13124,7 @@ Files: - + %n part(s) out of %1 could not be pasted. Likely the selected track is the wrong type. @@ -13182,7 +13217,7 @@ Likely the selected track is the wrong type. MusEGui::PianoRoll - + &Edit &Redigera @@ -13385,7 +13420,7 @@ Likely the selected track is the wrong type. MusEGui::PluginDialog - + MusE: select plugin MusE: välj plugin @@ -13527,32 +13562,32 @@ Likely the selected track is the wrong type. MusEGui::RoutePopupMenu - + - + - - + + Channel Kanal - - + + Soloing chain - - + + Audio returns - + Warning: No input devices! @@ -13562,7 +13597,7 @@ Likely the selected track is the wrong type. - + <none> @@ -13591,7 +13626,7 @@ Likely the selected track is the wrong type. MusEGui::ScoreCanvas - + Treble @@ -13611,7 +13646,7 @@ Likely the selected track is the wrong type. - + Ambiguous part @@ -13634,7 +13669,7 @@ Likely the selected track is the wrong type. MusEGui::ScoreEdit - + Undo/Redo tools @@ -13674,20 +13709,20 @@ Likely the selected track is the wrong type. - + - + Apply to new notes: - - + + Apply to selected notes: - + Velocity: @@ -13707,7 +13742,7 @@ Likely the selected track is the wrong type. - + Pixels per whole: @@ -13857,7 +13892,7 @@ Likely the selected track is the wrong type. - + Set up &preamble @@ -13877,7 +13912,7 @@ Likely the selected track is the wrong type. - + Enter the new score title @@ -13943,6 +13978,14 @@ the selected title is not unique signaturskala + + MusEGui::Strip + + + Remove track? + + + MusEGui::TList @@ -14077,7 +14120,7 @@ the selected title is not unique MusEGui::Toolbar1 - + Off @@ -14117,7 +14160,7 @@ the selected title is not unique - + Piano roll @@ -14375,7 +14418,7 @@ the selected title is not unique MusEGui::VisibleTracks - + Show wave tracks @@ -15774,9 +15817,8 @@ används inte för tillfället QObject - Other - Andra + Andra @@ -15820,7 +15862,7 @@ används inte för tillfället ny - + create peakfile for skapa "peak"-fil @@ -15926,8 +15968,8 @@ misslyckades: MusE: Öppna fil - - + + None Ingen @@ -17135,12 +17177,11 @@ i MusEs lista över definierade controllers SynthConfigBase - MusE: Synth Configuration - MusE: Syntinställningar + MusE: Syntinställningar - + Soft Synthesizer Mjukvarusynt @@ -17150,18 +17191,18 @@ i MusEs lista över definierade controllers Arkiv - + Instances Instanser - + Name Namn - + list of available software synthesizers lista med tillgängliga mjukvarusyntar @@ -17181,12 +17222,23 @@ i MusEs lista över definierade controllers Midiport - + + Midi Port and Soft Synth Configuration + + + + + + Type + Typ + + + Midi connections Midikopplingar - + Inst diff --git a/muse2/share/templates/MusE.cfg b/muse2/share/templates/MusE.cfg index b95593d0..b64d9029 100644 --- a/muse2/share/templates/MusE.cfg +++ b/muse2/share/templates/MusE.cfg @@ -14,7 +14,6 @@ 44100 64 20 - /home/flo/.config/MusE/instruments 1 384 384 diff --git a/muse2/share/templates/audio.med b/muse2/share/templates/audio.med index 27a3a79f..df4463ff 100644 --- a/muse2/share/templates/audio.med +++ b/muse2/share/templates/audio.med @@ -9,13 +9,6 @@ 0 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 1 00:00:00:00:00 1 @@ -24,21 +17,10 @@ 0 0 0 - 0 - - + + 0 0 - - 1 - 418 600 - -
-1 9 8 7 6 5 4 3 2 1 0
-
- 0 - 266 - 0 -
2 @@ -292,68 +274,6 @@ - - 96 - 126 - 753 - - 934 - 488 - 000000ff00000000fd00000000000003ae0000019e00000004000000040000000800000008fc00000002000000020000000400000014004400720075006d00200074006f006f006c00730100000000ffffffff000000000000000000000014004500640069007400200054006f006f006c007301000000f5ffffffff000000000000000000000012007400720061006e00730070006f007200740100000198ffffffff00000000000000000000000a00700061006e0069006301000002be000000f8000000000000000000000002000000030000000c0063007500720073006f00720100000000ffffffff0000000000000000000000260050006f0073002f0053006e00610070002f0053006f006c006f002d0074006f006f006c00730100000081ffffffff000000000000000000000012004e006f0074006500200049006e0066006f01000001a90000020d0000000000000000 - 000000ff00000000fd00000000000004000000024d00000004000000040000000800000008fc0000000200000002000000050000001800460069006c006500200042007500740074006f006e007301000000000000008c000000000000000000000014004400720075006d00200074006f006f006c0073010000008cffffffff000000000000000000000014004500640069007400200054006f006f006c00730100000181ffffffff000000000000000000000012007400720061006e00730070006f007200740100000224ffffffff00000000000000000000000a00700061006e00690063010000034a000000b6000000000000000000000002000000030000000c0063007500720073006f00720100000000ffffffff0000000000000000000000260050006f0073002f0053006e00610070002f0053006f006c006f002d0074006f006f006c00730100000081ffffffff000000000000000000000012004e006f0074006500200049006e0066006f01000001a9000002570000000000000000 - 0 - 1 - 0 - - - - 96 - 0 - - 852 - 460 - 000000ff00000000fd000000000000035c0000018200000004000000040000000800000008fc0000000200000002000000040000001e005000690061006e006f0072006f006c006c00200074006f006f006c00730100000000ffffffff000000000000000000000014004500640069007400200054006f006f006c007301000000ae00000098000000000000000000000012007400720061006e00730070006f007200740100000146ffffffff00000000000000000000000a00700061006e00690063010000026c000000f800000000000000000000000200000002000000260050006f0073002f0053006e00610070002f0053006f006c006f002d0074006f006f006c00730100000000ffffffff000000000000000000000012004e006f0074006500200049006e0066006f0100000152000002120000000000000000 - 000000ff00000000fd00000000000004000000024d00000004000000040000000800000008fc0000000200000002000000050000001800460069006c006500200042007500740074006f006e007301000000000000008c00000000000000000000001e005000690061006e006f0072006f006c006c00200074006f006f006c0073010000008cffffffff000000000000000000000014004500640069007400200054006f006f006c0073010000013affffffff000000000000000000000012007400720061006e00730070006f0072007401000001bfffffffff00000000000000000000000a00700061006e0069006301000002e50000011b00000000000000000000000200000002000000260050006f0073002f0053006e00610070002f0053006f006c006f002d0074006f006f006c00730100000000ffffffff000000000000000000000012004e006f0074006500200049006e0066006f0100000152000002ae0000000000000000 - 0 - 1 - 0 - - - - - 867 - 544 - 000000ff00000000fd000000000000036b000001e300000004000000040000000800000008fc0000000200000002000000060000001e0055006e0064006f002f005200650064006f00200074006f006f006c00730100000000ffffffff00000000000000000000002800530074006500700020007200650063006f007200640069006e006700200074006f006f006c00730100000049ffffffff000000000000000000000014004500640069007400200054006f006f006c00730100000074ffffffff00000000000000000000002a005100750061006e007400690073006100740069006f006e002000730065007400740069006e0067007301000000dbffffffff000000000000000000000012007400720061006e00730070006f007200740100000203ffffffff00000000000000000000000a00700061006e006900630100000329000000420000000000000000000000020000000100000022004e006500770020006e006f00740065002000730065007400740069006e006700730100000000ffffffff0000000000000000 - 000000ff00000000fd00000000000004000000025900000004000000040000000800000008fc0000000200000002000000060000001800460069006c006500200042007500740074006f006e007301000000000000008c00000000000000000000001e0055006e0064006f002f005200650064006f00200074006f006f006c0073010000008cffffffff00000000000000000000002800530074006500700020007200650063006f007200640069006e006700200074006f006f006c007301000000d5ffffffff000000000000000000000014004500640069007400200054006f006f006c00730100000100ffffffff000000000000000000000012007400720061006e00730070006f007200740100000167ffffffff00000000000000000000000a00700061006e00690063010000028d000001730000000000000000000000020000000200000022004e006500770020006e006f00740065002000730065007400740069006e006700730100000000ffffffff00000000000000000000002a005100750061006e007400690073006100740069006f006e002000730065007400740069006e0067007301000002650000019b0000000000000000 - 0 - 1 - 0 - - - - 0 - - 784 - 544 - 000000ff00000000fd0000000000000318000001ce00000004000000040000000800000008fc0000000200000002000000040000001e0055006e0064006f002f005200650064006f00200074006f006f006c00730100000000ffffffff000000000000000000000014004500640069007400200054006f006f006c00730100000049ffffffff000000000000000000000012007400720061006e00730070006f0072007401000000b0ffffffff00000000000000000000000a00700061006e0069006301000001d600000142000000000000000000000002000000020000001a0045006e00610062006c00650020006d006100730074006500720100000000ffffffff0000000000000000000000080049006e0066006f010000005d000002bb0000000000000000 - 000000ff00000000fd00000000000004000000024500000004000000040000000800000008fc0000000200000002000000050000001800460069006c006500200042007500740074006f006e007301000000000000008c00000000000000000000001e0055006e0064006f002f005200650064006f00200074006f006f006c0073010000008cffffffff000000000000000000000014004500640069007400200054006f006f006c007301000000d500000071000000000000000000000012007400720061006e00730070006f007200740100000146ffffffff00000000000000000000000a00700061006e00690063010000026c00000194000000000000000000000002000000020000001a0045006e00610062006c00650020006d006100730074006500720100000000ffffffff0000000000000000000000080049006e0066006f010000005d000003a30000000000000000 - 0 - 1 - 0 - - - - - - 760 - 460 - 000000ff00000000fd0000000000000300000001ac00000004000000040000000800000008fc0000000100000002000000030000001e00570061007600650020006500640069007400200074006f006f006c00730100000000ffffffff00000000000000000000001c0057006100760065004500640069007400200074006f006f006c00730100000049ffffffff000000000000000000000012007400720061006e00730070006f007200740100000184ffffffff0000000000000000 - 000000ff00000000fd00000000000004000000027700000004000000040000000800000008fc0000000100000002000000040000001800460069006c006500200042007500740074006f006e007301000000000000008c00000000000000000000001e00570061007600650020006500640069007400200074006f006f006c0073010000008cffffffff00000000000000000000001c0057006100760065004500640069007400200074006f006f006c007301000000d5ffffffff000000000000000000000012007400720061006e00730070006f007200740100000210ffffffff0000000000000000 - 0 - 1 - 0 - - 1 @@ -444,6 +364,47 @@ 0 1 44100 + + Out 1 + 0 + 0 + 0 + 0 + 2 + 20 + 1 + 1 + 0 + 0 + 0 + + + + + + + + + Input 1 + 0 + 1 + 0 + 0 + 2 + 20 + 1 + 0 + 0 + 0 + 0 + 0 + + + + + + + Track 1 0 @@ -453,13 +414,12 @@ 1 20 0 - 1 0 0 - 1 + 0 0 0 - + @@ -477,10 +437,10 @@ 1 0 0 - 1 + 0 0 0 - + @@ -498,10 +458,10 @@ 0 0 0 - 1 + 0 0 0 - + @@ -519,10 +479,10 @@ 0 0 0 - 1 + 0 0 0 - + @@ -540,10 +500,10 @@ 1 0 0 - 1 + 0 0 0 - + @@ -561,10 +521,10 @@ 0 0 0 - 1 + 0 0 0 - + @@ -582,8 +542,8 @@ 1 0 0 - 1 - + 0 + @@ -601,54 +561,70 @@ 1 0 0 - 1 - + 0 + - - Input 1 - 0 - 1 - 0 - 0 - 2 - 20 - 1 - 0 - 0 - 1 - 0 - 0 - - - - - - - - - Out 1 - 0 - 0 - 0 - 0 - 2 - 20 - 1 - 0 - 0 - 1 - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 @@ -675,11 +651,24 @@ 1 - 01d9d0cb000100000000000000000000000003ff000002440000000000000000fffffffefffffffe000000000200 + 0 + 0 + 850 + 382 1 000000ff00000000fd00000000000000000000000000000004000000040000000800000008fc00000000 1 + + 1 + 370 477 + +
7 9 8 6 5 4 3 2 1 0
+
+ 0 + 266 + 0 +
diff --git a/muse2/share/templates/default.med b/muse2/share/templates/default.med index af50ee89..49ccbc02 100644 --- a/muse2/share/templates/default.med +++ b/muse2/share/templates/default.med @@ -17,21 +17,8 @@ 0 0 0 - 0 - - 0 0 - - 1 - 418 600 - -
-1 9 8 7 6 5 4 3 2 1 0
-
- 0 - 266 - 0 -
2 @@ -285,68 +272,6 @@ - - 96 - 126 - 753 - - 934 - 488 - 000000ff00000000fd00000000000003ae0000019e00000004000000040000000800000008fc00000002000000020000000400000014004400720075006d00200074006f006f006c00730100000000ffffffff000000000000000000000014004500640069007400200054006f006f006c007301000000f5ffffffff000000000000000000000012007400720061006e00730070006f007200740100000198ffffffff00000000000000000000000a00700061006e0069006301000002be000000f8000000000000000000000002000000030000000c0063007500720073006f00720100000000ffffffff0000000000000000000000260050006f0073002f0053006e00610070002f0053006f006c006f002d0074006f006f006c00730100000081ffffffff000000000000000000000012004e006f0074006500200049006e0066006f01000001a90000020d0000000000000000 - 000000ff00000000fd00000000000004000000024d00000004000000040000000800000008fc0000000200000002000000050000001800460069006c006500200042007500740074006f006e007301000000000000008c000000000000000000000014004400720075006d00200074006f006f006c0073010000008cffffffff000000000000000000000014004500640069007400200054006f006f006c00730100000181ffffffff000000000000000000000012007400720061006e00730070006f007200740100000224ffffffff00000000000000000000000a00700061006e00690063010000034a000000b6000000000000000000000002000000030000000c0063007500720073006f00720100000000ffffffff0000000000000000000000260050006f0073002f0053006e00610070002f0053006f006c006f002d0074006f006f006c00730100000081ffffffff000000000000000000000012004e006f0074006500200049006e0066006f01000001a9000002570000000000000000 - 0 - 1 - 0 - - - - 96 - 0 - - 852 - 460 - 000000ff00000000fd000000000000035c0000018200000004000000040000000800000008fc0000000200000002000000040000001e005000690061006e006f0072006f006c006c00200074006f006f006c00730100000000ffffffff000000000000000000000014004500640069007400200054006f006f006c007301000000ae00000098000000000000000000000012007400720061006e00730070006f007200740100000146ffffffff00000000000000000000000a00700061006e00690063010000026c000000f800000000000000000000000200000002000000260050006f0073002f0053006e00610070002f0053006f006c006f002d0074006f006f006c00730100000000ffffffff000000000000000000000012004e006f0074006500200049006e0066006f0100000152000002120000000000000000 - 000000ff00000000fd00000000000004000000024d00000004000000040000000800000008fc0000000200000002000000050000001800460069006c006500200042007500740074006f006e007301000000000000008c00000000000000000000001e005000690061006e006f0072006f006c006c00200074006f006f006c0073010000008cffffffff000000000000000000000014004500640069007400200054006f006f006c0073010000013affffffff000000000000000000000012007400720061006e00730070006f0072007401000001bfffffffff00000000000000000000000a00700061006e0069006301000002e50000011b00000000000000000000000200000002000000260050006f0073002f0053006e00610070002f0053006f006c006f002d0074006f006f006c00730100000000ffffffff000000000000000000000012004e006f0074006500200049006e0066006f0100000152000002ae0000000000000000 - 0 - 1 - 0 - - - - - 867 - 544 - 000000ff00000000fd000000000000036b000001e300000004000000040000000800000008fc0000000200000002000000060000001e0055006e0064006f002f005200650064006f00200074006f006f006c00730100000000ffffffff00000000000000000000002800530074006500700020007200650063006f007200640069006e006700200074006f006f006c00730100000049ffffffff000000000000000000000014004500640069007400200054006f006f006c00730100000074ffffffff00000000000000000000002a005100750061006e007400690073006100740069006f006e002000730065007400740069006e0067007301000000dbffffffff000000000000000000000012007400720061006e00730070006f007200740100000203ffffffff00000000000000000000000a00700061006e006900630100000329000000420000000000000000000000020000000100000022004e006500770020006e006f00740065002000730065007400740069006e006700730100000000ffffffff0000000000000000 - 000000ff00000000fd00000000000004000000025900000004000000040000000800000008fc0000000200000002000000060000001800460069006c006500200042007500740074006f006e007301000000000000008c00000000000000000000001e0055006e0064006f002f005200650064006f00200074006f006f006c0073010000008cffffffff00000000000000000000002800530074006500700020007200650063006f007200640069006e006700200074006f006f006c007301000000d5ffffffff000000000000000000000014004500640069007400200054006f006f006c00730100000100ffffffff000000000000000000000012007400720061006e00730070006f007200740100000167ffffffff00000000000000000000000a00700061006e00690063010000028d000001730000000000000000000000020000000200000022004e006500770020006e006f00740065002000730065007400740069006e006700730100000000ffffffff00000000000000000000002a005100750061006e007400690073006100740069006f006e002000730065007400740069006e0067007301000002650000019b0000000000000000 - 0 - 1 - 0 - - - - 0 - - 784 - 544 - 000000ff00000000fd0000000000000318000001ce00000004000000040000000800000008fc0000000200000002000000040000001e0055006e0064006f002f005200650064006f00200074006f006f006c00730100000000ffffffff000000000000000000000014004500640069007400200054006f006f006c00730100000049ffffffff000000000000000000000012007400720061006e00730070006f0072007401000000b0ffffffff00000000000000000000000a00700061006e0069006301000001d600000142000000000000000000000002000000020000001a0045006e00610062006c00650020006d006100730074006500720100000000ffffffff0000000000000000000000080049006e0066006f010000005d000002bb0000000000000000 - 000000ff00000000fd00000000000004000000024500000004000000040000000800000008fc0000000200000002000000050000001800460069006c006500200042007500740074006f006e007301000000000000008c00000000000000000000001e0055006e0064006f002f005200650064006f00200074006f006f006c0073010000008cffffffff000000000000000000000014004500640069007400200054006f006f006c007301000000d500000071000000000000000000000012007400720061006e00730070006f007200740100000146ffffffff00000000000000000000000a00700061006e00690063010000026c00000194000000000000000000000002000000020000001a0045006e00610062006c00650020006d006100730074006500720100000000ffffffff0000000000000000000000080049006e0066006f010000005d000003a30000000000000000 - 0 - 1 - 0 - - - - - - 760 - 460 - 000000ff00000000fd0000000000000300000001ac00000004000000040000000800000008fc0000000100000002000000030000001e00570061007600650020006500640069007400200074006f006f006c00730100000000ffffffff00000000000000000000001c0057006100760065004500640069007400200074006f006f006c00730100000049ffffffff000000000000000000000012007400720061006e00730070006f007200740100000184ffffffff0000000000000000 - 000000ff00000000fd00000000000004000000027700000004000000040000000800000008fc0000000100000002000000040000001800460069006c006500200042007500740074006f006e007301000000000000008c00000000000000000000001e00570061007600650020006500640069007400200074006f006f006c0073010000008cffffffff00000000000000000000001c0057006100760065004500640069007400200074006f006f006c007301000000d5ffffffff000000000000000000000012007400720061006e00730070006f007200740100000210ffffffff0000000000000000 - 0 - 1 - 0 - - 1 @@ -465,8 +390,6 @@ - - 0 @@ -493,11 +416,25 @@ 1 - 01d9d0cb000100000000000000000000000003ff000002440000000000000000000003ff00000244000000000000 + 0 + 0 + 850 + 382 1 000000ff00000000fd00000000000000000000000000000004000000040000000800000008fc00000000 1 + + 1 + 440 407 + +
7 9 8 6 5 4 3 2 1 0
+
+ 0 + 266 + 0 +
+ \ No newline at end of file diff --git a/muse2/share/templates/midiGM.med b/muse2/share/templates/midiGM.med index b2da48e4..54ec99a0 100644 --- a/muse2/share/templates/midiGM.med +++ b/muse2/share/templates/midiGM.med @@ -9,13 +9,6 @@ 0 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 1 00:00:00:00:00 1 @@ -24,21 +17,10 @@ 0 0 0 - 0 - - + + 0 0 - - 1 - 418 600 - -
-1 9 8 7 6 5 4 3 2 1 0
-
- 0 - 266 - 0 -
2 @@ -340,68 +322,6 @@ - - 96 - 126 - 753 - - 934 - 488 - 000000ff00000000fd00000000000003ae0000019e00000004000000040000000800000008fc00000002000000020000000400000014004400720075006d00200074006f006f006c00730100000000ffffffff000000000000000000000014004500640069007400200054006f006f006c007301000000f5ffffffff000000000000000000000012007400720061006e00730070006f007200740100000198ffffffff00000000000000000000000a00700061006e0069006301000002be000000f8000000000000000000000002000000030000000c0063007500720073006f00720100000000ffffffff0000000000000000000000260050006f0073002f0053006e00610070002f0053006f006c006f002d0074006f006f006c00730100000081ffffffff000000000000000000000012004e006f0074006500200049006e0066006f01000001a90000020d0000000000000000 - 000000ff00000000fd00000000000004000000024d00000004000000040000000800000008fc0000000200000002000000050000001800460069006c006500200042007500740074006f006e007301000000000000008c000000000000000000000014004400720075006d00200074006f006f006c0073010000008cffffffff000000000000000000000014004500640069007400200054006f006f006c00730100000181ffffffff000000000000000000000012007400720061006e00730070006f007200740100000224ffffffff00000000000000000000000a00700061006e00690063010000034a000000b6000000000000000000000002000000030000000c0063007500720073006f00720100000000ffffffff0000000000000000000000260050006f0073002f0053006e00610070002f0053006f006c006f002d0074006f006f006c00730100000081ffffffff000000000000000000000012004e006f0074006500200049006e0066006f01000001a9000002570000000000000000 - 0 - 1 - 0 - - - - 96 - 0 - - 852 - 460 - 000000ff00000000fd000000000000035c0000018200000004000000040000000800000008fc0000000200000002000000040000001e005000690061006e006f0072006f006c006c00200074006f006f006c00730100000000ffffffff000000000000000000000014004500640069007400200054006f006f006c007301000000ae00000098000000000000000000000012007400720061006e00730070006f007200740100000146ffffffff00000000000000000000000a00700061006e00690063010000026c000000f800000000000000000000000200000002000000260050006f0073002f0053006e00610070002f0053006f006c006f002d0074006f006f006c00730100000000ffffffff000000000000000000000012004e006f0074006500200049006e0066006f0100000152000002120000000000000000 - 000000ff00000000fd00000000000004000000024d00000004000000040000000800000008fc0000000200000002000000050000001800460069006c006500200042007500740074006f006e007301000000000000008c00000000000000000000001e005000690061006e006f0072006f006c006c00200074006f006f006c0073010000008cffffffff000000000000000000000014004500640069007400200054006f006f006c0073010000013affffffff000000000000000000000012007400720061006e00730070006f0072007401000001bfffffffff00000000000000000000000a00700061006e0069006301000002e50000011b00000000000000000000000200000002000000260050006f0073002f0053006e00610070002f0053006f006c006f002d0074006f006f006c00730100000000ffffffff000000000000000000000012004e006f0074006500200049006e0066006f0100000152000002ae0000000000000000 - 0 - 1 - 0 - - - - - 867 - 544 - 000000ff00000000fd000000000000036b000001e300000004000000040000000800000008fc0000000200000002000000060000001e0055006e0064006f002f005200650064006f00200074006f006f006c00730100000000ffffffff00000000000000000000002800530074006500700020007200650063006f007200640069006e006700200074006f006f006c00730100000049ffffffff000000000000000000000014004500640069007400200054006f006f006c00730100000074ffffffff00000000000000000000002a005100750061006e007400690073006100740069006f006e002000730065007400740069006e0067007301000000dbffffffff000000000000000000000012007400720061006e00730070006f007200740100000203ffffffff00000000000000000000000a00700061006e006900630100000329000000420000000000000000000000020000000100000022004e006500770020006e006f00740065002000730065007400740069006e006700730100000000ffffffff0000000000000000 - 000000ff00000000fd00000000000004000000025900000004000000040000000800000008fc0000000200000002000000060000001800460069006c006500200042007500740074006f006e007301000000000000008c00000000000000000000001e0055006e0064006f002f005200650064006f00200074006f006f006c0073010000008cffffffff00000000000000000000002800530074006500700020007200650063006f007200640069006e006700200074006f006f006c007301000000d5ffffffff000000000000000000000014004500640069007400200054006f006f006c00730100000100ffffffff000000000000000000000012007400720061006e00730070006f007200740100000167ffffffff00000000000000000000000a00700061006e00690063010000028d000001730000000000000000000000020000000200000022004e006500770020006e006f00740065002000730065007400740069006e006700730100000000ffffffff00000000000000000000002a005100750061006e007400690073006100740069006f006e002000730065007400740069006e0067007301000002650000019b0000000000000000 - 0 - 1 - 0 - - - - 0 - - 784 - 544 - 000000ff00000000fd0000000000000318000001ce00000004000000040000000800000008fc0000000200000002000000040000001e0055006e0064006f002f005200650064006f00200074006f006f006c00730100000000ffffffff000000000000000000000014004500640069007400200054006f006f006c00730100000049ffffffff000000000000000000000012007400720061006e00730070006f0072007401000000b0ffffffff00000000000000000000000a00700061006e0069006301000001d600000142000000000000000000000002000000020000001a0045006e00610062006c00650020006d006100730074006500720100000000ffffffff0000000000000000000000080049006e0066006f010000005d000002bb0000000000000000 - 000000ff00000000fd00000000000004000000024500000004000000040000000800000008fc0000000200000002000000050000001800460069006c006500200042007500740074006f006e007301000000000000008c00000000000000000000001e0055006e0064006f002f005200650064006f00200074006f006f006c0073010000008cffffffff000000000000000000000014004500640069007400200054006f006f006c007301000000d500000071000000000000000000000012007400720061006e00730070006f007200740100000146ffffffff00000000000000000000000a00700061006e00690063010000026c00000194000000000000000000000002000000020000001a0045006e00610062006c00650020006d006100730074006500720100000000ffffffff0000000000000000000000080049006e0066006f010000005d000003a30000000000000000 - 0 - 1 - 0 - - - - - - 760 - 460 - 000000ff00000000fd0000000000000300000001ac00000004000000040000000800000008fc0000000100000002000000030000001e00570061007600650020006500640069007400200074006f006f006c00730100000000ffffffff00000000000000000000001c0057006100760065004500640069007400200074006f006f006c00730100000049ffffffff000000000000000000000012007400720061006e00730070006f007200740100000184ffffffff0000000000000000 - 000000ff00000000fd00000000000004000000027700000004000000040000000800000008fc0000000100000002000000040000001800460069006c006500200042007500740074006f006e007301000000000000008c00000000000000000000001e00570061007600650020006500640069007400200074006f006f006c0073010000008cffffffff00000000000000000000001c0057006100760065004500640069007400200074006f006f006c007301000000d5ffffffff000000000000000000000012007400720061006e00730070006f007200740100000210ffffffff0000000000000000 - 0 - 1 - 0 - - 1 @@ -644,11 +564,24 @@ 1 - 01d9d0cb000100000000000000000000000003ff000002440000000000000000000003ff00000244000000000000 + 0 + 0 + 850 + 382 1 000000ff00000000fd00000000000000000000000000000004000000040000000800000008fc00000000 1 + + 1 + 557 290 + +
7 9 8 6 5 4 3 2 1 0
+
+ 0 + 266 + 0 +
diff --git a/muse2/share/templates/monorecord.med b/muse2/share/templates/monorecord.med index dfcc2c78..4651a7eb 100644 --- a/muse2/share/templates/monorecord.med +++ b/muse2/share/templates/monorecord.med @@ -9,13 +9,6 @@ 0 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 1 00:00:00:00:00 1 @@ -24,21 +17,10 @@ 0 0 0 - 0 - - + + 0 0 - - 1 - 418 600 - -
-1 9 8 7 6 5 4 3 2 1 0
-
- 0 - 266 - 0 -
2 @@ -291,69 +273,400 @@
+ + generic midi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + generic midi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + generic midi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - 96 - 126 - 753 - - 934 - 488 - 000000ff00000000fd00000000000003ae0000019e00000004000000040000000800000008fc00000002000000020000000400000014004400720075006d00200074006f006f006c00730100000000ffffffff000000000000000000000014004500640069007400200054006f006f006c007301000000f5ffffffff000000000000000000000012007400720061006e00730070006f007200740100000198ffffffff00000000000000000000000a00700061006e0069006301000002be000000f8000000000000000000000002000000030000000c0063007500720073006f00720100000000ffffffff0000000000000000000000260050006f0073002f0053006e00610070002f0053006f006c006f002d0074006f006f006c00730100000081ffffffff000000000000000000000012004e006f0074006500200049006e0066006f01000001a90000020d0000000000000000 - 000000ff00000000fd00000000000004000000024d00000004000000040000000800000008fc0000000200000002000000050000001800460069006c006500200042007500740074006f006e007301000000000000008c000000000000000000000014004400720075006d00200074006f006f006c0073010000008cffffffff000000000000000000000014004500640069007400200054006f006f006c00730100000181ffffffff000000000000000000000012007400720061006e00730070006f007200740100000224ffffffff00000000000000000000000a00700061006e00690063010000034a000000b6000000000000000000000002000000030000000c0063007500720073006f00720100000000ffffffff0000000000000000000000260050006f0073002f0053006e00610070002f0053006f006c006f002d0074006f006f006c00730100000081ffffffff000000000000000000000012004e006f0074006500200049006e0066006f01000001a9000002570000000000000000 - 0 - 1 - 0 - - - - 96 - 0 - - 852 - 460 - 000000ff00000000fd000000000000035c0000018200000004000000040000000800000008fc0000000200000002000000040000001e005000690061006e006f0072006f006c006c00200074006f006f006c00730100000000ffffffff000000000000000000000014004500640069007400200054006f006f006c007301000000ae00000098000000000000000000000012007400720061006e00730070006f007200740100000146ffffffff00000000000000000000000a00700061006e00690063010000026c000000f800000000000000000000000200000002000000260050006f0073002f0053006e00610070002f0053006f006c006f002d0074006f006f006c00730100000000ffffffff000000000000000000000012004e006f0074006500200049006e0066006f0100000152000002120000000000000000 - 000000ff00000000fd00000000000004000000024d00000004000000040000000800000008fc0000000200000002000000050000001800460069006c006500200042007500740074006f006e007301000000000000008c00000000000000000000001e005000690061006e006f0072006f006c006c00200074006f006f006c0073010000008cffffffff000000000000000000000014004500640069007400200054006f006f006c0073010000013affffffff000000000000000000000012007400720061006e00730070006f0072007401000001bfffffffff00000000000000000000000a00700061006e0069006301000002e50000011b00000000000000000000000200000002000000260050006f0073002f0053006e00610070002f0053006f006c006f002d0074006f006f006c00730100000000ffffffff000000000000000000000012004e006f0074006500200049006e0066006f0100000152000002ae0000000000000000 - 0 - 1 - 0 - - - - - 867 - 544 - 000000ff00000000fd000000000000036b000001e300000004000000040000000800000008fc0000000200000002000000060000001e0055006e0064006f002f005200650064006f00200074006f006f006c00730100000000ffffffff00000000000000000000002800530074006500700020007200650063006f007200640069006e006700200074006f006f006c00730100000049ffffffff000000000000000000000014004500640069007400200054006f006f006c00730100000074ffffffff00000000000000000000002a005100750061006e007400690073006100740069006f006e002000730065007400740069006e0067007301000000dbffffffff000000000000000000000012007400720061006e00730070006f007200740100000203ffffffff00000000000000000000000a00700061006e006900630100000329000000420000000000000000000000020000000100000022004e006500770020006e006f00740065002000730065007400740069006e006700730100000000ffffffff0000000000000000 - 000000ff00000000fd00000000000004000000025900000004000000040000000800000008fc0000000200000002000000060000001800460069006c006500200042007500740074006f006e007301000000000000008c00000000000000000000001e0055006e0064006f002f005200650064006f00200074006f006f006c0073010000008cffffffff00000000000000000000002800530074006500700020007200650063006f007200640069006e006700200074006f006f006c007301000000d5ffffffff000000000000000000000014004500640069007400200054006f006f006c00730100000100ffffffff000000000000000000000012007400720061006e00730070006f007200740100000167ffffffff00000000000000000000000a00700061006e00690063010000028d000001730000000000000000000000020000000200000022004e006500770020006e006f00740065002000730065007400740069006e006700730100000000ffffffff00000000000000000000002a005100750061006e007400690073006100740069006f006e002000730065007400740069006e0067007301000002650000019b0000000000000000 - 0 - 1 - 0 - - - - 0 - - 784 - 544 - 000000ff00000000fd0000000000000318000001ce00000004000000040000000800000008fc0000000200000002000000040000001e0055006e0064006f002f005200650064006f00200074006f006f006c00730100000000ffffffff000000000000000000000014004500640069007400200054006f006f006c00730100000049ffffffff000000000000000000000012007400720061006e00730070006f0072007401000000b0ffffffff00000000000000000000000a00700061006e0069006301000001d600000142000000000000000000000002000000020000001a0045006e00610062006c00650020006d006100730074006500720100000000ffffffff0000000000000000000000080049006e0066006f010000005d000002bb0000000000000000 - 000000ff00000000fd00000000000004000000024500000004000000040000000800000008fc0000000200000002000000050000001800460069006c006500200042007500740074006f006e007301000000000000008c00000000000000000000001e0055006e0064006f002f005200650064006f00200074006f006f006c0073010000008cffffffff000000000000000000000014004500640069007400200054006f006f006c007301000000d500000071000000000000000000000012007400720061006e00730070006f007200740100000146ffffffff00000000000000000000000a00700061006e00690063010000026c00000194000000000000000000000002000000020000001a0045006e00610062006c00650020006d006100730074006500720100000000ffffffff0000000000000000000000080049006e0066006f010000005d000003a30000000000000000 - 0 - 1 - 0 - - - - - - 760 - 460 - 000000ff00000000fd0000000000000300000001ac00000004000000040000000800000008fc0000000100000002000000030000001e00570061007600650020006500640069007400200074006f006f006c00730100000000ffffffff00000000000000000000001c0057006100760065004500640069007400200074006f006f006c00730100000049ffffffff000000000000000000000012007400720061006e00730070006f007200740100000184ffffffff0000000000000000 - 000000ff00000000fd00000000000004000000027700000004000000040000000800000008fc0000000100000002000000040000001800460069006c006500200042007500740074006f006e007301000000000000008c00000000000000000000001e00570061007600650020006500640069007400200074006f006f006c0073010000008cffffffff00000000000000000000001c0057006100760065004500640069007400200074006f006f006c007301000000d5ffffffff000000000000000000000012007400720061006e00730070006f007200740100000210ffffffff0000000000000000 - 0 - 1 - 0 - - 1 @@ -444,15 +757,15 @@ 0 1 44100 - - Track 1 - 1 + + Out 1 + 0 0 0 0 1 20 - 0 + 1 0 0 0 @@ -462,7 +775,7 @@
-
+ Input 1 0 @@ -472,7 +785,6 @@ 1 20 1 - 1 0 0 0 @@ -483,33 +795,42 @@ - - Out 1 - 0 + + Track 1 + 1 0 0 0 1 20 - 1 + 0 + 1 0 0 0 - + - - - - + + + + + + + + + + + + 0 @@ -536,11 +857,24 @@ 1 - 01d9d0cb000100000000000000000000000003ff000002440000000000000000000003ff00000244000000000000 + 0 + 0 + 850 + 382 1 000000ff00000000fd00000000000000000000000000000004000000040000000800000008fc00000000 1 + + 1 + 557 290 + +
7 9 8 6 5 4 3 2 1 0
+
+ 0 + 266 + 0 +
diff --git a/muse2/share/templates/synti.med b/muse2/share/templates/synti.med index 1198359c..e242e775 100644 --- a/muse2/share/templates/synti.med +++ b/muse2/share/templates/synti.med @@ -9,13 +9,6 @@ 0 0 0 - 1 - 1 - 1 - 1 - 1 - 1 - 1 1 00:00:00:00:00 1 @@ -24,21 +17,10 @@ 0 0 0 - 0 - - + + 0 0 - - 1 - 418 600 - -
-1 9 8 7 6 5 4 3 2 1 0
-
- 0 - 266 - 0 -
2 @@ -430,7 +412,7 @@ - General Midi + generic midi @@ -695,68 +677,6 @@ - - 96 - 126 - 753 - - 934 - 488 - 000000ff00000000fd00000000000003ae0000019e00000004000000040000000800000008fc00000002000000020000000400000014004400720075006d00200074006f006f006c00730100000000ffffffff000000000000000000000014004500640069007400200054006f006f006c007301000000f5ffffffff000000000000000000000012007400720061006e00730070006f007200740100000198ffffffff00000000000000000000000a00700061006e0069006301000002be000000f8000000000000000000000002000000030000000c0063007500720073006f00720100000000ffffffff0000000000000000000000260050006f0073002f0053006e00610070002f0053006f006c006f002d0074006f006f006c00730100000081ffffffff000000000000000000000012004e006f0074006500200049006e0066006f01000001a90000020d0000000000000000 - 000000ff00000000fd00000000000004000000024d00000004000000040000000800000008fc0000000200000002000000050000001800460069006c006500200042007500740074006f006e007301000000000000008c000000000000000000000014004400720075006d00200074006f006f006c0073010000008cffffffff000000000000000000000014004500640069007400200054006f006f006c00730100000181ffffffff000000000000000000000012007400720061006e00730070006f007200740100000224ffffffff00000000000000000000000a00700061006e00690063010000034a000000b6000000000000000000000002000000030000000c0063007500720073006f00720100000000ffffffff0000000000000000000000260050006f0073002f0053006e00610070002f0053006f006c006f002d0074006f006f006c00730100000081ffffffff000000000000000000000012004e006f0074006500200049006e0066006f01000001a9000002570000000000000000 - 0 - 1 - 0 - - - - 96 - 0 - - 852 - 460 - 000000ff00000000fd000000000000035c0000018200000004000000040000000800000008fc0000000200000002000000040000001e005000690061006e006f0072006f006c006c00200074006f006f006c00730100000000ffffffff000000000000000000000014004500640069007400200054006f006f006c007301000000ae00000098000000000000000000000012007400720061006e00730070006f007200740100000146ffffffff00000000000000000000000a00700061006e00690063010000026c000000f800000000000000000000000200000002000000260050006f0073002f0053006e00610070002f0053006f006c006f002d0074006f006f006c00730100000000ffffffff000000000000000000000012004e006f0074006500200049006e0066006f0100000152000002120000000000000000 - 000000ff00000000fd00000000000004000000024d00000004000000040000000800000008fc0000000200000002000000050000001800460069006c006500200042007500740074006f006e007301000000000000008c00000000000000000000001e005000690061006e006f0072006f006c006c00200074006f006f006c0073010000008cffffffff000000000000000000000014004500640069007400200054006f006f006c0073010000013affffffff000000000000000000000012007400720061006e00730070006f0072007401000001bfffffffff00000000000000000000000a00700061006e0069006301000002e50000011b00000000000000000000000200000002000000260050006f0073002f0053006e00610070002f0053006f006c006f002d0074006f006f006c00730100000000ffffffff000000000000000000000012004e006f0074006500200049006e0066006f0100000152000002ae0000000000000000 - 0 - 1 - 0 - - - - - 867 - 544 - 000000ff00000000fd000000000000036b000001e300000004000000040000000800000008fc0000000200000002000000060000001e0055006e0064006f002f005200650064006f00200074006f006f006c00730100000000ffffffff00000000000000000000002800530074006500700020007200650063006f007200640069006e006700200074006f006f006c00730100000049ffffffff000000000000000000000014004500640069007400200054006f006f006c00730100000074ffffffff00000000000000000000002a005100750061006e007400690073006100740069006f006e002000730065007400740069006e0067007301000000dbffffffff000000000000000000000012007400720061006e00730070006f007200740100000203ffffffff00000000000000000000000a00700061006e006900630100000329000000420000000000000000000000020000000100000022004e006500770020006e006f00740065002000730065007400740069006e006700730100000000ffffffff0000000000000000 - 000000ff00000000fd00000000000004000000025900000004000000040000000800000008fc0000000200000002000000060000001800460069006c006500200042007500740074006f006e007301000000000000008c00000000000000000000001e0055006e0064006f002f005200650064006f00200074006f006f006c0073010000008cffffffff00000000000000000000002800530074006500700020007200650063006f007200640069006e006700200074006f006f006c007301000000d5ffffffff000000000000000000000014004500640069007400200054006f006f006c00730100000100ffffffff000000000000000000000012007400720061006e00730070006f007200740100000167ffffffff00000000000000000000000a00700061006e00690063010000028d000001730000000000000000000000020000000200000022004e006500770020006e006f00740065002000730065007400740069006e006700730100000000ffffffff00000000000000000000002a005100750061006e007400690073006100740069006f006e002000730065007400740069006e0067007301000002650000019b0000000000000000 - 0 - 1 - 0 - - - - 0 - - 784 - 544 - 000000ff00000000fd0000000000000318000001ce00000004000000040000000800000008fc0000000200000002000000040000001e0055006e0064006f002f005200650064006f00200074006f006f006c00730100000000ffffffff000000000000000000000014004500640069007400200054006f006f006c00730100000049ffffffff000000000000000000000012007400720061006e00730070006f0072007401000000b0ffffffff00000000000000000000000a00700061006e0069006301000001d600000142000000000000000000000002000000020000001a0045006e00610062006c00650020006d006100730074006500720100000000ffffffff0000000000000000000000080049006e0066006f010000005d000002bb0000000000000000 - 000000ff00000000fd00000000000004000000024500000004000000040000000800000008fc0000000200000002000000050000001800460069006c006500200042007500740074006f006e007301000000000000008c00000000000000000000001e0055006e0064006f002f005200650064006f00200074006f006f006c0073010000008cffffffff000000000000000000000014004500640069007400200054006f006f006c007301000000d500000071000000000000000000000012007400720061006e00730070006f007200740100000146ffffffff00000000000000000000000a00700061006e00690063010000026c00000194000000000000000000000002000000020000001a0045006e00610062006c00650020006d006100730074006500720100000000ffffffff0000000000000000000000080049006e0066006f010000005d000003a30000000000000000 - 0 - 1 - 0 - - - - - - 760 - 460 - 000000ff00000000fd0000000000000300000001ac00000004000000040000000800000008fc0000000100000002000000030000001e00570061007600650020006500640069007400200074006f006f006c00730100000000ffffffff00000000000000000000001c0057006100760065004500640069007400200074006f006f006c00730100000049ffffffff000000000000000000000012007400720061006e00730070006f007200740100000184ffffffff0000000000000000 - 000000ff00000000fd00000000000004000000027700000004000000040000000800000008fc0000000100000002000000040000001800460069006c006500200042007500740074006f006e007301000000000000008c00000000000000000000001e00570061007600650020006500640069007400200074006f006f006c0073010000008cffffffff00000000000000000000001c0057006100760065004500640069007400200074006f006f006c007301000000d5ffffffff000000000000000000000012007400720061006e00730070006f007200740100000210ffffffff0000000000000000 - 0 - 1 - 0 - - 1 @@ -830,7 +750,7 @@ 1 0 - 12288 + 0 0 0 1 @@ -847,6 +767,25 @@ 18432 1 44100 + + Out 1 + 0 + 0 + 0 + 0 + 2 + 20 + 0 + 0 + 0 + 0 + + + + + + + Track 1 0 @@ -856,6 +795,7 @@ 0 20 0 + 1 0 0 0 @@ -870,30 +810,10 @@ Track 1 - 1 + 0 0 - - Out 1 - 0 - 0 - 0 - 0 - 2 - 20 - 0 - 1 - 0 - 0 - 0 - - - - - - - fluid-1 0 @@ -906,12 +826,13 @@ 0 0 0 - + + MESS fluid 1 @@ -932,15 +853,16 @@ 0 - + + MESS organ 0 0 - + @@ -964,17 +886,18 @@ 0 0 0 - + + MESS vam 3 0 - + @@ -990,6 +913,14 @@ + + + + + + + + @@ -1044,11 +975,24 @@ 1 - 01d9d0cb000100000000000000000000000003ff000002440000000000000000000003ff00000244000000000000 + 0 + 0 + 850 + 382 1 000000ff00000000fd00000000000000000000000000000004000000040000000800000008fc00000000 1 + + 1 + 370 477 + +
7 9 8 6 5 4 3 2 1 0
+
+ 0 + 266 + 0 +
diff --git a/muse2/synti/fluid/CMakeLists.txt b/muse2/synti/fluid/CMakeLists.txt index 8109493b..3789a745 100644 --- a/muse2/synti/fluid/CMakeLists.txt +++ b/muse2/synti/fluid/CMakeLists.txt @@ -73,7 +73,6 @@ set (FILES_TO_TRANSLATE set_target_properties ( fluid PROPERTIES PREFIX "" COMPILE_FLAGS "-fvisibility=hidden -include ${PROJECT_BINARY_DIR}/all-pic.h" - # LINK_FLAGS "${FLUIDSYN_LDFLAGS}" # "-lfluidsynth" ) ## @@ -82,11 +81,6 @@ set_target_properties ( fluid target_link_libraries(fluid synti ${QT_LIBRARIES} - # Can't do this. FLUIDSYN_LIBRARIES = fluidsynth, which is the name - # of our fluidsynth.so shared synthesizer library. - # This caused ../fluidsynth/fluidsynth.so to appear in the link line. - # Nov 1, 2011. fluidsynth module renamed fluid_synth to avoid bizarre new conflict on Ubuntu 11.10, seems due to LINK_FLAGS line. - # Got undefined symbol fluid_synth_cc, in fluid, at startup at runtime. So we can enable this now. ${FLUIDSYN_LIBRARIES} ) diff --git a/muse2/synti/fluidsynth/CMakeLists.txt b/muse2/synti/fluidsynth/CMakeLists.txt index 0e9f90bb..8ac178be 100644 --- a/muse2/synti/fluidsynth/CMakeLists.txt +++ b/muse2/synti/fluidsynth/CMakeLists.txt @@ -54,8 +54,6 @@ file (GLOB fluidsynth_source_files ## ## Define target ## -# Nov 1, 2011. fluidsynth module renamed fluid_synth to avoid bizarre new conflict on Ubuntu 11.10, seems due to LINK_FLAGS line. -# Got undefined symbol fluid_synth_set_reverb at startup at runtime. add_library ( fluid_synth SHARED ${fluidsynth_source_files} ${fluidsynth_mocs} @@ -83,7 +81,6 @@ set (FILES_TO_TRANSLATE set_target_properties ( fluid_synth PROPERTIES PREFIX "" COMPILE_FLAGS "-fvisibility=hidden -include ${PROJECT_BINARY_DIR}/all-pic.h" - # LINK_FLAGS "${FLUIDSYN_LDFLAGS}" # "-lfluidsynth" ) ## @@ -92,9 +89,6 @@ set_target_properties ( fluid_synth target_link_libraries(fluid_synth synti ${QT_LIBRARIES} - # Can't do this here, since FLUIDSYN_LIBRARIES evaluates - # to 'fluidsynth', the same name as our target. - # Fixed Nov 1, 2011 ${FLUIDSYN_LIBRARIES} ) -- cgit v1.2.3