[linux-audio-dev] non-destructive editing

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: [linux-audio-dev] non-destructive editing
From: Paul Barton-Davis (pbd_AT_Op.Net)
Date: pe helmi  11 2000 - 10:49:43 EST


thanks to eli brandt, i spent some time yesterday implementing a C++
version of the "piece table" approach described in Crowley's survey of
text editing methods. this is a true "edit list" approach, in which
the original data is never modified, and only a list of
pointers+lengths are used to describe the current state of the data.

it feels very exciting to be able to edit (insert/delete/replace) a
700MB file in arbitrary ways without a single copy of any part of it,
as well as have an "infinite" undo/redo list. all of this comes with
the cost of creating/deleting STL lists. not the cheapest list
implementation in town, but a tiny fraction of what would be involved
in a non-edit-list approach.

since the class is written as a template, it can be used for editing
almost anything that fits into the idea of a "sequence of
<some-type>". i have tried it so far with both sequences of unsigned
char *, and unsigned int.

although i am supposed to be working on quasimodo again, i will spend
some time this weekend working on finishing and improving the class
design/implementation and seeing what can be done with it in a
proto-app.

--p


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : pe maalis 10 2000 - 07:23:27 EST