variable fast/slow playback speed hack
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: ===j LOADPREVIOUS16 /data/data/com.termux/files/home/LibRaw/RAW_CANON_G1.CRW LOADPREVIOUS17 /data/data/com.termux/files/home/av1-cpu5-crf10.mkv SLOW_SPEED 5.000000e-01 FAST_SPEED 4.000000e+00 here I set fast playback speed to 4x, while slow_playback default remain at 0.5 .... no gui yet because I am still unsure about gui elements but I had idea about putting two input boxes in Preferences for this.. but I can be wrong with my hacking....
oops, forgot to test plugins/ compilation/running, patch #2 is fixup On Monday, July 12, 2021, Andrew Randrianasulu <[email protected]> wrote:
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:
===j LOADPREVIOUS16 /data/data/com.termux/files/home/LibRaw/RAW_CANON_G1.CRW LOADPREVIOUS17 /data/data/com.termux/files/home/av1-cpu5-crf10.mkv SLOW_SPEED 5.000000e-01 FAST_SPEED 4.000000e+00
here I set fast playback speed to 4x, while slow_playback default remain at 0.5 ....
no gui yet because I am still unsure about gui elements but I had idea about putting two input boxes in Preferences for this..
but I can be wrong with my hacking....
Andrew, this went to my SPAM instead of Inbox so I just found it now which explains why I did not understand the followup patch that did go to the Inbox. Sometimes I wonder about Gmail. I think I am going to stop what I am supposed to be doing and test this instead because it sounds like fun ! 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:
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); 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
On Tuesday, August 10, 2021, Phyllis Smith via Cin < [email protected]> 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 revert?
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? ) SAMPLERATE 48000 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", (float)2); 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 ScrubSpeed(mwindow)); 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?
I must be wrong about "SCRUB_SPEED, I think it was something the original author added but never got working. So maybe the shuttle hardware really did exist back then. I will hook up the shuttle and uncomment the code to see if I can get it to do anything.
From Audacity, https://manual.audacityteam.org/man/scrubbing_and_seeking.html
Scrubbing or Seeking is the action of moving the mouse pointer right or left so as to adjust the position, speed or direction of playback, listening to the audio at the same time - a convenient way to quickly navigate the waveform to find a particular event of interest. The term "Scrubbing" comes from the early days of the recording industry and refers to the process of physically rotating tape reels to move the tape past the play head to locate a specific point in the audio track. In Audacity - *Scrubbing* changes the audio position without skipping. - *Seeking* changes the audio position, skipping over audio to move more quickly
About SCRUB_SPEED -- using the hardware shuttle device does not appear to be at all related to this Cinelerra_rc variable. Of course the actual Shuttle has its own configuration file that gets loaded. It looks to me like this is a leftover piece of code that is replaced by the "fast forward" transport key and the keypad #2 key for "slow forward". After uncommenting code in mainmenu.C, the pulldown Settings contained an option of "Fast Shuttle" which when clicked on switches to "Slow Shuttle" and then back again when clicked again. So I am guessing that it was originally just a way to go either fast or slow when looking for something in the video. Nothing relates to the shuttle hardware device as far as I can tell. Scrub apparently just means to *move quickly backwards and forwards in time across the video. It is usually made by dragging the mouse pointer over the timebar or by dragging the knob of the Compositor or Viewer timebars without having to play or scrub/shuttle through adjacent footage (from earlier Cinelerra docs). --- *This documentation implies that the word *shuttle is just an alternative word for* *scrub*. Done with this subject! ...Phyllis
Andrew, I tested the changes to *exportedl.C* that were included in the SLOW/FAST_SPEED patch - 0001-Add-hidden-fast-slow-playback-preference.patch - (looks like they tried to sneak into the patchset !) Does adding FROM FILE improve the CMX output and can Andrea test after I check it in? Just want to know its purpose so that I can put that in the Release Notes. so i wondered if changing speed for fast/slow reverse and normal playback
was possible..0001-Add-hidden-fast-slow-playback-preference.patch
after few hours of hacking I made this patch.
it makes fast/slow playback speed configurable in Cinelerra_rc via new stored variables:
On Tuesday, August 10, 2021, Phyllis Smith via Cin < [email protected]> wrote:
Andrew, I tested the changes to *exportedl.C* that were included in the SLOW/FAST_SPEED patch - 0001-Add-hidden-fast-slow-playback-preference.patch - (looks like they tried to sneak into the patchset !)
yeah, bad me... i forgot about this change while making this patch.. / you probably can safely git checkout this file back to original (current git) state.. I do not think Andrea's test showed any improvement in openability of resulting edl..
Does adding FROM FILE improve the CMX output and can Andrea test after I check it in? Just want to know its purpose so that I can put that in the Release Notes.
so i wondered if changing speed for fast/slow reverse and normal playback
was possible..0001-Add-hidden-fast-slow-playback-preference.patch
after few hours of hacking I made this patch.
it makes fast/slow playback speed configurable in Cinelerra_rc via new stored variables:
After testing and checking the code as best as I could, I added Andrew's 0001-Add-hidden-fast-slow-playback-preference.patch (mostly) into GIT. It is a very creative and nice solution. Additional testing by others would be helpful. you probably can safely git checkout this file back to original (current
git) state.. I do not think Andrea's test showed any improvement in openability of resulting edl..
I left this out as recommended.
so i wondered if changing speed for fast/slow reverse and normal playback
was possible..0001-Add-hidden-fast-slow-playback-preference.patch
after few hours of hacking I made this patch.
it makes fast/slow playback speed configurable in Cinelerra_rc via new stored variables:
To test add the following lines to $HOME/.bcast5/Cinelerra_rc with the
value of speed that you want. SLOW_SPEED .2 FAST_SPEED 4
On Wednesday, August 11, 2021, Phyllis Smith via Cin < [email protected]> wrote:
After testing and checking the code as best as I could, I added Andrew's 0001-Add-hidden-fast-slow-playback-preference.patch (mostly) into GIT. It is a very creative and nice solution. Additional testing by others would be helpful.
you probably can safely git checkout this file back to original (current
git) state.. I do not think Andrea's test showed any improvement in openability of resulting edl..
I left this out as recommended.
so i wondered if changing speed for fast/slow reverse and normal
playback was possible..0001-Add-hidden-fast-slow-playback-preference. patch
after few hours of hacking I made this patch.
it makes fast/slow playback speed configurable in Cinelerra_rc via new stored variables:
To test add the following lines to $HOME/.bcast5/Cinelerra_rc with the
value of speed that you want. SLOW_SPEED .2 FAST_SPEED 4
I think in documentation better wording will be "4x faster and 5x slower" (because 20% of 100% speed is 1/5): http://git.cinelerra-gg.org/git/?p=goodguy/cin-manual-latex.git;a=blobdiff;f... "For example, adding the 2 lines FAST\_SPEED 4 and SLOW\_SPEED .2 to the end of the Cinelerra\_rc wile will result in playing at 4 times faster and 20\% slower." unless I misread raw tex...
For the great confusion I'm making (I apologize!), I can't even find the "0001-Add-hidden-fast-slow-playback-preference.patch".
On Wednesday, August 11, 2021, Andrea paz <[email protected]> wrote:
For the great confusion I'm making (I apologize!), I can't even find the "0001-Add-hidden-fast-slow-playback-preference.patch".
guess i send them too fast! right now patch in current git [0], so you can just build from that, and see how this feature works (hopefully it will not break anything) [0] http://git.cinelerra-gg.org/git/?p=goodguy/cinelerra.git;a=commit;h=e9cdcb62...
participants (3)
-
Andrea paz -
Andrew Randrianasulu -
Phyllis Smith