motofan logo
3 страниц V  1 2 3 >        
> 

Покончим с TempToneDB.db и MyToneDB.db, раскроем структуру базы мелодий

Prusa
сообщение 17.3.2004, 11:22


Опытный
***

Группа: Разработчики
Сообщений: 136
Регистрация: 17.8.2003
Из: Москва
Пользователь №: 453
Модель телефона: ROKR E2

Рейтинг: 80.5



2 vilko
Я разобрался как добавлять и удалять мелодии без перезапуска телефона.

Значит так.
в MytoneDB.db (MDB) содержаться записи файлов мелодий. на каждую запись выделено 80 кб. На каждую букву как видно приходиться 16 бит (не знаю как кодировка наз-ся)
в данном примере по адресу 0000004A находиться порядковый номер файлика,
не понятно почему то MDB начинает счет с 0A. Максимальная длина имени файла может быть 32 символа (проверенно опытным путем)+ 4 символа на расширение (.mid) итого 36 символов на название.
Как видно из примера название BomberMan.mid было записано на место старого имени кот назывался 12345678901234567890123456789012.mid, значит это допустимо, главное чтоб после BomberMan.mid был символ "пробела" (адрес 0000001B).
Теперь об TempToneDB.db (TDB). Это по ходу тоже самое что и MDB, но что то временное. Для того чтоб все заработало надо переименовать MDB в TDB и тоже подгрузить в тело.

Порядок подгрузки после изменения имхо должен быть такой:
- MDB
- TDB
- <файл>

кусок MDB:
00000000 00 42 00 6F 00 6D 00 62 00 65 00 72 00 4D 00 61 .B.o.m.b.e.r.M.a
00000010 00 6E 00 2E 00 6D 00 69 00 64 00 00 00 35 00 36 .n...m.i.d...5.6
00000020 00 37 00 38 00 39 00 30 00 31 00 32 00 33 00 34 .7.8.9.0.1.2.3.4
00000030 00 35 00 36 00 37 00 38 00 39 00 30 00 31 00 32 .5.6.7.8.9.0.1.2
00000040 00 2E 00 6D 00 69 00 64 00 00 0A 05 00 00 00 00 ...m.i.d..0¦....
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 17.3.2004, 12:13


Мотокодер
******

Группа: Легенды MotoFan.Ru
Сообщений: 1 331
Регистрация: 23.6.2003
Из: Москва
Пользователь №: 71
Модель телефона: E398+, Е1000, ...

Рейтинг: 1116



Prusa
Спасибо, с форматом MDB для 350/350L я уже давно разобрался.
формат имени называется unicode и имя файла должно быть либо 36 символов, либо заканчиватся двойным нулем.
и если бы сие было справедливо для всех телефонов - уже давно бы поддержку в прогу добавил... но увы в 450/550 формат этого файла совершенно иной, и именно его я не знаю.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Booroondook
сообщение 17.3.2004, 15:02


Старый мотокодер
******

Группа: Разработчики
Сообщений: 1 132
Регистрация: 7.7.2003
Из: Москва
Пользователь №: 179
Модель телефона: EM30
Прошивка: R6716_G_71.03.04R

Рейтинг: 303



Цитата(VITAMIN @ 17.03.2004 - 17:56)
Атрибуты менять не забывал, это точно. А вообще, какая очередность смены атрибута файла (то есть, сразу после заливки, после сноса MyTone.db и т.п.)?


Я сегодня специально после твоего предыдущего сообщения сделал процедур добавления нового файла-мелодии в телефон.
По порядку:
1) Залил новый файл в телефон с помощью п2кмана.
2) Убедился, что его атрибуты - 70000 (не выставлял, а именно убедился).
3) Удалил файл MyToneDB.db.
4) Перегрузил телефон
И было все ОК. Новый файл стало возможным установить в качестве звонка и т.д. и т.п.

P.S. Атрибуты надо менять (если уж такая нужда пришла) до перезагрузки телефона. А до удаления MyToneDB.db или после - это уже без разницы.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Booroondook
сообщение 6.4.2004, 9:11


Старый мотокодер
******

Группа: Разработчики
Сообщений: 1 132
Регистрация: 7.7.2003
Из: Москва
Пользователь №: 179
Модель телефона: EM30
Прошивка: R6716_G_71.03.04R

Рейтинг: 303



1gaz
Уговорил. ;)
Вот, что я знаю (или думаю, что знаю) по телефону С550.
Набор атрибутов можно условно разделить на три составные части:
- первое число
- три нуля - "000" (пока не замечены файлы с другим вариантом этой составляющей атрибутов)
- последняя цифра

Последняя цифра атрибутов:
0 - пользовательский файл, созданный непосредственно в телефоне (МотоМиксер, фотография, рингтон) или попавший в телефон извне (скачанный с WAP-сервера, загруженный через p2kman и т.д.)
1 - бывший файл с "0", который назначен (или когда-нибудь назначался - ?????) идентификатором (общий либо персональный звонок, персональная картинка)
2 - скрытый файл (медиа-файлы, составляющие темы, файлы баз данных и т.п.)
3 - см. комментарии по цифре "1", но по отношению к файлам с цифрой "2".
4 - файл системного назначения (защита от переименования и удаления).
5 = 4+1 (см. комментарии по цифрам "0" и "2").

Первое число атрибутов:
7 - назовем эти файлы "условно-обычными" - таких абсолютное большинство.
2 - временный файл (например, файл журнала браузера, файлы кэша).
e - фотография, сделанная фотокамерой телефона и сохраненная в файловой системе телефона.
c - файл Java-приложения, извлеченный из JAR-архива при установке мидлета в телефон.
f - файл неотправленного MMS-сообщения, хранящегося в "Черновиках".
11 - файл базы данных мелодий (MyToneDB.db и TempToneDB.db)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 10.3.2005, 15:10


Freestyler
********

Группа: Легенды MotoFan.Ru
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



Ув. Bezols, Ваша суперпрога была бы абсолютным BEST . если бы можно было
без шаманства заливать музыку.
У низких конкурентов (MotoKit) это реализуется кажется так:

result=MotoKit.UpSeem("004C","0001",MotoKit.Path & "Files\004C_0001.seem")
result=result And MotoKit.UpSeem("004D","0001",MotoKit.Path & "Files\004D_0001.seem")
result=result And MotoKit.DelFile("/a/mobile/audio/TempToneDB.db")

Если будет минутка, плз , добавьте спокойствия в наши действия с Вашей суперP2KTools.exe
Заранее спасибо.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
BeZ
сообщение 10.3.2005, 15:27


Moto(sh)Coder
*******

Группа: Разработчики
Сообщений: 1 542
Регистрация: 8.10.2003
Пользователь №: 743
Модель телефона: только не moto

Рейтинг: 788.5



Osta,
где ты такое нарыл... это делается после закачки файлов?
интересно, полему не удаляется mYTone db
В этом симе храняться номера мелодий для различных стилей... для различных событий

какой сим тогда закачивается не ясно... меется в виду с какими значениями...

чего то я не улавливаю смысла в этом...
что должно произойти? пез перезагрузки, без шаманства, типа я либо удалил мелодию или закачал новые... потом проделал какие то операции, залезаю в стили и меня не выкидывает? у меня все осталось по старому?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
BeZ
сообщение 10.3.2005, 16:05


Moto(sh)Coder
*******

Группа: Разработчики
Сообщений: 1 542
Регистрация: 8.10.2003
Пользователь №: 743
Модель телефона: только не moto

Рейтинг: 788.5



вообщем понял.. эти симы храняться в папке с программой... причем уже забитые тем, чем надо (много вещей ноликами забито).. после закачки либо удаления файла с музыкой перезаписываются соответствующие симы - равно сильно нажатию кнопки "Все бесшумные"



хм... что то не прокатывает у меня... удаля. файлы - вылетает из стилей... закачиваю файлы вылетает из стилей.... перегружаю... захожу в редактирование, начинаю скролить, вылетает...
опыты проведены на Мотоките

Сообщение отредактировал Bezols - 10.3.2005, 16:12
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 20.6.2005, 9:03


Freestyler
********

Группа: Легенды MotoFan.Ru
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



Прошу всех опытных людей подключиться к этой теме.
Остальных прошу читать и не оффтопить.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vovan_mail
сообщение 20.6.2005, 9:27


Мастер
****

Группа: Пользователи
Сообщений: 166
Регистрация: 20.12.2004
Из: г. Смоленск
Пользователь №: 28 543
Модель телефона: Z3 - Z6
Прошивка: R452B_G_08.02.0DR

Рейтинг: 26



:)
Цитата(Prusa @ Среда, 17 Марта 2004, 11:22)
00000000 00 42 00 6F 00 6D 00 62 00 65 00 72 00 4D 00 61 .B.o.m.b.e.r.M.a
*

Может это оффтоп, но меня это всё навело на возможное решение русских имён, этот код давольно сильно похож на UCS2, может быть после закачки файла и правки сима или ещё чего либо, получится получить коректное руское имя файла. Извеняюсь если не в тему.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 20.6.2005, 12:10


Freestyler
********

Группа: Легенды MotoFan.Ru
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



Цитата(Osta @ Понедельник, 20 Июня 2005, 12:03)
Прошу всех опытных людей подключиться к этой теме.
Остальных прошу читать и не оффтопить.
*



Вот , что мы пока знаем о этих файлах.

Цитата(Booroondook @ Понедельник, 22 Марта 2004, 11:53)
В учетной записи абонента (можно получить, отправив команду терминала AT +MPBR=<номер_записи>) или группы (AT +MPGR=<номер_группы>) имеется цифровое поле, где прописывается идентификатор назначенной мелодии (если персональная мелодия не назначена, то 255).
Разум говорит о том, что при создании базы данных (файл MyToneDB.db) строится этот самый индекс по имеющимся файлам с номерами-идентификаторами. Насколько удается понять, сначала (с номера 1 до номера 9 кажется) идут стандартные рингтоны, включая вибро-звонки. Потом идут по возрастанию номеров файлы типа ~AlertFileXXX.YYY (им в прошивке назначены описательные имена), а потом уже пользовательские файлы.
Соответственно, после изменения списка файлов (что-то удалили или залили новое) идет изменение индекса - переназначение номеров. И абоненту может быть назначена уже совсем другая мелодия, а не та, что была назначена раньше.

Вот в С550 по сравнению с С350 изменили принцип назначения картинок - теперь вместо номера (как в С350) прописывается полное имя файла картинки.
Видимо, насчет мелодий к этому придут в будущих новых моделях телефонов (или в новых прошивках - кто знает).
*



Цитата(Booroondook @ Четверг, 16 Сентября 2004, 17:00)
Alex133
Сегодня пытался расшифровать MyToneDB.db.
Результатов практически никаких.
Пока знаю только, что файлы мелодий туда "набиваются" в алфавитном порядке, а также знаю, где прописано общее количество файлов.
Еще заметил, что при переименовании файла мелодии средствами телефона соответствующая ему запись в базе данных абсолютно не меняется, но может сместиться вверх или в низ, если после переименования меняется алфавитная последовательность имен файлов.
Такое ощущение, что имена файлов вообще не хранятся в базе данных.
*



Цитата(Booroondook @ Четверг, 16 Сентября 2004, 14:42)
Дело в том, что в зависимости от фактического наличия или отсутствия файлов мелодий их индексные номера в базе данных MyToneDB.db варьируются. Соответственно, в каждом конкретном случае одному и тому же индексному номеру могут соответствовать разные имена файлов (а если эти файлы еще и системные - то и разные описательные названия). Поэтому было принято решение прописать там "Custom" (при переключении интерфейса программы на русский язык - "Другой") плюс в скобках индексный номер, который не может быть больше 255 (FFh). А номера с 0 по 9 - это стандартные рингтоны, которые не завязаны на файлы - эти звуки делает тонгенератор телефона.

*



Цитата(Booroondook @ Вторник, 22 Февраля 2005, 18:08)
Цифирки - это порядковые номера мелодий и рингтонов во внутренней базе мелодий телефона (MyToneDB.db). То бишь, значения байтов. И это те же самые значения байтов, которые проставляются для указания мелодии звонка - для абонента, в стилях звонка, для будильника, дла категории.
Алгоритм там такой (честно говоря, у меня было несколько вариантов угадывания этого алгоритма - кажется, в этой версии уже все на своих местах):
0: бесшумный
1-9: стандартные виброзвонки и рингтоны
10-255: файлы
При этом файлы выстраиваются в таком порядке (при этом учитываются только имена, но не расширения):
1) Файлы с атрибутом "системный", не имеющие описательных имен (то есть, не ~AlertFileXXX.YYY, а типа Gyroscope.mid и т.д.)
2) Файлы с атрибутом "системный", имеющие описательные имена (~AlertFileXXX.YYY)
3) Все остальные файлы (то есть, файлы тем (с атрибутом "скрытый") и пользовательские файлы (не скрытые и не системные)
В каждой из этих групп файлы выстраиваются по именам в алфавитном порядке без учета регистра букв.
P.S. На самом деле так до сих пор никому и не удалось залезть непосредственно во внутреннюю базу данных мелодий (файл MyToneDB.db). А я лишь пытаюсь сэмулировать тот же самый алгоритм нумерации файлов, что реализован в телефоне.
*

Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
max.wiz
сообщение 20.6.2005, 12:40


Мастер
****

Группа: Пользователи
Сообщений: 206
Регистрация: 14.9.2004
Из: МО, г. Наро-Фоминск
Пользователь №: 12 584
Модель телефона: V300 -> V635 -> Z6
Прошивка: ---

Рейтинг: 42.5



С триплетами - не прокатывает.
В аттаче - MyToneDB.db от V300.
Кроме стандартных мелодий, присутствуют: "alarm_clock.mp3", "inbox_sms.mp3", "incoming_call.mp3", "PoliceRadio.mp3" и "Ennio Moricone2.mp3".
В дампе файла этих имён не встречается. ~AlertFileXXX ещё можно понять, но свои мелодии - ??? :(

Вот все что "нарыл" в своем файле:
ЗАГОЛОВОК:
----------------------------------
Ofs - Length - Comment
0000 - 2 байта - Неизвестно
0002 - 2 байта - Кол-во записей в файле (Big-Endian Word)
----------------------------------
ЗАПИСЬ:
----------------------------------
Ofs - Length - Comment
0000 - 16 байт - Неизвестно :(
----------------------------------

ДАМП ФАЙЛА (Hex Workshop):
Код
-----------------------------------------------------------------
00000000 FF01 003B 0000 00DA 386D 445C 0000 0000 ...;....8mD\....
00000010 0A0B 0000 0000 0002 386D 43BC 0000 0000 ........8mC.....
00000020 0B0C 0000 0000 0004 386D 43BD 0000 0000 ........8mC.....
00000030 0C0C 0000 0000 000E 386D 43C0 0000 0000 ........8mC.....
00000040 0D0C 0000 0000 0010 386D 43C0 0000 022E ........8mC.....
00000050 0E0D 0000 0000 0011 386D 43C1 0000 022E ........8mC.....
00000060 0F0D 0000 0000 0012 386D 43C1 0000 014C ........8mC....L
00000070 100D 0000 0000 0013 386D 43C2 0000 014C ........8mC....L
00000080 110D 0000 0000 0014 386D 43C2 0000 0294 ........8mC.....
00000090 120D 0000 0000 000B 386D 43BF 0000 0000 ........8mC.....
000000A0 130C 0000 0000 0015 386D 43C2 0000 0271 ........8mC....q
000000B0 140D 0000 0000 000F 386D 43C0 0000 0000 ........8mC.....
000000C0 150C 0000 0000 0016 386D 43C2 0000 0561 ........8mC....a
000000D0 160D 0000 0000 0017 386D 43C3 0000 0465 ........8mC....e
000000E0 170D 0000 0000 0008 386D 43BE 0000 0000 ........8mC.....
000000F0 180C 0000 0000 0009 386D 43BE 0000 0000 ........8mC.....
00000100 190C 0000 0000 0018 386D 43C3 0000 00F6 ........8mC.....
00000110 1A0D 0000 0000 0007 386D 43BD 0000 0000 ........8mC.....
00000120 1B0C 0000 0000 000D 386D 43BF 0000 0000 ........8mC.....
00000130 1C0C 0000 0000 000A 386D 43BE 0000 0000 ........8mC.....
00000140 1D0C 0000 0000 0003 386D 43BC 0000 0000 ........8mC.....
00000150 1E0C 0000 0000 0019 386D 43C3 0000 02EE ........8mC.....
00000160 1F0D 0000 0000 0005 386D 43BD 0000 0000 ........8mC.....
00000170 200C 0000 0000 0006 386D 43BD 0000 0000  .......8mC.....
00000180 210C 0000 0000 000C 386D 43BF 0000 0000 !.......8mC.....
00000190 220C 0000 0000 002D 386D 43D2 0000 0000 "......-8mC.....
000001A0 230C 0000 0000 00CE 386D 4439 0000 0000 #.......8mD9....
000001B0 240C 0000 0000 00C9 386D 4436 0000 0000 $.......8mD6....
000001C0 250C 0000 0000 00D1 386D 443B 0000 0000 %.......8mD;....
000001D0 260C 0000 0000 002F 386D 43D4 0000 0000 &....../8mC.....
000001E0 270C 0000 0000 0031 386D 43D6 0000 0000 '......18mC.....
000001F0 280C 0000 0000 00CB 386D 4437 0000 0000 (.......8mD7....
00000200 290C 0000 0000 0032 386D 43D7 0000 0000 )......28mC.....
00000210 2A0C 0000 0000 00D2 386D 443C 0000 0000 *.......8mD<....
00000220 2B0C 0000 0000 0060 386D 43FF 0000 0000 +......`8mC.....
00000230 2C0F 0000 0000 0061 386D 4400 0000 0000 ,......a8mD.....
00000240 2D0F 0000 0000 0062 386D 4400 0000 0000 -......b8mD.....
00000250 2E0F 0000 0000 0063 386D 4401 0000 0000 .......c8mD.....
00000260 2F0F 0000 0000 0064 386D 4402 0000 0000 /......d8mD.....
00000270 300F 0000 0000 0029 386D 43D0 0000 0000 0......)8mC.....
00000280 310C 0000 0000 002A 386D 43D1 0000 0000 1......*8mC.....
00000290 320C 0000 0000 002B 386D 43D1 0000 0000 2......+8mC.....
000002A0 330C 0000 0000 002C 386D 43D2 0000 0000 3......,8mC.....
000002B0 340C 0000 0000 00C8 386D 4435 0000 0000 4.......8mD5....
000002C0 350C 0000 0000 00D0 386D 443A 0000 0000 5.......8mD:....
000002D0 360C 0000 0000 002E 386D 43D3 0000 0000 6.......8mC.....
000002E0 370C 0000 0000 00CA 386D 4436 0000 0000 7.......8mD6....
000002F0 380C 0000 0000 00CC 386D 4438 0000 0000 8.......8mD8....
00000300 390C 0000 0000 00D3 386D 443C 0000 0000 9.......8mD<....
00000310 3A0B 0000 0000 00CD 386D 4439 0000 0000 :.......8mD9....
00000320 3B0C 0000 0000 00CF 386D 443A 0000 0000;.......8mD:....
00000330 3C0C 0000 0000 0030 386D 43D5 0000 0000 <......08mC.....
00000340 3D0C 0000 0000 00E5 426A E0EE 0000 0040 =.......Bj.....@
00000350 400B FFFF 0000 00AF 42B5 D9F9 123E 87DC @.......B....>..
00000360 440B 0000 0000 00E7 426A E123 0000 003C D.......Bj.#...<
00000370 410B FFFF 0000 00E9 426A E133 0000 0044 A.......Bj.3...D
00000380 420B FFFF 0000 00EF 4298 EEEC 0000 0040 B.......B......@
00000390 430B 0000 0000 0033 386D 43D8 0000 0000 C......38mC.....
000003A0 3E0B 0000 0000 0070 386D 4413 0000 0000 >......p8mD.....
000003B0 3F0B 0000                               ?...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
BeZ
сообщение 20.6.2005, 15:00


Moto(sh)Coder
*******

Группа: Разработчики
Сообщений: 1 542
Регистрация: 8.10.2003
Пользователь №: 743
Модель телефона: только не moto

Рейтинг: 788.5



Поделюсь тем, что откопал опытным путем...

заголовок - 4 байта, первые два бата FF 01 (назначение не понятно)
далее два байта 00 XX - колво мелодий (записей)

далее идут записи размером в 16 байт каждая

дамп файла (отрывок)
Код

     хз1     хз2    дата и время      хз3            num  type     хз4          melody
00 00 00    8B     42 05 76 D7    00 00 00 00      0B    0C    00 00    | lion_king.mid          
00 00 00    B3     42 6B AE 79    00 00 00 00      0C    0B    00 00    | ona.mp3                
00 00 00    4C     41 ED 86 32    00 00 00 00      0D    0B    00 00    | rrr.mp3                
00 00 00    8C     42 05 76 E2     00 00 00 00      0E    0C    00 00    | Sacrifice.mid        
00 00 00    0D     41 ED 52 0E    00 00 00 00      10    0C    00 00    | Suspence.mid        
00 00 00    0E     41 ED 52 0F     00 00 00 00      11    0B    00 00    | twisted_nerwe.mp3
00 00 00    B7     42 6B AF 8E     00 00 00 00      12    0B    00 00    | Ya eyou xoy.mp3  
00 00 00    AE     42 6B C8 EF     00 00 00 00      13    0B    00 00    | ~NKUE00.mp3      
00 00 00    26     42 86 18 B6     00 00 08 0E      12    0D    09 7C    | ATJ.imy              

num - порядковый номер, про сортировку мелодий читать выше
type - 0C - mid  (точно не уверен, но очень похоже)
      0B - mp3
      0A - amr
      0D - imy
      0E - wav?
      0F - bas?

то что обозначено хзХ - это вот и есть хз...
пробовал что то менять не прокатило


ковыряйте дальше, думаю что нить да выйдет :), у меня нет времени :(

про получение нормального вида даты и времени спросите Booroondook'a

про получение нормального вида даты и времени спросите Booroondook'a
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 21.6.2005, 11:26


Freestyler
********

Группа: Легенды MotoFan.Ru
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



Начну с малого. Удалил файл средствами телефона.
Видно , что удалилось и где уменьшилось количество файлов.
Прикрепленное изображение
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
max.wiz
сообщение 21.6.2005, 11:47


Мастер
****

Группа: Пользователи
Сообщений: 206
Регистрация: 14.9.2004
Из: МО, г. Наро-Фоминск
Пользователь №: 12 584
Модель телефона: V300 -> V635 -> Z6
Прошивка: ---

Рейтинг: 42.5



У меня складывается впечатление, что мы с Osta'й ковыряем один тип MyToneDB.db, а остальные - другой.

Вопрос к Bezols'y - у тебя на V500 файл имеет вид, который ты в посте описал?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
BeZ
сообщение 21.6.2005, 12:10


Moto(sh)Coder
*******

Группа: Разработчики
Сообщений: 1 542
Регистрация: 8.10.2003
Пользователь №: 743
Модель телефона: только не moto

Рейтинг: 788.5



max.wiz,
у оста такойже файл, да и вооще на триплетах он точно не различается, вернее у с650 и далее, на счет 450и 550 не знаю, но думаю, что как и у нас...

старый формат у с350(L), Т72x(i), у новых моделей новый формат, где нет имени мелодии
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 21.6.2005, 12:18


Freestyler
********

Группа: Легенды MotoFan.Ru
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



Странная ситуация после переименования файла.
Я всегда думал, что файл TempToneDB.db - это копия MyToneDB.db.
Ситуация : сначала файлы были одинаковые (по содержанию и размеру),
только разница была в атрибутах
TempToneDB.db - 110000 (308 байт)
MyToneDB.db ---- 110002 (308 байт)
Переименовал mid-файлик средствами телефона
MyToneDB.db ---- 110002 (308 байт)
TempToneDB.db - 110002 (324 байт)
Изменилась и структура файла TempToneDB.db
по адресу оффсет 303 теперь красуется 02 вместо 00 (атрибут файла ?)
и в 3 оффсете после переименования вместо 13 (19 мелодий) теперь 14 (20 мелодий) !
Ну и добавилась строка-копия (желтая)
Само-собой у меня их 19 (мелодий). Странно.
Прикрепленное изображение
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
BeZ
сообщение 21.6.2005, 14:07


Moto(sh)Coder
*******

Группа: Разработчики
Сообщений: 1 542
Регистрация: 8.10.2003
Пользователь №: 743
Модель телефона: только не moto

Рейтинг: 788.5



если удалить два файла самому и перегрузить телефон, то эти два файла создадутся вновь, причем одинаковые, при удалении/добавлении мелодии средствами телефона файл TempToneDB.db как бы удаляется, MyToneDB.db переименовывается в TempToneDB.db, а вот потом уже идет само изменение файла MyToneDB.db

вообщем если мелодия удаляется, то содержимое после это мелодии сдвигается на один блок (16) байт, причем нумерацию в MyToneDB.db телефон не изменяет (кажется)

если мелодия добавляется средствами телефона, то ищется толи пробел первый в номерах (например были мелодии 1-10, 13-25, т.е. мелодий с номерами 11 и 12 не было), либо если все мелодии по порядку, то следующий номер присваивается..

если мелодия переименовывается, то вроде список перестраивается

если же файл MyToneDB.db удалить и перегрузить тело, то телефон уже создаст этот файл заново, а номера мелодиям присвоит уже друг за другом по правилу сортировки (которым он пользуется)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
BeZ
сообщение 21.6.2005, 14:14


Moto(sh)Coder
*******

Группа: Разработчики
Сообщений: 1 542
Регистрация: 8.10.2003
Пользователь №: 743
Модель телефона: только не moto

Рейтинг: 788.5



Osta,
то что у тебя изменились байты, это ты удалил предпоследнюю мелодию, этот блок удалился из файла, все что было за ним, сместилось на один блок (16 байт), как раз и видно на этом рисунке у тебя, последние 16 байт в обоих файлах совпадают, ни о каких фиксированных смещениях нет речи...

размер файла меняется, если мелодия удаляется, то размер уменьшается на 16 байт и в заголовке изменяется количество мелодий (т.е. блоков в ффайле), если мелодия добавляется, то размер файла увеличивается на 16 байт и также в заголовке изменяется кол-во файлов

Цитата(Osta @ Вторник, 21 Июня 2005, 16:18)
MyToneDB.db ---- 110002 (308 байт)
TempToneDB.db - 110002 (324 байт)
Изменилась и структура файла TempToneDB.db
*




вообщем твой новый TempToneDB.db - это теперь старый MyToneDB.db, точнее наоборот твой старый MyToneDB.db стал новым TempToneDB.db

а новый MyTOneDB.db создался заново и заполнился как нужно
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 21.6.2005, 15:43


Freestyler
********

Группа: Легенды MotoFan.Ru
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



При назначении мелодии звонком изменений в файлах нет. А где ?
Цитата(Bezols @ Вторник, 21 Июня 2005, 17:07)
если мелодия переименовывается
*


Начальные данные:
в тел. -20 мелодий
файл TempToneDB.db - 324 байта атрибут 110000 офсет 3 - значение 14 (20 мелодий)
__файл MyToneDB.db - 324 байта атрибут 110002 офсет 3 - значение 14 (20 мелодий)
переименовал одну мелодию
в тел. -20 мелодий
файл TempToneDB.db - 340 байта атрибут 110002 офсет 3 - значение 15 (21 мелодия) очень весело
__файл MyToneDB.db - 324 байта атрибут 110002 офсет 3 - значение 14 (20 мелодий)
Не понял. Перезагрузка телефона. Считываю опять.
в тел. -20 мелодий
файл TempToneDB.db - 340 байта атрибут 110002 офсет 3 - значение 13 (19 мелодий) супер весело
__файл MyToneDB.db - 324 байта атрибут 110002 офсет 3 - значение 14 (20 мелодий)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
BeZ
сообщение 22.6.2005, 10:11


Moto(sh)Coder
*******

Группа: Разработчики
Сообщений: 1 542
Регистрация: 8.10.2003
Пользователь №: 743
Модель телефона: только не moto

Рейтинг: 788.5



Цитата(Osta @ Вторник, 21 Июня 2005, 19:43)
При назначении мелодии звонком изменений в файлах нет. А где ?
*



в симе

про переименование - фиг сним, все равно наши проги не умеют это делать

удаление и добавление - вот это для нас
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 22.6.2005, 11:55


Freestyler
********

Группа: Легенды MotoFan.Ru
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



Сегодня (20 мелодий):

1. Сбросил все назначенные мелодии со всех стилях ("на улице", "в офисе/дома","вибро затем звонок")
на бесшумный по всем настройкам (вход. звонок, IM сообщения, Текст. сообщения и т.д.)
Результат -
MyToneDB.db (324 байта , оф.3 - зн. "14" ) и TempToneDB.db (340 байт , оф.3 - зн. "15" )
не изменились

2. Убрал все назначенные ID мелодии с абонентов тел. книги
Результат -
MyToneDB.db (324 байта , оф.3 - зн. "14" ) и TempToneDB.db (340 байт , оф.3 - зн. "15" )
не изменились

3. Сбросил все мелодии в будильниках на бесшумный
Результат -
MyToneDB.db (324 байта , оф.3 - зн. "14" ) и TempToneDB.db (340 байт , оф.3 - зн. "15" )
не изменились

4. В таком состоянии стал удалять по одной мелодии средствами телефона :
Результат -
__MyToneDB.db постоянное уменьшение на 16 байт , оф.3 - зн. - 1 мелодия
TempToneDB.db постоянное уменьшение на 16 байт (но на 16 байт больше чем MyToneDB.db) ,
оф.3 - зн. - 1 мелодия (но на 1 больше чем в MyToneDB.db)
Тоесть , действительно TempToneDB.db - это бывший MyToneDB.db до удаления мелодии (Bezols).
Удалил все (даже нашёл как bas удалять через телефон) и вышел на 4-х байтный MyToneDB.db
с содержанием
FF 01 00 00
и 20-ти байтный TempToneDB.db с содержанием
FF 01 00 01 00 00 00 67 38 6D 44 67 00 00 00 00 1D 11 00 00

Телефон не глючит, выбираются и настраиваются стили. Для выбора есть :
- бесшумный
- вибро-тире
- вибро-точка-тире
- континентальный
- классический
- внимание
- сирена

Сейчас займусь добавлением мелодий. Вот архив TempToneDB.db и MyToneDB.db удаления 20 мелодий по одной
и картинка удаления 2 последних мелодий
Прикрепленное изображение
Прикрепленный файл Udalenie_20_sound.rar   ( 7.11 килобайт ) Кол-во скачиваний: 86
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
BeZ
сообщение 22.6.2005, 12:33


Moto(sh)Coder
*******

Группа: Разработчики
Сообщений: 1 542
Регистрация: 8.10.2003
Пользователь №: 743
Модель телефона: только не moto

Рейтинг: 788.5



Цитата(Osta @ Среда, 22 Июня 2005, 15:55)
1. Сбросил все назначенные мелодии со всех стилях ("на улице", "в офисе/дома","вибро затем звонок")
на бесшумный по всем настройкам (вход. звонок, IM сообщения, Текст. сообщения и т.д.)
Результат -
MyToneDB.db (324 байта , оф.3 - зн. "14" ) и TempToneDB.db (340 байт , оф.3 - зн. "15" )
не изменились
*



не должны были, в них не прописываются мелодии, которые выставлены на звонки
Цитата(Osta @ Среда, 22 Июня 2005, 15:55)
2. Убрал все назначенные ID мелодии с абонентов тел. книги
Результат -
MyToneDB.db (324 байта , оф.3 - зн. "14" ) и TempToneDB.db (340 байт , оф.3 - зн. "15" )
не изменились
*



и не должны были, это видимо сидит в файле DL_ как там его дальше не помню

Цитата(Osta @ Среда, 22 Июня 2005, 15:55)
3. Сбросил все мелодии в будильниках на бесшумный
Результат -
MyToneDB.db (324 байта , оф.3 - зн. "14" ) и TempToneDB.db (340 байт , оф.3 - зн. "15" )
не изменились
*


не должны были, это в alarmclock живет

Цитата(Osta @ Среда, 22 Июня 2005, 15:55)
4. В таком состоянии стал удалять по одной мелодии средствами телефона :
Результат -
__MyToneDB.db постоянное уменьшение на 16 байт , оф.3 - зн. - 1 мелодия
TempToneDB.db постоянное уменьшение на 16 байт (но на 16 байт больше чем MyToneDB.db) ,
оф.3 - зн. - 1 мелодия (но на 1 больше чем в MyToneDB.db)
Тоесть , действительно TempToneDB.db - это бывший MyToneDB.db до удаления мелодии (Bezols).
Удалил все (даже нашёл как bas удалять через телефон) и вышел на 4-х байтный MyToneDB.db
с содержанием
FF 01 00 00
и 20-ти байтный TempToneDB.db с содержанием
FF 01 00 01 00 00 00 67 38 6D 44 67 00 00 00 00 1D 11 00 00
*



ну а я что писал?
если нет мелодий, то в MyToneDB будет только заголовок с количеством 0 мелодийTempToneDB - это старый MyToneDB перед удалением последней мелодии
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 22.6.2005, 13:41


Freestyler
********

Группа: Легенды MotoFan.Ru
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



Ситуация (ноль мелодий)
По очереди заливал aaaa.mp3, bbbb.mp3, cccc.mp3 (у всех размер 19,3 Кб и дата создания 22.06.05)
Закономерность чёткая (вроде)
оф. 3 - значение растёт на +1 с каждой мелодией
оф. 16 - значение 10 (начались свои мелодии, а не алерты)
оф 32 - значение 11
оф 48 - значение 12

желтым выделил концовку значение 0D (тоесть 13 - mp3 ? )
Прикрепленное изображение
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
BeZ
сообщение 22.6.2005, 14:18


Moto(sh)Coder
*******

Группа: Разработчики
Сообщений: 1 542
Регистрация: 8.10.2003
Пользователь №: 743
Модель телефона: только не moto

Рейтинг: 788.5



Osta,
все именно так, погляди внимательнее описание того, что я выкладывал выше... у каждой записи (та что по 16 байт) есть поля, которые я разгадал и которые еще не известны....
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 22.6.2005, 14:32


Freestyler
********

Группа: Легенды MotoFan.Ru
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



Ситуация : в телефоне 3 мелодии aaaa.mp3, bbbb.mp3, cccc.mp3 (у всех размер 19,3 Кб и дата создания 22.06.05)
Добавляю bbbb.mid (просто сменил расширение bbbb.mp3)
Строка из 16 байт добавилась перед строкой cccc.mp3
Добавляю cccc.mid (просто сменил расширение bbbb.mid)
Строка из 16 байт добавилась перед строкой bbbb.mid (вообще не понял),
но красным выделил 0E (тоесть 14 - mid ?)


Bezols
да-да, я видел, очень замечательно, что твои слова верны, просто собираю практический материал.
Прикрепленное изображение
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
BeZ
сообщение 22.6.2005, 15:18


Moto(sh)Coder
*******

Группа: Разработчики
Сообщений: 1 542
Регистрация: 8.10.2003
Пользователь №: 743
Модель телефона: только не moto

Рейтинг: 788.5



Цитата(Osta @ Среда, 22 Июня 2005, 18:32)
Добавляю bbbb.mid (просто сменил расширение bbbb.mp3)
Строка из 16 байт добавилась перед строкой cccc.mp3
Добавляю cccc.mid (просто сменил расширение bbbb.mid)
*


просто после переименования идет пересортировка списка. как сортируется ищи на форуме или у Booroondook'a спрашивай :)
соответственно изменение MyToneDB.db

думаю, что нам не интересно пока что переименование файлов (расширений), размер файлов тоже не интересен, интересны те байты, которые еще не расшифрованы, а так же нафига дата прописывается....
вообщем задача 1: разгадать остальные байты
задача 2: закачать или удалить мелодию, не перегружать телефон, создать свой MyToneDB и заменить на него
и поглядеть

я как то пробовал что то изменить в правильном MyToneDB когда работали все стили и ничего никуда не вылетало
не помню точно, что изменял... но не много, затем закачивал в тело новый MyToneDB (мной измененный), пытался зайти в стили звонка, меня выкидывало :(, заменял правленный MyToneDB на оригинальный, заходил в стили - все ок, никуда не выкидывало

причем, все это делалось без перезагрузки телефона !!!
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 22.6.2005, 15:21


Freestyler
********

Группа: Легенды MotoFan.Ru
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



Я переименовывал на компе файлы, закачивал, удалял 2 файла, перезагружал
и вот эти результаты.
Я понял, что переименовывать через телефон - это ни к чему.
Просто для чистоты эксперимента менял на компе названия файлов и расширение чтобы
не отвлекаться на размер и может быть дату.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
BeZ
сообщение 22.6.2005, 15:48


Moto(sh)Coder
*******

Группа: Разработчики
Сообщений: 1 542
Регистрация: 8.10.2003
Пользователь №: 743
Модель телефона: только не moto

Рейтинг: 788.5



Цитата
При этом файлы выстраиваются в таком порядке (при этом учитываются только имена, но не расширения): 
1) Файлы с атрибутом "системный", не имеющие описательных имен (то есть, не ~AlertFileXXX.YYY, а типа Gyroscope.mid и т.д.) 
2) Файлы с атрибутом "системный", имеющие описательные имена (~AlertFileXXX.YYY) 
3) Все остальные файлы (то есть, файлы тем (с атрибутом "скрытый") и пользовательские файлы (не скрытые и не системные) 
В каждой из этих групп файлы выстраиваются по именам в алфавитном порядке без учета регистра букв
.


Цитата(Osta @ Среда, 22 Июня 2005, 19:21)
Я переименовывал на компе файлы,
*


ты изменил расширение, соответственно перестроилась база, изменились индексы

вообщем думаю. что легко замутить такую вешь: удалил мелодию из телефона, базу легко перестроить, думаю это может сработать, а вот с закачкой тяжелее уже :( надо думать дальше
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Random
сообщение 22.6.2005, 15:57


Музыкант
******

Группа: Почётные мотофаны
Сообщений: 1 066
Регистрация: 28.1.2005
Пользователь №: 36 054
Модель телефона: iPhone 4S

Рейтинг: 921



Возможно, что на разных моделях тип файла разными значениями обозначается.
Еще заметил, что учитывается вообще все звуки, лежащие в папке audio, в т.ч. и Cust_Start~up, Start~up - у меня 3 "нормальных" mp3-шки, а в файле 5 записей с индексом 0D

Вообщем при беглом осмотре C650:
0D - mp3
11 - bas

Будет время, посмотрю еще :)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
BeZ
сообщение 22.6.2005, 16:07


Moto(sh)Coder
*******

Группа: Разработчики
Сообщений: 1 542
Регистрация: 8.10.2003
Пользователь №: 743
Модель телефона: только не moto

Рейтинг: 788.5



Цитата(Randomx @ Среда, 22 Июня 2005, 19:57)
Возможно, что на разных моделях тип файла разными значениями обозначается.
*



хз. может быть, может я что пропустил...

вообщем вот прожка, которая парсит MyToneDB
ей нужен файл melody.lst (должен лежать в директории с программой) - содержит список мелодий телефона, данные туда сувать отсортированные по правилам, как мотор сортирует

вот вообщем


соответственно можно исправить типы файлов там (в исходниках)

Сообщение отредактировал Bezols - 22.6.2005, 16:13
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 22.6.2005, 16:45


Freestyler
********

Группа: Легенды MotoFan.Ru
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



Закачал файл bbbb.imy , перезагрузил , imy - это 0F ( 15 по-нашему ) ?
порядок в MyToneDB.db на рисунке
Можно ли сказать , что запись файла такова :
000000 1C 42 B9 8A 47 (дата) 00000000 A0(номер) D0(расширение файла) 0000
Прикрепленное изображение
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
BeZ
сообщение 22.6.2005, 16:53


Moto(sh)Coder
*******

Группа: Разработчики
Сообщений: 1 542
Регистрация: 8.10.2003
Пользователь №: 743
Модель телефона: только не moto

Рейтинг: 788.5



Цитата(Osta @ Среда, 22 Июня 2005, 20:45)
000000 1C 42 B9 8A 47 (дата) 00000000 A0(номер) D0(расширение файла) 0000
*



думаю что нет

000000 (всегда нули) 1C (хз, непонятны мне пока цифвры) 42 B9 8A 47 (дата и время 4байта, а не 5) 00000000 (здесь тоже не всегда нули бывают, в конце что то меняться может) A0(номер) D0(расширение файла) 0000 (и здесь тоже очень редко но появлялось что то не 0000)
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Random
сообщение 22.6.2005, 16:55


Музыкант
******

Группа: Почётные мотофаны
Сообщений: 1 066
Регистрация: 28.1.2005
Пользователь №: 36 054
Модель телефона: iPhone 4S

Рейтинг: 921



Osta, ты немного перепутал с A0 и D0, наверное имелось ввиду 0A и 0D.
Cказать, что формат такой нельзя - поскольку там где у тебя нули, иногда и другие значения есть, а вот это уже разбраться надо.
Да и байт перед датой непонятен пока.



Bezols, опередил меня :)

Сообщение отредактировал Randomx - 22.6.2005, 16:58
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
BeZ
сообщение 22.6.2005, 20:44


Moto(sh)Coder
*******

Группа: Разработчики
Сообщений: 1 542
Регистрация: 8.10.2003
Пользователь №: 743
Модель телефона: только не moto

Рейтинг: 788.5



Код
 
 хз1      хз2       дата           хз3         №     Т     хз4
___________________________________________________
00 01   02 03    04 05 06 07    08 09 10 11    12    13    14  15
========================================
00 00   01 7D    41 22 9F 01    00 00 00 00    0A    0C    00 00
00 00   00 30    42 B9 F8 20    00 00 00 00    0A    0B    00 00
00 00   00 3C    42 B9 F9 58    00 00 00 00    0B    0B    00 00
00 00   00 45    42 B9 FC C5    00 00 00 00    0C    0C    00 00
00 00   00 56    42 B9 FD 95    00 00 00 00    0D    0C    00 00
00 00   00 57    42 B9 FE 71    00 00 00 00    0E    0B    00 00
00 00   00 5D    42 B9 FF 21    00 00 00 00    0B    0B    00 00
00 00   00 5E    42 BA 00 21    00 00 00 00    11    0B    00 00
00 00   00 63    42 BA 02 2D    00 00 00 00    0A    0B    00 00

вот наэкспериментировал
пока что структура такова
байты 00-01 наверное можно нулями всегда оставлять
байты 02-03 при закачке мелодии всегда увеличивается, но не понятно как, может и на 1 увеличитьяс, а может и на 5, толи это зависит от времени, толи еще от чего, заметил только то, что при после удалении MyToneDB, перезагрузи, создается MyToneDB и этот байт такой же остается, видимо как то он вычисляется...
байты 04-07 - сто пудов дата + время
байты 08-11 - опять всегда нули, если через MPT закачать мелодию и не перегружать тело, то могут встретиться и цыфры, а если потом удалить <yTOneDB, перегрузить, создасться новы MyToneDB и там будут нули вместо цифр, видимо можно всегда нули в этих байтах держать
байт 12 - номер порядковый
байт 13 - тип, у меня на V500 $0C - mid
$0B - mp3
$0D - imy

байт 14-15 - тоже всегда нули, но так же как и 08-11 могут что то принят другое. если через МПТ влить,

как выяснилось перед датой не один байт, а два 02 и 03
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
BeZ
сообщение 22.6.2005, 21:44


Moto(sh)Coder
*******

Группа: Разработчики
Сообщений: 1 542
Регистрация: 8.10.2003
Пользователь №: 743
Модель телефона: только не moto

Рейтинг: 788.5



вообщем трабл... :(
пробовал менять в MyTone дату файла на разные величины, результат, в стили звонка захожу, редактировать могу, скролю до того места где должна быть мелодия, для которой менял дату - меня выкидывает,

дальше пробовал на компе поменять дату, поставил старую, закачал файл, дата файла видимо ставиться в телефоне по его часам и календарю :( а эту дату мы не можем узнать при закачке файла :(

про байты перед датой почти допер, но толку теперь от них мало :(
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Random
сообщение 23.6.2005, 7:37


Музыкант
******

Группа: Почётные мотофаны
Сообщений: 1 066
Регистрация: 28.1.2005
Пользователь №: 36 054
Модель телефона: iPhone 4S

Рейтинг: 921



А вот и мои изыскания :)

-----------------------------------------------------------------

Код

смещение:  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
значение:  00 00 00 XX DD DD DD DD 00 00 II II NN TT 00 00


DD DD DD DD - дата и время (незнаю в каком формате, но как я понял его уже разобрали)
NN - индекс мелодии
TT - тип мелодии

На C650 типы такие:

mp3 - 0D (MP3)
mid - 0E (Midi)
imy - 0F (iMelody)
bas - 11 (MotoMixer)

Последние два байта (E и F) телефону скорее всего не нужны. После заливки через MPT они у меня стали отличными от нулей.
Но после удаления MyTone.db, когда телефон сам заново его сгенерировал, эти байты обнулились.

II II - параметр, который есть только у iMelody (у других там стоят нули, правда MPT ставит какие-то значения, но они все равно обнуляются, если файл создаст телефон).
Он показывает длительность мелодии в миллисекундах.
Как посчитать эту длительность:

Формат файла iMelody чрезвычайно прост

BEGIN:IMELODY
VERSION:1.2
FORMAT:CLASS1.0
MELODY:1b3
END:IMELODY

Как раз в поле MELODY: и указаны какие ноты нужно сыграть.

В данном примере 1b3
1 - октава
b - нота
3 - длительность

Ноты и октавы нас не интересуют, а вот про длительность поподробнее

Методом проб и ошибок установил, что телефон при редактировании позволяет задавать длительности от 1 до 5.
1 соответсвует 1 секунде = 1000 мс = 3E8 в HEX-е
2 соответсвует 1/2 секунды = 500 мс = 1F4 в HEX-е
3 соответсвует 1/4 секунды = 250 мс = FA в HEX-е
4 соответсвует 1/8 секунды = 125 мс = 7D в HEX-е
5 соответсвует 1/16 секунды = 62 мс = 3E в HEX-е

Если математически выразить это, то получим формулу
DURATION=TRUNC(1000/(2^(N-1))) где N и есть цифра длительности

И теперь используя это правило просто считаем длительность всех нот в мелодии.
Если неправильно рассчитывать, или, например, поставить нули, то у меня появлялись глюки в стилях оповещения. Так что считать это необходимо.

Ну и теперь осталось узнать, что значит XX
Возможно, это какой-то внутренний порядковый номер мелодий...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
BeZ
сообщение 23.6.2005, 7:51


Moto(sh)Coder
*******

Группа: Разработчики
Сообщений: 1 542
Регистрация: 8.10.2003
Пользователь №: 743
Модель телефона: только не moto

Рейтинг: 788.5



Randomx,
вообщем то похоже что у нас будет проблема, если удалять мелодии, то глюков не будет (удалил мелодию, удалил блок в MyToneDB, поправил сим), а вот с добавление будет трабл, потому как мы не сможем узнать дату и время мелодии :(
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Random
сообщение 23.6.2005, 7:52


Музыкант
******

Группа: Почётные мотофаны
Сообщений: 1 066
Регистрация: 28.1.2005
Пользователь №: 36 054
Модель телефона: iPhone 4S

Рейтинг: 921



Цитата(Bezols @ Четверг, 23 Июня 2005, 1:44)
вообщем трабл... :(
пробовал менять в MyTone дату файла на разные величины, результат, в стили звонка захожу, редактировать могу, скролю до того места где должна быть мелодия, для которой менял дату - меня выкидывает,

дальше пробовал на компе поменять дату, поставил старую, закачал файл, дата файла видимо ставиться в телефоне по его часам и календарю :( а эту дату мы не можем узнать при закачке файла :(

про байты перед датой почти допер, но толку теперь от них мало :(
*



Если дело обстоит так, то возможно
а) Есть специальная комманда, которая заставляет телефон обновить MyTone.db
б) Наверняка есть (я не разбирался просто) команда для получения даты и времени телефона
ведь MPT как-то обновляет сам эту базу данных.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Osta
сообщение 23.6.2005, 8:19


Freestyler
********

Группа: Легенды MotoFan.Ru
Сообщений: 10 329
Регистрация: 20.7.2004
Пользователь №: 8 235
Модель телефона: Moto
Прошивка: *#9999#


Настроение:
Все невыспавшиеся в следующей жизни будут котами



Рейтинг: 4362



[OFF]Сегодня пока ничего не делал, только прочитал ваши посты.[/OFF]
С расширением более-менее понятно (разные значения для разных моделей),
но проблемы в этом нет (правда Bezols ?). Мотокит вообще не позволяет
закачивать imy и bas в аудио (говорит "не-а" и не закачивает). Ну и правильно,
ИМХО, есть мп3 и миди - нам хватит.
Randomx, конечно перепутал :-) как и 2 лишних ноля в конце
000000 1C 42 B9 8A 47 (дата) 00000000 A0(номер) D0(расширение файла) 0000
Байт перед датой у меня увеличивался так
значения 28 , 30 , 31 , 32 , 34 , 38
Bezols, как у тебя возник ненулевой байт перед байтом перед датой %-( , после MPT ?
Сейчас покоцаю байты 08-11 вместо нолей чегой-то поставлю.
Дата,дата...дата фото делается в формате день_месяц_год_часминуты (нет идей ?) и ещё в прошивке
дата какая-то встречается (кажется 1980) может от какой-то перво_даты отнимается текущая ?
А если синхронизировать часы мобил. с комп. до заливки мелодий ?

Цитата(Bezols @ Среда, 22 Июня 2005, 23:44)
байты 02-03 при закачке мелодии всегда увеличивается, но не понятно как, может и на 1 увеличитьяс, а может и на 5, толи это зависит от времени, толи еще от чего, заметил только то, что при после удалении MyToneDB, перезагрузи, создается MyToneDB и этот байт такой же остается, видимо как то он вычисляется...
*


А удалял только MyToneDB ? Может тогда из TempToneDB.db хватанулись значения.
Вообще зачем нужен TempToneDB.db ? Удалил его через javaФМ - все работает , не выбивает.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
BeZ
сообщение 23.6.2005, 8:41


Moto(sh)Coder
*******

Группа: Разработчики
Сообщений: 1 542
Регистрация: 8.10.2003
Пользователь №: 743
Модель телефона: только не moto

Рейтинг: 788.5



Цитата(Randomx @ Четверг, 23 Июня 2005, 11:52)
б) Наверняка есть (я не разбирался просто) команда для получения даты и времени телефона
ведь MPT как-то обновляет сам эту базу данных.
*


она через OBEX работает, там можно дату считывать и записывать

Цитата(Randomx @ Четверг, 23 Июня 2005, 11:52)
а) Есть специальная комманда, которая заставляет телефон обновить MyTone.db
*


наврядли


Про дату, я так понимаю дата в файле, это дата создания файла в телефоне, т.е. текущая дата в телефоне, как ее узнать в P2K режиме я не знаю
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Покончим с TempToneDB.db и MyToneDB.db, раскроем структуру базы мелодий · Ломаем и строим! · Forum
 

3 страниц V  1 2 3 >
Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 3.8.2025, 22:45

Форум живёт: