From 5669de5d2d1b978bd34c80964d299688282d7027 Mon Sep 17 00:00:00 2001 From: Florian Jung Date: Sun, 4 Sep 2011 17:43:39 +0000 Subject: added paste dialog plus minor fixes: - moved and changed muse.pro file - added update_pro.sh and update_translations.sh - updated translations - moved stuff from functions.cpp out to dialogs.cpp - fixed behaviour of movePartsTotheRight(): parts which begin at "start of move" aren't expanded, but moved now --- muse2/muse.pro | 1302 ++++++++++++++++++++++++++------------------------------ 1 file changed, 612 insertions(+), 690 deletions(-) (limited to 'muse2/muse.pro') diff --git a/muse2/muse.pro b/muse2/muse.pro index 4f19f2b4..03f31e71 100644 --- a/muse2/muse.pro +++ b/muse2/muse.pro @@ -1,695 +1,617 @@ HEADERS = \ -./muse/midictrl.h \ -./muse/driver/timerdev.h \ -./muse/driver/audiodev.h \ -./muse/driver/jackmidi.h \ -./muse/driver/alsamidi.h \ -./muse/driver/jackaudio.h \ -./muse/driver/rtctimer.h \ -./muse/driver/alsatimer.h \ -./muse/gconfig.h \ -./muse/remote/pyapi.h \ -./muse/part.h \ -./muse/app.h \ -./muse/plugin.h \ -./muse/synth.h \ -./muse/song.h \ -./muse/instruments/minstrument.h \ -./muse/instruments/editinstrument.h \ -./muse/instruments/ccontrolbase.h \ -./muse/instruments/editinstrumentbase.h \ -./muse/instruments/midictrledit.h \ -./muse/midievent.h \ -./muse/dssihost.h \ -./muse/master/master.h \ -./muse/master/tscale.h \ -./muse/master/masteredit.h \ -./muse/master/lmaster.h \ -./muse/stringparam.h \ -./muse/conf.h \ -./muse/key.h \ -./muse/thread.h \ -./muse/sig.h \ -./muse/arranger/alayout.h \ -./muse/arranger/arranger.h \ -./muse/arranger/trackautomationview.h \ -./muse/arranger/pcanvas.h \ -./muse/arranger/tlist.h \ -./muse/globaldefs.h \ -./muse/midi.h \ -./muse/osc.h \ -./muse/mpevent.h \ -./muse/pos.h \ -./muse/waveevent.h \ -./muse/audioprefetch.h \ -./muse/transpose.h \ -./muse/waveedit/waveview.h \ -./muse/waveedit/waveedit.h \ -./muse/waveedit/editgain.h \ -./muse/waveedit/editgainbase.h \ -./muse/mtc.h \ -./muse/patchbay/patchbay.h \ -./muse/default_click.h \ -./muse/ctrl.h \ -./muse/tempo.h \ -./muse/ctrl/ctrlcanvas.h \ -./muse/ctrl/ctrlpanel.h \ -./muse/ctrl/ctrledit.h \ -./muse/eventbase.h \ -./muse/debug.h \ -./muse/ticksynth.h \ -./muse/ladspa.h \ -./muse/midifile.h \ -./muse/audioconvert.h \ -./muse/transport.h \ -./muse/cobject.h \ -./muse/fastlog.h \ -./muse/cliplist/cliplist.h \ -./muse/mididev.h \ -./muse/value.h \ -./muse/miditransform.h \ -./muse/appearance.h \ -./muse/undo.h \ -./muse/widgets/tb1.h \ -./muse/widgets/canvas.h \ -./muse/widgets/sclif.h \ -./muse/widgets/citem.h \ -./muse/widgets/lcombo.h \ -./muse/widgets/aboutbox_impl.h \ -./muse/widgets/appearancebase.h \ -./muse/widgets/mixdowndialogbase.h \ -./muse/widgets/pitchedit.h \ -./muse/widgets/intlabel.h \ -./muse/widgets/songinfo.h \ -./muse/widgets/nentry.h \ -./muse/widgets/fdialogbuttons.h \ -./muse/widgets/wtscale.h \ -./muse/widgets/posedit.h \ -./muse/widgets/sigscale.h \ -./muse/widgets/metronome.h \ -./muse/widgets/slider.h \ -./muse/widgets/checkbox.h \ -./muse/widgets/aboutbox.h \ -./muse/widgets/siglabel.h \ -./muse/widgets/shortcutconfigbase.h \ -./muse/widgets/scrollscale.h \ -./muse/widgets/drange.h \ -./muse/widgets/editmetadialogbase.h \ -./muse/widgets/cliplisteditorbase.h \ -./muse/widgets/genset.h \ -./muse/widgets/synthconfigbase.h \ -./muse/widgets/ttoolbar.h \ -./muse/widgets/gatetime.h \ -./muse/widgets/editctrl7dialogbase.h \ -./muse/widgets/scldiv.h \ -./muse/widgets/shortcutcapturedialog.h \ -./muse/widgets/didyouknow.h \ -./muse/widgets/splitter.h \ -./muse/widgets/mixdowndialog.h \ -./muse/widgets/knob.h \ -./muse/widgets/shortcutcapturedialogbase.h \ -./muse/widgets/editnotedialogbase.h \ -./muse/widgets/tools.h \ -./muse/widgets/bigtime.h \ -./muse/widgets/gatetimebase.h \ -./muse/widgets/mlabel.h \ -./muse/widgets/synthwizardbase.h \ -./muse/widgets/scldraw.h \ -./muse/widgets/velocitybase.h \ -./muse/widgets/midisync.h \ -./muse/widgets/action.h \ -./muse/widgets/spinbox.h \ -./muse/widgets/sliderbase.h \ -./muse/widgets/ctrlcombo.h \ -./muse/widgets/section.h \ -./muse/widgets/velocity.h \ -./muse/widgets/pitchlabel.h \ -./muse/widgets/fontsel.h \ -./muse/widgets/doublelabel.h \ -./muse/widgets/hitscale.h \ -./muse/widgets/editsysexdialogbase.h \ -./muse/widgets/utils.h \ -./muse/widgets/dimap.h \ -./muse/widgets/filedialog.h \ -./muse/widgets/shortcutconfig.h \ -./muse/widgets/comment.h \ -./muse/widgets/mmath.h \ -./muse/widgets/comboQuant.h \ -./muse/widgets/spinboxFP.h \ -./muse/widgets/mtrackinfobase.h \ -./muse/widgets/configmidifilebase.h \ -./muse/widgets/swidget.h \ -./muse/widgets/ttoolbutton.h \ -./muse/widgets/metronomebase.h \ -./muse/widgets/header.h \ -./muse/widgets/gensetbase.h \ -./muse/widgets/itransformbase.h \ -./muse/widgets/view.h \ -./muse/widgets/combobox.h \ -./muse/widgets/mittransposebase.h \ -./muse/widgets/transformbase.h \ -./muse/widgets/midisyncimpl.h \ -./muse/widgets/vscale.h \ -./muse/widgets/wtrackinfobase.h \ -./muse/widgets/poslabel.h \ -./muse/widgets/menutitleitem.h \ -./muse/widgets/listitem.h \ -./muse/widgets/popupmenu.h \ -./muse/widgets/sigedit.h \ -./muse/widgets/commentbase.h \ -./muse/widgets/tempolabel.h \ -./muse/widgets/noteinfo.h \ -./muse/widgets/mtscale.h \ -./muse/widgets/transposebase.h \ -./muse/widgets/dentry.h \ -./muse/event.h \ -./muse/sync.h \ -./muse/confmport.h \ -./muse/icons.h \ -./muse/route.h \ -./muse/xml.h \ -./muse/track.h \ -./muse/audio.h \ -./muse/vst.h \ -./muse/mixer/astrip.h \ -./muse/mixer/panknob.h \ -./muse/mixer/routedialogbase.h \ -./muse/mixer/strip.h \ -./muse/mixer/meter.h \ -./muse/mixer/mstrip.h \ -./muse/mixer/rack.h \ -./muse/mixer/amixer.h \ -./muse/mixer/auxknob.h \ -./muse/mixer/midiportroutebase.h \ -./muse/mixer/routedialog.h \ -./muse/marker/markerview.h \ -./muse/marker/marker.h \ -./muse/midiseq.h \ -./muse/memory.h \ -./muse/liste/editevent.h \ -./muse/liste/listedit.h \ -./muse/liste/editctrlbase.h \ -./muse/evdata.h \ -./muse/node.h \ -./muse/midiedit/pianoroll.h \ -./muse/midiedit/piano.h \ -./muse/midiedit/prcanvas.h \ -./muse/midiedit/dlist.h \ -./muse/midiedit/cmd.h \ -./muse/midiedit/drummap.h \ -./muse/midiedit/dcanvas.h \ -./muse/midiedit/quantconfig.h \ -./muse/midiedit/drumedit.h \ -./muse/midiedit/ecanvas.h \ -./muse/helper.h \ -./muse/globals.h \ -./muse/mplugins/rhythm.h \ -./muse/mplugins/midiitransform.h \ -./muse/mplugins/mittranspose.h \ -./muse/mplugins/mrconfig.h \ -./muse/mplugins/midifilter.h \ -./muse/mplugins/mitplugin.h \ -./muse/mplugins/mrconfigbase.h \ -./muse/mplugins/random.h \ -./muse/mplugins/midifilterimpl.h \ -./muse/mplugins/rhythmbase.h \ -./muse/wave.h \ -./muse/shortcuts.h \ -./muse/midieditor.h \ -./muse/midiport.h \ -./muse/device.h \ -./plugins/freeverb/denormals.h \ -./plugins/freeverb/comb.h \ -./plugins/freeverb/tuning.h \ -./plugins/freeverb/revmodel.h \ -./plugins/freeverb/allpass.h \ -./plugins/doublechorus/simplechorusmodel.h \ -./plugins/doublechorus/doublechorusmodel.h \ -./plugins/pandelay/ladspapandelay.h \ -./plugins/pandelay/pandelaymodel.h \ -./config.h \ -./synti/deicsonze/newpreset.h \ -./synti/deicsonze/deicsonze.h \ -./synti/deicsonze/deicsonzeguibase.h \ -./synti/deicsonze/deicsonzegui.h \ -./synti/deicsonze2/deicsonzeplugin.h \ -./synti/deicsonze2/deicsonzefilter.h \ -./synti/deicsonze2/deicsonze.h \ -./synti/deicsonze2/deicsonzeguibase.h \ -./synti/deicsonze2/deicsonzepreset.h \ -./synti/deicsonze2/deicsonzegui.h \ -./synti/fluid/fluidgui.h \ -./synti/fluid/fluidguibase.h \ -./synti/fluid/fluid.h \ -./synti/vam/vamguibase.h \ -./synti/vam/vamgui.h \ -./synti/vam/vam.h \ -./synti/organ/organguibase.h \ -./synti/organ/fdialogbuttons.h \ -./synti/organ/organ.h \ -./synti/organ/organgui.h \ -./synti/libsynti/mono.h \ -./synti/libsynti/mpevent.h \ -./synti/libsynti/poly.h \ -./synti/libsynti/gui.h \ -./synti/libsynti/mess.h \ -./synti/libsynti/evdata.h \ -./synti/simpledrums/common.h \ -./synti/simpledrums/simpledrums.h \ -./synti/simpledrums/sspluginchooserbase.h \ -./synti/simpledrums/simpledrumsgui.h \ -./synti/simpledrums/simpledrumsguibase.h \ -./synti/simpledrums/ssplugin.h \ -./synti/simpledrums/ssplugingui.h \ -./synti/fluidsynth/fluidsynthgui.h \ -./synti/fluidsynth/fluidsynthguibase.h \ -./synti/fluidsynth/fluidsynti.h + ./synti/deicsonze/deicsonzefilter.h \ + ./synti/deicsonze/deicsonzeplugin.h \ + ./synti/deicsonze/deicsonze.h \ + ./synti/deicsonze/common_defs.h \ + ./synti/deicsonze/deicsonzegui.h \ + ./synti/deicsonze/deicsonzepreset.h \ + ./synti/organ/organgui.h \ + ./synti/organ/common_defs.h \ + ./synti/organ/organ.h \ + ./synti/vam/vam.h \ + ./synti/vam/vamgui.h \ + ./synti/vam/common_defs.h \ + ./synti/fluid/fluid.h \ + ./synti/fluid/common_defs.h \ + ./synti/fluid/fluidgui.h \ + ./synti/fluidsynth/fluidsynti.h \ + ./synti/fluidsynth/fluidsynthgui.h \ + ./synti/fluidsynth/common_defs.h \ + ./synti/simpledrums2/simpledrumsgui.h \ + ./synti/simpledrums2/ssplugingui.h \ + ./synti/simpledrums2/ssplugin.h \ + ./synti/simpledrums2/simpledrums.h \ + ./synti/simpledrums2/common_defs.h \ + ./synti/simpledrums2/common.h \ + ./synti/libsynti/poly.h \ + ./synti/libsynti/gui.h \ + ./synti/libsynti/mono.h \ + ./synti/libsynti/mess.h \ + ./muse/key.h \ + ./muse/cobject.h \ + ./muse/mpevent.h \ + ./muse/miditransform.h \ + ./muse/ticksynth.h \ + ./muse/globals.h \ + ./muse/mididev.h \ + ./muse/helper.h \ + ./muse/mixer/amixer.h \ + ./muse/mixer/panknob.h \ + ./muse/mixer/astrip.h \ + ./muse/mixer/mstrip.h \ + ./muse/mixer/routedialog.h \ + ./muse/mixer/rack.h \ + ./muse/mixer/auxknob.h \ + ./muse/mixer/strip.h \ + ./muse/ctrl/ctrledit.h \ + ./muse/ctrl/ctrlcanvas.h \ + ./muse/ctrl/ctrlpanel.h \ + ./muse/xml.h \ + ./muse/mtc.h \ + ./muse/master/tscale.h \ + ./muse/master/lmaster.h \ + ./muse/master/master.h \ + ./muse/master/masteredit.h \ + ./muse/node.h \ + ./muse/remote/pyapi.h \ + ./muse/value.h \ + ./muse/midiseq.h \ + ./muse/gui.h \ + ./muse/keyevent.h \ + ./muse/wave.h \ + ./muse/osc.h \ + ./muse/track.h \ + ./muse/shortcuts.h \ + ./muse/functions.h \ + ./muse/midievent.h \ + ./muse/ctrl.h \ + ./muse/cleftypes.h \ + ./muse/midi.h \ + ./muse/arranger/tlist.h \ + ./muse/arranger/alayout.h \ + ./muse/arranger/trackautomationview.h \ + ./muse/arranger/arrangerview.h \ + ./muse/arranger/pcanvas.h \ + ./muse/arranger/arranger.h \ + ./muse/undo.h \ + ./muse/part.h \ + ./muse/midifile.h \ + ./muse/debug.h \ + ./muse/confmport.h \ + ./muse/driver/rtctimer.h \ + ./muse/driver/timerdev.h \ + ./muse/driver/jackmidi.h \ + ./muse/driver/audiodev.h \ + ./muse/driver/alsamidi.h \ + ./muse/driver/jackaudio.h \ + ./muse/driver/alsatimer.h \ + ./muse/waveevent.h \ + ./muse/marker/marker.h \ + ./muse/marker/markerview.h \ + ./muse/event.h \ + ./muse/ladspa.h \ + ./muse/audioprefetch.h \ + ./muse/dssihost.h \ + ./muse/fastlog.h \ + ./muse/pos.h \ + ./muse/waveedit/waveview.h \ + ./muse/waveedit/editgain.h \ + ./muse/waveedit/waveedit.h \ + ./muse/controlfifo.h \ + ./muse/vst.h \ + ./muse/memory.h \ + ./muse/instruments/editinstrument.h \ + ./muse/instruments/minstrument.h \ + ./muse/instruments/midictrledit.h \ + ./muse/midictrl.h \ + ./muse/dialogs.h \ + ./muse/gconfig.h \ + ./muse/mplugins/mittranspose.h \ + ./muse/mplugins/midiitransform.h \ + ./muse/mplugins/mitplugin.h \ + ./muse/mplugins/rhythm.h \ + ./muse/mplugins/mrconfig.h \ + ./muse/mplugins/midifilterimpl.h \ + ./muse/mplugins/random.h \ + ./muse/route.h \ + ./muse/device.h \ + ./muse/widgets/genset.h \ + ./muse/widgets/mdisettings.h \ + ./muse/widgets/mlabel.h \ + ./muse/widgets/citem.h \ + ./muse/widgets/ttoolbar.h \ + ./muse/widgets/ctrlcombo.h \ + ./muse/widgets/visibletracks.h \ + ./muse/widgets/intlabel.h \ + ./muse/widgets/tools.h \ + ./muse/widgets/vscale.h \ + ./muse/widgets/dentry.h \ + ./muse/widgets/mtscale.h \ + ./muse/widgets/action.h \ + ./muse/widgets/menutitleitem.h \ + ./muse/widgets/section.h \ + ./muse/widgets/swidget.h \ + ./muse/widgets/drange.h \ + ./muse/widgets/mmath.h \ + ./muse/widgets/utils.h \ + ./muse/widgets/siglabel.h \ + ./muse/widgets/sigscale.h \ + ./muse/widgets/checkbox.h \ + ./muse/widgets/mtscale_flo.h \ + ./muse/widgets/slider.h \ + ./muse/widgets/midisyncimpl.h \ + ./muse/widgets/splitter.h \ + ./muse/widgets/sclif.h \ + ./muse/widgets/function_dialogs/move.h \ + ./muse/widgets/function_dialogs/transpose.h \ + ./muse/widgets/function_dialogs/deloverlaps.h \ + ./muse/widgets/function_dialogs/legato.h \ + ./muse/widgets/function_dialogs/remove.h \ + ./muse/widgets/function_dialogs/setlen.h \ + ./muse/widgets/function_dialogs/gatetime.h \ + ./muse/widgets/function_dialogs/quantize.h \ + ./muse/widgets/function_dialogs/crescendo.h \ + ./muse/widgets/function_dialogs/velocity.h \ + ./muse/widgets/ttoolbutton.h \ + ./muse/widgets/verticalmeter.h \ + ./muse/widgets/noteinfo.h \ + ./muse/widgets/spinbox.h \ + ./muse/widgets/header.h \ + ./muse/widgets/posedit.h \ + ./muse/widgets/nentry.h \ + ./muse/widgets/pitchedit.h \ + ./muse/widgets/scrollscale.h \ + ./muse/widgets/didyouknow.h \ + ./muse/widgets/doublelabel.h \ + ./muse/widgets/knob.h \ + ./muse/widgets/metronome.h \ + ./muse/widgets/unusedwavefiles.h \ + ./muse/widgets/popupmenu.h \ + ./muse/widgets/comment.h \ + ./muse/widgets/pitchlabel.h \ + ./muse/widgets/meter.h \ + ./muse/widgets/combobox.h \ + ./muse/widgets/view.h \ + ./muse/widgets/projectcreateimpl.h \ + ./muse/widgets/filedialog.h \ + ./muse/widgets/bigtime.h \ + ./muse/widgets/routepopup.h \ + ./muse/widgets/poslabel.h \ + ./muse/widgets/sliderbase.h \ + ./muse/widgets/comboQuant.h \ + ./muse/widgets/aboutbox_impl.h \ + ./muse/widgets/wtscale.h \ + ./muse/widgets/mtrackinfo.h \ + ./muse/widgets/canvas.h \ + ./muse/widgets/shortcutconfig.h \ + ./muse/widgets/scldiv.h \ + ./muse/widgets/lcombo.h \ + ./muse/widgets/hitscale.h \ + ./muse/widgets/tempolabel.h \ + ./muse/widgets/mixdowndialog.h \ + ./muse/widgets/pastedialog.h \ + ./muse/widgets/sigedit.h \ + ./muse/widgets/songinfo.h \ + ./muse/widgets/scldraw.h \ + ./muse/widgets/tb1.h \ + ./muse/widgets/spinboxFP.h \ + ./muse/widgets/dimap.h \ + ./muse/widgets/shortcutcapturedialog.h \ + ./muse/midiport.h \ + ./muse/thread.h \ + ./muse/audioconvert.h \ + ./muse/sig.h \ + ./muse/midiedit/drumedit.h \ + ./muse/midiedit/dcanvas.h \ + ./muse/midiedit/prcanvas.h \ + ./muse/midiedit/pianoroll.h \ + ./muse/midiedit/ecanvas.h \ + ./muse/midiedit/piano.h \ + ./muse/midiedit/cmd.h \ + ./muse/midiedit/dlist.h \ + ./muse/midiedit/drummap.h \ + ./muse/midiedit/scoreedit.h \ + ./muse/steprec.h \ + ./muse/midieditor.h \ + ./muse/tempo.h \ + ./muse/plugin.h \ + ./muse/song.h \ + ./muse/audio.h \ + ./muse/synth.h \ + ./muse/icons.h \ + ./muse/liste/listedit.h \ + ./muse/liste/editevent.h \ + ./muse/eventbase.h \ + ./muse/cliplist/cliplist.h \ + ./muse/default_click.h \ + ./muse/stringparam.h \ + ./muse/app.h \ + ./muse/transport.h \ + ./muse/appearance.h \ + ./muse/structure.h \ + ./muse/sync.h \ + ./muse/evdata.h \ + ./muse/conf.h \ + ./muse/globaldefs.h \ + ./al/xml.h \ + ./al/sig.h \ + ./al/dsp.h \ + ./al/al.h \ + ./plugins/freeverb/comb.h \ + ./plugins/freeverb/denormals.h \ + ./plugins/freeverb/revmodel.h \ + ./plugins/freeverb/tuning.h \ + ./plugins/freeverb/allpass.h \ + ./plugins/doublechorus/doublechorusmodel.h \ + ./plugins/doublechorus/simplechorusmodel.h \ + ./plugins/pandelay/pandelaymodel.h \ + ./plugins/pandelay/ladspapandelay.h \ + ./awl/aslider.h \ + ./awl/tempoedit.h \ + ./awl/midivolentry.h \ + ./awl/panknob.h \ + ./awl/utils.h \ + ./awl/awlplugin.h \ + ./awl/floatentry.h \ + ./awl/checkbox.h \ + ./awl/midipanknob.h \ + ./awl/slider.h \ + ./awl/awl.h \ + ./awl/volentry.h \ + ./awl/fastlog.h \ + ./awl/posedit.h \ + ./awl/pitchedit.h \ + ./awl/midimeter.h \ + ./awl/knob.h \ + ./awl/midipanentry.h \ + ./awl/pitchlabel.h \ + ./awl/combobox.h \ + ./awl/volknob.h \ + ./awl/poslabel.h \ + ./awl/midimslider.h \ + ./awl/drawbar.h \ + ./awl/panentry.h \ + ./awl/mslider.h \ + ./awl/tempolabel.h \ + ./awl/volslider.h \ + ./awl/sigedit.h \ + ./awl/tcanvas.h \ + ./all.h \ + +SOURCES = \ + ./synti/deicsonze/deicsonzeplugin.cpp \ + ./synti/deicsonze/deicsonze.cpp \ + ./synti/deicsonze/deicsonzegui.cpp \ + ./synti/deicsonze/deicsonzepreset.cpp \ + ./synti/deicsonze/deicsonzefilter.cpp \ + ./synti/organ/organ.cpp \ + ./synti/organ/organgui.cpp \ + ./synti/vam/vam.cpp \ + ./synti/vam/vamgui.cpp \ + ./synti/fluid/fluidgui.cpp \ + ./synti/fluid/fluid.cpp \ + ./synti/s1/s1.cpp \ + ./synti/fluidsynth/fluidsynti.cpp \ + ./synti/fluidsynth/fluidsynthgui.cpp \ + ./synti/simpledrums2/simpledrums.cpp \ + ./synti/simpledrums2/ssplugin.cpp \ + ./synti/simpledrums2/ssplugingui.cpp \ + ./synti/simpledrums2/simpledrumsgui.cpp \ + ./synti/libsynti/mono.cpp \ + ./synti/libsynti/gui.cpp \ + ./synti/libsynti/mess.cpp \ + ./synti/libsynti/poly.cpp \ + ./muse/appearance.cpp \ + ./muse/helper.cpp \ + ./muse/audiotrack.cpp \ + ./muse/eventlist.cpp \ + ./muse/mixer/astrip.cpp \ + ./muse/mixer/panknob.cpp \ + ./muse/mixer/amixer.cpp \ + ./muse/mixer/auxknob.cpp \ + ./muse/mixer/routedialog.cpp \ + ./muse/mixer/mstrip.cpp \ + ./muse/mixer/rack.cpp \ + ./muse/mixer/strip.cpp \ + ./muse/ctrl/ctrledit.cpp \ + ./muse/ctrl/ctrlcanvas.cpp \ + ./muse/ctrl/ctrlpanel.cpp \ + ./muse/xml.cpp \ + ./muse/midievent.cpp \ + ./muse/exportmidi.cpp \ + ./muse/value.cpp \ + ./muse/master/lmaster.cpp \ + ./muse/master/masteredit.cpp \ + ./muse/master/master.cpp \ + ./muse/master/tscale.cpp \ + ./muse/remote/pyapi.cpp \ + ./muse/audio.cpp \ + ./muse/main.cpp \ + ./muse/dialogs.cpp \ + ./muse/route.cpp \ + ./muse/dssihost.cpp \ + ./muse/midifile.cpp \ + ./muse/ctrl.cpp \ + ./muse/wave.cpp \ + ./muse/ticksynth.cpp \ + ./muse/arranger/trackautomationview.cpp \ + ./muse/arranger/arranger.cpp \ + ./muse/arranger/arrangerview.cpp \ + ./muse/arranger/pcanvas.cpp \ + ./muse/arranger/tlist.cpp \ + ./muse/arranger/alayout.cpp \ + ./muse/confmport.cpp \ + ./muse/seqmsg.cpp \ + ./muse/stringparam.cpp \ + ./muse/gconfig.cpp \ + ./muse/miditransform.cpp \ + ./muse/driver/rtctimer.cpp \ + ./muse/driver/dummyaudio.cpp \ + ./muse/driver/jackmidi.cpp \ + ./muse/driver/alsatimer.cpp \ + ./muse/driver/alsamidi.cpp \ + ./muse/driver/jack.cpp \ + ./muse/importmidi.cpp \ + ./muse/marker/markerview.cpp \ + ./muse/marker/marker.cpp \ + ./muse/memory.cpp \ + ./muse/vst.cpp \ + ./muse/transport.cpp \ + ./muse/steprec.cpp \ + ./muse/sync.cpp \ + ./muse/plugin.cpp \ + ./muse/midictrl.cpp \ + ./muse/structure.cpp \ + ./muse/sig.cpp \ + ./muse/wavetrack.cpp \ + ./muse/midieditor.cpp \ + ./muse/icons.cpp \ + ./muse/audioprefetch.cpp \ + ./muse/midiport.cpp \ + ./muse/waveedit/waveedit.cpp \ + ./muse/waveedit/waveview.cpp \ + ./muse/waveedit/editgain.cpp \ + ./muse/conf.cpp \ + ./muse/synth.cpp \ + ./muse/audioconvert.cpp \ + ./muse/mpevent.cpp \ + ./muse/track.cpp \ + ./muse/instruments/minstrument.cpp \ + ./muse/instruments/editinstrument.cpp \ + ./muse/instruments/midictrledit.cpp \ + ./muse/controlfifo.cpp \ + ./muse/mplugins/midiitransform.cpp \ + ./muse/mplugins/midifilterimpl.cpp \ + ./muse/mplugins/random.cpp \ + ./muse/mplugins/rhythm.cpp \ + ./muse/mplugins/mrconfig.cpp \ + ./muse/mplugins/mitplugin.cpp \ + ./muse/mplugins/mittranspose.cpp \ + ./muse/functions.cpp \ + ./muse/widgets/aboutbox_impl.cpp \ + ./muse/widgets/metronome.cpp \ + ./muse/widgets/nentry.cpp \ + ./muse/widgets/sclif.cpp \ + ./muse/widgets/pitchedit.cpp \ + ./muse/widgets/vscale.cpp \ + ./muse/widgets/sigscale.cpp \ + ./muse/widgets/intlabel.cpp \ + ./muse/widgets/midisyncimpl.cpp \ + ./muse/widgets/spinbox.cpp \ + ./muse/widgets/lcombo.cpp \ + ./muse/widgets/menutitleitem.cpp \ + ./muse/widgets/moc_ttoolbar.cpp \ + ./muse/widgets/drange.cpp \ + ./muse/widgets/posedit.cpp \ + ./muse/widgets/dentry.cpp \ + ./muse/widgets/shortcutconfig.cpp \ + ./muse/widgets/dimap.cpp \ + ./muse/widgets/genset.cpp \ + ./muse/widgets/mtrackinfo.cpp \ + ./muse/widgets/unusedwavefiles.cpp \ + ./muse/widgets/splitter.cpp \ + ./muse/widgets/pastedialog.cpp \ + ./muse/widgets/ctrlcombo.cpp \ + ./muse/widgets/siglabel.cpp \ + ./muse/widgets/projectcreateimpl.cpp \ + ./muse/widgets/canvas.cpp \ + ./muse/widgets/citem.cpp \ + ./muse/widgets/comboQuant.cpp \ + ./muse/widgets/utils.cpp \ + ./muse/widgets/hitscale.cpp \ + ./muse/widgets/checkbox.cpp \ + ./muse/widgets/combobox.cpp \ + ./muse/widgets/musewidgetsplug.cpp \ + ./muse/widgets/spinboxFP.cpp \ + ./muse/widgets/tb1.cpp \ + ./muse/widgets/meter.cpp \ + ./muse/widgets/function_dialogs/deloverlaps.cpp \ + ./muse/widgets/function_dialogs/quantize.cpp \ + ./muse/widgets/function_dialogs/crescendo.cpp \ + ./muse/widgets/function_dialogs/move.cpp \ + ./muse/widgets/function_dialogs/velocity.cpp \ + ./muse/widgets/function_dialogs/setlen.cpp \ + ./muse/widgets/function_dialogs/remove.cpp \ + ./muse/widgets/function_dialogs/legato.cpp \ + ./muse/widgets/function_dialogs/transpose.cpp \ + ./muse/widgets/function_dialogs/gatetime.cpp \ + ./muse/widgets/visibletracks.cpp \ + ./muse/widgets/sigedit.cpp \ + ./muse/widgets/view.cpp \ + ./muse/widgets/noteinfo.cpp \ + ./muse/widgets/poslabel.cpp \ + ./muse/widgets/mdisettings.cpp \ + ./muse/widgets/popupmenu.cpp \ + ./muse/widgets/mixdowndialog.cpp \ + ./muse/widgets/bigtime.cpp \ + ./muse/widgets/swidget.cpp \ + ./muse/widgets/mtscale.cpp \ + ./muse/widgets/sliderbase.cpp \ + ./muse/widgets/mtscale_flo.cpp \ + ./muse/widgets/shortcutcapturedialog.cpp \ + ./muse/widgets/mmath.cpp \ + ./muse/widgets/knob.cpp \ + ./muse/widgets/ttoolbutton.cpp \ + ./muse/widgets/doublelabel.cpp \ + ./muse/widgets/scrollscale.cpp \ + ./muse/widgets/header.cpp \ + ./muse/widgets/comment.cpp \ + ./muse/widgets/verticalmeter.cpp \ + ./muse/widgets/ttoolbar.cpp \ + ./muse/widgets/slider.cpp \ + ./muse/widgets/scldiv.cpp \ + ./muse/widgets/routepopup.cpp \ + ./muse/widgets/filedialog.cpp \ + ./muse/widgets/scldraw.cpp \ + ./muse/widgets/tools.cpp \ + ./muse/widgets/tempolabel.cpp \ + ./muse/widgets/mlabel.cpp \ + ./muse/widgets/wtscale.cpp \ + ./muse/widgets/pitchlabel.cpp \ + ./muse/shortcuts.cpp \ + ./muse/event.cpp \ + ./muse/cobject.cpp \ + ./muse/part.cpp \ + ./muse/midiedit/dlist.cpp \ + ./muse/midiedit/dcanvas.cpp \ + ./muse/midiedit/piano.cpp \ + ./muse/midiedit/pianoroll.cpp \ + ./muse/midiedit/prcanvas.cpp \ + ./muse/midiedit/drummap.cpp \ + ./muse/midiedit/scoreedit.cpp \ + ./muse/midiedit/ecanvas.cpp \ + ./muse/midiedit/drumedit.cpp \ + ./muse/thread.cpp \ + ./muse/help.cpp \ + ./muse/undo.cpp \ + ./muse/app.cpp \ + ./muse/midiseq.cpp \ + ./muse/osc.cpp \ + ./muse/keyevent.cpp \ + ./muse/waveevent.cpp \ + ./muse/liste/editevent.cpp \ + ./muse/liste/listedit.cpp \ + ./muse/mididev.cpp \ + ./muse/mtc.cpp \ + ./muse/tempo.cpp \ + ./muse/cliplist/cliplist.cpp \ + ./muse/pos.cpp \ + ./muse/song.cpp \ + ./muse/key.cpp \ + ./muse/node.cpp \ + ./muse/globals.cpp \ + ./muse/midi.cpp \ + ./muse/songfile.cpp \ + ./al/xml.cpp \ + ./al/sig.cpp \ + ./al/dsp.cpp \ + ./al/dspSSE.cpp \ + ./al/al.cpp \ + ./al/dspXMM.cpp \ + ./plugins/freeverb/revmodel.cpp \ + ./plugins/freeverb/freeverb.cpp \ + ./plugins/doublechorus/simplechorusmodel.cpp \ + ./plugins/doublechorus/doublechorusmodel.cpp \ + ./plugins/doublechorus/doublechorus.cpp \ + ./plugins/pandelay/pandelay.cpp \ + ./plugins/pandelay/pandelaymodel.cpp \ + ./plugins/pandelay/ladspapandelay.cpp \ + ./awl/pitchedit.cpp \ + ./awl/floatentry.cpp \ + ./awl/posedit.cpp \ + ./awl/tempoedit.cpp \ + ./awl/midimslider.cpp \ + ./awl/utils.cpp \ + ./awl/checkbox.cpp \ + ./awl/midimeter.cpp \ + ./awl/combobox.cpp \ + ./awl/panknob.cpp \ + ./awl/aslider.cpp \ + ./awl/sigedit.cpp \ + ./awl/midivolentry.cpp \ + ./awl/awlplugin.cpp \ + ./awl/mslider.cpp \ + ./awl/poslabel.cpp \ + ./awl/drawbar.cpp \ + ./awl/awl.cpp \ + ./awl/volknob.cpp \ + ./awl/ltest.cpp \ + ./awl/panentry.cpp \ + ./awl/knob.cpp \ + ./awl/slider.cpp \ + ./awl/volentry.cpp \ + ./awl/tcanvas.cpp \ + ./awl/tempolabel.cpp \ + ./awl/midipanentry.cpp \ + ./awl/midipanknob.cpp \ + ./awl/volslider.cpp \ + ./awl/pitchlabel.cpp \ + ./grepmidi/grepmidi.cpp \ + -SOURCES = \ -./al/dspSSE.cpp \ -./al/dspXMM.cpp \ -./al/al.cpp \ -./al/dsp.cpp \ -./muse/sig.cpp \ -./muse/seqmsg.cpp \ -./muse/dssihost.cpp \ -./muse/driver/rtctimer.cpp \ -./muse/driver/jackmidi.cpp \ -./muse/driver/alsamidi.cpp \ -./muse/driver/dummyaudio.cpp \ -./muse/driver/jack.cpp \ -./muse/driver/alsatimer.cpp \ -./muse/key.cpp \ -./muse/moc_midieditor.cpp \ -./muse/remote/pyapi.cpp \ -./muse/moc_conf.cpp \ -./muse/gconfig.cpp \ -./muse/waveevent.cpp \ -./muse/moc_appearance.cpp \ -./muse/moc_transpose.cpp \ -./muse/instruments/editinstrument.cpp \ -./muse/instruments/moc_editinstrument.cpp \ -./muse/instruments/minstrument.cpp \ -./muse/instruments/midictrledit.cpp \ -./muse/ticksynth.cpp \ -./muse/master/moc_lmaster.cpp \ -./muse/master/lmaster.cpp \ -./muse/master/tscale.cpp \ -./muse/master/masteredit.cpp \ -./muse/master/master.cpp \ -./muse/master/moc_master.cpp \ -./muse/master/moc_tscale.cpp \ -./muse/master/moc_masteredit.cpp \ -./muse/midifile.cpp \ -./muse/undo.cpp \ -./muse/arranger/moc_pcanvas.cpp \ -./muse/arranger/tlist.cpp \ -./muse/arranger/pcanvas.cpp \ -./muse/arranger/moc_alayout.cpp \ -./muse/arranger/trackinfo.cpp \ -./muse/arranger/alayout.cpp \ -./muse/arranger/arranger.cpp \ -./muse/arranger/moc_tlist.cpp \ -./muse/arranger/trackautomationview.cpp \ -./muse/arranger/moc_arranger.cpp \ -./muse/moc_cobject.cpp \ -./muse/songfile.cpp \ -./muse/xml.cpp \ -./muse/midiport.cpp \ -./muse/tempo.cpp \ -./muse/exportmidi.cpp \ -./muse/thread.cpp \ -./muse/moc_confmport.cpp \ -./muse/waveedit/moc_waveedit.cpp \ -./muse/waveedit/waveview.cpp \ -./muse/waveedit/moc_editgain.cpp \ -./muse/waveedit/waveedit.cpp \ -./muse/waveedit/moc_waveview.cpp \ -./muse/waveedit/editgain.cpp \ -./muse/synth.cpp \ -./muse/patchbay/patchbay.cpp \ -./muse/pos.cpp \ -./muse/midievent.cpp \ -./muse/value.cpp \ -./muse/event.cpp \ -./muse/midictrl.cpp \ -./muse/audioprefetch.cpp \ -./muse/ctrl/ctrledit.cpp \ -./muse/ctrl/moc_ctrledit.cpp \ -./muse/ctrl/ctrlpanel.cpp \ -./muse/ctrl/moc_ctrlcanvas.cpp \ -./muse/ctrl/moc_ctrlpanel.cpp \ -./muse/ctrl/ctrlcanvas.cpp \ -./muse/moc_value.cpp \ -./muse/stringparam.cpp \ -./muse/icons.cpp \ -./muse/conf.cpp \ -./muse/miditransform.cpp \ -./muse/osc.cpp \ -./muse/midi.cpp \ -./muse/helper.cpp \ -./muse/mpevent.cpp \ -./muse/appearance.cpp \ -./muse/song.cpp \ -./muse/moc_app.cpp \ -./muse/eventlist.cpp \ -./muse/memory.cpp \ -./muse/moc_miditransform.cpp \ -./muse/wave.cpp \ -./muse/cliplist/cliplist.cpp \ -./muse/cliplist/moc_cliplist.cpp \ -./muse/mididev.cpp \ -./muse/midieditor.cpp \ -./muse/wavetrack.cpp \ -./muse/confmport.cpp \ -./muse/transpose.cpp \ -./muse/plugin.cpp \ -./muse/importmidi.cpp \ -./muse/widgets/slider.non-libtool.cpp \ -./muse/widgets/moc_bigtime.cpp \ -./muse/widgets/sigedit.cpp \ -./muse/widgets/moc_mixdowndialog.cpp \ -./muse/widgets/sigscale.cpp \ -./muse/widgets/mmath.non-libtool.cpp \ -./muse/widgets/moc_popupmenu.cpp \ -./muse/widgets/moc_didyouknow.cpp \ -./muse/widgets/moc_swidget.cpp \ -./muse/widgets/moc_sliderbase.non-libtool.cpp \ -./muse/widgets/doublelabel.non-libtool.cpp \ -./muse/widgets/moc_tb1.cpp \ -./muse/widgets/moc_slider.non-libtool.cpp \ -./muse/widgets/moc_songinfo.cpp \ -./muse/widgets/moc_tempolabel.cpp \ -./muse/widgets/sigedit.non-libtool.cpp \ -./muse/widgets/moc_sigedit.non-libtool.cpp \ -./muse/widgets/moc_dentry.cpp \ -./muse/widgets/aboutbox_impl.cpp \ -./muse/widgets/scldiv.non-libtool.cpp \ -./muse/widgets/moc_splitter.cpp \ -./muse/widgets/musewidgetsplug.cpp \ -./muse/widgets/comboQuant.cpp \ -./muse/widgets/moc_mlabel.cpp \ -./muse/widgets/shortcutconfig.cpp \ -./muse/widgets/scldraw.non-libtool.cpp \ -./muse/widgets/moc_spinboxFP.cpp \ -./muse/widgets/poslabel.cpp \ -./muse/widgets/vscale.cpp \ -./muse/widgets/tb1.cpp \ -./muse/widgets/hitscale.cpp \ -./muse/widgets/sliderbase.cpp \ -./muse/widgets/moc_shortcutcapturedialog.cpp \ -./muse/widgets/mixdowndialog.cpp \ -./muse/widgets/moc_doublelabel.cpp \ -./muse/widgets/moc_combobox.cpp \ -./muse/widgets/moc_spinbox.cpp \ -./muse/widgets/moc_mtscale.cpp \ -./muse/widgets/mtscale.cpp \ -./muse/widgets/ttoolbutton.cpp \ -./muse/widgets/spinbox.cpp \ -./muse/widgets/drange.cpp \ -./muse/widgets/posedit.non-libtool.cpp \ -./muse/widgets/pitchedit.non-libtool.cpp \ -./muse/widgets/citem.cpp \ -./muse/widgets/moc_canvas.cpp \ -./muse/widgets/moc_slider.cpp \ -./muse/widgets/knob.cpp \ -./muse/widgets/utils.cpp \ -./muse/widgets/metronome.cpp \ -./muse/widgets/gatetime.cpp \ -./muse/widgets/checkbox.cpp \ -./muse/widgets/moc_lcombo.cpp \ -./muse/widgets/moc_filedialog.cpp \ -./muse/widgets/moc_hitscale.cpp \ -./muse/widgets/moc_checkbox.non-libtool.cpp \ -./muse/widgets/velocity.cpp \ -./muse/widgets/ttoolbar.cpp \ -./muse/widgets/moc_shortcutconfig.cpp \ -./muse/widgets/wtscale.cpp \ -./muse/widgets/moc_intlabel.cpp \ -./muse/widgets/moc_fontsel.cpp \ -./muse/widgets/moc_header.cpp \ -./muse/widgets/moc_comboQuant.cpp \ -./muse/widgets/doublelabel.cpp \ -./muse/widgets/view.cpp \ -./muse/widgets/moc_action.cpp \ -./muse/widgets/poslabel.non-libtool.cpp \ -./muse/widgets/pitchedit.cpp \ -./muse/widgets/moc_checkbox.cpp \ -./muse/widgets/moc_posedit.non-libtool.cpp \ -./muse/widgets/moc_midisyncimpl.cpp \ -./muse/widgets/scldiv.cpp \ -./muse/widgets/moc_velocity.cpp \ -./muse/widgets/slider.cpp \ -./muse/widgets/pitchlabel.cpp \ -./muse/widgets/header.cpp \ -./muse/widgets/moc_ttoolbutton.cpp \ -./muse/widgets/sliderbase.non-libtool.cpp \ -./muse/widgets/moc_sigedit.cpp \ -./muse/widgets/nentry.cpp \ -./muse/widgets/fontsel.cpp \ -./muse/widgets/siglabel.cpp \ -./muse/widgets/moc_doublelabel.non-libtool.cpp \ -./muse/widgets/scldraw.cpp \ -./muse/widgets/moc_pitchedit.non-libtool.cpp \ -./muse/widgets/moc_comment.cpp \ -./muse/widgets/canvas.cpp \ -./muse/widgets/dimap.cpp \ -./muse/widgets/moc_noteinfo.cpp \ -./muse/widgets/moc_scrollscale.cpp \ -./muse/widgets/moc_tempolabel.non-libtool.cpp \ -./muse/widgets/dentry.cpp \ -./muse/widgets/swidget.cpp \ -./muse/widgets/checkbox.non-libtool.cpp \ -./muse/widgets/moc_siglabel.cpp \ -./muse/widgets/combobox.non-libtool.cpp \ -./muse/widgets/posedit.cpp \ -./muse/widgets/combobox.cpp \ -./muse/widgets/noteinfo.cpp \ -./muse/widgets/ctrlcombo.cpp \ -./muse/widgets/moc_pitchedit.cpp \ -./muse/widgets/moc_ctrlcombo.cpp \ -./muse/widgets/moc_posedit.cpp \ -./muse/widgets/moc_poslabel.non-libtool.cpp \ -./muse/widgets/moc_tools.cpp \ -./muse/widgets/moc_gatetime.cpp \ -./muse/widgets/moc_dentry.non-libtool.cpp \ -./muse/widgets/bigtime.cpp \ -./muse/widgets/comment.cpp \ -./muse/widgets/moc_genset.cpp \ -./muse/widgets/moc_knob.cpp \ -./muse/widgets/shortcutcapturedialog.cpp \ -./muse/widgets/sclif.cpp \ -./muse/widgets/sclif.non-libtool.cpp \ -./muse/widgets/midisyncimpl.cpp \ -./muse/widgets/moc_sigscale.cpp \ -./muse/widgets/moc_aboutbox.cpp \ -./muse/widgets/moc_pitchlabel.cpp \ -./muse/widgets/tools.cpp \ -./muse/widgets/drange.non-libtool.cpp \ -./muse/widgets/dimap.non-libtool.cpp \ -./muse/widgets/moc_view.cpp \ -./muse/widgets/lcombo.cpp \ -./muse/widgets/scrollscale.cpp \ -./muse/widgets/mlabel.cpp \ -./muse/widgets/moc_vscale.cpp \ -./muse/widgets/genset.cpp \ -./muse/widgets/moc_pitchlabel.non-libtool.cpp \ -./muse/widgets/filedialog.cpp \ -./muse/widgets/tempolabel.non-libtool.cpp \ -./muse/widgets/splitter.cpp \ -./muse/widgets/moc_aboutbox_impl.cpp \ -./muse/widgets/intlabel.cpp \ -./muse/widgets/tempolabel.cpp \ -./muse/widgets/moc_poslabel.cpp \ -./muse/widgets/pitchlabel.non-libtool.cpp \ -./muse/widgets/spinboxFP.cpp \ -./muse/widgets/popupmenu.cpp \ -./muse/widgets/moc_metronome.cpp \ -./muse/widgets/mmath.cpp \ -./muse/widgets/dentry.non-libtool.cpp \ -./muse/widgets/moc_nentry.cpp \ -./muse/widgets/moc_combobox.non-libtool.cpp \ -./muse/widgets/moc_sliderbase.cpp \ -./muse/widgets/moc_ttoolbar.cpp \ -./muse/help.cpp \ -./muse/audioconvert.cpp \ -./muse/globals.cpp \ -./muse/route.cpp \ -./muse/transport.cpp \ -./muse/moc_plugin.cpp \ -./muse/part.cpp \ -./muse/audio.cpp \ -./muse/mixer/panknob.cpp \ -./muse/mixer/routedialog.cpp \ -./muse/mixer/auxknob.cpp \ -./muse/mixer/moc_amixer.cpp \ -./muse/mixer/moc_routedialog.cpp \ -./muse/mixer/moc_auxknob.cpp \ -./muse/mixer/meter.cpp \ -./muse/mixer/moc_meter.cpp \ -./muse/mixer/mstrip.cpp \ -./muse/mixer/moc_rack.cpp \ -./muse/mixer/moc_panknob.cpp \ -./muse/mixer/moc_strip.cpp \ -./muse/mixer/strip.cpp \ -./muse/mixer/astrip.cpp \ -./muse/mixer/amixer.cpp \ -./muse/mixer/moc_mstrip.cpp \ -./muse/mixer/moc_astrip.cpp \ -./muse/mixer/rack.cpp \ -./muse/moc_transport.cpp \ -./muse/marker/marker.cpp \ -./muse/marker/markerview.cpp \ -./muse/marker/moc_markerview.cpp \ -./muse/moc_song.cpp \ -./muse/audiotrack.cpp \ -./muse/track.cpp \ -./muse/liste/moc_editevent.cpp \ -./muse/liste/listedit.cpp \ -./muse/liste/moc_listedit.cpp \ -./muse/liste/editevent.cpp \ -./muse/vst.cpp \ -./muse/midiedit/drumedit.cpp \ -./muse/midiedit/moc_pianoroll.cpp \ -./muse/midiedit/moc_drumedit.cpp \ -./muse/midiedit/dlist.cpp \ -./muse/midiedit/piano.cpp \ -./muse/midiedit/moc_piano.cpp \ -./muse/midiedit/dcanvas.cpp \ -./muse/midiedit/moc_quantconfig.cpp \ -./muse/midiedit/moc_dcanvas.cpp \ -./muse/midiedit/pianoroll.cpp \ -./muse/midiedit/moc_prcanvas.cpp \ -./muse/midiedit/drummap.cpp \ -./muse/midiedit/moc_dlist.cpp \ -./muse/midiedit/ecanvas.cpp \ -./muse/midiedit/prcanvas.cpp \ -./muse/midiedit/quantconfig.cpp \ -./muse/midiedit/moc_ecanvas.cpp \ -./muse/app.cpp \ -./muse/cobject.cpp \ -./muse/midiseq.cpp \ -./muse/mplugins/mitplugin.cpp \ -./muse/mplugins/moc_mittranspose.cpp \ -./muse/mplugins/random.cpp \ -./muse/mplugins/rhythm.cpp \ -./muse/mplugins/moc_rhythm.cpp \ -./muse/mplugins/moc_mrconfig.cpp \ -./muse/mplugins/moc_midifilterimpl.cpp \ -./muse/mplugins/moc_midiitransform.cpp \ -./muse/mplugins/midiitransform.cpp \ -./muse/mplugins/midifilterimpl.cpp \ -./muse/mplugins/mrconfig.cpp \ -./muse/mplugins/mittranspose.cpp \ -./muse/mtc.cpp \ -./muse/node.cpp \ -./muse/ctrl.cpp \ -./muse/shortcuts.cpp \ -./muse/sync.cpp \ -./plugins/freeverb/freeverb.cpp \ -./plugins/freeverb/revmodel.cpp \ -./plugins/doublechorus/simplechorusmodel.cpp \ -./plugins/doublechorus/doublechorusmodel.cpp \ -./plugins/doublechorus/doublechorus.cpp \ -./plugins/pandelay/ladspapandelay.cpp \ -./plugins/pandelay/pandelaymodel.cpp \ -./plugins/pandelay/pandelay.cpp \ -./grepmidi/grepmidi.cpp \ -./synti/deicsonze/moc_deicsonzegui.cpp \ -./synti/deicsonze/deicsonze.cpp \ -./synti/deicsonze/deicsonzegui.cpp \ -./synti/deicsonze2/deicsonzepreset.cpp \ -./synti/deicsonze2/deicsonze.cpp \ -./synti/deicsonze2/deicsonzegui.cpp \ -./synti/deicsonze2/deicsonzeplugin.cpp \ -./synti/deicsonze2/deicsonzefilter.cpp \ -./synti/fluid/fluidgui.cpp \ -./synti/fluid/fluid.cpp \ -./synti/fluid/moc_fluidgui.cpp \ -./synti/s1/s1.cpp \ -./synti/vam/vamgui.cpp \ -./synti/vam/moc_vamgui.cpp \ -./synti/vam/vam.cpp \ -./synti/organ/organgui.cpp \ -./synti/organ/moc_organgui.cpp \ -./synti/organ/organ.cpp \ -./synti/libsynti/poly.cpp \ -./synti/libsynti/mono.cpp \ -./synti/libsynti/gui.cpp \ -./synti/libsynti/mpevent.cpp \ -./synti/libsynti/mess.cpp \ -./synti/simpledrums/simpledrums.cpp \ -./synti/simpledrums/moc_ssplugingui.cpp \ -./synti/simpledrums/ssplugin.cpp \ -./synti/simpledrums/ssplugingui.cpp \ -./synti/simpledrums/moc_simpledrumsgui.cpp \ -./synti/simpledrums/simpledrumsgui.cpp \ -./synti/fluidsynth/fluidsynthgui.cpp \ -./synti/fluidsynth/moc_fluidsynthgui.cpp \ -./synti/fluidsynth/fluidsynti.cpp - - -#The following line was changed from FORMS to FORMS3 by qt3to4 -FORMS3 = \ -./muse/instruments/ccontrolbase.ui \ -./muse/instruments/editinstrumentbase.ui \ -./muse/waveedit/editgainbase.ui \ -./muse/patchbay/patchbaybase.ui \ -./muse/widgets/transposebase.ui \ -./muse/widgets/configmidifilebase.ui \ -./muse/widgets/wtrackinfobase.ui \ -./muse/widgets/itransformbase.ui \ -./muse/widgets/mixdowndialogbase.ui \ -./muse/widgets/gatetimebase.ui \ -./muse/widgets/shortcutcapturedialogbase.ui \ -./muse/widgets/didyouknow.ui \ -./muse/widgets/appearancebase.ui \ -./muse/widgets/shortcutconfigbase.ui \ -./muse/widgets/editmetadialogbase.ui \ -./muse/widgets/fdialogbuttons.ui \ -./muse/widgets/songinfo.ui \ -./muse/widgets/mtrackinfobase.ui \ -./muse/widgets/synthconfigbase.ui \ -./muse/widgets/velocitybase.ui \ -./muse/widgets/transformbase.ui \ -./muse/widgets/metronomebase.ui \ -./muse/widgets/aboutbox.ui \ -./muse/widgets/gensetbase.ui \ -./muse/widgets/editsysexdialogbase.ui \ -./muse/widgets/editctrl7dialogbase.ui \ -./muse/widgets/editnotedialogbase.ui \ -./muse/widgets/commentbase.ui \ -./muse/widgets/mittransposebase.ui \ -./muse/widgets/midisync.ui \ -./muse/widgets/cliplisteditorbase.ui \ -./muse/mixer/midiportroutebase.ui \ -./muse/mixer/routedialogbase.ui \ -./muse/liste/editctrlbase.ui \ -./muse/mplugins/mrconfigbase.ui \ -./muse/mplugins/rhythmbase.ui \ -./muse/mplugins/midifilter.ui \ -./share/plugins/1050.ui \ -./share/plugins/2142.ui \ -./synti/deicsonze/newpreset.ui \ -./synti/deicsonze/deicsonzeguibase.ui \ -./synti/deicsonze2/deicsonzegui.ui \ -./synti/fluid/fluidguibase.ui \ -./synti/vam/vamguibase.ui \ -./synti/organ/organguibase.ui \ -./synti/organ/fdialogbuttons.ui \ -./synti/simpledrums/simpledrumsguibase.ui \ -./synti/simpledrums/sspluginchooserbase.ui \ -./synti/fluidsynth/fluidsynthguibase.ui -#The following line was inserted by qt3to4 -QT += xml qt3support -#The following line was inserted by qt3to4 -CONFIG += uic3 +FORMS = \ + ./synti/deicsonze/deicsonzegui.ui \ + ./synti/organ/organguibase.ui \ + ./synti/vam/vamguibase.ui \ + ./synti/fluid/fluidguibase.ui \ + ./synti/fluidsynth/fluidsynthguibase.ui \ + ./synti/simpledrums2/simpledrumsguibase.ui \ + ./synti/simpledrums2/sspluginchooserbase.ui \ + ./muse/mixer/routedialogbase.ui \ + ./muse/waveedit/editgainbase.ui \ + ./muse/instruments/ccontrolbase.ui \ + ./muse/instruments/editinstrumentbase.ui \ + ./muse/mplugins/rhythmbase.ui \ + ./muse/mplugins/midifilter.ui \ + ./muse/mplugins/mrconfigbase.ui \ + ./muse/widgets/synthconfigbase.ui \ + ./muse/widgets/mittransposebase.ui \ + ./muse/widgets/fdialogbuttons.ui \ + ./muse/widgets/midisync.ui \ + ./muse/widgets/mdisettings_base.ui \ + ./muse/widgets/mtrackinfobase.ui \ + ./muse/widgets/shortcutcapturedialogbase.ui \ + ./muse/widgets/appearancebase.ui \ + ./muse/widgets/unusedwavefiles.ui \ + ./muse/widgets/configmidifilebase.ui \ + ./muse/widgets/songinfo.ui \ + ./muse/widgets/shortcutconfigbase.ui \ + ./muse/widgets/transformbase.ui \ + ./muse/widgets/gensetbase.ui \ + ./muse/widgets/metronomebase.ui \ + ./muse/widgets/mixdowndialogbase.ui \ + ./muse/widgets/commentbase.ui \ + ./muse/widgets/editnotedialogbase.ui \ + ./muse/widgets/function_dialogs/removebase.ui \ + ./muse/widgets/function_dialogs/setlenbase.ui \ + ./muse/widgets/function_dialogs/transposebase.ui \ + ./muse/widgets/function_dialogs/movebase.ui \ + ./muse/widgets/function_dialogs/quantbase.ui \ + ./muse/widgets/function_dialogs/velocitybase.ui \ + ./muse/widgets/function_dialogs/deloverlapsbase.ui \ + ./muse/widgets/function_dialogs/crescendobase.ui \ + ./muse/widgets/function_dialogs/legatobase.ui \ + ./muse/widgets/function_dialogs/gatetimebase.ui \ + ./muse/widgets/cliplisteditorbase.ui \ + ./muse/widgets/editsysexdialogbase.ui \ + ./muse/widgets/projectcreate.ui \ + ./muse/widgets/pastedialogbase.ui \ + ./muse/widgets/didyouknow.ui \ + ./muse/widgets/itransformbase.ui \ + ./muse/widgets/aboutbox.ui \ + ./muse/liste/editctrlbase.ui \ + ./share/plugins/1050.ui \ + ./share/plugins/2142.ui \ + TRANSLATIONS = \ -share/locale/muse_de.ts \ -share/locale/muse_es.ts \ -share/locale/muse_fr.ts \ -share/locale/muse_pl.ts \ -share/locale/muse_ru.ts \ -share/locale/muse_sv_SE.ts + ./share/locale/muse_sv_SE.ts \ + ./share/locale/muse_de.ts \ + ./share/locale/muse_ru.ts \ + ./share/locale/muse_pl.ts \ + ./share/locale/muse_en.ts \ + ./share/locale/muse_es.ts \ + ./share/locale/muse_fr.ts \ + + -- cgit v1.2.3 From 253b9d9f1a17b98f3f6696f456e9d83f1ac9aee3 Mon Sep 17 00:00:00 2001 From: Florian Jung Date: Sun, 11 Sep 2011 15:34:52 +0000 Subject: began with implementing the improved paste for midi editors TODO: sane values for raster, and respect raster and amount values support ctrl+shift+c --- muse2/muse.pro | 3 + muse2/muse/dialogs.cpp | 6 + muse2/muse/dialogs.h | 2 + muse2/muse/functions.cpp | 18 ++ muse2/muse/functions.h | 1 + muse2/muse/midiedit/dcanvas.h | 2 +- muse2/muse/midiedit/drumedit.cpp | 11 +- muse2/muse/midiedit/drumedit.h | 2 +- muse2/muse/midiedit/pianoroll.cpp | 12 +- muse2/muse/midiedit/pianoroll.h | 1 + muse2/muse/midiedit/prcanvas.h | 2 +- muse2/muse/midiedit/scoreedit.cpp | 21 +- muse2/muse/midiedit/scoreedit.h | 3 +- muse2/muse/shortcuts.cpp | 4 +- muse2/muse/shortcuts.h | 4 +- muse2/muse/widgets/CMakeLists.txt | 3 + muse2/muse/widgets/pastedialogbase.ui | 4 +- muse2/muse/widgets/pasteeventsdialog.cpp | 171 +++++++++++++ muse2/muse/widgets/pasteeventsdialog.h | 65 +++++ muse2/muse/widgets/pasteeventsdialogbase.ui | 383 ++++++++++++++++++++++++++++ 20 files changed, 704 insertions(+), 14 deletions(-) create mode 100644 muse2/muse/widgets/pasteeventsdialog.cpp create mode 100644 muse2/muse/widgets/pasteeventsdialog.h create mode 100644 muse2/muse/widgets/pasteeventsdialogbase.ui (limited to 'muse2/muse.pro') diff --git a/muse2/muse.pro b/muse2/muse.pro index 03f31e71..82649d96 100644 --- a/muse2/muse.pro +++ b/muse2/muse.pro @@ -190,6 +190,7 @@ HEADERS = \ ./muse/widgets/tempolabel.h \ ./muse/widgets/mixdowndialog.h \ ./muse/widgets/pastedialog.h \ + ./muse/widgets/pasteeventsdialog.h \ ./muse/widgets/sigedit.h \ ./muse/widgets/songinfo.h \ ./muse/widgets/scldraw.h \ @@ -412,6 +413,7 @@ SOURCES = \ ./muse/widgets/unusedwavefiles.cpp \ ./muse/widgets/splitter.cpp \ ./muse/widgets/pastedialog.cpp \ + ./muse/widgets/pasteeventsdialog.cpp \ ./muse/widgets/ctrlcombo.cpp \ ./muse/widgets/siglabel.cpp \ ./muse/widgets/projectcreateimpl.cpp \ @@ -597,6 +599,7 @@ FORMS = \ ./muse/widgets/editsysexdialogbase.ui \ ./muse/widgets/projectcreate.ui \ ./muse/widgets/pastedialogbase.ui \ + ./muse/widgets/pasteeventsdialogbase.ui \ ./muse/widgets/didyouknow.ui \ ./muse/widgets/itransformbase.ui \ ./muse/widgets/aboutbox.ui \ diff --git a/muse2/muse/dialogs.cpp b/muse2/muse/dialogs.cpp index a0bf265f..18db2352 100644 --- a/muse2/muse/dialogs.cpp +++ b/muse2/muse/dialogs.cpp @@ -32,6 +32,7 @@ #include "widgets/function_dialogs/deloverlaps.h" #include "widgets/function_dialogs/legato.h" #include "widgets/pastedialog.h" +#include "widgets/pasteeventsdialog.h" #include "xml.h" @@ -50,6 +51,7 @@ MusEDialog::Transpose* transpose_dialog=NULL; MusEDialog::Crescendo* crescendo_dialog=NULL; MusEDialog::Legato* legato_dialog=NULL; PasteDialog* paste_dialog=NULL; // FINDMICHJETZT +PasteEventsDialog* paste_events_dialog=NULL; // FINDMICHJETZT void init_function_dialogs(QWidget* parent) { @@ -64,6 +66,7 @@ void init_function_dialogs(QWidget* parent) crescendo_dialog = new MusEDialog::Crescendo(parent); legato_dialog = new MusEDialog::Legato(parent); paste_dialog = new PasteDialog(parent); // FINDMICHJETZT + paste_events_dialog = new PasteEventsDialog(parent); // FINDMICHJETZT } void read_function_dialog_config(Xml& xml) @@ -107,6 +110,8 @@ void read_function_dialog_config(Xml& xml) legato_dialog->read_configuration(xml); else if (tag == "pastedialog") paste_dialog->read_configuration(xml); + else if (tag == "pasteeventsdialog") + paste_events_dialog->read_configuration(xml); else xml.unknown("dialogs"); break; @@ -136,6 +141,7 @@ void write_function_dialog_config(int level, Xml& xml) crescendo_dialog->write_configuration(level, xml); legato_dialog->write_configuration(level, xml); paste_dialog->write_configuration(level, xml); + paste_events_dialog->write_configuration(level, xml); xml.tag(level, "/dialogs"); } diff --git a/muse2/muse/dialogs.h b/muse2/muse/dialogs.h index b8e85b91..3f966efd 100644 --- a/muse2/muse/dialogs.h +++ b/muse2/muse/dialogs.h @@ -38,6 +38,7 @@ namespace MusEDialog class Legato; } class PasteDialog; //FINDMICHJETZT put into namespace +class PasteEventsDialog; //FINDMICHJETZT put into namespace class Xml; @@ -52,6 +53,7 @@ extern MusEDialog::Transpose* transpose_dialog; extern MusEDialog::Crescendo* crescendo_dialog; extern MusEDialog::Legato* legato_dialog; extern PasteDialog* paste_dialog; //FINDMICHJETZT +extern PasteEventsDialog* paste_events_dialog; //FINDMICHJETZT void init_function_dialogs(QWidget* parent); void read_function_dialog_config(Xml& xml); diff --git a/muse2/muse/functions.cpp b/muse2/muse/functions.cpp index 2584caa3..a8b7ea1d 100644 --- a/muse2/muse/functions.cpp +++ b/muse2/muse/functions.cpp @@ -39,6 +39,7 @@ #include "widgets/function_dialogs/move.h" #include "widgets/function_dialogs/deloverlaps.h" #include "widgets/function_dialogs/legato.h" +#include "widgets/pasteeventsdialog.h" #include #include @@ -865,6 +866,20 @@ void copy_notes(const set& parts, int range) QApplication::clipboard()->setMimeData(drag, QClipboard::Clipboard); } +bool paste_notes(Part* paste_into_part) +{ + // TODO FINDMICHJETZT sane defaults for raster! + paste_events_dialog->into_single_part_allowed = (paste_into_part!=NULL); + + if (!paste_events_dialog->exec()) + return false; + + paste_notes(paste_events_dialog->max_distance, paste_events_dialog->always_new_part, + paste_events_dialog->never_new_part, paste_events_dialog->into_single_part ? paste_into_part : NULL); + + return true; +} + void paste_notes(int max_distance, bool always_new_part, bool never_new_part, Part* paste_into_part) { QString tmp="x-muse-groupedeventlists"; // QClipboard::text() expects a QString&, not a QString :( @@ -1027,6 +1042,9 @@ void paste_at(const QString& pt, int pos, int max_distance, bool always_new_part always_new_part ) && !never_new_part ) ) { dest_part = dest_track->newPart(); + dest_part->events()->incARef(-1); // the later song->applyOperationGroup() will increment it + // so we must decrement it first :/ + dest_part->setTick(AL::sigmap.raster1(first_paste_tick, config.division)); operations.push_back(UndoOp(UndoOp::AddPart, dest_part)); } diff --git a/muse2/muse/functions.h b/muse2/muse/functions.h index 650b986e..98376896 100644 --- a/muse2/muse/functions.h +++ b/muse2/muse/functions.h @@ -84,6 +84,7 @@ bool legato(); //functions for copy'n'paste void copy_notes(const std::set& parts, int range); +bool paste_notes(Part* paste_into_part=NULL); // shows a dialog void paste_notes(int max_distance=3072, bool always_new_part=false, bool never_new_part=false, Part* paste_into_part=NULL); QMimeData* selected_events_to_mime(const std::set& parts, int range); void paste_at(const QString& pt, int pos, int max_distance=3072, bool always_new_part=false, bool never_new_part=false, Part* paste_into_part=NULL); diff --git a/muse2/muse/midiedit/dcanvas.h b/muse2/muse/midiedit/dcanvas.h index 0256de01..110ecfb7 100644 --- a/muse2/muse/midiedit/dcanvas.h +++ b/muse2/muse/midiedit/dcanvas.h @@ -106,7 +106,7 @@ class DrumCanvas : public EventCanvas { public: enum { - CMD_CUT, CMD_COPY, CMD_PASTE, CMD_SAVE, CMD_LOAD, CMD_RESET, + CMD_CUT, CMD_COPY, CMD_PASTE, CMD_PASTE_DIALOG, CMD_SAVE, CMD_LOAD, CMD_RESET, CMD_SELECT_ALL, CMD_SELECT_NONE, CMD_SELECT_INVERT, CMD_SELECT_ILOOP, CMD_SELECT_OLOOP, CMD_SELECT_PREV_PART, CMD_SELECT_NEXT_PART, CMD_DEL, CMD_FIXED_LEN, CMD_RIGHT, CMD_LEFT, CMD_RIGHT_NOSNAP, CMD_LEFT_NOSNAP, CMD_MODIFY_VELOCITY, CMD_CRESCENDO, diff --git a/muse2/muse/midiedit/drumedit.cpp b/muse2/muse/midiedit/drumedit.cpp index a0dd6782..182a2db3 100644 --- a/muse2/muse/midiedit/drumedit.cpp +++ b/muse2/muse/midiedit/drumedit.cpp @@ -198,17 +198,20 @@ DrumEdit::DrumEdit(PartList* pl, QWidget* parent, const char* name, unsigned ini cutAction = menuEdit->addAction(QIcon(*editcutIconSet), tr("Cut")); copyAction = menuEdit->addAction(QIcon(*editcopyIconSet), tr("Copy")); pasteAction = menuEdit->addAction(QIcon(*editpasteIconSet), tr("Paste")); + pasteDialogAction = menuEdit->addAction(QIcon(*editpasteIconSet), tr("Paste (with Dialog)")); menuEdit->addSeparator(); deleteAction = menuEdit->addAction(tr("Delete Events")); connect(cutAction, SIGNAL(triggered()), signalMapper, SLOT(map())); connect(copyAction, SIGNAL(triggered()), signalMapper, SLOT(map())); connect(pasteAction, SIGNAL(triggered()), signalMapper, SLOT(map())); + connect(pasteDialogAction, SIGNAL(triggered()), signalMapper, SLOT(map())); connect(deleteAction, SIGNAL(triggered()), signalMapper, SLOT(map())); signalMapper->setMapping(cutAction, DrumCanvas::CMD_CUT); signalMapper->setMapping(copyAction, DrumCanvas::CMD_COPY); signalMapper->setMapping(pasteAction, DrumCanvas::CMD_PASTE); + signalMapper->setMapping(pasteDialogAction, DrumCanvas::CMD_PASTE_DIALOG); signalMapper->setMapping(deleteAction, DrumCanvas::CMD_DEL); menuSelect = menuEdit->addMenu(QIcon(*selectIcon), tr("&Select")); @@ -919,7 +922,11 @@ void DrumEdit::cmd(int cmd) case DrumCanvas::CMD_COPY: copy_notes(partlist_to_set(parts()), 1); break; case DrumCanvas::CMD_PASTE: ((DrumCanvas*)canvas)->cmd(DrumCanvas::CMD_SELECT_NONE); - paste_notes(); // (canvas->part()); TODO FINDMICHJETZT + paste_notes(3072); + break; + case DrumCanvas::CMD_PASTE_DIALOG: + ((DrumCanvas*)canvas)->cmd(DrumCanvas::CMD_SELECT_NONE); + paste_notes((canvas->part())); break; case DrumCanvas::CMD_LOAD: load(); break; case DrumCanvas::CMD_SAVE: save(); break; @@ -952,6 +959,7 @@ void DrumEdit::cmd(int cmd) void DrumEdit::clipboardChanged() { pasteAction->setEnabled(QApplication::clipboard()->mimeData()->hasFormat(QString("text/x-muse-groupedeventlists"))); + pasteDialogAction->setEnabled(QApplication::clipboard()->mimeData()->hasFormat(QString("text/x-muse-groupedeventlists"))); } //--------------------------------------------------------- @@ -1268,6 +1276,7 @@ void DrumEdit::initShortcuts() cutAction->setShortcut(shortcuts[SHRT_CUT].key); copyAction->setShortcut(shortcuts[SHRT_COPY].key); pasteAction->setShortcut(shortcuts[SHRT_PASTE].key); + pasteDialogAction->setShortcut(shortcuts[SHRT_PASTE_DIALOG].key); deleteAction->setShortcut(shortcuts[SHRT_DELETE].key); fixedAction->setShortcut(shortcuts[SHRT_FIXED_LEN].key); diff --git a/muse2/muse/midiedit/drumedit.h b/muse2/muse/midiedit/drumedit.h index 5169dfcd..be9481c9 100644 --- a/muse2/muse/midiedit/drumedit.h +++ b/muse2/muse/midiedit/drumedit.h @@ -91,7 +91,7 @@ class DrumEdit : public MidiEditor { static int _dlistWidthInit, _dcanvasWidthInit; QAction *loadAction, *saveAction, *resetAction; - QAction *cutAction, *copyAction, *pasteAction, *deleteAction; + QAction *cutAction, *copyAction, *pasteAction, *pasteDialogAction, *deleteAction; QAction *fixedAction, *veloAction, *crescAction, *quantizeAction; QAction *sallAction, *snoneAction, *invAction, *inAction , *outAction; QAction *prevAction, *nextAction; diff --git a/muse2/muse/midiedit/pianoroll.cpp b/muse2/muse/midiedit/pianoroll.cpp index cfebb493..771bd3dd 100644 --- a/muse2/muse/midiedit/pianoroll.cpp +++ b/muse2/muse/midiedit/pianoroll.cpp @@ -111,6 +111,10 @@ PianoRoll::PianoRoll(PartList* pl, QWidget* parent, const char* name, unsigned i mapper->setMapping(editPasteAction, PianoCanvas::CMD_PASTE); connect(editPasteAction, SIGNAL(triggered()), mapper, SLOT(map())); + editPasteDialogAction = menuEdit->addAction(QIcon(*editpasteIconSet), tr("&Paste (with dialog)")); + mapper->setMapping(editPasteDialogAction, PianoCanvas::CMD_PASTE_DIALOG); + connect(editPasteDialogAction, SIGNAL(triggered()), mapper, SLOT(map())); + menuEdit->addSeparator(); editDelEventsAction = menuEdit->addAction(tr("Delete &Events")); @@ -632,7 +636,11 @@ void PianoRoll::cmd(int cmd) case PianoCanvas::CMD_COPY: copy_notes(partlist_to_set(parts()), 1); break; case PianoCanvas::CMD_PASTE: ((PianoCanvas*)canvas)->cmd(PianoCanvas::CMD_SELECT_NONE); - paste_notes(); //(canvas->part()); TODO FINDMICHJETZT + paste_notes(3072); + break; + case PianoCanvas::CMD_PASTE_DIALOG: + ((PianoCanvas*)canvas)->cmd(PianoCanvas::CMD_SELECT_NONE); + paste_notes((canvas->part())); break; case PianoCanvas::CMD_MODIFY_GATE_TIME: modify_notelen(partlist_to_set(parts())); break; case PianoCanvas::CMD_MODIFY_VELOCITY: modify_velocity(partlist_to_set(parts())); break; @@ -1196,6 +1204,7 @@ void PianoRoll::setEventColorMode(int mode) void PianoRoll::clipboardChanged() { editPasteAction->setEnabled(QApplication::clipboard()->mimeData()->hasFormat(QString("text/x-muse-groupedeventlists"))); + editPasteDialogAction->setEnabled(QApplication::clipboard()->mimeData()->hasFormat(QString("text/x-muse-groupedeventlists"))); } //--------------------------------------------------------- @@ -1243,6 +1252,7 @@ void PianoRoll::initShortcuts() editCutAction->setShortcut(shortcuts[SHRT_CUT].key); editCopyAction->setShortcut(shortcuts[SHRT_COPY].key); editPasteAction->setShortcut(shortcuts[SHRT_PASTE].key); + editPasteDialogAction->setShortcut(shortcuts[SHRT_PASTE_DIALOG].key); editDelEventsAction->setShortcut(shortcuts[SHRT_DELETE].key); selectAllAction->setShortcut(shortcuts[SHRT_SELECT_ALL].key); diff --git a/muse2/muse/midiedit/pianoroll.h b/muse2/muse/midiedit/pianoroll.h index b1a5010b..5a8d17bc 100644 --- a/muse2/muse/midiedit/pianoroll.h +++ b/muse2/muse/midiedit/pianoroll.h @@ -86,6 +86,7 @@ class PianoRoll : public MidiEditor { QAction* editCutAction; QAction* editCopyAction; QAction* editPasteAction; + QAction* editPasteDialogAction; QAction* editDelEventsAction; QAction* selectAllAction; diff --git a/muse2/muse/midiedit/prcanvas.h b/muse2/muse/midiedit/prcanvas.h index d239994e..d45b5551 100644 --- a/muse2/muse/midiedit/prcanvas.h +++ b/muse2/muse/midiedit/prcanvas.h @@ -105,7 +105,7 @@ class PianoCanvas : public EventCanvas { public: enum { - CMD_CUT, CMD_COPY, CMD_PASTE, CMD_DEL, + CMD_CUT, CMD_COPY, CMD_PASTE, CMD_PASTE_DIALOG, CMD_DEL, CMD_QUANTIZE, CMD_SELECT_ALL, CMD_SELECT_NONE, CMD_SELECT_INVERT, CMD_SELECT_ILOOP, CMD_SELECT_OLOOP, CMD_SELECT_PREV_PART, CMD_SELECT_NEXT_PART, diff --git a/muse2/muse/midiedit/scoreedit.cpp b/muse2/muse/midiedit/scoreedit.cpp index 3c8f2afe..e4a3994a 100644 --- a/muse2/muse/midiedit/scoreedit.cpp +++ b/muse2/muse/midiedit/scoreedit.cpp @@ -367,6 +367,10 @@ ScoreEdit::ScoreEdit(QWidget* parent, const char* name, unsigned initPos) menu_mapper->setMapping(paste_action, CMD_PASTE); connect(paste_action, SIGNAL(triggered()), menu_mapper, SLOT(map())); + paste_dialog_action = edit_menu->addAction(QIcon(*editpasteIconSet), tr("Paste (with dialog)")); + menu_mapper->setMapping(paste_dialog_action, CMD_PASTE_DIALOG); + connect(paste_dialog_action, SIGNAL(triggered()), menu_mapper, SLOT(map())); + edit_menu->addSeparator(); del_action = edit_menu->addAction(tr("Delete &Events")); @@ -497,6 +501,7 @@ void ScoreEdit::init_shortcuts() cut_action->setShortcut(shortcuts[SHRT_CUT].key); copy_action->setShortcut(shortcuts[SHRT_COPY].key); paste_action->setShortcut(shortcuts[SHRT_PASTE].key); + paste_dialog_action->setShortcut(shortcuts[SHRT_PASTE_DIALOG].key); del_action->setShortcut(shortcuts[SHRT_DELETE].key); select_all_action->setShortcut(shortcuts[SHRT_SELECT_ALL].key); @@ -694,7 +699,11 @@ void ScoreEdit::menu_command(int cmd) case CMD_COPY: copy_notes(score_canvas->get_all_parts(), 1); break; case CMD_PASTE: menu_command(CMD_SELECT_NONE); - paste_notes(); //(score_canvas->get_selected_part()); TODO FINDMICHJETZT + paste_notes(3072); + break; + case CMD_PASTE_DIALOG: + menu_command(CMD_SELECT_NONE); + paste_notes(score_canvas->get_selected_part()); break; case CMD_QUANTIZE: quantize_notes(score_canvas->get_all_parts()); break; case CMD_VELOCITY: modify_velocity(score_canvas->get_all_parts()); break; @@ -716,6 +725,7 @@ void ScoreEdit::menu_command(int cmd) void ScoreEdit::clipboard_changed() { paste_action->setEnabled(QApplication::clipboard()->mimeData()->hasFormat(QString("text/x-muse-groupedeventlists"))); + paste_dialog_action->setEnabled(QApplication::clipboard()->mimeData()->hasFormat(QString("text/x-muse-groupedeventlists"))); } void ScoreEdit::selection_changed() @@ -4501,9 +4511,16 @@ void ScoreEdit::keyPressEvent(QKeyEvent* event) * changing "share" status, the changed state isn't stored * * CURRENT TODO + * o pasting in editors sometimes fails oO? ( ERROR: reading eventlist from clipboard failed. ignoring this one... ) + * o ctrl+shift+c for editors * o when pasting and creating new parts, inform the editors about that! * o TEST pasting in editors! - * o pasting in editors: add dialogs + * o sane default for raster + * o use raster and amount in paste_notes! + * x clone-bug + * x pasting in editors: add dialogs + * + * o ticks-to-quarter spinboxes * * ! o fix sigedit boxes * M o remove that ugly "bool initalizing" stuff. it's probably unneeded (watch out for the FINDMICH message) diff --git a/muse2/muse/midiedit/scoreedit.h b/muse2/muse/midiedit/scoreedit.h index a2a89938..b436f85a 100644 --- a/muse2/muse/midiedit/scoreedit.h +++ b/muse2/muse/midiedit/scoreedit.h @@ -79,7 +79,7 @@ enum {CMD_COLOR_BLACK, CMD_COLOR_VELO, CMD_COLOR_PART, CMD_QUANTIZE, CMD_VELOCITY, CMD_CRESCENDO, CMD_NOTELEN, CMD_TRANSPOSE, CMD_ERASE, CMD_MOVE, CMD_FIXED_LEN, CMD_DELETE_OVERLAPS, CMD_LEGATO, - CMD_CUT, CMD_COPY, CMD_PASTE, CMD_DEL, + CMD_CUT, CMD_COPY, CMD_PASTE, CMD_PASTE_DIALOG, CMD_DEL, CMD_SELECT_ALL, CMD_SELECT_NONE, CMD_SELECT_INVERT, CMD_SELECT_ILOOP, CMD_SELECT_OLOOP}; @@ -134,6 +134,7 @@ class ScoreEdit : public TopWin QAction* cut_action; QAction* copy_action; QAction* paste_action; + QAction* paste_dialog_action; QAction* del_action; QAction* select_all_action; diff --git a/muse2/muse/shortcuts.cpp b/muse2/muse/shortcuts.cpp index 285bf8bc..2270befa 100644 --- a/muse2/muse/shortcuts.cpp +++ b/muse2/muse/shortcuts.cpp @@ -63,10 +63,12 @@ void initShortCuts() 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"); //----------------------------------------------------------- @@ -104,7 +106,6 @@ void initShortCuts() 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_COPY_RANGE, 0, "Edit: Copy in range", ARRANG_SHRT, "copy_range"); 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"); @@ -159,7 +160,6 @@ void initShortCuts() defShrt(SHRT_INSERTMEAS, Qt::CTRL+Qt::SHIFT+ Qt::Key_O, "Edit: Insert empty measure", ARRANG_SHRT, "insert_measure"); - defShrt(SHRT_PASTE_DIALOG, Qt::CTRL+Qt::SHIFT+Qt::Key_V, "Edit: Paste (with dialog)", ARRANG_SHRT, "paste_dialog"); 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"); diff --git a/muse2/muse/shortcuts.h b/muse2/muse/shortcuts.h index ededa796..451c4ec3 100644 --- a/muse2/muse/shortcuts.h +++ b/muse2/muse/shortcuts.h @@ -97,8 +97,10 @@ enum { SHRT_UNDO, //Ctrl+Z SHRT_REDO, //Ctrl+Y SHRT_COPY, //Ctrl+C + SHRT_COPY_RANGE, //Ctrl+Shift+C SHRT_CUT, //Ctrl+X SHRT_PASTE, //Ctrl+V + SHRT_PASTE_DIALOG, //Ctrl+Shift+V SHRT_DELETE,//Delete @@ -127,7 +129,6 @@ enum { SHRT_GLOBAL_CUT, //Default: undefined SHRT_GLOBAL_INSERT, //Default: undefined SHRT_GLOBAL_SPLIT, //Default: undefined - SHRT_COPY_RANGE, //Default: Ctrl+Shift+C SHRT_CUT_EVENTS, //Default: undefined SHRT_OPEN_TRANSPORT, //F11 @@ -190,7 +191,6 @@ enum { SHRT_INSERTMEAS, //Ctrl+Shift+M - insert measures - SHRT_PASTE_DIALOG, //CTRL+SHIFT+_V SHRT_PASTE_CLONE, //CTRL+B SHRT_PASTE_CLONE_DIALOG, //CTRL+SHIFT+B diff --git a/muse2/muse/widgets/CMakeLists.txt b/muse2/muse/widgets/CMakeLists.txt index 4e934ad0..e5353465 100644 --- a/muse2/muse/widgets/CMakeLists.txt +++ b/muse2/muse/widgets/CMakeLists.txt @@ -63,6 +63,7 @@ QT4_WRAP_CPP (widget_mocs nentry.h noteinfo.h pastedialog.h + pasteeventsdialog.h pitchedit.h pitchlabel.h popupmenu.h @@ -117,6 +118,7 @@ file (GLOB widgets_ui_files mixdowndialogbase.ui mtrackinfobase.ui pastedialogbase.ui + pasteeventsdialogbase.ui projectcreate.ui shortcutcapturedialogbase.ui shortcutconfigbase.ui @@ -165,6 +167,7 @@ file (GLOB widgets_source_files nentry.cpp noteinfo.cpp pastedialog.cpp + pasteeventsdialog.cpp pitchedit.cpp pitchlabel.cpp popupmenu.cpp diff --git a/muse2/muse/widgets/pastedialogbase.ui b/muse2/muse/widgets/pastedialogbase.ui index a9c7bced..e47f5d2b 100644 --- a/muse2/muse/widgets/pastedialogbase.ui +++ b/muse2/muse/widgets/pastedialogbase.ui @@ -77,14 +77,14 @@ - 1 quarter + 1 quarter - 1 quarter + 1 quarter diff --git a/muse2/muse/widgets/pasteeventsdialog.cpp b/muse2/muse/widgets/pasteeventsdialog.cpp new file mode 100644 index 00000000..be53ef13 --- /dev/null +++ b/muse2/muse/widgets/pasteeventsdialog.cpp @@ -0,0 +1,171 @@ +//========================================================= +// MusE +// Linux Music Editor +// $Id: pasteeventsdialog.cpp,v 1.1.1.1 2011/05/05 18:51:04 flo93 Exp $ +// (C) Copyright 2011 Florian Jung (flo93@sourceforge.net) +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; version 2 of +// the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// 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 +#include "pasteeventsdialog.h" +#include "xml.h" +#include "gconfig.h" + +using MusEConfig::config; + +PasteEventsDialog::PasteEventsDialog(QWidget* parent) + : QDialog(parent) +{ + setupUi(this); + + raster_spinbox->setSingleStep(config.division); + + connect(raster_spinbox, SIGNAL(valueChanged(int)), this, SLOT(raster_changed(int))); + connect(n_spinbox, SIGNAL(valueChanged(int)), this, SLOT(number_changed(int))); + connect(max_distance_spinbox, SIGNAL(valueChanged(int)), this, SLOT(max_distance_changed(int))); + + into_single_part_allowed=true; + + pull_values(); +} + +void PasteEventsDialog::pull_values() +{ + into_single_part = all_into_selected_part_checkbox->isChecked(); + always_new_part = always_new_button->isChecked(); + never_new_part = never_new_button->isChecked(); + + int temp = max_distance_spinbox->value(); + if (temp < 0) + max_distance = 0; + else + max_distance = unsigned(temp); + + number = n_spinbox->value(); + raster = raster_spinbox->value(); +} + +void PasteEventsDialog::accept() +{ + pull_values(); + QDialog::accept(); +} + +int PasteEventsDialog::exec() +{ + all_into_selected_part_checkbox->setChecked(into_single_part && into_single_part_allowed); + all_into_selected_part_checkbox->setEnabled(into_single_part_allowed); + into_single_part_allowed=true; + + if (always_new_part) + always_new_button->setChecked(true); + else if (never_new_part) + never_new_button->setChecked(true); + else + sometimes_into_new_button->setChecked(true); + + max_distance_spinbox->setValue(max_distance); + + n_spinbox->setValue(number); + raster_spinbox->setValue(raster); + + return QDialog::exec(); +} + +QString PasteEventsDialog::ticks_to_quarter_string(int ticks) +{ + if (ticks % config.division == 0) + { + return tr("%n quarter(s)", "", ticks/config.division); + } + else + { + double quarters = (double) ticks/config.division; + bool one = ( quarters > 0.995 && quarters < 1.005 ); + if (one) + return QString::number(quarters, 'f', 2) + " " + tr("quarter"); + else + return QString::number(quarters, 'f', 2) + " " + tr("quarters"); + } +} + +void PasteEventsDialog::max_distance_changed(int d) +{ + max_distance_quarters->setText(ticks_to_quarter_string(d)); +} + +void PasteEventsDialog::raster_changed(int r) +{ + raster_quarters->setText(ticks_to_quarter_string(r)); + insert_quarters->setText(ticks_to_quarter_string(r*n_spinbox->value())); +} + +void PasteEventsDialog::number_changed(int n) +{ + insert_quarters->setText(ticks_to_quarter_string(n*raster_spinbox->value())); +} + + +void PasteEventsDialog::read_configuration(Xml& xml) +{ + for (;;) + { + Xml::Token token = xml.parse(); + if (token == Xml::Error || token == Xml::End) + break; + + const QString& tag = xml.s1(); + switch (token) + { + case Xml::TagStart: + if (tag == "number") + number=xml.parseInt(); + else if (tag == "raster") + raster=xml.parseInt(); + else if (tag == "always_new_part") + always_new_part=xml.parseInt(); + else if (tag == "never_new_part") + never_new_part=xml.parseInt(); + else if (tag == "max_distance") + max_distance=xml.parseInt(); + else if (tag == "into_single_part") + into_single_part=xml.parseInt(); + else + xml.unknown("PasteEventsDialog"); + break; + + case Xml::TagEnd: + if (tag == "pasteeventsdialog") + return; + + default: + break; + } + } +} + +void PasteEventsDialog::write_configuration(int level, Xml& xml) +{ + xml.tag(level++, "pasteeventsdialog"); + xml.intTag(level, "number", number); + xml.intTag(level, "raster", raster); + xml.intTag(level, "always_new_part", always_new_part); + xml.intTag(level, "never_new_part", never_new_part); + xml.intTag(level, "max_distance", max_distance); + xml.intTag(level, "into_single_part", into_single_part); + xml.tag(level, "/pasteeventsdialog"); +} diff --git a/muse2/muse/widgets/pasteeventsdialog.h b/muse2/muse/widgets/pasteeventsdialog.h new file mode 100644 index 00000000..88971a84 --- /dev/null +++ b/muse2/muse/widgets/pasteeventsdialog.h @@ -0,0 +1,65 @@ +//========================================================= +// MusE +// Linux Music Editor +// $Id: pasteeventsdialog.h,v 1.1.1.1 2011/05/05 18:51:04 flo93 Exp $ +// (C) Copyright 2011 Florian Jung (flo93@sourceforge.net) +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; version 2 of +// the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// 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. +// +//========================================================= + +#ifndef __PASTEEVENTSDIALOG_H__ +#define __PASTEEVENTSDIALOG_H__ + +#include "ui_pasteeventsdialogbase.h" +#include + +class Xml; + +class PasteEventsDialog : public QDialog, public Ui::PasteEventsDialogBase +{ + Q_OBJECT + protected: + QString ticks_to_quarter_string(int ticks); + + protected slots: + void accept(); + void pull_values(); + + void max_distance_changed(int); + void raster_changed(int); + void number_changed(int); + + public: + PasteEventsDialog(QWidget* parent = 0); + + int number; + int raster; + bool always_new_part; + bool never_new_part; + unsigned max_distance; + bool into_single_part; + bool into_single_part_allowed; + + void read_configuration(Xml& xml); + void write_configuration(int level, Xml& xml); + + + public slots: + int exec(); +}; + +#endif + diff --git a/muse2/muse/widgets/pasteeventsdialogbase.ui b/muse2/muse/widgets/pasteeventsdialogbase.ui new file mode 100644 index 00000000..d1436ded --- /dev/null +++ b/muse2/muse/widgets/pasteeventsdialogbase.ui @@ -0,0 +1,383 @@ + + + PasteEventsDialogBase + + + + 0 + 0 + 315 + 360 + + + + MusE: Paste Events + + + + 6 + + + 11 + + + + + Number and raster + + + + + + + + insert + + + + + + + times + + + + + + 1 + + + + + + + raster + + + + + + + ticks + + + 0 + + + 999999 + + + 384 + + + 384 + + + + + + + 1 quarter + + + + + + + 1 quarter + + + + + + + Qt::Horizontal + + + + 0 + 20 + + + + + + + + Qt::Horizontal + + + + 0 + 20 + + + + + + + + + + + + + Paste options + + + false + + + false + + + + + + Always into existing parts + + + true + + + false + + + + + + + Never into existing parts + + + + + + + 0 + + + + + Into existing parts if part has not +to be expanded by more than + + + true + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 20 + 20 + + + + + + + + true + + + ticks + + + 999999 + + + 384 + + + 3072 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + true + + + 1 quarter + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Put everything into the (selected) part + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + 6 + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 20 + 20 + + + + + + + + OK + + + false + + + true + + + + + + + Cancel + + + + + + + + + + + + okButton + clicked() + PasteEventsDialogBase + accept() + + + 20 + 20 + + + 20 + 20 + + + + + cancelButton + clicked() + PasteEventsDialogBase + reject() + + + 20 + 20 + + + 20 + 20 + + + + + sometimes_into_new_button + toggled(bool) + max_distance_quarters + setEnabled(bool) + + + 161 + 201 + + + 260 + 231 + + + + + sometimes_into_new_button + toggled(bool) + max_distance_spinbox + setEnabled(bool) + + + 161 + 201 + + + 107 + 231 + + + + + -- cgit v1.2.3