Page 1 of 2

Pixilang v3.4.7

Posted: Fri Sep 27, 2013 11:59 pm
by NightRadio
Pixilang обновился до версии 3.4.7.
http://www.warmplace.ru/soft/pixilang/index_ru.php

Что нового:
  • добавлена новая глобальная переменная UI_SCALE, которая содержит коэффициент масштабирования интерфейса; пример использования: button_size = PPI * UI_SCALE * 0.5;
  • изменен формат константы PIXILANG_VERSION;
  • операция OP_COPY теперь доступна и для функции op_cn() (для заполнения прямоугольной области одним значением);
  • новая операция обработки данных для функции op_cn(): OP_SUB2 (вычитание с измененным порядком операндов (N - C1[ i ]));
  • новае операции обработки данных для функции op_cc(): OP_EXCHANGE (обмен значений), OP_BMUL (if C2[ i ] == 0 { C1[ i ] = 0 }), OP_COMPARE;
  • новые операции обработки данных для функций op_cc() и op_cn(): OP_COPY_LESS (копировать при условии C1[ i ] < C2[ i ]), OP_COPY_GREATER;
  • новая операция обработки данных для функции op_ccn(): OP_MUL_RSHIFT (умножение с последующим сдвигом результата);
  • теперь контейнер можно масштабировать с интерполяцией; пример: resize( img, 100, 100, PIXEL, RESIZE_INTERP2 );
  • добавлены флаги для функции resize(): RESIZE_INTERP1 (грубое масштабирование), RESIZE_INTERP2 (линейная интерполяция), RESIZE_UNSIGNED_INTERP2, RESIZE_COLOR_INTERP1, RESIZE_COLOR_INTERP2;
  • добавлена опция для load(): LOAD_FIRST_FRAME - загрузить только первый кадр анимации;
  • добавлены опции экспорта в JPEG: JPEG_TWOPASS, JPEG_H1V1, JPEG_H2V1, JPEG_H2V2; подробности использования в примере examples/graphics/save_jpeg.pixi;
  • новые функции: zlib_pack(), zlib_unpack() - для паковки/распаковки контейнера с использованием библиотеки zlib;
  • новая функция: show_memory_debug_messages( enable );
  • новые функции: color_gradient() и gradient() для рисования 2D градиента в пиксельном или любом другом контейнере;
  • новая функция: split_ycbcr() - аналогична split_rgb(), только для преобразования в/из формата YCbCr;
  • новая функция: fprintf() - форматный вывод текста в указанный поток (открытый функцией fopen() или fopen_mem());
  • новые функции: logf() - форматный вывод текста в буфер для логов (журнал событий); get_log() - получить текущий лог;
  • новые функции: set_disk0(), get_disk0(); подбробности использования в примере examples/graphics/virtual_disk.pixi;
  • новые функции: fload() и fsave() для загрузки и выгрузки из/в поток данных, открытый функцией fopen или fopen_mem;
  • новая функция: fopen_mem() - открыть файл, который находится в контейнере (в памяти);
  • новая функция: setxattr() (posix);
  • новая функция: gl_draw_arrays() - гибрид OpenGL функций glColor4ub(), glBindTexture(), glVertexPointer(), glColorPointer(), glTexCoordPointer(), glDrawArrays();
  • новая функция: gl_blend_func() - полный аналог OpenGL функции glBlendFunc();
  • добавлены константы ZLib (уровни компрессии): Z_NO_COMPRESSION, Z_BEST_SPEED, Z_BEST_COMPRESSION, Z_DEFAULT_COMPRESSION;
  • добавлены константы OpenGL для функции gl_draw_arrays(): GL_POINTS, GL_LINE_STRIP, GL_LINE_LOOP, GL_LINES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_TRIANGLES;
  • добавлены константы OpenGL для функции gl_blend_func(): GL_ONE, GL_ZERO, GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR и т.д.;
  • новый пример (console): fopen_mem;
  • новые примеры (graphics): save_jpeg_to_memory, rotozoom4, rotozoom5, rotozoom6, ffmpeg_video_effects/zoom, log_messages, split_ycbcr, split_ycbcr2, gradient2, gradient3, zlib, fft2, gamma_correction;
  • новые примеры (graphics_opengl): primitives, blend_modes;
  • добавлены Pixilang библиотеки (папка lib): ffmpeg_video_export, ffmpeg_video_import, pixitracker_audio_engine, pseudo_hdr, gl_primitives, gamma_correction;
  • добавлена поддержка JACK Audio Connection Kit (для iOS и Linux);
  • исправлены ошибки.

Re: Pixilang v3.4.7

Posted: Mon Sep 30, 2013 11:02 am
by needhash
Сделайте, пожалуйста, чтобы rand возвращала 32 битное число, а не 16 битное, для удобства.

Re: Pixilang v3.4.7

Posted: Mon Sep 30, 2013 11:34 am
by needhash
Еще бывает, что забываешь поставить $ перед функцией, адрес которой в локальной переменной, он выводит ошибку, а номера строки нет(

Re: Pixilang v3.4.7

Posted: Mon Sep 30, 2013 12:02 pm
by needhash
Еще бы встроенный дебаггер, и было бы вообще круто :))

Еще пожелания:
если это возможно, чтобы выводилась ошибка при попытке чтения неинициализированной переменной;
также ошибка при попытке обращения к элементу контейнера, который неинициализирован;
цикл for, так как постоянно зависает из-за того что забыл увеличить счетчик перед continue

Re: Pixilang v3.4.7

Posted: Mon Sep 30, 2013 10:01 pm
by NightRadio
Увы, rand() 32-битным сделать не могу, так как на 16-битном уже построено много программ.
По поводу ошибки некорректного адреса - как только появится встроенный дебаггер, сразу же появятся номера строк во всех ошибках без исключения :) Просто сейчас отладочная информация о структуре исходника нигде не сохраняется - не успел реализовать.

Re: Pixilang v3.4.7

Posted: Tue Oct 01, 2013 5:15 pm
by needhash
Ну можно тогда сделать функцию rand32 или random. А что, встроенный дебаггер планируется? Вот это было бы незаменимой вещью. Веский аргумент в пользу pixilang, если выбирать между ним и другим языком.

Re: Pixilang v3.4.7

Posted: Tue Oct 01, 2013 8:18 pm
by NightRadio
Да, дебаггер планируется :)

Re: Pixilang v3.4.7

Posted: Wed Oct 02, 2013 4:21 pm
by needhash
Нашел ошибку - интерпретатор показывает неправильный номер строки с ошибкой, если в этом файле используется include.
Кстати, идея насчет отладчика, чтобы помимо чисел и строк можно было просматривать контейнеры с картинками

Re: Pixilang v3.4.7

Posted: Mon Oct 14, 2013 8:21 pm
by yourchange
привет! у меня на windows mobile видно одну полоску сверху и все. пробовал менять конфиг, но без результатов(

Re: Pixilang v3.4.7

Posted: Thu Oct 17, 2013 5:42 pm
by NightRadio
needhash: спасибо, поправлю, как будет время.
yourchange: то есть, не видно даже стартового файлового диалога? Чистый черный экран с белой полоской?

Re: Pixilang v3.4.7

Posted: Fri Dec 06, 2013 8:26 pm
by yourchange
почти. черный экран и мерцающая зеленая полоска.
если будет исправлено, я вряд ли смогу проверить - я уже с андроидом.

Re: Pixilang v3.4.7

Posted: Tue Feb 18, 2014 1:56 pm
by phase
Можно ли в Pixilang создать массив указателей на встроенные функции?
что то типа:
pf=new(3)
pf[0]=get_red
pf[1]=get_green
pf[2]=get_blue

При запуске такой программы выдаётся ошибка синтаксиса.
Со своими функциями нормально работает.

Re: Pixilang v3.4.7

Posted: Tue Feb 18, 2014 3:12 pm
by NightRadio
Можно ли в Pixilang создать массив указателей на встроенные функции?
нет.
Но можно сделать обертки для системных функций, типа
fn get_red2( $color ) { ret( get_red( $color ) ) }

Re: Pixilang v3.4.7

Posted: Thu Mar 13, 2014 8:15 pm
by Several light
Pixilang на данный момент может корректно работать 64-битными целыми числами? (функция num_to_str на данный момент сними не работает)

Re: Pixilang v3.4.7

Posted: Fri Mar 14, 2014 9:08 am
by NightRadio
Pixilang на данный момент может корректно работать 64-битными целыми числами?
Текущая версия - нет.
Такая возможность заложена в языке, но я ее временно отключил для экономии производительности.