[Bf-committers] Re: patch to change the step when changing frame
with up or down arrow keys.
Jean Montambeault
iaminnocent at videotron.ca
Thu Mar 30 16:04:36 CEST 2006
raphael a écrit :
> Hi,
>
> There is a misunderstanding due to my poor English skills.
> With Up and Donw arrow key, user can go to the next/previous 10 frames.
> This "step" is fixed to 10 in blender code ( actually, there are no
> vars for this).
>
> With this pacht, users can change this value. So, it is not related to
> audio sync.
>
> Let's take an example: i want to animate a drummer who plays on
> a fixed tempo. If this tempo is equal to 120 bpm, i know that i'll
> probably have to place some keys each 12.5 frames ( frames are "int",
> so , each 12 frames).
>
> At the present time, and for this beat, i have to use up arrow (+10)
> and 2xleft arrow keys to jump to the next frame.... it's faster if i just
> have to press up arrow one to go 12 frame further. That why i made this
Key on IPOx can actually be placed in between frames : I think that your
patch should take advantage to be fully effective and that the steps
should be tunable to a decimal number of frames (e.g. 12.57 frames) or
better still to a real tempo. Otherwise it becomes unavoidable to be out
of phase pretty quickly.
Jean
> patch.
>
>
>
>
>
>
>
>
>
> ------------------------------------------------------------------------
>
> Index: blender/source/blender/makesdna/DNA_userdef_types.h
> ===================================================================
> RCS file: /cvsroot/bf-blender/blender/source/blender/makesdna/DNA_userdef_types.h,v
> retrieving revision 1.54
> diff -u -p -r1.54 DNA_userdef_types.h
> --- blender/source/blender/makesdna/DNA_userdef_types.h 10 Mar 2006 18:51:10 -0000 1.54
> +++ blender/source/blender/makesdna/DNA_userdef_types.h 28 Mar 2006 16:44:38 -0000
> @@ -157,6 +157,7 @@ typedef struct UserDef {
> short menuthreshold1, menuthreshold2;
> char fontname[256]; // FILE_MAXDIR+FILE length
> struct ListBase themes;
> + //jumpframe raph 2006-03-28
> short undosteps;
> short curssize;
> short tb_leftmouse, tb_rightmouse;
> @@ -166,7 +167,8 @@ typedef struct UserDef {
> int memcachelimit;
> short frameserverport;
> short pad;
> - short obcenter_dia, pad1, pad2, pad3;
> + short obcenter_dia, pad1, pad2;
> + short jumpframe;
> } UserDef;
>
> extern UserDef U; /* from usiblender.c !!!! */
> Index: blender/source/blender/src/header_time.c
> ===================================================================
> RCS file: /cvsroot/bf-blender/blender/source/blender/src/header_time.c,v
> retrieving revision 1.15
> diff -u -p -r1.15 header_time.c
> --- blender/source/blender/src/header_time.c 26 Mar 2006 21:36:42 -0000 1.15
> +++ blender/source/blender/src/header_time.c 28 Mar 2006 16:44:39 -0000
> @@ -468,6 +468,10 @@ void time_buttons(ScrArea *sa)
> uiDefIconButBitI(block, TOG, TIME_WITH_SEQ_AUDIO, B_DIFF, ICON_SPEAKER,
> xco, 0, XIC, YIC, &(stime->redraws), 0, 0, 0, 0, "Play back and sync with audio from Sequence Editor");
>
> + //jumpframe
> + xco+= XIC+16;
> + uiDefButS(block, NUMSLI, B_DRAWINFO, "Steps:",xco, 0, 196, YIC,&(U.jumpframe), 1, 100, 1, 100, "Set spacing between frames changes with up and down arrow keys");
> +
> /* always as last */
> sa->headbutlen= xco+2*XIC;
>
> Index: blender/source/blender/src/toets.c
> ===================================================================
> RCS file: /cvsroot/bf-blender/blender/source/blender/src/toets.c,v
> retrieving revision 1.71
> diff -u -p -r1.71 toets.c
> --- blender/source/blender/src/toets.c 10 Feb 2006 21:10:58 -0000 1.71
> +++ blender/source/blender/src/toets.c 28 Mar 2006 16:44:40 -0000
> @@ -544,11 +544,12 @@ int blenderqread(unsigned short event, s
> if (G.qual==LR_ALTKEY)
> mainwindow_toggle_fullscreen(0);
> else if(G.qual==0)
> - CFRA-= 10;
> + //CFRA-= 10;
> + CFRA-= U.jumpframe;
> }
> #else
> if((event==DOWNARROWKEY)&&(G.qual==0))
> - CFRA-= 10;
> + CFRA-= U.jumpframe;
> #endif
> else if((event==LEFTARROWKEY)&&(G.qual==0))
> CFRA--;
> @@ -572,11 +573,12 @@ int blenderqread(unsigned short event, s
> if(G.qual==LR_ALTKEY)
> mainwindow_toggle_fullscreen(1);
> else if(G.qual==0)
> - CFRA+= 10;
> + CFRA+= U.jumpframe;
> + //CFRA+= 10;
> }
> #else
> if((event==UPARROWKEY)&&(G.qual==0))
> - CFRA+= 10;
> + CFRA+= U.jumpframe;
> #endif
> else if((event==RIGHTARROWKEY)&&(G.qual==0))
> CFRA++;
> Index: blender/source/blender/src/usiblender.c
> ===================================================================
> RCS file: /cvsroot/bf-blender/blender/source/blender/src/usiblender.c,v
> retrieving revision 1.103
> diff -u -p -r1.103 usiblender.c
> --- blender/source/blender/src/usiblender.c 20 Mar 2006 17:25:42 -0000 1.103
> +++ blender/source/blender/src/usiblender.c 28 Mar 2006 16:44:41 -0000
> @@ -145,6 +145,8 @@ static void init_userdef_file(void)
> /* disable autoplay in .B.blend... */
> G.fileflags &= ~G_FILE_AUTOPLAY;
>
> + if(U.jumpframe == 0) U.jumpframe = 10;
> +
> /* the UserDef struct is not corrected with do_versions() .... ugh! */
> if(U.wheellinescroll == 0) U.wheellinescroll = 3;
> if(U.menuthreshold1==0) {
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at projects.blender.org
> http://projects.blender.org/mailman/listinfo/bf-committers
>
More information about the Bf-committers
mailing list