diff --git a/veejay-current/veejay-client/configure.ac b/veejay-current/veejay-client/configure.ac index 1fe59615..16039f18 100644 --- a/veejay-current/veejay-client/configure.ac +++ b/veejay-current/veejay-client/configure.ac @@ -1,12 +1,12 @@ dnl Process this file with autoconf to produce a configure script. dnl AC_INIT -AC_INIT([reloaded],[1.5.17],[nwelburg@gmail.com]) +AC_INIT([reloaded],[1.5.19],[nwelburg@gmail.com]) AC_PREREQ(2.57) AC_CONFIG_SRCDIR([src/gveejay.c]) RELOADED_MAJOR_VERSION=1 RELOADED_MINOR_VERSION=5 -RELOADED_MICRO_VERSION=17 +RELOADED_MICRO_VERSION=19 RELOADED_VERSION=$VEEJAY_MAJOR_VERSION.$VEEJAY_MINOR_VERSION.$VEEJAY_MICRO_VERSION RELOADED_CODENAME="Reloaded - build $RELOADED_MAJOR_VERSION $RELOADED_MINOR_VERSION $RELOADED_MICRO_VERSION" AC_CONFIG_HEADERS([config.h]) @@ -178,7 +178,7 @@ fi dnl Check for Veejay have_veejay=false -PKG_CHECK_MODULES( VEEJAY, [veejay >= 1.5.9 ], +PKG_CHECK_MODULES( VEEJAY, [veejay >= 1.5.19 ], [ AC_SUBST(VEEJAY_CFLAGS) AC_SUBST(VEEJAY_LIBS) @@ -188,13 +188,7 @@ PKG_CHECK_MODULES( VEEJAY, [veejay >= 1.5.9 ], [have_veejay=false]) if test x$have_veejay != xtrue ; then - PKG_CHECK_MODULES(VEEJAY, [veejay >= 1.4.8 ], - [ - AC_MSG_WARN([veejay-server old but should be compatible!]) - ], - [ - AC_MSG_ERROR([Cannot find veejay]) - ]) + AC_MSG_ERROR([Cannot find veejay 1.5.19 or later]) fi have_pixbuf=false @@ -696,7 +690,7 @@ AC_MSG_NOTICE([ Good luck! You can be the first! ]) fi AC_MSG_NOTICE([]) AC_MSG_NOTICE([ Required dependencies:]) -AC_MSG_NOTICE([ - Veejay 1.5.2 : ${have_veejay}]) +AC_MSG_NOTICE([ - Veejay 1.5.19 : ${have_veejay}]) AC_MSG_NOTICE([ - POSIX Threads (pthread) : ${have_pthread}]) AC_MSG_NOTICE([ - FFmpeg AVCodec : ${have_avcodec} ]) AC_MSG_NOTICE([ - FFmpeg Swscaler : ${have_swscale} ]) diff --git a/veejay-current/veejay-client/src/vj-api.c b/veejay-current/veejay-client/src/vj-api.c index 7e7ed97a..64c9b179 100644 --- a/veejay-current/veejay-client/src/vj-api.c +++ b/veejay-current/veejay-client/src/vj-api.c @@ -7143,6 +7143,9 @@ int vj_gui_reconnect(char *hostname,char *group_name, int port_num) sleep(1); //@ give it some time to settle ( at least 1 frame period ) info->status_lock = 1; + + single_vims( VIMS_PROMOTION ); + load_editlist_info(); update_slider_value( "framerate", info->el.fps, 0 ); diff --git a/veejay-current/veejay-server/configure.ac b/veejay-current/veejay-server/configure.ac index 0bf1b789..825743bd 100644 --- a/veejay-current/veejay-server/configure.ac +++ b/veejay-current/veejay-server/configure.ac @@ -1,12 +1,12 @@ dnl Process this file with autoconf to produce a configure script. dnl AC_INIT -AC_INIT([veejay],[1.5.18],[veejay-users@lists.sourceforge.net]) +AC_INIT([veejay],[1.5.19],[veejay-users@lists.sourceforge.net]) AC_PREREQ(2.57) AC_CONFIG_SRCDIR([veejay/veejay.c]) VEEJAY_MAJOR_VERSION=1 VEEJAY_MINOR_VERSION=5 -VEEJAY_MICRO_VERSION=18 +VEEJAY_MICRO_VERSION=19 VEEJAY_VERSION=$VEEJAY_MAJOR_VERSION.$VEEJAY_MINOR_VERSION.$VEEJAY_MICRO_VERSION VEEJAY_CODENAME="Veejay Classic - build $VEEJAY_MINOR_VERSION $VEEJAY_MICRO_VERSION" AC_CONFIG_HEADERS([config.h]) diff --git a/veejay-current/veejay-server/veejay/vims.h b/veejay-current/veejay-server/veejay/vims.h index 0dd04fb8..75d92f74 100644 --- a/veejay-current/veejay-server/veejay/vims.h +++ b/veejay-current/veejay-server/veejay/vims.h @@ -42,6 +42,7 @@ enum { VIMS_CONTINUOUS_PLAY = 35, VIMS_RECVIEWPORT = 90, VIMS_VIDEO_INFORMATION = 400, + VIMS_PROMOTION = 444, /* client reads id of new sample after creation */ VIMS_EFFECT_LIST = 401, VIMS_EDITLIST_LIST = 402, VIMS_BUNDLE_LIST = 403, diff --git a/veejay-current/veejay-server/veejay/vj-event.c b/veejay-current/veejay-server/veejay/vj-event.c index 3e9f078b..6717f355 100644 --- a/veejay-current/veejay-server/veejay/vj-event.c +++ b/veejay-current/veejay-server/veejay/vj-event.c @@ -2403,9 +2403,9 @@ void vj_event_format_xml_event( xmlNodePtr node, int event_id ) static void vj_event_send_new_id(veejay_t * v, int new_id) { - char s_print_buf[16]; if( vj_server_client_promoted( v->vjs[0], v->uc->current_link )) { + char s_print_buf[16]; char result[6]; sprintf( result, "%05d",new_id ); sprintf(s_print_buf, "%03d%s",5, result); @@ -3530,6 +3530,14 @@ void vj_event_set_screen_size(void *ptr, const char format[], va_list ap) } } +void vj_event_promote_me( void *ptr, const char format[], va_list ap ) +{ + veejay_t *v = (veejay_t*) ptr; + vj_server_client_promote( v->vjs[VEEJAY_PORT_CMD], v->uc->current_link ); + v->rmodes[ v->uc->current_link ] = -1000; + veejay_msg(VEEJAY_MSG_DEBUG, "Promoted link %d", v->uc->current_link ); +} + void vj_event_play_stop(void *ptr, const char format[], va_list ap) { veejay_t *v = (veejay_t*) ptr; @@ -8373,7 +8381,7 @@ static char *_vj_event_gatter_sample_info( veejay_t *v, int id ) char timecode[20]; MPEG_timecode_t tc; y4m_ratio_t ratio = mpeg_conform_framerate( (double) v->current_edit_list->video_fps ); - mpeg_timecode( &tc, (end_frame - start_frame),mpeg_framerate_code(ratio),v->current_edit_list->video_fps ); + mpeg_timecode( &tc, (end_frame - start_frame + 1),mpeg_framerate_code(ratio),v->current_edit_list->video_fps ); sprintf( timecode, "%2d:%2.2d:%2.2d:%2.2d", tc.h,tc.m,tc.s,tc.f ); sample_get_description( id, description ); diff --git a/veejay-current/veejay-server/veejay/vj-event.h b/veejay-current/veejay-server/veejay/vj-event.h index 0ff336e9..0d8dd8f6 100644 --- a/veejay-current/veejay-server/veejay/vj-event.h +++ b/veejay-current/veejay-server/veejay/vj-event.h @@ -46,6 +46,7 @@ void vj_event_xml_new_keyb_event ( void *v, xmlDocPtr doc, xmlNodePtr cur int vj_event_get_video_format(void); int vj_event_get_num_args(int net_id); void vj_event_update_remote(void *ptr); +void vj_event_promote_me ( void *ptr, const char format[], va_list ap ); void vj_event_dump(void); void vj_event_set_stream_color ( void *ptr, const char format[], va_list ap ); void vj_event_chain_arg_inc ( void *ptr, const char format[], va_list ap ); diff --git a/veejay-current/veejay-server/veejay/vj-eventman.c b/veejay-current/veejay-server/veejay/vj-eventman.c index 2a286f1e..e5b1da3a 100644 --- a/veejay-current/veejay-server/veejay/vj-eventman.c +++ b/veejay-current/veejay-server/veejay/vj-eventman.c @@ -2106,6 +2106,15 @@ void vj_init_vevo_events(void) vj_event_send_effect_list, 0, VIMS_ALLOW_ANY ); + + index_map_[VIMS_PROMOTION] = _new_event( + NULL, + VIMS_PROMOTION, + "Tell client of new samples immediately after creation (reloaded)", + vj_event_promote_me, + 0, + VIMS_ALLOW_ANY ); + index_map_[VIMS_VIDEO_INFORMATION] = _new_event( NULL, VIMS_VIDEO_INFORMATION,