Updated recorder to only send every 2nd frame, to clear the window when selecting a new effect, doubled the resizing factor and re-enabled gifsicle.
This commit is contained in:
parent
571ae26c25
commit
792354e371
@ -14,6 +14,7 @@ private:
|
|||||||
size_t _buffer_len;
|
size_t _buffer_len;
|
||||||
char* _buffer;
|
char* _buffer;
|
||||||
uint16_t _msgid;
|
uint16_t _msgid;
|
||||||
|
boolean _skip_next_frame = false;
|
||||||
public:
|
public:
|
||||||
Recorder();
|
Recorder();
|
||||||
void loop();
|
void loop();
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
#include "my_fastled.h"
|
#include "my_fastled.h"
|
||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "effects.h"
|
#include "effects.h"
|
||||||
|
#include "Window.h"
|
||||||
#include <WiFiUdp.h>
|
#include <WiFiUdp.h>
|
||||||
|
|
||||||
#ifdef RECORDER_ENABLE
|
#ifdef RECORDER_ENABLE
|
||||||
@ -37,6 +38,7 @@ Recorder::Recorder() {
|
|||||||
} else if (*(char*)data == 'E') {
|
} else if (*(char*)data == 'E') {
|
||||||
String effect = String(((char*)(data+1)));
|
String effect = String(((char*)(data+1)));
|
||||||
LOGln("Recorder * Setting effect %s", effect.c_str());
|
LOGln("Recorder * Setting effect %s", effect.c_str());
|
||||||
|
Window::getFullWindow()->clear();
|
||||||
change_current_effect(effect);
|
change_current_effect(effect);
|
||||||
}
|
}
|
||||||
}, NULL);
|
}, NULL);
|
||||||
@ -47,6 +49,8 @@ Recorder::Recorder() {
|
|||||||
|
|
||||||
void Recorder::loop() {
|
void Recorder::loop() {
|
||||||
if (_client && _client_port) {
|
if (_client && _client_port) {
|
||||||
|
_skip_next_frame = !_skip_next_frame;
|
||||||
|
if (_skip_next_frame == false) return;
|
||||||
_buffer[0] = _msgid >> 8;
|
_buffer[0] = _msgid >> 8;
|
||||||
_buffer[1] = _msgid & 0xFF;
|
_buffer[1] = _msgid & 0xFF;
|
||||||
for (uint8_t y=0; y<LED_HEIGHT; y++) for(uint8_t x=0; x<LED_WIDTH; x++) {
|
for (uint8_t y=0; y<LED_HEIGHT; y++) for(uint8_t x=0; x<LED_WIDTH; x++) {
|
||||||
|
@ -15,7 +15,8 @@ for effect in $EFFECTS; do
|
|||||||
echo " + ./recorder.rb $IP /tmp/effect.gif $effect"
|
echo " + ./recorder.rb $IP /tmp/effect.gif $effect"
|
||||||
./recorder.rb $IP /tmp/effect.gif $effect
|
./recorder.rb $IP /tmp/effect.gif $effect
|
||||||
echo
|
echo
|
||||||
#echo " + gifsicle /tmp/effect.gif -o ../../docs/effects/$effect.gif"
|
echo " + gifsicle /tmp/effect.gif -O -o ../../docs/effects/$effect.gif"
|
||||||
#gifsicle /tmp/effect.gif -o ../../docs/effects/$effect.gif
|
gifsicle /tmp/effect.gif -O -o ../../docs/effects/$effect.gif
|
||||||
mv /tmp/effect.gif ../../docs/effects/$effect.gif
|
#mv /tmp/effect.gif ../../docs/effects/$effect.gif
|
||||||
|
#ffmpeg -i /tmp/effect.gif -y -c vp9 -b:v 0 -crf 41 ../../docs/effects/$effect.webm
|
||||||
done
|
done
|
||||||
|
@ -10,7 +10,7 @@ PORT = 2122
|
|||||||
FILE = ARGV[1] or raise "No filename given"
|
FILE = ARGV[1] or raise "No filename given"
|
||||||
EFFECT = ARGV[2]
|
EFFECT = ARGV[2]
|
||||||
FRAMES = 125
|
FRAMES = 125
|
||||||
FACTOR = 1
|
FACTOR = 2
|
||||||
delay = 50
|
delay = 50
|
||||||
|
|
||||||
puts "Connecting to #{IP}:#{PORT}..."
|
puts "Connecting to #{IP}:#{PORT}..."
|
||||||
@ -59,7 +59,6 @@ while gif.length < FRAMES do
|
|||||||
last_id = id
|
last_id = id
|
||||||
|
|
||||||
img = Image.new(dim_x, dim_y)
|
img = Image.new(dim_x, dim_y)
|
||||||
img.delay = 1
|
|
||||||
gc = Draw.new
|
gc = Draw.new
|
||||||
|
|
||||||
#next
|
#next
|
||||||
@ -81,6 +80,7 @@ s.close
|
|||||||
puts
|
puts
|
||||||
puts "Generating gif..."
|
puts "Generating gif..."
|
||||||
gif.ticks_per_second = 100
|
gif.ticks_per_second = 100
|
||||||
|
gif.delay = 4
|
||||||
gif.write(FILE)
|
gif.write(FILE)
|
||||||
puts
|
puts
|
||||||
puts
|
puts
|
||||||
|
Loading…
Reference in New Issue
Block a user