> Миллисекунды там нужны, потому что иногда хочется выдержать, например, полсекунды задержку.
А как вы это сделаете? Секунда видео это не 1000 миллисекунд, а энное количество кадров: например, 25, 30, 60. Полсекунды в видео с 60 кадров в секунду это 30 кадров, в 25 это 12.5 кадра? :)
Если я сделаю в вашей программе видео 2.5 секунд, то вставляя его в редактор видео вроде «Премьера» или «Вегаса» я получу рассинхрон?
> Кому нужны эти сложности?
Пользователям, очевидно. :)
Вам кажется, что вы мыслите нестандартно, на самом деле, вы мыслите устаревшими шаблонами. Надеюсь, вы всё-таки переработаете интерфейс, иначе ваш труд так никто и не оценит.
Интерфейсы это не только иконки. Например, много удобнее было бы вынести редактирование видео в таймлайн, а не отдельное окно с набором кнопок.
Или подписи на кадрах. Формат «ЧЧ: ММ: СС: КК» избыточен. Кадры можно подписывать именно кадрами (1, 2, ..., 25), часы и минуты просто выкинуть в роликах длинной несколько секунд. Да и места под кадры забито очень много при этом на них нет, скажем, скриншота кадра, просто прямоугольники занимающие место.
Вам нравится ваша программа и, очевидно, в том или ином смысле нравится интерфейс. Но я вашей программой пользоваться не буду потому что она неудобная.
P.S. Когда кто-то ругает «Фотошоп» я предлагаю этому кому-то посмотреть на функцию Puppet Warp (в меню Edit). Настоящая Вещь с крутейшим алгоритмом. :)
Я могу скинуть в личку ссылку на свой говнокод годичной давности, если интересно.
P.S. Иногда, когда debug == nil явный require('debug') выручает ситуацию. Из-за того, что вырезают luaopen_debug() из автоматического подключения стандартных модулей.
Везде можно писать двоеточие, так как двоеточие это «сахар»: Объект.функция(Объект, параметры) == Объект: функция(параметры). (upd: тут парсер всунул лишний пробел)
Ваша реализация классов немного запутана: статик, паблик, приват и всё отдельными таблицами. У вас же есть основная таблица — вот вам и статик, вот вам и паблик. Хорошая идея, как мне кажется, хранить скрытые свойства в метаданных. Их никто не увидит и доступа к ним никто не получит, если сам «силой» не влезет через getmetatable(), но так же можно читать и userdata. Получается в духе Lua.
Наследования можно осуществлять двумя путями:
1. через какую-нибудь функцию extends('MyClass', родитель);
2. через обращение к окружению: [local] MyClass = my_class_system(родитель);
Второй метод интересен и хитёр, но нужно копаться с getfenv() и debug.getlocal(). И далеко не факт, что имена переменных не потеряются.
В идеале надо бы как-то так :)
$s[0].$s[-1] == '@@'
Разработчикам PHP давно пора было сделать как в языке D: s[$ — 1], где знак доллара мета-обозначение последнего элемента, по сути сахар к s.length — 1.
Если запустилась и тормозит человек может понять, что надо обновить браузер (тем более, если человеку показать плашку «в тормозах виноват ваш старый браузер»).
Если вообще ничего не запускается человек 99% вероятности решит, что это ошибка программиста.
У меня тоже несколько каких-то говномузыкальных роликов от людей, которые обычно шлют спам через личку на ютюбе и через "%hrenname% добавил вас в список контактов". Хотя сам лайкаю только видео с полезными уроками.
Ютюб не ругистрирует просмотр с автоплеем. Исключение только для фейсбука и нескольких очень крупных сайтов. В начале года и вконтакт хотел такие же условия, но гугл проигнорировал и и с тех пор просмотры с вконтакта не считаются.
У «Фотошопа» для этого есть отличная функция «Refine Edge...»: указываете куски «Brush Tool» (и кликаете Q для быстрой маски) или через «Quick Selection Tool», затем «Brush Tool»-подобным инструментом корректируете выбранное. «Фотошоп» сам додумывает что надо вырезать на основе имеющегося образца и нескольких уточняющих слайдеров.
Комментарий не касается поста,
«Дьяблы»-как-примера-хорошей-игры
и вообще просто за годы имею спросить.
Спрошу не кого-то конкретно, спрошу пустоту. :)
Помню, как друзья разговаривали о «Дьябле»: кто на каком уровне и в каких местах побывал. Народ игру очень любил. А я тогда не понимал и сейчас не понимаю три простых вещи:
1. В каком месте «Дьябла» — РПГ?
2. Кому может нравится постоянное тыканье мышью (хакэнслэш) на рандомных человечках в рандомных местах собирая рандомный бессмысленный лут (рогалик)?
3. «Дьябло» долгое время называли игрой от третьего лица. «Третье лицо» это птица или слово «изометрия» не всем знакомо?
Обидно, что исполнители вроде моих персональных любимцев Уилла Нокса ( youtu.be/NM_NycXHdRU ) и Джоша Вудварда (этот вообще талант-многостаночник, выкладывает всё под CC BY youtu.be/JUFPu5FMd7U) в общем-то забиты в такие глубокие глубины dniwa, что отыскать их — это уже подвиг.
Проекты подобные «Патрону» должны помочь талантливым людям получать денежку, чтобы они могли и дальше что-то сочинять.
P.S. На всех христиан библия одна. Напомню, это такая пухлая книженщия про евреев.
А как вы это сделаете? Секунда видео это не 1000 миллисекунд, а энное количество кадров: например, 25, 30, 60. Полсекунды в видео с 60 кадров в секунду это 30 кадров, в 25 это 12.5 кадра? :)
Если я сделаю в вашей программе видео 2.5 секунд, то вставляя его в редактор видео вроде «Премьера» или «Вегаса» я получу рассинхрон?
> Кому нужны эти сложности?
Пользователям, очевидно. :)
Вам кажется, что вы мыслите нестандартно, на самом деле, вы мыслите устаревшими шаблонами. Надеюсь, вы всё-таки переработаете интерфейс, иначе ваш труд так никто и не оценит.
Или подписи на кадрах. Формат «ЧЧ: ММ: СС: КК» избыточен. Кадры можно подписывать именно кадрами (1, 2, ..., 25), часы и минуты просто выкинуть в роликах длинной несколько секунд. Да и места под кадры забито очень много при этом на них нет, скажем, скриншота кадра, просто прямоугольники занимающие место.
Вам нравится ваша программа и, очевидно, в том или ином смысле нравится интерфейс. Но я вашей программой пользоваться не буду потому что она неудобная.
P.S. Когда кто-то ругает «Фотошоп» я предлагаю этому кому-то посмотреть на функцию Puppet Warp (в меню Edit). Настоящая Вещь с крутейшим алгоритмом. :)
Я могу скинуть в личку ссылку на свой говнокод годичной давности, если интересно.
P.S. Иногда, когда debug == nil явный require('debug') выручает ситуацию. Из-за того, что вырезают luaopen_debug() из автоматического подключения стандартных модулей.
upd: прошу прощения, промахнулся.
Везде можно писать двоеточие, так как двоеточие это «сахар»: Объект.функция(Объект, параметры) == Объект: функция(параметры). (upd: тут парсер всунул лишний пробел)
Ваша реализация классов немного запутана: статик, паблик, приват и всё отдельными таблицами. У вас же есть основная таблица — вот вам и статик, вот вам и паблик. Хорошая идея, как мне кажется, хранить скрытые свойства в метаданных. Их никто не увидит и доступа к ним никто не получит, если сам «силой» не влезет через getmetatable(), но так же можно читать и userdata. Получается в духе Lua.
Наследования можно осуществлять двумя путями:
1. через какую-нибудь функцию extends('MyClass', родитель);
2. через обращение к окружению: [local] MyClass = my_class_system(родитель);
Второй метод интересен и хитёр, но нужно копаться с getfenv() и debug.getlocal(). И далеко не факт, что имена переменных не потеряются.
$s[0].$s[-1] == '@@'
Разработчикам PHP давно пора было сделать как в языке D: s[$ — 1], где знак доллара мета-обозначение последнего элемента, по сути сахар к s.length — 1.
$s[0].substr($s, -1) == '@@'
:)
Ваш же «пруф» аж 2006-ого года с темой Xbox 360.
Если вообще ничего не запускается человек 99% вероятности решит, что это ошибка программиста.
80% автоматизировано. Очень просто и эффективно.
«Дьяблы»-как-примера-хорошей-игры
и вообще просто за годы имею спросить.
Спрошу не кого-то конкретно, спрошу пустоту. :)
Помню, как друзья разговаривали о «Дьябле»: кто на каком уровне и в каких местах побывал. Народ игру очень любил. А я тогда не понимал и сейчас не понимаю три простых вещи:
1. В каком месте «Дьябла» — РПГ?
2. Кому может нравится постоянное тыканье мышью (хакэнслэш) на рандомных человечках в рандомных местах собирая рандомный бессмысленный лут (рогалик)?
3. «Дьябло» долгое время называли игрой от третьего лица. «Третье лицо» это птица или слово «изометрия» не всем знакомо?
P.S. Maxime Chevalier-Boisvert прям ми-ми-ми. Ещё она знает, как оптимизировать мой код. :)
Проекты подобные «Патрону» должны помочь талантливым людям получать денежку, чтобы они могли и дальше что-то сочинять.
var map = {square: 3};
Math.pow(x, map[prompt()] || 2);
Есть в слове какое-то пренебрежение, что ли.
Как со словом «человечек». Вроде бы слово, как слово. А фигня какая-то. :)