mirror of
https://github.com/Ttanasart-pt/Pixel-Composer.git
synced 2025-02-03 00:35:14 +01:00
- Add per node log.
This commit is contained in:
parent
e8acf572d7
commit
1db8b7a488
21 changed files with 168 additions and 50 deletions
Binary file not shown.
|
@ -62,44 +62,64 @@ function buttonGroup(_data, _onClick) : widget() constructor {
|
||||||
current_selecting = array_safe_get_fast(current_selecting, 0);
|
current_selecting = array_safe_get_fast(current_selecting, 0);
|
||||||
hovering = hover && point_in_rectangle(_m[0], _m[1], _x, _y, _x + _w, _y + _h);
|
hovering = hover && point_in_rectangle(_m[0], _m[1], _x, _y, _x + _w, _y + _h);
|
||||||
|
|
||||||
var amo = array_length(data);
|
var amo = array_length(data);
|
||||||
var ww = _w / amo;
|
var _tw = _w;
|
||||||
|
var _mx = false, _t = 0;
|
||||||
|
var _sw = _h + ui(8);
|
||||||
|
var tamo = amo;
|
||||||
|
|
||||||
var total_width = 0;
|
var total_width = 0;
|
||||||
draw_set_font(font);
|
draw_set_font(font);
|
||||||
for(var i = 0; i < amo; i++) {
|
for(var i = 0; i < amo; i++) {
|
||||||
if(is_string(data[i]))
|
var _d = data[i];
|
||||||
total_width += string_width(data[i]) + ui(32);
|
|
||||||
|
if(is_string(_d)) {
|
||||||
|
_t = 1;
|
||||||
|
total_width += ui(32) + string_width(_d);
|
||||||
|
|
||||||
|
} else if(sprite_exists(_d)) {
|
||||||
|
if(_t) _mx = true;
|
||||||
|
if(_mx) tamo--;
|
||||||
|
|
||||||
|
total_width += _sw;
|
||||||
|
_tw -= _sw;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
display_button = total_width < _w;
|
display_button = total_width < _w;
|
||||||
|
var ww = (_mx? _tw : _w) / tamo;
|
||||||
|
|
||||||
if(display_button) {
|
if(display_button) {
|
||||||
var bx = _x;
|
var bx = _x;
|
||||||
var draw_sel = noone;
|
var draw_sel = noone;
|
||||||
|
|
||||||
for(var i = 0; i < amo; i++) {
|
for(var i = 0; i < amo; i++) {
|
||||||
|
var _d = data[i];
|
||||||
|
|
||||||
buttons[i].setFocusHover(active, hover);
|
buttons[i].setFocusHover(active, hover);
|
||||||
buttons[i].tooltip = array_safe_get(tooltips, i, "");
|
buttons[i].tooltip = array_safe_get(tooltips, i, "");
|
||||||
|
|
||||||
|
var bww = !is_string(_d) && sprite_exists(_d) && _mx? _sw : ww;
|
||||||
var spr = i == 0 ? buttonSpr[0] : (i == amo - 1? buttonSpr[2] : buttonSpr[1]);
|
var spr = i == 0 ? buttonSpr[0] : (i == amo - 1? buttonSpr[2] : buttonSpr[1]);
|
||||||
|
|
||||||
if(_selecting == i) {
|
if(_selecting == i) {
|
||||||
draw_sprite_stretched(spr, 2, floor(bx), _y, ceil(ww), _h);
|
draw_sprite_stretched(spr, 2, floor(bx), _y, ceil(bww), _h);
|
||||||
draw_sel = [spr, bx];
|
draw_sel = [spr, bx];
|
||||||
} else {
|
} else {
|
||||||
buttons[i].draw(floor(bx), _y, ceil(ww), _h, _m, spr);
|
buttons[i].draw(floor(bx), _y, ceil(bww), _h, _m, spr);
|
||||||
if(buttons[i].clicked) onClick(i);
|
if(buttons[i].clicked) onClick(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(is_string(data[i])) {
|
if(is_string(data[i])) {
|
||||||
draw_set_text(font, fa_center, fa_center, fColor);
|
draw_set_text(font, fa_center, fa_center, fColor);
|
||||||
draw_text(bx + ww / 2, _y + _h / 2, data[i]);
|
draw_text_add(bx + bww / 2, _y + _h / 2, data[i]);
|
||||||
|
|
||||||
} else if(sprite_exists(data[i])) {
|
} else if(sprite_exists(data[i])) {
|
||||||
draw_sprite_ui_uniform(data[i], i, bx + ww / 2, _y + _h / 2);
|
draw_sprite_ui_uniform(data[i], i, bx + bww / 2, _y + _h / 2, 1);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bx += ww;
|
bx += bww;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(draw_sel != noone)
|
if(draw_sel != noone)
|
||||||
|
|
|
@ -162,7 +162,10 @@ function Node_3D_Mesh_Export(_x, _y, _group = noone) : Node(_x, _y, _group) cons
|
||||||
file_text_write_all( _path, _obj);
|
file_text_write_all( _path, _obj);
|
||||||
if(_mat) file_text_write_all(_mtlPath, _mtl);
|
if(_mat) file_text_write_all(_mtlPath, _mtl);
|
||||||
|
|
||||||
var noti = log_message("EXPORT", $"Export model complete.", THEME.noti_icon_tick, COLORS._main_value_positive, false);
|
var _txt = $"Export model complete.";
|
||||||
|
logNode(_txt);
|
||||||
|
|
||||||
|
var noti = log_message("EXPORT", _txt, THEME.noti_icon_tick, COLORS._main_value_positive, false);
|
||||||
noti.path = filename_dir(_path);
|
noti.path = filename_dir(_path);
|
||||||
noti.setOnClick(function() { shellOpenExplorer(self.path); }, "Open in explorer", THEME.explorer);
|
noti.setOnClick(function() { shellOpenExplorer(self.path); }, "Open in explorer", THEME.explorer);
|
||||||
}
|
}
|
||||||
|
|
|
@ -140,7 +140,10 @@ function Node_3D_Mesh_Obj(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y, _group)
|
||||||
// print(txt);
|
// print(txt);
|
||||||
|
|
||||||
var span = max(abs(obj_raw.model_size.x), abs(obj_raw.model_size.y), abs(obj_raw.model_size.z));
|
var span = max(abs(obj_raw.model_size.x), abs(obj_raw.model_size.y), abs(obj_raw.model_size.z));
|
||||||
if(span > 10) noti_warning($"The model is tool large to display properly ({span}u). Scale the model down to preview.");
|
if(span > 10) {
|
||||||
|
var _txt = $"The model is tool large to display properly ({span}u). Scale the model down to preview.";
|
||||||
|
logNode(_txt); noti_warning(_txt);
|
||||||
|
}
|
||||||
|
|
||||||
if(object != noone) object.destroy();
|
if(object != noone) object.destroy();
|
||||||
|
|
||||||
|
@ -171,8 +174,10 @@ function Node_3D_Mesh_Obj(_x, _y, _group = noone) : Node_3D_Mesh(_x, _y, _group)
|
||||||
var _ord = array_find(materialNames, _mat);
|
var _ord = array_find(materialNames, _mat);
|
||||||
materialIndex[i] = _ord;
|
materialIndex[i] = _ord;
|
||||||
}
|
}
|
||||||
} else
|
} else {
|
||||||
noti_warning("Load mtl error: Material amount defined in .mtl file not match the .obj file.")
|
var _txt = "Load mtl error: Material amount defined in .mtl file not match the .obj file.";
|
||||||
|
logNode(_txt); noti_warning(_txt);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
array_resize(input_display_list, input_display_len);
|
array_resize(input_display_list, input_display_len);
|
||||||
|
|
|
@ -306,7 +306,14 @@ function Node(_x, _y, _group = noone) : __Node_Base(_x, _y) constructor {
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region ---- log ----
|
#region ---- log ----
|
||||||
messages = [];
|
messages = [ ];
|
||||||
|
messages_bub = false;
|
||||||
|
|
||||||
|
static logNode = function(text) {
|
||||||
|
var _time = $"{string_lead_zero(current_hour, 2)}:{string_lead_zero(current_minute, 2)}.{string_lead_zero(current_second, 2)}";
|
||||||
|
messages_bub = true;
|
||||||
|
array_push(messages, [ _time, text ]);
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region ---- serialization ----
|
#region ---- serialization ----
|
||||||
|
@ -2074,7 +2081,9 @@ function Node(_x, _y, _group = noone) : __Node_Base(_x, _y) constructor {
|
||||||
var _data_length = load_map.data_length;
|
var _data_length = load_map.data_length;
|
||||||
var _dynamic_inputs = (array_length(load_map.inputs) - _input_fix_len) / _data_length;
|
var _dynamic_inputs = (array_length(load_map.inputs) - _input_fix_len) / _data_length;
|
||||||
if(frac(_dynamic_inputs) != 0) {
|
if(frac(_dynamic_inputs) != 0) {
|
||||||
noti_warning("LOAD: Uneven dynamic input.");
|
var _txt = "LOAD: Uneven dynamic input.";
|
||||||
|
logNode(_txt); noti_warning(_txt);
|
||||||
|
|
||||||
_dynamic_inputs = ceil(_dynamic_inputs);
|
_dynamic_inputs = ceil(_dynamic_inputs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -71,7 +71,8 @@ function Node_Directory_Search(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
pathObj.spr = sprite_add(path, 1, false, false, 0, 0);
|
pathObj.spr = sprite_add(path, 1, false, false, 0, 0);
|
||||||
|
|
||||||
if(pathObj.spr == -1) {
|
if(pathObj.spr == -1) {
|
||||||
noti_warning($"Image node: File not a valid image.");
|
var _txt = $"Image node: File not a valid image.";
|
||||||
|
logNode(_txt); noti_warning(_txt);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -105,7 +106,8 @@ function Node_Directory_Search(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
var _paths = path_dir_get_files(path, filter, recurs);
|
var _paths = path_dir_get_files(path, filter, recurs);
|
||||||
|
|
||||||
if(array_empty(_paths)) {
|
if(array_empty(_paths)) {
|
||||||
noti_warning("Directory Search: Empty search results.")
|
var _txt = "Directory Search: Empty search results.";
|
||||||
|
logNode(_txt); noti_warning(_txt);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -590,7 +590,10 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
||||||
}
|
}
|
||||||
|
|
||||||
if(exportLog && form != NODE_EXPORT_FORMAT.animation && !IS_CMD) {
|
if(exportLog && form != NODE_EXPORT_FORMAT.animation && !IS_CMD) {
|
||||||
var noti = log_message("EXPORT", $"Export {array_length(surf)} images complete.", THEME.noti_icon_tick, COLORS._main_value_positive, false);
|
var _txt = $"Export {array_length(surf)} images complete.";
|
||||||
|
logNode(_txt);
|
||||||
|
|
||||||
|
var noti = log_message("EXPORT", _txt, THEME.noti_icon_tick, COLORS._main_value_positive, false);
|
||||||
noti.path = filename_dir(p);
|
noti.path = filename_dir(p);
|
||||||
noti.setOnClick(function() { shellOpenExplorer(self.path); }, "Open in explorer", THEME.explorer);
|
noti.setOnClick(function() { shellOpenExplorer(self.path); }, "Open in explorer", THEME.explorer);
|
||||||
|
|
||||||
|
@ -611,7 +614,10 @@ function Node_Export(_x, _y, _group = noone) : Node(_x, _y, _group) constructor
|
||||||
p = save_surface(surf, p);
|
p = save_surface(surf, p);
|
||||||
|
|
||||||
if(exportLog && form != NODE_EXPORT_FORMAT.animation && !IS_CMD) {
|
if(exportLog && form != NODE_EXPORT_FORMAT.animation && !IS_CMD) {
|
||||||
var noti = log_message("EXPORT", $"Export image as {p}", THEME.noti_icon_tick, COLORS._main_value_positive, false);
|
var _txt = $"Export image as {p}";
|
||||||
|
logNode(_txt);
|
||||||
|
|
||||||
|
var noti = log_message("EXPORT", _txt, THEME.noti_icon_tick, COLORS._main_value_positive, false);
|
||||||
noti.path = filename_dir(p);
|
noti.path = filename_dir(p);
|
||||||
noti.setOnClick(function() { shellOpenExplorer(self.path); }, "Open in explorer", THEME.explorer);
|
noti.setOnClick(function() { shellOpenExplorer(self.path); }, "Open in explorer", THEME.explorer);
|
||||||
|
|
||||||
|
|
|
@ -73,7 +73,8 @@ function Node_Image(_x, _y, _group = noone) : Node(_x, _y, _group) constructor {
|
||||||
var _spr = sprite_add(path, 1, false, false, 0, 0);
|
var _spr = sprite_add(path, 1, false, false, 0, 0);
|
||||||
|
|
||||||
if(_spr == -1) {
|
if(_spr == -1) {
|
||||||
noti_warning($"Image node: File not a valid image.");
|
var _txt = $"Image node: File not a valid image.";
|
||||||
|
logNode(_txt); noti_warning(_txt);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -133,7 +133,8 @@ function Node_Image_Animated(_x, _y, _group = noone) : Node(_x, _y, _group) cons
|
||||||
var _spr = sprite_add(_path, 1, false, false, 0, 0);
|
var _spr = sprite_add(_path, 1, false, false, 0, 0);
|
||||||
|
|
||||||
if(_spr == -1) {
|
if(_spr == -1) {
|
||||||
noti_warning($"Image node: File not a valid image.");
|
var _txt = $"Image node: File not a valid image.";
|
||||||
|
logNode(_txt); noti_warning(_txt);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -123,7 +123,8 @@ function Node_Image_Sequence(_x, _y, _group = noone) : Node(_x, _y, _group) cons
|
||||||
var _spr = sprite_add_map(path);
|
var _spr = sprite_add_map(path);
|
||||||
|
|
||||||
if(_spr == -1) {
|
if(_spr == -1) {
|
||||||
noti_warning($"Image node: File not a valid image.");
|
var _txt = $"Image node: File not a valid image.";
|
||||||
|
logNode(_txt); noti_warning(_txt);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -38,12 +38,14 @@ function Node_Iterate_Filter(_x, _y, _group = noone) : Node_Iterator(_x, _y, _gr
|
||||||
}
|
}
|
||||||
|
|
||||||
if(_int == noone) {
|
if(_int == noone) {
|
||||||
noti_warning("Filter Array: Input node not found.");
|
var _txt = "Filter Array: Input node not found.";
|
||||||
|
logNode(_txt); noti_warning(_txt);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(_oup == noone) {
|
if(_oup == noone) {
|
||||||
noti_warning("Filter Array: Output node not found.");
|
var _txt = "Filter Array: Output node not found.";
|
||||||
|
logNode(_txt); noti_warning(_txt);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -91,7 +91,8 @@ function Node_Iterate_Sort(_x, _y, _group = noone) : Node_Collection(_x, _y, _gr
|
||||||
|
|
||||||
nodeValid = inputReady == 0b111;
|
nodeValid = inputReady == 0b111;
|
||||||
if(!nodeValid) {
|
if(!nodeValid) {
|
||||||
noti_warning($"Array sort: Missing inputs or output, need 2 inputs and 1 output for comparison [{inputReady}].");
|
var _txt = $"Array sort: Missing inputs or output, need 2 inputs and 1 output for comparison [{inputReady}].";
|
||||||
|
logNode(_txt); noti_warning(_txt);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -97,8 +97,10 @@ function Node_Pack_Sprites(_x, _y, _group = noone) : Node(_x, _y, _group) constr
|
||||||
var rect = pack[1];
|
var rect = pack[1];
|
||||||
var atlas = [];
|
var atlas = [];
|
||||||
|
|
||||||
if(array_length(rect) < array_length(_rects))
|
if(array_length(rect) < array_length(_rects)) {
|
||||||
noti_warning($"Not enought space, packed {array_length(rect)} out of {array_length(_rects)} images.");
|
var _txt = $"Not enought space, packed {array_length(rect)} out of {array_length(_rects)} images.";
|
||||||
|
logNode(_txt); noti_warning(_txt);
|
||||||
|
}
|
||||||
|
|
||||||
var _surf = outputs[| 0].getValue();
|
var _surf = outputs[| 0].getValue();
|
||||||
_surf = surface_verify(_surf, area.w, area.h, surface_get_format(_inpt[0]));
|
_surf = surface_verify(_surf, area.w, area.h, surface_get_format(_inpt[0]));
|
||||||
|
|
|
@ -242,7 +242,8 @@ function Node_Path_L_System(_x, _y, _group = noone) : Node(_x, _y, _group) const
|
||||||
|
|
||||||
cache_data.result = _temp_s;
|
cache_data.result = _temp_s;
|
||||||
if(string_length(cache_data.result) > attributes.rule_length_limit) {
|
if(string_length(cache_data.result) > attributes.rule_length_limit) {
|
||||||
noti_warning($"L System: Rules length limit ({attributes.rule_length_limit}) reached.");
|
var _txt = $"L System: Rules length limit ({attributes.rule_length_limit}) reached.";
|
||||||
|
logNode(_txt); noti_warning(_txt);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -229,7 +229,10 @@ function Node_Render_Sprite_Sheet(_x, _y, _group = noone) : Node(_x, _y, _group)
|
||||||
var _sy = py;
|
var _sy = py;
|
||||||
|
|
||||||
curr_w = curr_w == -1? _w : curr_w; curr_h = curr_h == -1? _h : curr_h;
|
curr_w = curr_w == -1? _w : curr_w; curr_h = curr_h == -1? _h : curr_h;
|
||||||
if(curr_w != _w || curr_h != _h) noti_warning("Spritesheet node does not support different surfaces size. Use Stack, Image grid, or pack sprite.");
|
if(curr_w != _w || curr_h != _h) {
|
||||||
|
var _txt = "Spritesheet node does not support different surfaces size. Use Stack, Image grid, or pack sprite.";
|
||||||
|
logNode(_txt); noti_warning(_txt);
|
||||||
|
}
|
||||||
|
|
||||||
switch(alig) {
|
switch(alig) {
|
||||||
case 1 : _sy = py + (hh - _h) / 2; break;
|
case 1 : _sy = py + (hh - _h) / 2; break;
|
||||||
|
@ -252,7 +255,10 @@ function Node_Render_Sprite_Sheet(_x, _y, _group = noone) : Node(_x, _y, _group)
|
||||||
var _sy = py;
|
var _sy = py;
|
||||||
|
|
||||||
curr_w = curr_w == -1? _w : curr_w; curr_h = curr_h == -1? _h : curr_h;
|
curr_w = curr_w == -1? _w : curr_w; curr_h = curr_h == -1? _h : curr_h;
|
||||||
if(curr_w != _w || curr_h != _h) noti_warning("Spritesheet node does not support different surfaces size. Use Stack, Image grid, or pack sprite.");
|
if(curr_w != _w || curr_h != _h) {
|
||||||
|
var _txt = "Spritesheet node does not support different surfaces size. Use Stack, Image grid, or pack sprite.";
|
||||||
|
logNode(_txt); noti_warning(_txt);
|
||||||
|
}
|
||||||
|
|
||||||
switch(alig) {
|
switch(alig) {
|
||||||
case 1 : _sx = px + (ww - _w) / 2; break;
|
case 1 : _sx = px + (ww - _w) / 2; break;
|
||||||
|
@ -288,7 +294,10 @@ function Node_Render_Sprite_Sheet(_x, _y, _group = noone) : Node(_x, _y, _group)
|
||||||
var _h = surface_get_height_safe(inpt[index]);
|
var _h = surface_get_height_safe(inpt[index]);
|
||||||
|
|
||||||
curr_w = curr_w == -1? _w : curr_w; curr_h = curr_h == -1? _h : curr_h;
|
curr_w = curr_w == -1? _w : curr_w; curr_h = curr_h == -1? _h : curr_h;
|
||||||
if(curr_w != _w || curr_h != _h) noti_warning("Spritesheet node does not support different surfaces size. Use Stack, Image grid, or pack sprite.");
|
if(curr_w != _w || curr_h != _h) {
|
||||||
|
var _txt = "Spritesheet node does not support different surfaces size. Use Stack, Image grid, or pack sprite.";
|
||||||
|
logNode(_txt); noti_warning(_txt);
|
||||||
|
}
|
||||||
|
|
||||||
array_push(atlases, new SurfaceAtlas(inpt[index], px, py));
|
array_push(atlases, new SurfaceAtlas(inpt[index], px, py));
|
||||||
draw_surface_safe(inpt[index], px, py);
|
draw_surface_safe(inpt[index], px, py);
|
||||||
|
@ -485,7 +494,10 @@ function Node_Render_Sprite_Sheet(_x, _y, _group = noone) : Node(_x, _y, _group)
|
||||||
var _w = surface_get_width_safe(_surfi);
|
var _w = surface_get_width_safe(_surfi);
|
||||||
var _h = surface_get_height_safe(_surfi);
|
var _h = surface_get_height_safe(_surfi);
|
||||||
|
|
||||||
if(anim_curr_w != _w || anim_curr_h != _h) noti_warning("Spritesheet node does not support different surfaces size. Use Stack, Image grid, or pack sprite.");
|
if(anim_curr_w != _w || anim_curr_h != _h) {
|
||||||
|
var _txt = "Spritesheet node does not support different surfaces size. Use Stack, Image grid, or pack sprite.";
|
||||||
|
logNode(_txt); noti_warning(_txt);
|
||||||
|
}
|
||||||
|
|
||||||
var px;
|
var px;
|
||||||
var _sx = 0;
|
var _sx = 0;
|
||||||
|
|
|
@ -9,7 +9,10 @@ function Node_Spout_Send(_x, _y, _group = noone) : Node(_x, _y, _group) construc
|
||||||
.setVisible(false);
|
.setVisible(false);
|
||||||
|
|
||||||
spoutIndex = spoutSenderInit();
|
spoutIndex = spoutSenderInit();
|
||||||
if(spoutIndex == noone) noti_warning("Spout initialize error");
|
if(spoutIndex == noone) {
|
||||||
|
var _txt = "Spout initialize error";
|
||||||
|
logNode(_txt); noti_warning(_txt);
|
||||||
|
}
|
||||||
|
|
||||||
surf_buff = buffer_create(1, buffer_grow, 1);
|
surf_buff = buffer_create(1, buffer_grow, 1);
|
||||||
|
|
||||||
|
|
|
@ -56,13 +56,15 @@ function Node_WAV_File_Write(_x, _y, _group = noone) : Node(_x, _y, _group) cons
|
||||||
|
|
||||||
for( var i = 0; i < _chn; i++ ) {
|
for( var i = 0; i < _chn; i++ ) {
|
||||||
if(!is_array(data[i])) {
|
if(!is_array(data[i])) {
|
||||||
noti_warning("Audio Export: Malformed data. Expects 2D array [channel x number array].");
|
var _txt = "Audio Export: Malformed data. Expects 2D array [channel x number array].";
|
||||||
|
logNode(_txt); noti_warning(_txt);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var len = array_length(data[i]);
|
var len = array_length(data[i]);
|
||||||
|
|
||||||
if(_siz && _siz != len) {
|
if(_siz && _siz != len) {
|
||||||
noti_warning("Audio Export: Uneven sample per channel.");
|
var _txt = "Audio Export: Uneven sample per channel.";
|
||||||
|
logNode(_txt); noti_warning(_txt);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -70,12 +70,16 @@ function Node_Websocket_Receiver(_x, _y, _group = noone) : Node(_x, _y, _group)
|
||||||
|
|
||||||
switch(type) {
|
switch(type) {
|
||||||
case network_type_connect :
|
case network_type_connect :
|
||||||
noti_status($"Websocket server: Client connected at port {port} on node {display_name}");
|
var _txt = $"Websocket server: Client connected at port {port} on node {display_name}";
|
||||||
|
logNode(_txt); noti_status(_txt);
|
||||||
|
|
||||||
connected_device++;
|
connected_device++;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case network_type_disconnect :
|
case network_type_disconnect :
|
||||||
noti_status($"Websocket server: Client disconnected at port {port} on node {display_name}");
|
var _txt = $"Websocket server: Client disconnected at port {port} on node {display_name}";
|
||||||
|
logNode(_txt); noti_status(_txt);
|
||||||
|
|
||||||
connected_device--;
|
connected_device--;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@ function Node_Websocket_Sender(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
}) ]);
|
}) ]);
|
||||||
|
|
||||||
static connectTo = function(newPort, newUrl, params) { #region
|
static connectTo = function(newPort, newUrl, params) { #region
|
||||||
//print($"Connecting to {newUrl}:{newPort}");
|
logNode($"Connecting to {newUrl}:{newPort}");
|
||||||
|
|
||||||
if(ds_map_exists(PORT_MAP, port))
|
if(ds_map_exists(PORT_MAP, port))
|
||||||
array_remove(PORT_MAP[? port], self);
|
array_remove(PORT_MAP[? port], self);
|
||||||
|
@ -48,7 +48,8 @@ function Node_Websocket_Sender(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
|
|
||||||
var socket = network_create_socket(network_socket_ws);
|
var socket = network_create_socket(network_socket_ws);
|
||||||
if(socket < 0) {
|
if(socket < 0) {
|
||||||
noti_warning("Websocket sender: Fail to create new socket.");
|
var _txt = "Websocket sender: Fail to create new socket.";
|
||||||
|
logNode(_txt); noti_warning(_txt);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -57,7 +58,7 @@ function Node_Websocket_Sender(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
callbackMap[$ _conId] = params;
|
callbackMap[$ _conId] = params;
|
||||||
NETWORK_CLIENTS[? _conId] = socket;
|
NETWORK_CLIENTS[? _conId] = socket;
|
||||||
|
|
||||||
//print($"Connecting to {newUrl}:{newPort} complete");
|
logNode($"Connected to {newUrl}:{newPort}");
|
||||||
} #endregion
|
} #endregion
|
||||||
|
|
||||||
setInspector(1, __txt("Resend"), [ THEME.refresh_icon, 1, COLORS._main_value_positive ], function() { triggerRender(); });
|
setInspector(1, __txt("Resend"), [ THEME.refresh_icon, 1, COLORS._main_value_positive ], function() { triggerRender(); });
|
||||||
|
@ -65,13 +66,17 @@ function Node_Websocket_Sender(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
static sendCall = function(ID, params) {
|
static sendCall = function(ID, params) {
|
||||||
var network = ds_map_try_get(NETWORK_CLIENTS, ID, noone);
|
var network = ds_map_try_get(NETWORK_CLIENTS, ID, noone);
|
||||||
if(network < 0) {
|
if(network < 0) {
|
||||||
noti_warning("Websocket sender: No client.");
|
var _txt = "Websocket sender: No client.";
|
||||||
|
logNode(_txt); noti_warning(_txt);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var content = params.content;
|
var content = params.content;
|
||||||
var res = network_send_raw(network, content, buffer_get_size(content), network_send_text);
|
var res = network_send_raw(network, content, buffer_get_size(content));
|
||||||
if(res < 0) noti_warning("Websocket sender: Send error.");
|
if(res < 0) {
|
||||||
|
var _txt = "Websocket sender: Send error.";
|
||||||
|
logNode(_txt); noti_warning(_txt);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static asyncPackets = function(_async_load) { #region
|
static asyncPackets = function(_async_load) { #region
|
||||||
|
@ -81,7 +86,9 @@ function Node_Websocket_Sender(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
var type = async_load[? "type"];
|
var type = async_load[? "type"];
|
||||||
|
|
||||||
if(type == network_type_non_blocking_connect) {
|
if(type == network_type_non_blocking_connect) {
|
||||||
noti_status($"Websocket sender: Connected at port {port} on node {display_name}");
|
var _txt = $"Websocket sender: Connected at port {port} on node {display_name}";
|
||||||
|
logNode(_txt); noti_status(_txt);
|
||||||
|
|
||||||
connected = true;
|
connected = true;
|
||||||
var callBack = callbackMap[$ aid];
|
var callBack = callbackMap[$ aid];
|
||||||
sendCall(aid, callBack);
|
sendCall(aid, callBack);
|
||||||
|
@ -136,7 +143,6 @@ function Node_Websocket_Sender(_x, _y, _group = noone) : Node(_x, _y, _group) co
|
||||||
var network = ds_map_try_get(NETWORK_CLIENTS, port, noone);
|
var network = ds_map_try_get(NETWORK_CLIENTS, port, noone);
|
||||||
|
|
||||||
var cc = CDEF.lime, aa = 1;
|
var cc = CDEF.lime, aa = 1;
|
||||||
//if(network >= 0) cc = CDEF.lime;
|
|
||||||
|
|
||||||
var _y0 = bbox.y0 + ui(16);
|
var _y0 = bbox.y0 + ui(16);
|
||||||
var _y1 = bbox.y1 - ui(16);
|
var _y1 = bbox.y1 - ui(16);
|
||||||
|
|
|
@ -94,9 +94,9 @@ function Panel_Inspector() : PanelContent() constructor {
|
||||||
tb_prop_filter.hide = true;
|
tb_prop_filter.hide = true;
|
||||||
filter_text = "";
|
filter_text = "";
|
||||||
|
|
||||||
prop_page_button = new buttonGroup([ "Properties", "Settings" ], function(val) { prop_page = val; });
|
prop_page_button = new buttonGroup([ "Properties", "Settings", THEME.message_16 ], function(val) { prop_page = val; });
|
||||||
prop_page_button.buttonSpr = [ THEME.button_hide_left, THEME.button_hide_middle, THEME.button_hide_right ];
|
prop_page_button.buttonSpr = [ THEME.button_hide_left, THEME.button_hide_middle, THEME.button_hide_right ];
|
||||||
prop_page_button.font = f_p1;
|
prop_page_button.font = f_p2;
|
||||||
prop_page_button.fColor = COLORS._main_text_sub;
|
prop_page_button.fColor = COLORS._main_text_sub;
|
||||||
prop_page = 0;
|
prop_page = 0;
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -505,7 +505,7 @@ function Panel_Inspector() : PanelContent() constructor {
|
||||||
|
|
||||||
var xc = con_w / 2;
|
var xc = con_w / 2;
|
||||||
|
|
||||||
if(prop_page == 1) { #region attribute/settings editor
|
if(prop_page == 1) { // attribute/settings editor
|
||||||
hh += ui(8);
|
hh += ui(8);
|
||||||
var hg = ui(32);
|
var hg = ui(32);
|
||||||
var yy = _y + hh;
|
var yy = _y + hh;
|
||||||
|
@ -557,7 +557,41 @@ function Panel_Inspector() : PanelContent() constructor {
|
||||||
hh += _hg + ui(8);
|
hh += _hg + ui(8);
|
||||||
}
|
}
|
||||||
return hh;
|
return hh;
|
||||||
} #endregion
|
|
||||||
|
} else if(prop_page == 2) {
|
||||||
|
var _logs = _inspecting.messages;
|
||||||
|
_inspecting.messages_bub = false;
|
||||||
|
var _tmw = ui(64);
|
||||||
|
var yy = _y;
|
||||||
|
var hh = ui(64);
|
||||||
|
|
||||||
|
var con_w = contentPane.surface_w;
|
||||||
|
var con_h = contentPane.surface_h - yy;
|
||||||
|
|
||||||
|
draw_sprite_stretched_ext(THEME.ui_panel_bg, 1, 0, yy, con_w, con_h, COLORS._main_icon);
|
||||||
|
yy += ui(8);
|
||||||
|
|
||||||
|
for (var i = 0, n = array_length(_logs); i < n; i++) {
|
||||||
|
var _log = _logs[i];
|
||||||
|
|
||||||
|
var _time = _log[0];
|
||||||
|
var _text = _log[1];
|
||||||
|
|
||||||
|
draw_set_text(f_p3, fa_left, fa_top, COLORS._main_text_sub);
|
||||||
|
var _hg = string_height_ext(_text, -1, con_w - _tmw - ui(10 + 8)) + ui(4);
|
||||||
|
if(i % 2) draw_sprite_stretched_ext(THEME.ui_panel_bg, 4, ui(4), yy, con_w - ui(8), _hg, CDEF.main_dkblack, 0.25);
|
||||||
|
|
||||||
|
draw_text_add(ui(10), yy + ui(2), _time);
|
||||||
|
|
||||||
|
draw_set_color(COLORS._main_text);
|
||||||
|
draw_text_ext_add(_tmw + ui(10), yy + ui(2), _text, -1, con_w - _tmw - ui(10 + 8));
|
||||||
|
|
||||||
|
yy += _hg;
|
||||||
|
hh += _hg;
|
||||||
|
}
|
||||||
|
|
||||||
|
return hh;
|
||||||
|
}
|
||||||
|
|
||||||
var color_picker_index = 0;
|
var color_picker_index = 0;
|
||||||
var pickers = [];
|
var pickers = [];
|
||||||
|
@ -857,8 +891,9 @@ function Panel_Inspector() : PanelContent() constructor {
|
||||||
|
|
||||||
if(inspecting == noone) return drawMeta(_y, _m);
|
if(inspecting == noone) return drawMeta(_y, _m);
|
||||||
|
|
||||||
|
prop_page_button.data[2] = inspecting.messages_bub? THEME.message_16_grey_bubble : THEME.message_16_grey;
|
||||||
prop_page_button.setFocusHover(pFOCUS, pHOVER);
|
prop_page_button.setFocusHover(pFOCUS, pHOVER);
|
||||||
prop_page_button.draw(ui(32), _y + ui(4), contentPane.w - ui(76), ui(28), prop_page, _m, x + contentPane.x, y + contentPane.y);
|
prop_page_button.draw(ui(32), _y + ui(4), contentPane.w - ui(76), ui(24), prop_page, _m, x + contentPane.x, y + contentPane.y);
|
||||||
|
|
||||||
var _hh = ui(40);
|
var _hh = ui(40);
|
||||||
_y += _hh;
|
_y += _hh;
|
||||||
|
|
|
@ -89,6 +89,8 @@ function file_read_wav(path) {
|
||||||
content.packet = bits;
|
content.packet = bits;
|
||||||
|
|
||||||
printIf(global.FLAG.wav_import, debug_str);
|
printIf(global.FLAG.wav_import, debug_str);
|
||||||
|
logNode(debug_str);
|
||||||
|
|
||||||
print($"Reading buffer {bits} pack from data length {l} with remaining data {_buffer_left}");
|
print($"Reading buffer {bits} pack from data length {l} with remaining data {_buffer_left}");
|
||||||
|
|
||||||
return content;
|
return content;
|
||||||
|
|
Loading…
Reference in a new issue