Commit [r10875] Maximize Restore History

merge project_packager_rewrite

The new project packager replaces the perl-script-in-a-bash-script monstrosity
with a complete new "black box" implementation from scratch. We had to do
something with this, as the old script relied on the kdialog and dcop utilities
from KDE 3, which presented the dual problems of DCOP no longer being available
and of creating a dependency on KDE component applications.

The new implementation was done by reverse engineering a process based on
existing .rgp packages from the real world. It can unpack existing packages,
but it my not create packages that the old packager knows how to unpack, so this
is "version 2.0" of the format.

The new packager doesn't follow the original script at all, and it omits several
decision steps. Known notable differences:

* audio files known to the document but not used by any audio segment are
stripped silently, and we don't offer to include them anyway

* files known to plugins (only synth plugins as far as we know) are included
as "extra files" silently, and we don't offer to exclude them

* we have no idea how the audio path and the path associated with any of the
above mentioned "extra files" used by plugins used to work, but the new
behavior is likely different:

- when packing, rewrite all of this to point to the tmp directory used
for packing, which strips references to the original locations on the
original filesystem

- when unpacking, rewrite all of this to point to the physical location
where the files were just unpacked

Potential bugs:

* if plugin A used /usr/share/foo/bar42.wav and
plugin B used /usr/share/bar/bar42.wav then I suppose only the second
bar42.wav would make it into the package, or it might simply become confused
and abort packing entirely; this was deemed too exotic an edge case to
bother handling

dmmcintyr 2009-09-12

1 2 3 > >> (Page 1 of 3)
changed /trunk/rosegarden/src/sound/MappedEventList.cpp
changed /trunk/rosegarden/src/gui/editors/matrix/OldMatrixView.cpp
changed /trunk/rosegarden/src/gui/seqmanager/AudioSegmentMapper.cpp
changed /trunk/rosegarden/src/gui/seqmanager/TimeSigSegmentMapper.h
changed /trunk/rosegarden/src/gui/widgets/TmpStatusMsg.cpp
changed /trunk/rosegarden/src/gui/seqmanager/SegmentMapperFactory.cpp
changed /trunk/rosegarden/src/document/RosegardenDocument.cpp
changed /trunk/rosegarden/data/pixmaps/misc/image-connect.png
changed /trunk/rosegarden/src/gui/editors/notation/NotationView.cpp
changed /trunk/rosegarden/src/gui/seqmanager/MetronomeMapper.cpp
changed /trunk/rosegarden/src/gui/editors/notation/OldNotationView.h
changed /trunk/rosegarden/src/gui/studio/NoPortDialogUi.ui.DO.NOT.BUILD
changed /trunk/rosegarden/src/gui/seqmanager/TempoSegmentMapper.cpp
changed /trunk/rosegarden/src/gui/seqmanager/SpecialSegmentMapper.h
changed /trunk/rosegarden/src/gui/application/RosegardenMainViewWidget.h
changed /trunk/rosegarden/src/gui/widgets/CanvasGroupableItem.h
changed /trunk/rosegarden/src/gui/studio/MidiKeyMapTreeWidgetItem.h
changed /trunk/rosegarden/src/gui/widgets/Led.cpp
changed /trunk/rosegarden/src/gui/studio/DeviceManagerDialogUi.ui
changed /trunk/rosegarden/data/rc/rosegardenui.rc
changed /trunk/rosegarden/src/misc/ConfigGroups.cpp
changed /trunk/rosegarden/src/sound/MappedEventList.h
/trunk/rosegarden/src/sound/MappedEventList.cpp Diff Switch to side-by-side view
Loading...
/trunk/rosegarden/src/gui/editors/matrix/OldMatrixView.cpp Diff Switch to side-by-side view
Loading...
/trunk/rosegarden/src/gui/seqmanager/AudioSegmentMapper.cpp Diff Switch to side-by-side view
Loading...
/trunk/rosegarden/src/gui/seqmanager/TimeSigSegmentMapper.h Diff Switch to side-by-side view
Loading...
/trunk/rosegarden/src/gui/widgets/TmpStatusMsg.cpp Diff Switch to side-by-side view
Loading...
/trunk/rosegarden/src/gui/seqmanager/SegmentMapperFactory.cpp Diff Switch to side-by-side view
Loading...
/trunk/rosegarden/src/document/RosegardenDocument.cpp Diff Switch to side-by-side view
Loading...
/trunk/rosegarden/data/pixmaps/misc/image-connect.png Diff Switch to side-by-side view
Loading...
/trunk/rosegarden/src/gui/editors/notation/NotationView.cpp Diff Switch to side-by-side view
Loading...
/trunk/rosegarden/src/gui/seqmanager/MetronomeMapper.cpp Diff Switch to side-by-side view
Loading...
/trunk/rosegarden/src/gui/editors/notation/OldNotationView.h Diff Switch to side-by-side view
Loading...
/trunk/rosegarden/src/gui/studio/NoPortDialogUi.ui.DO.NOT.BUILD Diff Switch to side-by-side view
Loading...
/trunk/rosegarden/src/gui/seqmanager/TempoSegmentMapper.cpp Diff Switch to side-by-side view
Loading...
/trunk/rosegarden/src/gui/seqmanager/SpecialSegmentMapper.h Diff Switch to side-by-side view
Loading...
/trunk/rosegarden/src/gui/application/RosegardenMainViewWidget.h Diff Switch to side-by-side view
Loading...
/trunk/rosegarden/src/gui/widgets/CanvasGroupableItem.h Diff Switch to side-by-side view
Loading...
/trunk/rosegarden/src/gui/studio/MidiKeyMapTreeWidgetItem.h Diff Switch to side-by-side view
Loading...
/trunk/rosegarden/src/gui/widgets/Led.cpp Diff Switch to side-by-side view
Loading...
/trunk/rosegarden/src/gui/studio/DeviceManagerDialogUi.ui Diff Switch to side-by-side view
Loading...
/trunk/rosegarden/data/rc/rosegardenui.rc Diff Switch to side-by-side view
Loading...
/trunk/rosegarden/src/misc/ConfigGroups.cpp Diff Switch to side-by-side view
Loading...
/trunk/rosegarden/src/sound/MappedEventList.h Diff Switch to side-by-side view
Loading...
1 2 3 > >> (Page 1 of 3)