status line renewed

git-svn-id: svn://code.dyne.org/veejay/trunk@123 eb8d1916-c9e9-0310-b8de-cf0c9472ead5
This commit is contained in:
Niels Elburg
2005-01-11 10:16:38 +00:00
parent aad938f2a1
commit a57c5e53e3
8 changed files with 95 additions and 23 deletions

View File

@@ -1,3 +1,5 @@
0.7.2
0.7.1
+ fixed color corruption in fib
+ removed veejay.spec from configure.in
@@ -13,6 +15,10 @@
+ added new effect 'Nervous'
+ added new effect 'Video Blobs'
+ fixed ticket #3 (editlist load bug)
+ added new effect 'Video Boids'
+ refurbished status line (all modi have 13 status bytes now)
+ fixed minor bug in 'video boids'
+ bumped version to 0.7.2
- render to history list mismatches frames in clip
(too many)

View File

@@ -4,7 +4,7 @@ dnl AC_CONFIG_SRCDIR([veejay/lav_io.c])
AC_INIT(veejay/veejay.c)
VEEJAY_MAJOR_VERSION=0
VEEJAY_MINOR_VERSION=7
VEEJAY_MICRO_VERSION=1
VEEJAY_MICRO_VERSION=2
VEEJAY_VERSION=$VEEJAY_MAJOR_VERSION.$VEEJAY_MINOR_VERSION.$VEEJAY_MICRO_VERSION
PACKAGE_VERSION=VEEJAY_VERSION

View File

@@ -1761,8 +1761,9 @@ int clip_apply_loop_dec(int s1, double fps) {
/* print clip status information into an allocated string str*/
int clip_chain_sprint_status(int s1, int entry, int changed, int r_changed,char *str,
int frame)
//int clip_chain_sprint_status(int s1, int entry, int changed, int r_changed,char *str,
// int frame)
int clip_chain_sprint_status( int s1,int pfps, int frame, int mode, char *str )
{
clip_info *clip;
clip = clip_get(s1);
@@ -1797,21 +1798,21 @@ int clip_chain_sprint_status(int s1, int entry, int changed, int r_changed,char
clip->effect_chain[entry]->channel,
this_clip_id - 1);
*/
/*
sprintf(str,
"%d %d %d %d %d %d %ld %ld %d %d %d %d %d %d %d %d %d %d %d %d %d %ld %ld %d %d %d %d %d %d %d %d %d %d %d",
/* 1 */ frame,
/ frame,
clip->active_render_entry,
r_changed,
clip->selected_entry,
/* 5 */ clip->effect_toggle,
clip->effect_toggle,
s1,
clip->first_frame[clip->active_render_entry],
clip->last_frame[clip->active_render_entry],
clip->speed,
clip->looptype,
/* 11 */ clip->max_loops,
clip->max_loops,
clip->max_loops2,
clip->next_clip_id,
clip->depth,
@@ -1820,7 +1821,7 @@ int clip_chain_sprint_status(int s1, int entry, int changed, int r_changed,char
clip->audio_volume,
0,
0,
/*20 */ 0,
0,
clip->encoder_active,
clip->encoder_duration,
clip->encoder_succes_frames,
@@ -1836,6 +1837,25 @@ int clip_chain_sprint_status(int s1, int entry, int changed, int r_changed,char
clip->effect_chain[entry]->a_flag,
clip->effect_chain[entry]->volume,
this_clip_id );
*/
sprintf(str,
"%d %d %d %d %d %d %d %d %d %d %d %d %d",
pfps,
frame,
mode,
s1,
clip->effect_toggle,
clip->first_frame[ clip->active_render_entry ],
clip->last_frame[ clip->active_render_entry ],
clip->speed,
clip->looptype,
clip->encoder_active,
clip->encoder_duration,
clip->encoder_succes_frames,
clip_size());
return 0;
}

View File

@@ -226,8 +226,7 @@ extern int clip_set_chain_channel(int s1, int position, int channel);
//int clip_chain_replace(int s1, int position, int effect_id);
extern int clip_chain_sprint_status(int s1, int entry, int changed, int r_changed, char *str,
int frame);
extern int clip_chain_sprint_status(int s1, int r, int f, int m, char *s );
extern int clip_set_render_entry(int s1, int entry);
extern int clip_get_render_entry(int s1);

View File

@@ -27,6 +27,9 @@
#define MAX_EFFECTS 103
#define PARAM_WIDTH (1<<0x2)
#define PARAM_HEIGHT (1<<0x3)
#define PARAM_FADER (1<<0x1)
// keyframe-able parameter sets
typedef struct
@@ -67,6 +70,7 @@ typedef struct vj_effect_t {
char **param_description; // unused.
int *defaults;
int *flags; // parameter flags
int *limits[2]; // [0] = min, [1] = max
int extra_frame; // effect requires a secundary frame

View File

@@ -1159,7 +1159,7 @@ static void veejay_put_to_screen(veejay_t * info)
{
}
static char status_who[5];
//static char status_who[5];
static char status_what[MESSAGE_SIZE];
static char status_msg[MESSAGE_SIZE+5];
//static int status_first =0;
@@ -1171,11 +1171,11 @@ static void veejay_pipe_write_status(veejay_t * info)
int d_len = 0;
int res = 0;
sprintf(status_who, "%d %d %d", info->uc->playback_mode, info->audio, info->real_fps );
// sprintf(status_who, "%d %d %d", info->uc->playback_mode, info->audio, info->real_fps );
switch (info->uc->playback_mode) {
case VJ_PLAYBACK_MODE_CLIP:
/* get all current clip info (all buttons we can press in SDL) */
/* get all current clip info
if (clip_chain_sprint_status
(info->uc->clip_id, clip_get_selected_entry(info->uc->clip_id),
info->uc->chain_changed, info->uc->render_changed, status_what,
@@ -1184,10 +1184,15 @@ static void veejay_pipe_write_status(veejay_t * info)
"Status of clip %d is invalid",
info->uc->clip_id);
info->uc->playback_mode = VJ_PLAYBACK_MODE_PLAIN;
}
}*/
if( clip_chain_sprint_status
(info->uc->clip_id, info->real_fps,settings->current_frame_num, info->uc->playback_mode, status_what ) != 0)
{
veejay_msg(VEEJAY_MSG_ERROR, "Invalid status!");
}
break;
case VJ_PLAYBACK_MODE_PLAIN:
/*
sprintf(status_what, "%d %d %d %d %ld %f %ld %d %d %d",
settings->min_frame_num,
settings->current_frame_num,
@@ -1200,21 +1205,41 @@ static void veejay_pipe_write_status(veejay_t * info)
clip_size() - 1,
vj_tag_size()-1
);
*/
sprintf(status_what, "%d %d %d %d %d %d %d %d %d %d %d %d %d",
(int) info->real_fps,
settings->current_frame_num,
info->uc->playback_mode,
0,
0,
settings->min_frame_num,
settings->max_frame_num,
settings->current_playback_speed,
0,
0,
0,
0,
0 );
break;
case VJ_PLAYBACK_MODE_TAG:
if (vj_tag_sprint_status(info->uc->clip_id,
/* if (vj_tag_sprint_status(info->uc->clip_id,
vj_tag_get_selected_entry(info->uc->clip_id),
info->uc->chain_changed, status_what) != 0) {
veejay_msg(VEEJAY_MSG_DEBUG,
"Status of stream is invalid");
info->uc->playback_mode = VJ_PLAYBACK_MODE_PLAIN;
}
}*/
if( vj_tag_sprint_status( info->uc->clip_id, (int) info->real_fps,
settings->current_frame_num, info->uc->playback_mode, status_what ) != 0 )
{
veejay_msg(VEEJAY_MSG_ERROR, "Invalid status!");
}
break;
}
d_len = strlen(status_who) + strlen(status_what) + 1;
d_len = strlen(status_what);
snprintf(status_msg,MESSAGE_SIZE, "V%03dS%s %s", d_len, status_who, status_what);
snprintf(status_msg,MESSAGE_SIZE, "V%03dS%s", d_len, status_what);
res = vj_server_status_send(info->status, status_msg, strlen(status_msg));
if( res < 0) { /* close command socket */

View File

@@ -1817,14 +1817,15 @@ int vj_tag_get_frame(int t1, uint8_t *buffer[3], uint8_t * abuffer)
}
int vj_tag_sprint_status(int tag_id, int entry, int changed, char *str)
//int vj_tag_sprint_status(int tag_id, int entry, int changed, char *str)
int vj_tag_sprint_status( int tag_id, int pfps,int frame, int mode, char *str )
{
vj_tag *tag;
tag = vj_tag_get(tag_id);
if (!tag)
return -1;
/*
sprintf(str,
"%d %d %d %d %d %d %d %d %d %d %d %ld %ld %d %d %d %d %d %d %d %d %d %d %d",
tag->id,
@@ -1852,6 +1853,24 @@ int vj_tag_sprint_status(int tag_id, int entry, int changed, char *str)
tag->effect_chain[entry]->a_flag,
tag->effect_chain[entry]->volume,
this_tag_id-1);
*/
sprintf(str,
"%d %d %d %d %d %d %d %d %d %d %d %d %d",
pfps,
frame,
mode,
tag_id,
tag->effect_toggle,
0, // no start,
0, // no end,
0, // no speed,
0, // no looping
tag->encoder_active,
tag->encoder_duration,
tag->encoder_succes_frames,
vj_tag_size()-1);
return 0;
}

View File

@@ -209,8 +209,7 @@ int vj_tag_enable(int t1);
int vj_tag_disable(int t1);
int vj_tag_sprint_status(int tag_id, int entry, int changed, char *str);
int vj_tag_sprint_status(int tag_id, int r, int f, int m, char *str );
//int vj_tag_init_encoder(int t1, char *filename, int format,
// int w, int h, double fps, long seconds, int autoplay);