diff --git a/veejay-current/veejay-server/doc/veejay-HOWTO.md b/veejay-current/veejay-server/doc/veejay-HOWTO.md index 65f66180..0dd6b84a 100644 --- a/veejay-current/veejay-server/doc/veejay-HOWTO.md +++ b/veejay-current/veejay-server/doc/veejay-HOWTO.md @@ -580,7 +580,7 @@ You can dynamically assign keybindings to trigger a bundle in reloaded ( Menu -> There is an example Action File that a number of bundles with keybindings: ``` -$ veejay -v /path/to/video.avi -F test/livecinema/action-file.xml +$ veejay -g /path/to/video.avi -F test/livecinema/action-file.xml ``` The bundles can be triggered by the keys SHIFT + [ q,w,e,r,t,y,u,i,o,p,a,s,d,f,g,h,j,k,l,z,x,c,v,b,n,m ] diff --git a/veejay-current/veejay-server/man/veejay.1 b/veejay-current/veejay-server/man/veejay.1 index b4284935..cfe4f673 100644 --- a/veejay-current/veejay-server/man/veejay.1 +++ b/veejay-current/veejay-server/man/veejay.1 @@ -570,19 +570,26 @@ Startup veejay and list all events (VIMS/OSC) and effect descriptions .B veejay -p 4000 ~/my_video1.avi Startup veejay listening on port 4000 (use this to use multiple veejays) .TP -.B veejay -d -W 352 -H 288 -R 25 -N 0 -Startup veejay using dummy video at 25 frames per second, dimensions 352x288 -and using PAL. +.B veejay -d -W 352 -H 288 -N 0 -a 0 +Startup veejay using dummy video, dimensions 352x288, using PAL and no audio. .TP -.B veejay movie1.avi -V 224.0.0.50 -p 5000 -n -v -Startup veejay, using multicast protocol on port 5000, with autolooping -and no colored verbose output +.B veejay movie1.avi -M 224.0.0.50 -p 5000 -n -v +Startup veejay, using osc multicast protocol on port 5000 and no colored but verbose output .TP -.B veejay --output 5 --output-file /dev/video1 -Startup veejay headless and write video output to a vloopback device +.B veejay -g movie1.avi movie2.avi movie3.avi --output 5 --output-file /dev/video1 +Startup veejay headless and use given clip as sample, the video output is writen +to /dev/video1 (a video loopback device) + +You will need something like v4l2looback kernel module to setup the video loopback. + +Only the video channel is writen to the loopback device! audio, if any, still goes to jack .TP -.B veejay --output 4 --output-file /tmp/video-yuv4mpeg.pipe -Startup veejay headless and write yuv4mpeg video to a named fifo pipe +.B veejay movie1.avi --output 4 --output-file /tmp/video-yuv4mpeg.pipe +Startup veejay headless and write yuv4mpeg video to a named fifo pipe. + +Only video channel goes to the pipe! the audio still goes to jack + +Dues how pipe works, audio and video could lost synchro .TP .SH REFERENCES .TP diff --git a/veejay-current/veejay-server/veejay/veejay.c b/veejay-current/veejay-server/veejay/veejay.c index b4c6ce9c..f041f2fc 100644 --- a/veejay-current/veejay-server/veejay/veejay.c +++ b/veejay-current/veejay-server/veejay/veejay.c @@ -332,7 +332,7 @@ static void Usage(char *progname) fprintf(stderr, " -S/--scene-detection \tCreate new samples based on scene detection threshold \n"); fprintf(stderr, - " -M/--dynamic-fx-chain\t\tDo not keep FX chain buffers in RAM (default off)\n"); + " -X/--dynamic-fx-chain\t\tDo not keep FX chain buffers in RAM (default off)\n"); fprintf(stderr, " /--split-screen\t\tLoad split screen configuration\n"); fprintf(stderr, @@ -393,7 +393,7 @@ static int set_option(const char *name, char *value) info->settings->use_vims_mcast = 1; info->settings->vims_group_name = strdup(optarg); } - else if (strcmp(name, "multicast-osc") == 0 ) + else if (strcmp(name, "multicast-osc") == 0 || strcmp(name,"M")==0) { check_val(optarg,name); info->settings->use_mcast = 1; @@ -467,13 +467,13 @@ static int set_option(const char *name, char *value) nerr++; } } -#ifdef HAVE_XINERAMA -#ifndef X_DISPLAY_MISSING - else if (strcmp(name, "xinerama") == 0 || strcmp(name, "X") == 0 ) { - x11_user_select( atoi(optarg) ); - } -#endif -#endif +//~ #ifdef HAVE_XINERAMA +//~ #ifndef X_DISPLAY_MISSING + //~ else if (strcmp(name, "xinerama") == 0 || strcmp(name, "X") == 0 ) { + //~ x11_user_select( atoi(optarg) ); + //~ } +//~ #endif +//~ #endif else if (strcmp(name, "action-file")==0 || strcmp(name,"F")==0) { check_val(optarg,name); veejay_strncpy(info->action_file[0],(char*) optarg, strlen( (char*) optarg)); @@ -559,7 +559,7 @@ static int set_option(const char *name, char *value) { info->dummy->active = 1; // enable DUMMY MODE } - else if (strcmp(name, "dynamic-fx-chain" ) == 0 || strcmp(name, "M" ) == 0 ) + else if (strcmp(name, "dynamic-fx-chain" ) == 0 || strcmp(name, "X" ) == 0 ) { info->uc->ram_chain = 0; } @@ -655,12 +655,12 @@ static int check_command_line_options(int argc, char *argv[]) #ifdef HAVE_GETOPT_LONG while ((n = getopt_long(argc, argv, - "o:G:O:a:H:s:c:t:j:l:p:m:h:w:x:y:r:f:Y:A:N:H:W:T:F:Z:nILPVDugvBdibjqeMS:X:", + "o:G:O:a:H:s:c:t:j:l:p:m:h:w:x:y:r:f:Y:A:N:H:W:T:F:Z:nILPVDugvBdibjqeM:S:X", long_options, &option_index)) != EOF) #else while ((n = getopt(argc, argv, - "o:G:O:a:H:s:c:t:j:l:p:m:h:w:x:y:r:f:Y:A:N:H:W:T:F:Z:nILPVDugvBdibjqeMS:X:" + "o:G:O:a:H:s:c:t:j:l:p:m:h:w:x:y:r:f:Y:A:N:H:W:T:F:Z:nILPVDugvBdibjqeM:S:X" )) != EOF) #endif {