-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnotes_ru.txt
More file actions
248 lines (193 loc) · 31.6 KB
/
notes_ru.txt
File metadata and controls
248 lines (193 loc) · 31.6 KB
1
2
3
4
5
6
7
8
9
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
26.05.02 14:03:51
Итак... Пожалуй, все-таки буду записывать вкратце ход работы над Psytexx.
С момента релиза последней версии 0.4 он уже успел превратиться в настоящий трекер. Наконец-то...
Но кое-каких функций все же еще не хватает... А именно: копирования/вставки, очистки модуля и записи. Кроме того,
это чудо еще никто пока не видел, и не решен вопрос по поводу его распространения. Хотелось бы извлечь хоть какую-то
прибыль, но, с другой стороны, не хочется заранее отталкивать от себя oldskool музыкантов... Если им это конечно надо
будет .) И еще... Тут сессия как-то незаметно подкралась... Так что некоторое время придется потормозить. Пока все.
26.05.02 19:54:31
Добавил очистку паттернов.
30.05.02 17:35:04
Вроде доделал функцию записи в текущий открытый МОД-файл... Пока работает .) Но уже возникли проблемы:
не получается выделить ровно 64 кб памяти :( Будем разбираться.
31.05.02 17:27:40
Не хочет работать функция вывода текста в поле... Туды ее :(
31.05.02 18:06:29
Поправил.
02.06.02 18:52:08
Исправил ошибку при записи текущего модуля. Не терпится наконец доделать первую версию и
попробовать ее в деле...
16.06.02 14:58:44
Ну все... Первая версия окончательно доделана... Вроде :) Ну глюки они всегда и везде есть, так что потихоньку будем
исправлять.
17.03.03 00:18:00
Интересно, как это меня сюда снова занесло... :) В общем, сделал поддержку Tungsten'а - теперь моды можно в наушниках писать.
Кроме того добавил несколько полезностей, а именно 4 функции, вызываемые из области граффити:
1 - клонирование текущего эффекта на весь канал
2 - размножение текущего блока на весь канал (блоком считается промежуток от начала паттерна до положения курсора включительно)
3 - эхо (одно- и двухканальное)
4 - повышение/понижение на тон всех нот в текущем канале
5 - плавное изменение громкости канала.
На сегодня хватит :) Завтра будем испытывать...
20.03.03 23:49:23
Уфф... Все-таки такие глупые ошибки порой бывают... Буквально из-за одного символа вся прога рушится. Несколько дней искал :( Надо быть внимательнее. Собственно говоря, я так и не врубился, как можно из Tungsten'а выгружать произвольную базу данных :) Странно... Пришлось ухищрение одно сделать: теперь после выхода из трекера текущая композиция сохраняется в BACKUP.MOD. Только не забудьте этот BACKUP инсталлировать вместе с самой прогой, и тогда после каждой синхронизации с десктопом файлик BACKUP_MOD.PDB будет лежать в каталоге PALM/.../BACKUP. Останется его лишь сконвертировать в нормальный MOD и можно будет наслаждаться музоном, который был загружен в трекере перед самым выходом.
В ближайших планах - редактор сэмплов + запись с микрофона. PsyTexx рулит :))
А теперь... гм... спать? :)
07.04.03 00:38:48
Первая версия редактора сэмплов удачно стартовала :) Работает запись из паттерна и с микрофона.
26.08.03 18:24:00
Картина "Не ждали". Несколько дней назад оказалось, что я всё это время неправильно работал со звуковой
системой Пальма .( Жуть... Это ж сколько было лишних проблем из-за одной только недоработки. Причем
на моём TungstenT такой способ срабатывал, а вот на новеньких Zire и T|C возникли серьезные проблемы.
Теперь думаю, как под это подстроить ArmZX. А вот PsyTexx, кажись, сегодня уже переделал на новый лад .)
Если всё пойдет так как надо, то играть он будет абсолютно на любой машинке.
22.04.04 23:49:00
Уф... Обновка в виде восьми каналов :) Но сколько багов... непонятного происхождения... Правим.
24.04.04 09:49:00
Всё круто :) 8 каналов, стерео, 16 бит. Двигаю пару, оптимизирую рендер под ARM. Славное начало дня. Еще малость подделаю и начну работу над сайтом "Palm Music Central" - первый в мире, насколько я понимаю. Давно пора.
Пробежался по всему коду трекера... :) Это как NightRadio: шум эфира, сквозь который пробиваются какие-то очень красивые звуки. Думал над открытием исходников - главное, народ не спугнуть :)
//Где-то здесь PsyTexx1.x начал превращаться в кросс-платформенный PsyTexx2, основанный на формате XM...
25.04.04 19:00:00
Процесс идёт :) Кроме XM-движка... что-то там не ладится. Ну ничего, поправим. А в народ пока MOD двигать будем.
27.05.04 20:13:00
Gjcnb xnj ktnj yfcnegbkj - cjkysir.... fck.. :( translit is not good.
Voobshem po porjadku:
1) XM player is working now!
2) It's working on Windows, Linux and PalmOS (!!)
3) It has high-end frequency interpolation! It's much better than standard XM-quality!
ToDo:
1) Some XM-effects
2) Multiplatform GUI (with text mode support)
3) Multiplatform XM-tracker! PsyTexx 2
06.07.04 01:51:00
Тихая июльская ночь... :) Один Алекс Золотов не спит, строит планы по захвату вселенной. Родина тебя не забудет! Иди уже смотреть сны...
Нет. Прежде нужно кое-что оставить в этом полнеющем файлике.
Трекер медленно но верно продвигается к моменту своего полноценного запуска ) Тяжело. Сегодня мне, кажется, удалось таки подружить его с мышью в Линуксовой консоли. А точнее - с программкой gpm. До этого мышиные события обрабатывались только в xterm'е (терминал в иксах), а в чистой консоли ничего не происходило. И ведь я так и не нашел причину... Забил. Спать вот собирался. Загрузился в Linux еще раз ради интереса и... все заработало! Признаться, я так до конца еще и не понял, почему. Судя по всему виноваты следующие строчки в инициализации:
conn.eventMask = ~GPM_MOVE;
conn.defaultMask = GPM_MOVE;
Правда я еще C++ поставил... Но не думаю, что компилятор повлиял на работу мыши.
Вот... ) Такие дела. Если зверь не будет более сопротивляться, то начну работу над окном файлового менеджера.
22.07.04 01:02:00
Июльская ночь... Уже далеко не тихая! Чувакам за окном пришло в голову прокладывать новую дорогу 25 часов в сутки. Так вот под звуки работающих машин и падающего гравия приходится засыпать :)
С трекером маленько притормозил. Из-за работы, которая в раз навалила. Но вот теперь опять начинаю вливаться. Кроме того, по ходу дела модифицирую старый PsyTexx - добавил туда эхо и заставил полноценно работать в симуляторе. Зачем?.. Скоро, надеюсь, узнаете :) В следующих сообщениях. Не прощаюсь.
02.08.04 02:41:00
Боже, зачем ты сделал меня программистом... (*) С самого утра искал ошибку в PsyTexx2... :) Врагу такую не пожелаешь. Везде все работало, кроме реального девайса и симулятора пятой оси. И только сейчас до меня дошло, что resize блока памяти просто отказывался работать. Пора делать серьезную обработку ошибок. Ну ладно... до звука осталось совсем недолго ;)
//(*) сказал человек, который годами писал на Си++, как на слегка улучшенном Си...
03.08.04 00:40:00
(Под легкие звуки от Dzuma) Так... Либо я что-то недопонял, либо... Вот кусочек кода, который очень многие используют для выделения больших блоков памяти:
========
SysAppInfoPtr appInfoP,unusedAppInfoP;
UInt16 currentOwnerID = SysGetAppInfo(&unusedAppInfoP,&appInfoP)->memOwnerID;
return (UInt8 *)MemChunkNew(0,size,currentOwnerID | memNewChunkFlagNonMovable | memNewChunkFlagAllowLarge);
========
Дело в том, что после тщательной отладки программы в дебаге (в поисках очередной ошибки), я обнаружил, что возращаемый SysGetAppInfo указатель каждый раз указывает на новое место и... Это место удивительным образом совпадает с моими статическими строчками текста, которые я передаю некоторым функциям. Понятное дело, что currentOwnerID в вышеприведенном примере начинает зависеть от фазы Луны и у всей программы появляется настроение :) плохое... Сделаю предположение: то что возвращает SysGetAppInfo() - это уникальная информация о конкретном приложении и считывать её нужно единожды в самом начале. Странно как-то, но теперь работает без мистических ошибок. Движемся дальше.. ;)
14.08.04 20:48:00
Хех... Похоже, оптимизация кода компилятором может привести порой к весьма неожиданным глюкам :) Компилирую при помощи GCC c ключиком -O2 следующее:
xm.val = 0;
while( xm.val == 0 ) {}
По идее соседний процесс должен присвоить единичку переменной xm.val, а вышеприведенный кусочек покорно ждет этого момента. Компилятор же счел возможным превратить это в безусловный бесконечный цикл. То есть вот в такой: while(1) {}. Пришлось вставить в тело цикла пустую функцию temp(). Помогло :)
Теперь файловый диалог стал более функциональным. После нажатия кнопки LOAD выбранный файл загружается и начинает играть. Громко и красиво :) Звучат Palm и Linux. Очередь за Windows.
15.08.04 01:07:00
Холодный ветер дует из форточки... Что-то вроде осени :) Быстро плывут низкие облака, а сквозь них просвечивают далекие яркие звезды! Однажды я там побываю - однозначно. Ладно, пойду смотреть сны...
08.09.04 18:47:00
унтс унтс унтс. Транс форева
28.09.04 19:58:00
Процесс малость тормознул, но сейчас вот все возобновляю :) Многое изменил, сделал поддержку клавиатуры под Linux. Сейчас стоит перерисовать структуру трекера и добавить кое-какие письменные доки, дабы мне и окружающим в коде не потеряться.
01.10.04 01:24:00
Bud soboj .) Puskay, vremeni v obrez, puskaj tebja ne ponimajut. Budь...
06.10.04 12:27:00
Вчера купил себе "Живой йогурт" в магазине и поставил в холодильник. Ночью живой йогурт выжрал пол-холодильника и скрылся :((( Какой уж тут нахер трекер... :(
09.10.04 07:33:00
Пасмурное осеннее утро. Двигаю первую пару. Постараюсь закончить сегодня работу с числовыми полями в PsyTexx.
11.10.04 00:07:00
Числовые поля закончил. Хотя неплохо будет их еще малость доработать, но это потом ;) На данный момент есть следующие поля: BPM, SPEED, PATTERN SIZE, ADD; и они уже меняют свои значения в процессе проигрывания музона - то бишь полное взаимодействие. Движемся дальше... Еще несколько шагов до того момента, когда PsyTexx станет наконец трекером. Долгожданный момент .) Гляжу в самую первую запись этого файла...
21.10.04 01:04:00
Добавил в PsyTexx1 дополнительные эффекты вроде distortion и простенького cut-off'а. А еще написал на нем же ОФИГИТЕЛЬНУЮ композицию "Polar Radio". Не ожидал такого .) Главное теперь - достойно её закончить.
Завтра начну делать виртуальную клаву для PsyTexx2. А сейчас - баеньки...
24.10.04 02:14:00
Сделал запись файлов в PDB и в VFS. Считывание из VFS теперь тоже работает. По идее, сделал запись XM'а, только вот... ни один player потом этот XM не играет ;) Надо же...
Ну, думаю, с этой проблемой справимся довольно быстро.
30.12.04 17:59:00
Уф... Делаем первый релиз :) За день до нового года... Двойной праздник короче .) Правда альфа-версия пока, но все же...
15.01.05 12:08:00
Суббота :) Закрываем ненадолго глаза на учебу и... Вот оно :) Этот год запомнится надолго. Начало положено уже довольно неплохое: PsyTexx2 зарелизен, в ближайшие дни постараюсь выпустить новую альфу; сегодня думаю представить на суд Palm-музыкантов PsyTexx1.8 (возможно, последняя версия из серии 1.x). Где-то я уже упоминал о супер-эффектах для PsyTexx1.x, теперь расскажу, зачем: полгода с лета 2004го были потрачены на написание первого в мире музыкального диска, созданного полностью на ладони. Сейчас работаю над оформлением (тоже, кстати, в GrayPaint'е). Вот... :) А еще меня с работы уволили :( Народ, дайте денег - пальму же новую покупать пора.
PS: Псайтексу почти 3 года!
20.03.05 18:39:00
Воскресенье... ) Нудное такое, теплое и серое: в такие дни лучше дома сидеть. Что я и делаю :)
Полностью передизайнил весь сайт: теперь все мои материалы разных лет под крылом warmplace.ru, объединены примерно одним дизайном. Буду еще выкладывать, искать потерянные во времени странички и выкладывать :) PsyTexx очень неплохо обновил: много багов исправил, приделал динамический ресайз окна, добавил поддержку MODов, xi-инструментов и стерео WAVок. Сейчас думаю над тем, чтобы выпустить новую версию в свет. Хотя народ больше ждет от меня player нежели трекер - так что в ближайшие дни придется вводить плейлист.
Есть новые мысли насчет V3nus, но они пока перевариваются в голове :) Скоро поделюсь.
03.04.05
Начат первый в этом году brainstorm. Цель - WorldDesigner Palm Edition. Сделан редактор спрайтов.
04.04.05 23:49:00
WorldDesigner: Сделан редактор уровней. Начат диалог с выбором типа спрайта. Хочется спать )
05.04.05 22:30:00
WorldDesigner: Пил пиво на солнышке. Наверное, сегодняшний день выпадает из общего движения...
06.04.05 23:39:00
WorldDesigner: Доделал диалог с выбором типа спрайта. Начал реализовывать непосредственно процесс игры.
07.04.05 23:35:00
WorldDesigner: Тяжелый день... Уровень отображается, враги и герой тоже. Планы на завтра: герой должен ходить, ползать, падать, прыгать, стрелять и взрываться.
07.06.05 16:16:00
Уфф... Что-то не совсем гладко с WorldDesigner'ом вышло :) Но сделано очень много - в ближайшее время надо закончить. Герой как-то нехотя по лестницам ползает - это плохо.
А сейчас займусь PsyTexx2. Пора его уже в полноценную систему для написания музыки превращать. Надеюсь, за лето успею. Начну с док.
03.07.05 18:37:00
Доки сделал :) И еще кое-чего.. Есть мысли насчет улучшения работы с паттернами. И сайт передизайнить пора - страшный.
Кстати, работаю уже на 100% в Linux - это что-то! Специально для создателей трекеров
02.01.07 23:54:00
Уф.. Пропал я совсем куда-то :) На самом деле в PsyTexx за прошедшее время много нового было включено, просто как-то времени не находилось все это собрать воедино. Сейчас, пожалуй, этим и займусь!
02.03.07 07:56:00
Всем хай. PsyTexx обзавелся классным редактором сэмплов и массой полезных фич! Осталось еще редактор инструментов до ума довести :) Кстати говоря... Готовим мы тут с одним чуваком релиз собственного языка программирования Pixilang. Возможно и он подружится с PsyTexx, которому между прочим скоро исполняется 5 лет! Ух... =)
p.s. мне тут год назад такой страшный сон приснился - будто бы я в институте учился, экзамены там сдавал, диплом писал. Жуть.
14.03.07 16:30:00
Сегодня впервые удалось запустить модульный движок в PsyTexx! То есть, теперь есть отдельное окно, в котором компонуются синтезаторы (их пока нет :), инструменты и эффекты в виде кубиков. А между собой кубики связываются линиями. Первая связка из трех кубиков Инструмент->Эхо->Output успешно заработала!
Кроме того, PsyTexx удачно вписался в код языка Pixilang. Теперь украшает его своим звучанием :) В общем, товарищи, вперед - к светлому будущему!
10.08.07 08:54:00
Временно замораживаю модульный движок, так как он сейчас активно тестируется в другой моей программе - SunVox. Пока не могу сказать точно, подружатся ли PsyTexx с SunVox, или будут развиваться в разных направлениях. На данный момент SunVox - это более простой музыкальный трекер, основанный на вышеописанном движке модульных синтезаторов.
8 января 2024
Под треск пролетающих 17-ти лет...
В 2007 году PsyTexx2 послужил основой для будущего SunVox (который, к слову, развивается по сей день). В исходниках PsyTexx2 можно даже обнаружить кусочек модульного синта SunVox в зачаточном состоянии.
Проблема в том, что программа отказывается работать и собираться на современных дистрибутивах Linux.
Решил я это дело поправить...
Внес кое-какие изменения, успешно собрал 32-битную версию для Linux, запустил и... она намертво повесила комп. Вот она, истинная кроссплатформенность от мастера!
10 января 2024
Еще больше правок. Совместил memory.cpp 2007 и 2012 годов. Теперь собирается версия для Linux x86_64. По-прежнему весит комп, если вовремя не остановить. Что-то странное происходит в коде обработки событий X11.
Спустя какое-то время...
XGrabKeyboard() и XUngrabKeyboard() в обработчике событий FocusIn/FocusOut - это была очень плохая идея. Каким образом оно работало в 2007 - интересный вопрос...
XGrabKeyboard() сам по себе генерит новые FocusIn/FocusOut - в итоге события накапливались в геометрической прогрессии, память переполнялась, оконный менеджер Linux переставал отвечать. Такие дела...
11 января 2024
Правил исходники и спецификации XM/XI.
Запустил версию в текстовом (консольном) режиме - криво, но работает!
К сожалению, сборку для PalmOS проверить не могу, т.к. напрочь забыл, как устанавливать SDK и компиляторы. Но будем считать, что она есть! :)
Зачем вообще нужен PsyTexx2 сегодня, если есть офигенный клон FastTracker2 для всех платформ?
1) чтобы сохранить для истории XM/MOD-трекер/плеер с поддержкой PalmOS и нестандартными фичами:
* работа GUI как в обычном пиксельном режиме, так и в чистой текстовой консоли;
* дополнительные эффекты, отсутствующие в оригинальных форматах XM и MOD;
* каждый канал (трек) содержит подканалы, чтобы инструмент с длинной огибающей продолжал звучать после NOTE OFF - опция включается/выключается в редакторе инструмента;
* загрузка картинки заднего плана - то, что потом появилось в PixiTracker, но до сих пор не реализовано в SunVox :)
2) как open source основа для экспериментов.
12 января 2024
Я спросил у Александра из 2002 года, и он разрешил мне слегка подправить орфографию и пунктуацию данного файла.
13 января 2024
Мышь в консольном режиме как глючила в 2004, так и сейчас толком не работает :( Только базовый функционал: нажатие, отжатие. Связано это как-то с GPM, но разобраться времени пока нет.
Сам консольный интерфейс стал отображаться лучше. Свежие правки пошли на пользу.
14 января 2024
Добавил скрипты сборки для Win32 и Win64.
16 января 2024
Изначально PsyTexx умел грузить картинку заднего плана и совмещать с ней интерфейс. Именно такой он у меня в памяти и остался.
Но зачем я потом эту функцию отключил??? Вопрос... Возможно, потому, что в процессе развития GUI у элементов появился небольшой объем из линий по бокам.
Буду думать, как все вернуть, ничего не сломав.
19 января 2024
От поддержки PalmOS я уже хотел было отказаться, т.к. настроить компиляцию ARM-кода для PalmOS5 - та еще задачка, просто жалко тратить время.
Но после нескольких экспериментов собрать программу таки удалось. Инструкцию можете почитать в папке MAKE.
2 октября 2024
Выдалась тут минутка отдыха от SunVox (идет подготовка очередной бета-версии)... И вот о чем я вспомнил.
Есть одна фишка, которую я, кажется, раньше не упоминал.
Изначально предполагалось, что в основе PsyTexx2 будет универсальная таблица, конфигурацию которой можно гибко перенастраивать. Скажем, для классического трекерного интерфейса: ось Y - это время; ось X - каналы; каждая ячейка содержит описание соответствующего события. При желании можно поменять формат содержимого и привязать другие переменные к X и Y осям. Например, X - время, Y - высота тона, получим piano roll :)
Реализовать это удалось лишь частично. Какие-то параметры таблицы можно менять в коде трекера (осталось только вспомнить, как), на остальные, к сожалению, не хватило времени и терпения.
Пишу об этом на случай, если кто-то начнет разбираться в моем коде и обнаружит, что простейший редактор паттерна реализован как-то подозрительно сложно.
8 октября 2024
Переделал загрузку шрифта и картинки заднего плана с BMP на JPG.
Шрифт - font.jpg
Задний план - background.jpg
Палитра интерфейса - background_palette.jpg
24 октября 2024
Исправил несколько багов в версии для PalmOS и вспомнил, почему забросил эту платформу. Многозадачность и защита памяти - здесь таких слов не слышали. С одной стороны это прикольно, напоминает о микроконтроллерах и старых добрых временах 16-битного ДОСа. С другой - отладка ARM кода происходит почти вслепую, любая критическая ошибка сразу же перезагружает КПК. К примеру, долго не мог понять, почему PsyTexx падает после выхода из приложения, а иногда, что совсем страшно, система крашится спустя какое-то время после выхода. Оказалось, что данные декодера JPEG не влезли в стек...