[Cin] variable fast/slow playback speed hack

Andrew Randrianasulu randrianasulu at gmail.com
Tue Aug 10 00:15:53 CEST 2021

On Tuesday, August 10, 2021, Phyllis Smith via Cin <
cin at lists.cinelerra-gg.org> wrote:

> Andrew,
>> so i wondered if changing speed for fast/slow reverse and normal playback
>> was possible..
>> after few hours of hacking I made this patch.
>> it makes fast/slow playback speed configurable in Cinelerra_rc via new
>> stored variables:
> I like it!  Since I do not know C++, I am just asking if
> "TransportCommand" lines in other .h files need changing too?  For example:
> fileref.h:      TransportCommand *command;
> module.h:       TransportCommand *nested_command;
> packagerenderer.h:      TransportCommand *command;
> playbackengine.h:       int put_command(TransportCommand *command, int
> reset);
> playbackengine.h:       TransportCommand *command, *stop_command;
> playbackengine.h:       TransportCommand *next_command, *sent_command;
> renderengine.h: int arm_command(TransportCommand *command);
> renderengine.h: TransportCommand *command;
> transportque.h:class TransportCommand
> transportque.h: TransportCommand();
> transportque.h: ~TransportCommand();
> transportque.h: void copy_from(TransportCommand *command);

hm, I think (!) those mostly links to same slightly redefined object. But
may be I missed something too ( probably more testing needed.. but I guess
if we put this patch in git and it will break something we always can

> You probably already went over the above, but just making sure and if all
> is good then I can check it into GIT.  One of the things I like about it is
> that if you never use SLOW, you can set it to a different fast speed and
> get 2 different FAST speeds !  This gives you some of the capability of a
> Shuttle.  Let me know and thanks, Phyllis

interesting use of it, I never thought about this!

also, in Cinelerra_rc there is scrub_speed variable already, may be it
related to (default) shuttle scrubbing speed (can you test when you have
time? )

SCRUB_SPEED 2.000000e+00

there seems to be some commented-out code in mainmenu related to this..

 $ grep scrub_speed cinelerra/*
 grep: cinelerra/armv8l: Is a directory
 grep: cinelerra/data: Is a directory
 cinelerra/edlsession.C: scrub_speed = 2.;
 cinelerra/edlsession.C: scrub_speed = defaults->get("SCRUB_SPEED",
 cinelerra/edlsession.C: defaults->update("SCRUB_SPEED", scrub_speed);
cinelerra/edlsession.C: scrub_speed = session->scrub_speed;
cinelerra/edlsession.h: float scrub_speed;
 cinelerra/mainmenu.C:// ScrubSpeed *scrub_speed;
 cinelerra/mainmenu.C:// settingsmenu->add_item(scrub_speed = new
 cinelerra/mainmenu.C:// if(mwindow->edl->session->scrub_speed == .5)
cinelerra/mainmenu.C:// scrub_speed->set_text(_("Fast Shuttle"));
cinelerra/mainmenu.C: if(mwindow->edl->session->scrub_speed == .5)
cinelerra/mainmenu.C: mwindow->edl->session->scrub_speed = 2;
cinelerra/mainmenu.C: mwindow->edl->session->scrub_speed = .5;

may be it was commented out because you can have variable speed with this
device anyway?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20210810/f642ddbb/attachment-0001.htm>

More information about the Cin mailing list