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: шум эфира, сквозь который пробиваются какие-то очень красивые звуки. Думал над открытием исходников - главное народ не спугнуть :) 25.04.04 19:00:00 Процесс идёт :) Кроме XM-движка... что-то там не ладится. Ну ничего, поправим. А в народ пока MOD двигать будем. 27.05.04 20:13:00 Gjcnb xnj ktnj yfcnegbkj - cjkysir.... fuck.. :( translit is no so good. Voobshem poporjadku: 1) XM player is working now! 2) It's working in Windows, Linux and PalmOS (!!) 3) It has high-end frequency interpolation! It's much better than standart 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 - это более простой музыкальный трекер, основанный на вышеописанном движке модульных синтезаторов.