Compare commits
3
Commits
e38f57af46
...
54b166d33f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
54b166d33f | ||
|
|
344029f195 | ||
|
|
4837ab2786 |
@@ -196,7 +196,7 @@ options:
|
|||||||
-nar, --no-auto-random do not randomize state (default)
|
-nar, --no-auto-random do not randomize state (default)
|
||||||
-arc, --auto-random-cycle auto random cycle length (default: 4)
|
-arc, --auto-random-cycle auto random cycle length (default: 4)
|
||||||
-vi, --video-in path to video capture device (multiple allowed)
|
-vi, --video-in path to video capture device (multiple allowed)
|
||||||
-vb, --video-buffers number of video buffers to use (default: 2)
|
-vb, --video-buffers number of video buffers to use (default: 1)
|
||||||
-vs, --video-size video capture desired height (default: internal texture height)
|
-vs, --video-size video capture desired height (default: internal texture height)
|
||||||
-vr, --video-reconnect auto-reconnect video (default)
|
-vr, --video-reconnect auto-reconnect video (default)
|
||||||
-nvr, --no-video-reconnect do not auto-reconnect video
|
-nvr, --no-video-reconnect do not auto-reconnect video
|
||||||
|
|||||||
+2
-2
@@ -66,7 +66,7 @@ static void print_help(int status_code) {
|
|||||||
" -vi, --video-in path to video capture device (multiple "
|
" -vi, --video-in path to video capture device (multiple "
|
||||||
"allowed)\n"
|
"allowed)\n"
|
||||||
" -vb, --video-buffers number of video buffers to use (default: "
|
" -vb, --video-buffers number of video buffers to use (default: "
|
||||||
"2)\n"
|
"1)\n"
|
||||||
" -vs, --video-size video capture desired height (default: "
|
" -vs, --video-size video capture desired height (default: "
|
||||||
"internal texture height)\n"
|
"internal texture height)\n"
|
||||||
" -vr, --video-reconnect auto-reconnect video (default)\n"
|
" -vr, --video-reconnect auto-reconnect video (default)\n"
|
||||||
@@ -141,7 +141,7 @@ void args_parse(Parameters *params, int argc, char **argv) {
|
|||||||
params->auto_random_cycle = 4;
|
params->auto_random_cycle = 4;
|
||||||
#ifdef VIDEO_IN
|
#ifdef VIDEO_IN
|
||||||
params->video_in.length = 0;
|
params->video_in.length = 0;
|
||||||
params->video_buffers = 2;
|
params->video_buffers = 1;
|
||||||
params->video_size = 0;
|
params->video_size = 0;
|
||||||
params->video_reconnect = true;
|
params->video_reconnect = true;
|
||||||
strlcpy(params->video_fourcc, "YUYV", 5);
|
strlcpy(params->video_fourcc, "YUYV", 5);
|
||||||
|
|||||||
+7
-1
@@ -7,7 +7,13 @@
|
|||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "tempo.h"
|
#include "tempo.h"
|
||||||
|
|
||||||
static long now_ms() { return 1000 * clock() / CLOCKS_PER_SEC; }
|
static long now_ms() {
|
||||||
|
struct timespec ts;
|
||||||
|
if (clock_gettime(CLOCK_REALTIME, &ts) != 0) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return 1000 * ts.tv_sec + ts.tv_nsec / 1e6;
|
||||||
|
}
|
||||||
|
|
||||||
static void reset_tap_chain(Tempo *tempo, long t) {
|
static void reset_tap_chain(Tempo *tempo, long t) {
|
||||||
tempo->last_reset = t;
|
tempo->last_reset = t;
|
||||||
|
|||||||
+8
-4
@@ -1,3 +1,4 @@
|
|||||||
|
#include <bits/time.h>
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
@@ -8,7 +9,7 @@
|
|||||||
void timer_init(Timer *timer, const unsigned int target) {
|
void timer_init(Timer *timer, const unsigned int target) {
|
||||||
timer->counter = 0;
|
timer->counter = 0;
|
||||||
timer->target = target;
|
timer->target = target;
|
||||||
timer->start = clock();
|
clock_gettime(CLOCK_REALTIME, &timer->start);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool timer_inc(Timer *timer) {
|
bool timer_inc(Timer *timer) {
|
||||||
@@ -17,13 +18,16 @@ bool timer_inc(Timer *timer) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
double timer_reset(Timer *timer) {
|
double timer_reset(Timer *timer) {
|
||||||
clock_t stop;
|
struct timespec stop;
|
||||||
double secs;
|
double secs;
|
||||||
double per_secs;
|
double per_secs;
|
||||||
|
|
||||||
stop = clock();
|
if (clock_gettime(CLOCK_REALTIME, &stop) != 0) {
|
||||||
|
return 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
secs = (double)(stop - timer->start) / CLOCKS_PER_SEC;
|
secs = (double)(stop.tv_sec - timer->start.tv_sec) +
|
||||||
|
(double)(stop.tv_nsec - timer->start.tv_nsec) / 1e9;
|
||||||
per_secs = (double)timer->counter / secs;
|
per_secs = (double)timer->counter / secs;
|
||||||
|
|
||||||
timer->start = stop;
|
timer->start = stop;
|
||||||
|
|||||||
+1
-1
@@ -280,7 +280,7 @@ typedef struct StateBackgroundWriteArgs {
|
|||||||
// timer.c
|
// timer.c
|
||||||
|
|
||||||
typedef struct Timer {
|
typedef struct Timer {
|
||||||
clock_t start;
|
struct timespec start;
|
||||||
unsigned int counter;
|
unsigned int counter;
|
||||||
unsigned int target;
|
unsigned int target;
|
||||||
} Timer;
|
} Timer;
|
||||||
|
|||||||
@@ -428,6 +428,8 @@ void *video_background_read(void *args) {
|
|||||||
video_capture->name);
|
video_capture->name);
|
||||||
video_capture->disconnected = true;
|
video_capture->disconnected = true;
|
||||||
context->input_formats[input_index] = 0;
|
context->input_formats[input_index] = 0;
|
||||||
|
context->input_resolutions[input_index][0] = 0;
|
||||||
|
context->input_resolutions[input_index][1] = 0;
|
||||||
}
|
}
|
||||||
free(process_args);
|
free(process_args);
|
||||||
pthread_exit(NULL);
|
pthread_exit(NULL);
|
||||||
|
|||||||
Reference in New Issue
Block a user