Last active
January 3, 2016 05:49
-
-
Save streamer45/8418577 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/lib/gen/dejson_common.c b/lib/gen/dejson_common.c | |
index cad2b7c..2dec5b6 100644 | |
--- a/lib/gen/dejson_common.c | |
+++ b/lib/gen/dejson_common.c | |
@@ -1,7 +1,8 @@ | |
#include "gen.h" | |
int info_unpack_fr_json(char *json, uber_St *uber) { | |
- const info_unpack_fr_json_func fr_json_functions[64] = {kr_alsa_info_fr_json, | |
- kr_alsa_path_info_fr_json,kr_easing_fr_json, | |
+ const info_unpack_fr_json_func fr_json_functions[69] = {kr_alsa_info_fr_json, | |
+ kr_alsa_path_info_fr_json,kr_app_method_fr_json, | |
+ kr_crate2_fr_json,kr_easing_fr_json, | |
kr_compositor_path_type_fr_json,kr_compositor_subunit_type_fr_json, | |
kr_vector_type_fr_json,kr_compositor_control_fr_json, | |
kr_compositor_controls_fr_json,kr_sprite_info_fr_json, | |
@@ -17,22 +18,24 @@ int info_unpack_fr_json(char *json, uber_St *uber) { | |
kr_mixer_control_fr_json,kr_mixer_path_type_fr_json, | |
kr_mixer_adv_ctl_fr_json,kr_mixer_info_fr_json, | |
kr_mixer_path_info_fr_json,kr_mixer_path_patch_fr_json, | |
- kr_sfx_control_fr_json,kr_sfx_effect_type_fr_json, | |
- kr_sfx_effect_control_fr_json,kr_eq_band_info_fr_json, | |
- kr_eq_info_fr_json,kr_lowpass_info_fr_json, | |
- kr_highpass_info_fr_json,kr_analog_info_fr_json, | |
- kr_adapter_path_direction_fr_json,kr_adapter_api_fr_json, | |
- kr_adapter_api_info_fr_json,kr_adapter_api_path_info_fr_json, | |
- kr_adapter_info_fr_json,kr_adapter_path_info_fr_json, | |
- krad_link_av_mode_t_fr_json,kr_txpdr_su_type_t_fr_json, | |
- krad_link_transport_mode_t_fr_json,kr_transponder_path_io_type_fr_json, | |
- kr_transponder_info_fr_json,kr_transponder_path_io_path_info_fr_json, | |
- kr_transponder_path_io_info_fr_json,kr_transponder_path_info_fr_json, | |
- kr_transponder_path_patch_fr_json,kr_v4l2_state_fr_json, | |
- kr_v4l2_mode_fr_json,kr_v4l2_info_fr_json, | |
- kr_v4l2_open_info_fr_json,kr_wayland_info_fr_json, | |
- kr_wayland_path_info_fr_json,kr_x11_info_fr_json, | |
- kr_x11_path_info_fr_json}; | |
+ kr_nil_fr_json,kr_radio_payload_type_fr_json, | |
+ kr_radio_payload_fr_json,kr_sfx_control_fr_json, | |
+ kr_sfx_effect_type_fr_json,kr_sfx_effect_control_fr_json, | |
+ kr_eq_band_info_fr_json,kr_eq_info_fr_json, | |
+ kr_lowpass_info_fr_json,kr_highpass_info_fr_json, | |
+ kr_analog_info_fr_json,kr_adapter_path_direction_fr_json, | |
+ kr_adapter_api_fr_json,kr_adapter_api_info_fr_json, | |
+ kr_adapter_api_path_info_fr_json,kr_adapter_info_fr_json, | |
+ kr_adapter_path_info_fr_json,krad_link_av_mode_t_fr_json, | |
+ kr_txpdr_su_type_t_fr_json,krad_link_transport_mode_t_fr_json, | |
+ kr_transponder_path_io_type_fr_json,kr_transponder_info_fr_json, | |
+ kr_transponder_path_io_path_info_fr_json,kr_transponder_path_io_info_fr_json, | |
+ kr_transponder_path_info_fr_json,kr_transponder_path_patch_fr_json, | |
+ kr_v4l2_state_fr_json,kr_v4l2_mode_fr_json, | |
+ kr_v4l2_info_fr_json,kr_v4l2_open_info_fr_json, | |
+ kr_wayland_info_fr_json,kr_wayland_path_info_fr_json, | |
+ kr_x11_info_fr_json,kr_x11_path_info_fr_json | |
+ }; | |
return fr_json_functions[uber->type-1](json , uber->actual); | |
} | |
diff --git a/lib/gen/gen.c b/lib/gen/gen.c | |
index 45a566d..0ae8466 100644 | |
--- a/lib/gen/gen.c | |
+++ b/lib/gen/gen.c | |
@@ -6,6 +6,8 @@ | |
#include "../krad_alsa/gen/krad_alsa_common_helpers.c" | |
#include "../krad_app/gen/krad_app_common_to_ebml.c" | |
#include "../krad_app/gen/krad_app_common_from_ebml.c" | |
+#include "../krad_app/gen/krad_app_common_to_json.c" | |
+#include "../krad_app/gen/krad_app_common_from_json.c" | |
#include "../krad_app/gen/krad_app_common_to_text.c" | |
#include "../krad_app/gen/krad_app_common_helpers.c" | |
#include "../krad_chronometer/gen/krad_easing_common_to_json.c" | |
@@ -53,6 +55,8 @@ | |
#include "../krad_mixer/gen/krad_mixer_common_helpers.c" | |
#include "../krad_radio/gen/krad_radio_payload_to_ebml.c" | |
#include "../krad_radio/gen/krad_radio_payload_from_ebml.c" | |
+#include "../krad_radio/gen/krad_radio_payload_to_json.c" | |
+#include "../krad_radio/gen/krad_radio_payload_from_json.c" | |
#include "../krad_radio/gen/krad_radio_payload_to_text.c" | |
#include "../krad_radio/gen/krad_radio_payload_helpers.c" | |
#include "../krad_sfx/gen/krad_sfx_common_to_json.c" | |
diff --git a/lib/gen/gen.h b/lib/gen/gen.h | |
index cb90df6..2c1c95e 100644 | |
--- a/lib/gen/gen.h | |
+++ b/lib/gen/gen.h | |
@@ -97,6 +97,8 @@ enum { | |
typedef enum { | |
JSON_KR_ALSA_INFO = 1, | |
JSON_KR_ALSA_PATH_INFO, | |
+ JSON_KR_APP_METHOD, | |
+ JSON_KR_CRATE2, | |
JSON_KR_EASING, | |
JSON_KR_COMPOSITOR_PATH_TYPE, | |
JSON_KR_COMPOSITOR_SUBUNIT_TYPE, | |
@@ -128,6 +130,9 @@ typedef enum { | |
JSON_KR_MIXER_INFO, | |
JSON_KR_MIXER_PATH_INFO, | |
JSON_KR_MIXER_PATH_PATCH, | |
+ JSON_KR_NIL, | |
+ JSON_KR_RADIO_PAYLOAD_TYPE, | |
+ JSON_KR_RADIO_PAYLOAD, | |
JSON_KR_SFX_CONTROL, | |
JSON_KR_SFX_EFFECT_TYPE, | |
JSON_KR_SFX_EFFECT_CONTROL, | |
@@ -162,12 +167,14 @@ typedef enum { | |
} json_enum; | |
enum { | |
- JSON_ENUM_LAST = 64 | |
+ JSON_ENUM_LAST = 69 | |
}; | |
typedef enum { | |
DEJSON_KR_ALSA_INFO = 1, | |
DEJSON_KR_ALSA_PATH_INFO, | |
+ DEJSON_KR_APP_METHOD, | |
+ DEJSON_KR_CRATE2, | |
DEJSON_KR_EASING, | |
DEJSON_KR_COMPOSITOR_PATH_TYPE, | |
DEJSON_KR_COMPOSITOR_SUBUNIT_TYPE, | |
@@ -199,6 +206,9 @@ typedef enum { | |
DEJSON_KR_MIXER_INFO, | |
DEJSON_KR_MIXER_PATH_INFO, | |
DEJSON_KR_MIXER_PATH_PATCH, | |
+ DEJSON_KR_NIL, | |
+ DEJSON_KR_RADIO_PAYLOAD_TYPE, | |
+ DEJSON_KR_RADIO_PAYLOAD, | |
DEJSON_KR_SFX_CONTROL, | |
DEJSON_KR_SFX_EFFECT_TYPE, | |
DEJSON_KR_SFX_EFFECT_CONTROL, | |
@@ -233,7 +243,7 @@ typedef enum { | |
} dejson_enum; | |
enum { | |
- DEJSON_ENUM_LAST = 64 | |
+ DEJSON_ENUM_LAST = 69 | |
}; | |
typedef enum { | |
diff --git a/lib/gen/json_common.c b/lib/gen/json_common.c | |
index a8272a0..1a39919 100644 | |
--- a/lib/gen/json_common.c | |
+++ b/lib/gen/json_common.c | |
@@ -1,7 +1,8 @@ | |
#include "gen.h" | |
int info_pack_to_json(char *json, uber_St *uber, int32_t max) { | |
- const info_pack_to_json_func to_json_functions[64] = {kr_alsa_info_to_json, | |
- kr_alsa_path_info_to_json,kr_easing_to_json, | |
+ const info_pack_to_json_func to_json_functions[69] = {kr_alsa_info_to_json, | |
+ kr_alsa_path_info_to_json,kr_app_method_to_json, | |
+ kr_crate2_to_json,kr_easing_to_json, | |
kr_compositor_path_type_to_json,kr_compositor_subunit_type_to_json, | |
kr_vector_type_to_json,kr_compositor_control_to_json, | |
kr_compositor_controls_to_json,kr_sprite_info_to_json, | |
@@ -17,22 +18,24 @@ int info_pack_to_json(char *json, uber_St *uber, int32_t max) { | |
kr_mixer_control_to_json,kr_mixer_path_type_to_json, | |
kr_mixer_adv_ctl_to_json,kr_mixer_info_to_json, | |
kr_mixer_path_info_to_json,kr_mixer_path_patch_to_json, | |
- kr_sfx_control_to_json,kr_sfx_effect_type_to_json, | |
- kr_sfx_effect_control_to_json,kr_eq_band_info_to_json, | |
- kr_eq_info_to_json,kr_lowpass_info_to_json, | |
- kr_highpass_info_to_json,kr_analog_info_to_json, | |
- kr_adapter_path_direction_to_json,kr_adapter_api_to_json, | |
- kr_adapter_api_info_to_json,kr_adapter_api_path_info_to_json, | |
- kr_adapter_info_to_json,kr_adapter_path_info_to_json, | |
- krad_link_av_mode_t_to_json,kr_txpdr_su_type_t_to_json, | |
- krad_link_transport_mode_t_to_json,kr_transponder_path_io_type_to_json, | |
- kr_transponder_info_to_json,kr_transponder_path_io_path_info_to_json, | |
- kr_transponder_path_io_info_to_json,kr_transponder_path_info_to_json, | |
- kr_transponder_path_patch_to_json,kr_v4l2_state_to_json, | |
- kr_v4l2_mode_to_json,kr_v4l2_info_to_json, | |
- kr_v4l2_open_info_to_json,kr_wayland_info_to_json, | |
- kr_wayland_path_info_to_json,kr_x11_info_to_json, | |
- kr_x11_path_info_to_json}; | |
+ kr_nil_to_json,kr_radio_payload_type_to_json, | |
+ kr_radio_payload_to_json,kr_sfx_control_to_json, | |
+ kr_sfx_effect_type_to_json,kr_sfx_effect_control_to_json, | |
+ kr_eq_band_info_to_json,kr_eq_info_to_json, | |
+ kr_lowpass_info_to_json,kr_highpass_info_to_json, | |
+ kr_analog_info_to_json,kr_adapter_path_direction_to_json, | |
+ kr_adapter_api_to_json,kr_adapter_api_info_to_json, | |
+ kr_adapter_api_path_info_to_json,kr_adapter_info_to_json, | |
+ kr_adapter_path_info_to_json,krad_link_av_mode_t_to_json, | |
+ kr_txpdr_su_type_t_to_json,krad_link_transport_mode_t_to_json, | |
+ kr_transponder_path_io_type_to_json,kr_transponder_info_to_json, | |
+ kr_transponder_path_io_path_info_to_json,kr_transponder_path_io_info_to_json, | |
+ kr_transponder_path_info_to_json,kr_transponder_path_patch_to_json, | |
+ kr_v4l2_state_to_json,kr_v4l2_mode_to_json, | |
+ kr_v4l2_info_to_json,kr_v4l2_open_info_to_json, | |
+ kr_wayland_info_to_json,kr_wayland_path_info_to_json, | |
+ kr_x11_info_to_json,kr_x11_path_info_to_json | |
+ }; | |
return to_json_functions[uber->type-1](json , uber->actual, max); | |
} | |
diff --git a/lib/krad_app/krad_app_common.h b/lib/krad_app/krad_app_common.h | |
index 1f79c2a..56af1c4 100644 | |
--- a/lib/krad_app/krad_app_common.h | |
+++ b/lib/krad_app/krad_app_common.h | |
@@ -9,6 +9,8 @@ | |
#include "gen/krad_app_common_to_ebml.h" | |
#include "gen/krad_app_common_from_ebml.h" | |
+#include "gen/krad_app_common_to_json.h" | |
+#include "gen/krad_app_common_from_json.h" | |
#include "gen/krad_app_common_to_text.h" | |
#include "gen/krad_app_common_helpers.h" | |
diff --git a/lib/krad_app/krad_app_server.c b/lib/krad_app/krad_app_server.c | |
index e0240c3..2ab5f40 100644 | |
--- a/lib/krad_app/krad_app_server.c | |
+++ b/lib/krad_app/krad_app_server.c | |
@@ -137,11 +137,17 @@ static int validate_ebml_client(kr_app_server_client *client) { | |
} | |
static int pack_crate_rest(uint8_t *buffer, kr_crate2 *crate, size_t max) { | |
- return 45; | |
+ int res; | |
+ printk("rest crate packing"); | |
+ res = kr_crate2_to_json((char *)buffer, crate, max); | |
+ return res; | |
} | |
static int pack_crate_websocket(uint8_t *buffer, kr_crate2 *crate, size_t max) { | |
- return 666; /* :| */ | |
+ int res; | |
+ printk("ws crate packing"); | |
+ res = kr_crate2_to_json((char *)buffer, crate, max); | |
+ return res; | |
} | |
static int pack_crate_ebml(uint8_t *buffer, kr_crate2 *crate, size_t max) { | |
@@ -163,13 +169,14 @@ static int unpack_crate_rest(kr_crate2 *crate, kr_io2_t *in) { | |
if (!(kr_io2_has_in(in))) { | |
return 0; | |
} | |
- //ret = kr_crate2_fr_json(in->rd_buf, crate, in->len); | |
- ret = 45; /*streamer*/ | |
- if (ret == 0) { | |
+ ret = kr_crate2_fr_json((char *)in->rd_buf, crate); | |
+ | |
+ if (ret > 0) { | |
char string[8192]; | |
ret = kr_crate2_to_text(string, crate, sizeof(string)); | |
if (ret > 0) { | |
- printk("App Server: %"PRIu64" byte crate: (from json+rest)\n%s\n", string); | |
+ printk("App Server: %"PRIu64" byte crate: (from json+rest)\n%s\n", ret); | |
+ printk("%s",string); | |
} | |
//kr_io2_pulled(in, ebml.pos); | |
return 1; | |
@@ -182,13 +189,13 @@ static int unpack_crate_websocket(kr_crate2 *crate, kr_io2_t *in) { | |
if (!(kr_io2_has_in(in))) { | |
return 0; | |
} | |
- //ret = kr_crate2_fr_json(in->rd_buf, crate, in->len); | |
- ret = 45; /*streamer*/ | |
- if (ret == 0) { | |
+ ret = kr_crate2_fr_json((char *)in->rd_buf, crate); | |
+ if (ret > 0) { | |
char string[8192]; | |
ret = kr_crate2_to_text(string, crate, sizeof(string)); | |
if (ret > 0) { | |
- printk("App Server: %"PRIu64" byte crate: (from json+websocket)\n%s\n", string); | |
+ printk("App Server: %"PRIu64" byte crate: (from json+websocket)\n%s\n", ret); | |
+ printk("%s",string); | |
} | |
//kr_io2_pulled(in, ebml.pos); | |
return 1; | |
diff --git a/lib/krad_radio/krad_radio_payload.h b/lib/krad_radio/krad_radio_payload.h | |
index cade8ed..3ee0936 100644 | |
--- a/lib/krad_radio/krad_radio_payload.h | |
+++ b/lib/krad_radio/krad_radio_payload.h | |
@@ -8,6 +8,8 @@ | |
#include "gen/krad_radio_payload_to_ebml.h" | |
#include "gen/krad_radio_payload_from_ebml.h" | |
+#include "gen/krad_radio_payload_to_json.h" | |
+#include "gen/krad_radio_payload_from_json.h" | |
#include "gen/krad_radio_payload_to_text.h" | |
#include "gen/krad_radio_payload_helpers.h" | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment