Re: [linux-audio-dev] EDL's ... in process

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

Subject: Re: [linux-audio-dev] EDL's ... in process
From: Paul Barton-Davis (pbd_AT_Op.Net)
Date: Wed Oct 18 2000 - 20:30:09 EEST


>The idea was to create an object signal, which had several overloaded
>methods, such as len(), compute(), ID().

At this point, the sequence_t implementation supports only 3
operations:

        insert
        replace
        delete

as well as undo/redo and read. There is no "write" because that
violates the non-destructive part, and the semantics of "write" are
covered by:

        piece_t *piece = piece_new (some_buffer, some_index, seq->length);
        sequence_replace (seq, 0, seq->length, piece);

>I don't think this has overlap from what you intend to do, because I want to
>use python (such an efficient and elegant language !), and you are coding in
>an compiled language. I want people to make 'plugins' in python and simples
>! (i created a semi UI description data structure with python advanced use
>of lists and so on, this HAS to be portable).

>But we may benefit of each others' ideas, don't you think ?

Well, sure. One area that I am currently uncertain about what
operations the model should support. The original C++ one also
included

        typedef guint32 (*SequenceFunction)(sequence_t *, guint32, guint32, gpointer);

        guint32 (*change) (sequence_t, guint32 start, guint32 cnt,
                           SequenceFunction do_function,
                           SequenceFunction undo_function,
                           gpointer arg);

and would be used in to transform the data in some way. I removed it
from the C one, mostly to make life easier. It seems that it should
probably return, because this is how I would apply, for example, a
plugin to part or all of the sequence. Of course, "apply" is a
misnomer, because it actually will generate a copy of the relevant
part of the sequence, then apply the data, then replace the relevant
part of the sequence with the transformed copy. But notice how this
kind of operation is noticeably more expensive than the others above,
which involve no data manipulation at all, just the creation of a few
list nodes.

Your python stuff looks very cool, but as you say, its not really
intended for the same kind of thing. I need to be able to use this
system to play back 24+ channels of audio in real time :)

>PS : could you develop on GtkWaveForm ? I _AM_ interested.

This is a project by David Bartold. His README says:

  The libgtkwaveform library contains the GtkWaveView sound sample
  display widget and its corresponding data source objects. The
  GtkWaveform framework provides a robust caching display interface
  using the MVC (or Model-View-Controller) paradigm.

Check it out at http://uts.cc.utexas.edu/~foxx/gtkwaveform/

I'm using v0.2.1. v0.3.1 looks better, but needs GTK+ 1.3, which as the
GTK site makes clear, is "not for general use".

--p


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

This archive was generated by hypermail 2b28 : Wed Oct 18 2000 - 20:55:14 EEST