Я пишу быстрый фронтэнд для отображения дощечки с надписью гитары. Фронтэнд находится в Flash, но я хочу сохранить вкладку в некотором человекочитаемом формате. Кто-либо знает о чем-то, что уже существует? Какие-либо предложения о том, как пойти об этом? Одна идея, которую я получил от того, чтобы читать некоторые stackoverflow сообщения, состояла в том, чтобы использовать строгий формат вкладки ASCII как так:
e||-1------3--------------0--|----2-------0---
B||--1-----3------------1----|----3-------0---
G||---2----0----------0------|----2-------1---
D||----3---0--------2--------|----0-------2---
A||----3---2------3----------|------------2---
E||----1---3----3------------|------------0---
Это имеет преимущества. Я могу получить много информации от структуры (сколько строк, их настроек, относительного размещения примечаний), но это является немного подробным. Я предполагаю, что '-'s сожмется далеко вполне прилично при отправке по проводу.
Если кто-либо будет знать о существующем формате данных для описания табулатуры, то я буду смотреть также.
править:
Я должен отметить, что этот формат составляет 90% для меня, и не может никогда замеченный никем кроме меня. Я хочу простой способ записать файлы вкладки, которые будут отображены в конечном счете как графика во фронтенде Flash, и я не хочу должным быть писать фронтэнд редактора.
Ознакомьтесь с форматом вкладки ASCII . Также отличное описание формата находится здесь:
См. Поддерживаемые форматы файлов в TuxGuitar .
TuxGuitar - это мультиплатформенное программное обеспечение с открытым исходным кодом для чтения, записи и игры на гитаре.
Он поддерживает упомянутый формат Guitar Pro и PowerTab , а также имеет собственный формат TuxGuitar (.tg).
Если вам нужно, чтобы структура данных бэкэнда оставалась в читаемой человеком форме, я бы, вероятно, поместил ее в CDATA внутри XML. Это можно вставить в реляционную базу данных с информацией о песнях/артистах/названиях и сделать доступным для поиска. Другой вариант - сохранить их в виде заархивированных текстовых файлов и вставить ссылки на эти файлы в базу данных с основной информацией об исполнителе, которая по-прежнему доступна для поиска по sql.
Они не читаются человеком:
Наиболее распространенные форматы: Guitar Pro (проприетарный) и PowerTab (freeware). DGuitar и TuxGuitar - это программы просмотра формата Guitar Pro с открытым исходным кодом. Я уверен, что у них где-то есть документация для этого формата (по крайней мере, в коде).
Преимуществом использования общего формата будет простота создания табулатур с помощью этих программ.
Формат Guitar Pro 4 описан здесь http://dguitar.sourceforge.net/GP4format.html
Экспорт ASCII был бы отличной функцией, но использование ASCII в качестве внутреннего формата данных - не лучшая идея. Например, продолжительность нот было бы чрезвычайно сложно выразить (как бы вы сохранили 32-е или даже 16-е?, Не говоря уже о тройках ...), поэтому анализ этих файлов был бы чрезвычайно трудным. Более того, у пользователей возникнет соблазн загрузить файлы ASCII, созданные вне вашего приложения, что, скорее всего, не удастся.
Подводя итог, я бы рекомендовал либо попробовать повторно использовать существующий формат, либо изобрести свой собственный, если это невозможно. Вы можете попробовать использовать для этого XML.
РЕДАКТИРОВАТЬ: Помимо DGuitar, я знаю TuxGuitar и KGuitar, которые поддерживают файлы Guitar Pro. Вы можете изучить их источники или спросить их авторов о форматах файлов. Думаю, есть еще конвертер PowerTab в ASCII с открытым исходным кодом.