[FFmpeg-soc] [soc] libavsequencer [PATCH 08/08] Playback handling public API header file.

Sebastian Vater cdgs.basty at googlemail.com
Sun Jul 11 22:15:54 CEST 2010


Michael Niedermayer a écrit :
> On Wed, Jul 07, 2010 at 10:50:16PM +0200, Sebastian Vater wrote:
> [...]
>
>   
>> +    /** Player envelope flags. Some sequencers allow envelopes
>> +       to operate in different modes, e.g. different loop types,
>> +       randomization, processing modes which have to be taken
>> +       care specially in the internal playback engine.  */
>> +    int8_t flags;
>> +#define AVSEQ_PLAYER_ENVELOPE_FLAG_FIRST_ADD    0x01 ///< First process envelope position then get value
>> +#define AVSEQ_PLAYER_ENVELOPE_FLAG_NO_RETRIG    0x02 ///< Do not retrigger envelope on new note playback
>> +#define AVSEQ_PLAYER_ENVELOPE_FLAG_RANDOM       0x04 ///< Envelope returns randomized instead of waveform data
>> +#define AVSEQ_PLAYER_ENVELOPE_FLAG_RND_DELAY    0x08 ///< If randomization is enabled speed is interpreted as delay
>> +#define AVSEQ_PLAYER_ENVELOPE_FLAG_BACKWARDS    0x10 ///< Envelope is currently being played backwards
>> +#define AVSEQ_PLAYER_ENVELOPE_FLAG_LOOPING      0x20 ///< Envelope is looping in either sustain or normal mode
>> +#define AVSEQ_PLAYER_ENVELOPE_FLAG_PINGPONG     0x40 ///< Envelope is doing ping pong style loop
>>     
>
> mostof the flags in your code use signed integers, this seems odd to me
> shouldnt they all be unsigned?
>   

Oh yes...fixed for all header files!

> and most fields are fixed size instead of more common short/int, is that
> intended? 
>   

Yes, large values barely make sense in trackers and changing the
original data size as compared to TuComposer will require intense
testing, which is not possible at current state, I however plan to
change some of the data structures to common int/unsigned at a later
time, when everything works.

Especially player.c has some code in it which only works correctly when
the data type size as it is now. Maybe we can do some of this stuff
during review phase?

Anyway, new player.h patch because I moved the stack pointers from
song.h to here and also the effects lut declaration from player.c to
player.h. Also AVTreeNode's replaced by array pointers.

-- 

Best regards,
                   :-) Basty/CDGS (-:

-------------- next part --------------
A non-text attachment was scrubbed...
Name: player.h_20100711.patch
Type: text/x-patch
Size: 38435 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-soc/attachments/20100711/61867e43/attachment.bin>


More information about the FFmpeg-soc mailing list