- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
// https://github.com/x42/darc.lv2/blob/7f1f42b879777e570c83fd566ac28cbfdd51e6fc/src/lv2.c#L508
static void
create_pattern (Darc* self, const double w)
{
const int x0 = floor (w * 0.05);
const int x1 = ceil (w * 0.95);
const int wd = x1 - x0;
#define DEF(x) ((x0 + wd * ((x) + 20.) / 60.) / w)
cairo_pattern_t* pat = cairo_pattern_create_linear (0.0, 0.0, w, 0);
/* clang-format off */
cairo_pattern_add_color_stop_rgba (pat, 1.0, .0, .5, .0, 0);
cairo_pattern_add_color_stop_rgba (pat, DEF (40), .0, .5, .0, 0.5);
cairo_pattern_add_color_stop_rgba (pat, DEF (5), .0, .5, .0, 0.5);
cairo_pattern_add_color_stop_rgba (pat, DEF (-5), .5, .0, .0, 0.5);
cairo_pattern_add_color_stop_rgba (pat, DEF (-20), .5, .0, .0, 0.5);
cairo_pattern_add_color_stop_rgba (pat, 0.0, .5, .0, .0, 0);
/* clang-format on */
self->mpat = pat;
pat = cairo_pattern_create_linear (0.0, 0.0, w, 0);
/* clang-format off */
cairo_pattern_add_color_stop_rgba (pat, 1.0, .1, .9, .1, 0);
cairo_pattern_add_color_stop_rgba (pat, DEF (40), .1, .9, .1, 1);
cairo_pattern_add_color_stop_rgba (pat, DEF (5), .1, .9, .1, 1);
cairo_pattern_add_color_stop_rgba (pat, DEF (-5), .9, .9, .1, 1);
cairo_pattern_add_color_stop_rgba (pat, DEF (-20), .9, .9, .1, 1);
cairo_pattern_add_color_stop_rgba (pat, 0.0, .9, .9, .1, 0);
/* clang-format on */
self->cpat = pat;
#undef DEF
}
Отключаем и включаем clang-формат, чтобы отступы красиво были. Да еще и такой вот локальный дефайн!
Okm9I6PbCKuu_nemyx 17.10.2021 00:40 # 0
ObeseYoung 17.10.2021 00:41 # +2
Approved.
nemyx_B_3AKOHE 17.10.2021 00:41 # 0
bormand 17.10.2021 02:27 # −1
bormand 17.10.2021 00:51 # 0
> mpat
Настоящий сишник никогда не раскроет свои секреты врагу... Локалки я бы простила, но блин поля огромного объекта?
З.Ы. Почему не cp и mp?
j123123 17.10.2021 03:06 # +1
https://github.com/x42/darc.lv2/blob/7f1f42b879777e570c83fd566ac28cbfdd51e6fc/gui/darc.c#L640
j123123 17.10.2021 03:09 # 0
если такой макрос попробовать вот так заюзать
будет хуйня какая-то
Okm9I6PbCKuu_nemyx 17.10.2021 03:14 # 0
j123123 17.10.2021 03:19 # +1
Okm9I6PbCKuu_nemyx 17.10.2021 03:23 # 0
j123123 17.10.2021 03:35 # +1
Можно наверное что-то такое изобрести, например насрать кучу функций сравнения int с int, float с float, double с double и прочие вореанты, а потом через "_Generic" вызывать нужную говнофункцию из возможных вореантов, но это какой-то пиздец будет
Пример использования "_Generic": https://wandbox.org/permlink/EH5I1XUQrtisSEnR
j123123 17.10.2021 03:23 # +1
Okm9I6PbCKuu_nemyx 17.10.2021 03:19 # 0
В чём смысл всё стараться уместить в одну строку? Я могу понять K&R, у них исходник мог на перфокарту не влезть (или на чём там они писали), но в XXI веке зачем экономить на спичках?
Я бы написал так:
Так хотя бы не похоже на типичную порнуху с ioccc.org.
Хотя претензию понимаю. Если аргументами макроса будут функции, они вычислятся дважды, что может быть нежелательным.
Steve_Brown 18.10.2021 11:43 # +1
и ниипет.
(при условии, что max - не макрос, конечно)
j123123 17.10.2021 20:01 # 0
Автор к тому же является одним из разрабов опенсорсной DAW "Ardour" - https://gareus.org/
Да и сам походу всяким там мастерингом и сведением дорожек занимается https://gareus.org/_media/blog/robin_mpc4d1200.jpg?cache=
Творческая личность явно.
bormand 17.10.2021 20:03 # +1
Ага, я тоже шланг формат выключила няхер. То ли у меня лапки, то ли это неюзаюбельное говнище, которым только унылую опердень на джаве можно форматировать.
Вообще не даёт что-то выразить отступами.
guest6 17.10.2021 20:12 # 0
но меня за выебоны с макросами clang тоже чморил
CHayT 17.10.2021 20:17 # +3
Это какой-то фанфик на "Норму"?
bormand 17.10.2021 20:17 # +6
Soul_re@ver 17.10.2021 20:34 # +3
bormand 17.10.2021 20:37 # +1
bormand 17.10.2021 20:30 # 0
Нельзя выразить стиль, в котором можно и так и так. Или я что-то не понимаю?
Desktop 17.10.2021 20:31 # 0
bormand 17.10.2021 20:39 # 0
На работе тоже дальше разговоров дела не зашли. Как раз по описанным выше причинам -- уродует нормально написанный код.
Desktop 17.10.2021 20:44 # 0
в том смысле, что, как они уже настроены, так пусть и хуячат
а дома я и ручками могу красиво написать
j123123 17.10.2021 20:10 # +2
https://m.media-amazon.com/images/I/51ZTOaS3bhL._AC_SL1154_.jpg - это вот такая хрень.
Интересно было б попробовать прошивку под такую хрень понаписать
bormand 17.10.2021 20:27 # 0
Именно в плане DSP и эффектов?
j123123 17.10.2021 20:32 # +1
Desktop 17.10.2021 20:30 # 0
j123123 17.10.2021 20:35 # +1
bormand 17.10.2021 20:38 # 0
j123123 17.10.2021 20:47 # +2
bormand 17.10.2021 20:59 # 0
Это да, аналоговый тракт очень сложно будет запилить без опыта...
С другой стороны, если готовую цап-царапку по I2S к какой-нибудь циклоняшке зацепить, то выглядит вполне реально.
bormand 17.10.2021 22:49 # 0
Ты переоцениваешь затраты, имхо...
Чуваки вон лифт на ардуине делали. Что мешает тебе точно так же взять макетку, прицепить к ней I2S цап-царапки и какую-нибудь USB'шную хреновину с энкодерами и кнопочками с али. Даже паять ничего не надо будет, если аппаратная часть тебя не интересует.
Уже можно будет какую-то примочку для гитары сделать или с генерацией сигналов поиграться.
Тут главное чтобы интерес был всё это юзать потом...
j123123 17.10.2021 22:59 # 0
Не, ну что-то наколенное сделать конечно можно, но аналогов той железки ты так не соберешь, посмотри какие там inputs и outputs, midi-интерфейсы, IEEE 1394, S/PDIF, оптический вход-выход: https://images.reverb.com/image/upload/s--lE3Lj2rJ--/f_auto,t_supersize/v1560707469/myu7zhddxccitw0aura4.jpg - ты правда думаешь, что один человек все это может осилить, разработать схему, написать прошивку и отладить аппаратную и программную часть такой хреновины?
bormand 17.10.2021 23:04 # 0
А тебе шашечки или ехать? Я не спорю, что серийную железку такого уровня в одного не сделать.
Но мы ведь не про стартап для кикстартера, а просто про интересную хреновину для себя?
j123123 17.10.2021 23:10 # 0
Ну... лично мне такое не особо нужно. Я б хотел именно с цифровой обработкой сигналов поразбираться, а не что-то для себя делать. Я не музыкант совершенно, хотя когда-то я на пианино учился играть
https://habr.com/ru/post/551752/ вот кстати нашел, что-то такое запилить уже вполне реально.
bormand 17.10.2021 23:27 # 0
Х.з., мне обработка без конкретной области не особо интересна была бы...
Одно дело какой-нибудь SDR или музыкальный генератор, которые реально можно услышать, даже если они чисто софтварные на компе. И другое -- просто какие-то бездушные циферки в вакууме.
Desktop 17.10.2021 20:41 # 0
а потом с такой строчкой в резюме и вакансию найти будет проще
Okm9I6PbCKuu_nemyx 17.10.2021 20:46 # 0
С тех пор, как появился USB3, на поддержку Firewire производители техники почему-то положили прибор.
Desktop 17.10.2021 20:47 # 0
Okm9I6PbCKuu_nemyx 17.10.2021 20:49 # 0
google: IEEE1394
Desktop 17.10.2021 20:52 # 0
Okm9I6PbCKuu_nemyx 17.10.2021 20:59 # 0
Упирались в полосу пропускания, потому что DV не был зожатым.
Desktop 17.10.2021 21:01 # 0
Okm9I6PbCKuu_nemyx 17.10.2021 21:05 # 0
Сейчас погуглил. Внутрикадровое зожатие было (алгоритм, похожий на JPEG), межкадрового не было. За это его и любили: можно было резать запись по кадрам и склеивать без потери качества.
Desktop 17.10.2021 21:08 # 0
помню, что вроде NES рисовал картинку в два раза меньше, чем разрешение тогдашних телеков, потом апскейлил
читаю:
NES games had a resolution of 256x224 pixels (NTSC) and 256x240 pixels (PAL).
а откуда 720?
bormand 17.10.2021 21:10 # 0
Desktop 17.10.2021 21:12 # 0
bormand 17.10.2021 21:14 # +1
Okm9I6PbCKuu_nemyx 17.10.2021 21:18 # +1
bormand 18.10.2021 00:11 # 0
Дык она тоже "пикселям" не соответствует...
Okm9I6PbCKuu_nemyx 18.10.2021 00:13 # 0
bormand 18.10.2021 00:17 # +1
В итоге строки ещё и наклонены немного. Но это, видимо, как-то корректировалось в том самом блоке с кучей крутилок (y_out = y - x * k какое-нибудь).
Okm9I6PbCKuu_nemyx 18.10.2021 00:24 # 0
И на мониторах вроде тоже регулировок не было. Для горизонтирования строк нужно кадровую развёртку делать не плавной, а лесенкой. Либо отклоняющие катушки приклеить под углом, но такая коррекция будет работать только для одного разрешения.
Okm9I6PbCKuu_nemyx 18.10.2021 00:37 # 0
Может быть, на синкмастерах с цифровой настройкой было?
Okm9I6PbCKuu_nemyx 17.10.2021 21:15 # +1
Desktop 17.10.2021 21:17 # 0
– кто это контролирует?
Okm9I6PbCKuu_nemyx 17.10.2021 21:23 # 0
Кинескопный телевизор мог сожрать произвольное количество (больше 800 брать бессмысленно, потому что замылит).
ЖК/плазма/OLED с аналоговым входом, конечно, оцифруют сигнал, разбив его на пиксели, как они хотят, а не как хочет источник сигнала. Да, немножко размажет, потому что границы некоторых пикселей входного сигнала не совпадут с границами, которые нарежет АЦП, но картинку телевизор всё равно покажет.
Desktop 17.10.2021 21:24 # 0
bormand 17.10.2021 21:25 # +2
То, что NES за один период строчной развёртки меняет сигналы яркости/цветности на выходе 256 раз. А телеку насрать на то, сколько там раз сигнал поменялся, он плавно двигает лучом, сила которого управляется сигналом от NES.
Т.е. на экране ты увидишь 256 пикселей. Но можно и 320 и 512 и даже 720, если хочется.
Desktop 17.10.2021 21:27 # 0
bormand 17.10.2021 21:28 # +2
Именно так. Но они обычно позволяют включить эмуляцию 4:3 с полями по бокам (и для аналогового входа она обычно включена по-умолчанию).
Okm9I6PbCKuu_nemyx 17.10.2021 21:35 # +1
Desktop 17.10.2021 21:38 # 0
возможно, что старые консоли что-то такое и делали
Okm9I6PbCKuu_nemyx 17.10.2021 21:42 # 0
bormand 17.10.2021 21:43 # +1
Ну да, первые игры для телека ("понг" и т.п.) тупо рисовали прямоугольнички по таймингам. Без всяких там пикселей.
guest6 18.10.2021 00:05 # 0
нет цифры нет и пикселец
Okm9I6PbCKuu_nemyx 17.10.2021 21:30 # 0
224 и 240 — это слишком мало. Видеоадаптер сделает апскейл до 448 и 480 соответственно и добавит сверху и снизу чёрные поля до 480 и 576 соответственно.
Вообще пиксели не обязаны быть квадратными.
Да, ЖК-телевизор эти 256 разобьёт на столько, на сколько посчитает нужным (например, 1920 минус чёрные поля, чтобы пропорции не нарушались). Он ещё и второй апскейл сделает.
Desktop 17.10.2021 21:31 # +2
– получается, что любой телевизор
только жк это сделает при помощи контроллера какого-то, а старый пузатый чисто на основе физики
если я правильно понял
Okm9I6PbCKuu_nemyx 17.10.2021 21:33 # +1
bormand 17.10.2021 21:39 # 0
Это да. Главное тайминги правильные соблюсти.
В общем-то даже у VGA pixel clock никак не выражен. Строчки есть, кадры есть, пикселей нету.
Desktop 17.10.2021 21:40 # 0
Okm9I6PbCKuu_nemyx 17.10.2021 22:04 # 0
Desktop 17.10.2021 22:04 # 0
bormand 17.10.2021 22:21 # 0
На таком экране надо в Azur Lane играть. Корабле-няшки там будет аутентичненько смотреться.
Desktop 18.10.2021 13:59 # +2
https://play.google.com/store/apps/details?id=com.YoStarEN.AzurLane
помоги Даше понять из "скриншотов", о чём эта игра
Soul_re@ver 18.10.2021 14:16 # +1
Okm9I6PbCKuu_nemyx 18.10.2021 14:35 # +1
bormand 18.10.2021 17:43 # 0
Desktop 18.10.2021 18:21 # +1
игровая область на скринах очень маленькая, основная часть это няшки
я посмотрел на ютубе прохождение, там вообще шмап какой-то. может это совсем другая игра из одной серии, конечно
bormand 18.10.2021 18:28 # 0
Ну да, он и есть. Гоняешь няшек в рейды чтобы заработать ресурсы на рулетку, которая выдаёт новых няшек.
j123123 18.10.2021 18:29 # 0
> игровая область на скринах очень маленькая, основная часть это няшки
Да что там непонятного-то? Типичнейшая мобильная гача-дрочильня с аниме-девочками, которых надо коллекционировать и прокачивать, собирать всякие медальки-хуяльки. Таких продуктов очень и очень дохрена
bormand 18.10.2021 18:35 # 0
А на деле 99% времени ты будешь чистить казарму вилкой, если не задонатишь на сотню-другую дополнительных слотов. Ибо в отличие от того же аркнайта тут нету автоматической дедупликации няшек.
Desktop 18.10.2021 18:37 # 0
j123123 18.10.2021 18:55 # −1
А ты в это реально играла? Может ты еще и в "IDOLM@STER" играешь?
bormand 18.10.2021 19:36 # −1
Ну да, пока они не переусложнили меню... Я блин туда деградировать пришла, а не десяток новых механик разом изучать и гайды читать.
Okm9I6PbCKuu_nemyx 17.10.2021 22:33 # 0
И по углу нет обратного хода, что круто.
ObeseYoung 19.10.2021 04:32 # 0
guest6 18.10.2021 02:18 # 0
Есть два стула: один гоняет луч по экрану слева направо, сверху вниз. Второй этот луч включает/выключает, расстреливая три зерна (RGB).
В зависимости от скорости движения луча и частоты включения/выключения можно получать разные разрешения.
Сигнал полностью аналоговый.
Классический VGA монитор тоже ничего не знает, но "цифровой" (aka multisync) имел чип, который умел понять частоту (скорость луча) и сообщить, что скорость слишком большая, если мон ее не поддерживает.
В цифровых протоколах (TMDS) может быть уже есть пиксели
bormand 18.10.2021 06:53 # 0
Ну цифровой без пикселей уже не сделать, как не крути... Хотя в остальном развёртка там точно такая же.
guest6 18.10.2021 12:43 # 0
ObeseYoung 18.10.2021 11:12 # 0
Okm9I6PbCKuu_nemyx 17.10.2021 21:13 # +1
480 видимых строк — требование телевизионного стандарта M с развёрткой на 525 строк (включая обратный ход).
По горизонтали в аналоговом телевидении изображение не разбито, можно брать произвольное значение (главное уложиться в предельную частоту сигнала, которую пропускает усилитель). Обычно количество строк умножали на 4/3.
720 в этом стандарте взяли для простоты. И в DVD, кстати, этот размер повторили.
Desktop 17.10.2021 21:19 # 0
я упоролся и вместо WxH воспринял те цифры как HxW. тогда 480 вполне ОК
ObeseYoung 17.10.2021 21:21 # 0
Desktop 17.10.2021 21:21 # 0
Desktop 17.10.2021 21:25 # 0
чтобы считать с кассеты нужно же её прокрутить полностью или там какое-то карате?
Okm9I6PbCKuu_nemyx 17.10.2021 21:38 # 0
Desktop 17.10.2021 21:39 # 0
Okm9I6PbCKuu_nemyx 17.10.2021 21:45 # 0
Desktop 17.10.2021 21:46 # 0
в аудиокассетах тоже такая фишка была вроде, только у меня кассет таких не было, да и магнитола моя в детстве кажется такое колдунство не умела
Okm9I6PbCKuu_nemyx 17.10.2021 21:48 # +1
bormand 17.10.2021 21:49 # 0
Просто какая-то частотная метка?
Okm9I6PbCKuu_nemyx 17.10.2021 21:52 # +1
Кассеты с чипом ещё на чипе сохраняли значение счётчика ленты для быстрого поиска.
Okm9I6PbCKuu_nemyx 17.10.2021 21:54 # +1
Была техника, которая искала N-ю запись по паузам. Но так вроде умели только навороченные музыкальные центры. В магнитолах попроще считали это ненужным, там был только ручной поиск.
Desktop 17.10.2021 22:00 # +1
Okm9I6PbCKuu_nemyx 17.10.2021 22:02 # +2
bormand 17.10.2021 20:50 # 0
Потому что нинужно? Полосы и латенси у USB3 с запасом хватает, да и проблем с патентами нету.
Desktop 17.10.2021 20:53 # 0
фаевае
от создателей уоки-токи, хайфай, вайфай, фаевол
j123123 17.10.2021 20:57 # 0
Desktop 17.10.2021 21:00 # 0
bormand 18.10.2021 07:19 # 0
Какой тайп-си )))
Desktop 18.10.2021 11:39 # 0
FireWire lives matter!
guest6 18.10.2021 19:39 # 0
https://pbs.twimg.com/media/FB6YfJBWYAAZVjj?format=jpg&name=900x900
nemyx_B_3AKOHE 18.10.2021 19:44 # 0