Заказ закрыт
Пропарсить формат *.msd Movie Magic Scheduling

Бюджет: 1 500 $/заказ
Победители конкурса
1 место: Y­uriy S­hes­ta­kov
2 место: победитель не выбран
3 место: победитель не выбран
Этот конкурс для тех, кто сможет описать разбор формата .msd (файл прилагается) и написать простой пример такого парсинга.

Этот файл – файл программы Movie Magic Scheduling, которая помогает планировать профессиональные съемки для кинофильмов. Нам необходимо написать утилиту (предпочтительно на си), которая сможет пропарсить этот файл и вернуть следующие данные:

- Текст сценария, разбитый по сценам
- Список персонажей, локейшнов и мест съемок
- Элементы разблокировки сценария, разбитые по категориям (грим, костюм, массовка и т.д.) со всеми свойствами этих элементов
- Изображения, прикрепленные к проекту, с привязкой к тем элементам, к которым они относятся
- Настройки проекта
- Правила внутри Link Manager
- Расписание съемок: съемочные смены, список сцен внутри смен, свойства элементов внутри смен, включая время начала съемок, – если расписаний несколько версий, нужно получить их все.
- Остальные данные по возможности
Опубликован 02.02.2013 в 13:44 Последнее изменение: 04.02.2013 в 18:28

Конкурсные работы

  • Даниил Леонов  

    02.02.2013 | 16:51
    Какая-нибудь дополнительная информация будет? что в этом файле сохранено? Что из этого файла интересует? Будут ли другие файлы с другими данными?
    С тем, что есть, можно пока получить какие-то базовые данные вроде типа файла ("EPS Schedule File"), версии программы и т.п. и адреса неких файлов типа:
    "C:\Documents and Settings\sk036374\Desktop\Geor ge & Mary.bmp"
  • Юрий Ключ  

    02.02.2013 | 21:35
    Очень мало подробностей – какие критерии зачёта, как определяется победитель, на чём предпочтительнее писать парсер?
  • Георгий Лильбок  

    03.02.2013 | 10:15
    Добрый день!

    Я готов сотрудничать по данному проекту.
    Уже написал небольшую программку для разбора, которую прикрепляю к письму, а также 2 картинки из этого файла.
    Хотелось бы знать, в каком виде Вы хотите получить результат?
    Какие гарантии оплаты Вы можете предоставить?
    Если Вас интересует сотрудничество со мной, сообщите Ваш e-mail.

    Мой адрес: Lilbok_GV@mail.ru

    С уважением, Георгий.
    • Добавлено 03.02.2013 в 10:15
      f_495510dfdd055a03.zip
      zip 45.51 Кб  
    • Добавлено 03.02.2013 в 10:15
      Пропарсить формат *.msd Movie Magic Scheduling  - фото 1
    • Добавлено 03.02.2013 в 10:15
      Пропарсить формат *.msd Movie Magic Scheduling  - фото 2
  • Егор Феоктистов  

    03.02.2013 | 10:36 обновлено: 22.02 2013 | 23:50
    Доброе время суток.
    Вас интересует формат файла в разрезе извлечения содержимого или полное описание формата файла? (С описанием формата всех секций). Приложение, получающие основные характеристики, вышлю по запросу.
    Прикрепите, пожалуйста, еще несколько файлов.

    Данные секций хранятся в xml. Аттачи, если таковые имеются, хранятся в своем формате.
    Секция "Calendars" хранит данные о календарях. Представлены календари с именами "Actor Unavailable", "5 Day Week", "6 Day Week".

    Секция "Categories" содержит описание категорий (Cast Members, Stunts, Background Actors и др). Каждая категория имеет свои свойства. Например, категория "Cast Members" содержит следующие свойства:
    Notes
    Per
    Phone
    Agent Ph
    Address
    Agent
    Full Name
    Rate

    Секция "ElementMgr" содержит элементы категорий. Привязка к категории содержится в поле "Category Name". Соответственно, список свойств элемента "George", относящегося к категории "Cast Members":

    Notes = ""
    Per = 2
    Phone = 213-555-2345
    Agent Ph = 213-555-1427
    Address = 124 Balmoral Lane, Los Angeles, CA 90064
    Agent = Agent: Teddy Stein, Wrn. Morris
    Full Name = James Stewart
    Rate = 0

    Секция "RedFlags" содержит события??? по элементам из секции "ElementMgr". Например, событие"Fitting – DOOD" относится к элементу "George" из категории "Cast Members". Описание события "Fitting for final look", дата – 04/15/2009.

    Секция DOODLayoutMgr. DOOD – Day Out of Days. Содержит буквенные обозначения процесса съемок.
    Секция ProductionInfo. Содержит данные в виде "Ключ – значение" о снимаемом фильме, как Company, Picture Title, Director.

    - Текст сценария, разбитый по сценам
    - Список персонажей, локейшнов и мест съемок

    Содержание сценариев содержится в секции "StripBoardMgr". Элемент с именем "Scene Order" хранит порядок следования сцен, "Location Scenario" – места съемок, "Actor Scenario" – сценарий по актерам. Каждый элемент содержит ссылку на календарь съемок (секция "Calendars").

    Сценарии содержатся в секции BreakdownSheets. Атрибут BDSID элемента BreakdownSheet ссылается на содержание сценария.
    Дочерний элемент ElementRef ссылается на элемент из секции ElementMgr и категорию из секции Categories.

    Например, элемент с резюме (synopsis) "George takes a cab ride" является элементом сценария из "Scene Order". Аттач к этому элементу Cab Ride.bmp
    Участники:
    Violet
    Mr. Reineman
    Stunt Car
    Bert's Motorcycle
    Stunt driver
    George
    Ernie's Cab
    Bert's Watch
    Large Suitcase
    Bert
    Elderly Man
    Car screeches to a stop
    Ernie

    Съемки начинаются с сцены"Voice over prayers for George.", а заканчиваются "George is given the money; finale."

    По структуре файла (для Mac и Win есть ньюансы, такие как Big Endian и Little Endian).
    Общая структура:
    1. Заголовок;
    2. Секции;
    3. Описание секций.

    Очевидно, файлы могут защищаться паролем, в коде есть ключ: ea10nb11tc12ed13rf14ta10ab11ic 12nd13mf14ea10nb11tc12pd13af14 ra10tb11nc12ed13rf14sa10.
    Параметры PBEParameterSpec:
    {1, 2, 3, 4, 4, 6, 7, 8}, 20.

    ParseMsdMovieFile.zip – приложение, разбирающее файл.
    • Добавлено 03.02.2013 в 10:36
      f_480510e020a1ba54.bmp
      bmp 390.68 Кб  
    • Добавлено 03.02.2013 в 10:36
      Пропарсить формат *.msd Movie Magic Scheduling  - фото 3
    • Добавлено 03.02.2013 в 10:36
      f_015510e0227c49a7.bmp
      bmp 384.43 Кб  
    • Добавлено 03.02.2013 в 10:36
      f_700510e0235aeb71.bmp
      bmp 375.05 Кб  
    • Добавлено 03.02.2013 в 10:36
      Пропарсить формат *.msd Movie Magic Scheduling  - фото 4
    • Добавлено 03.02.2013 в 10:36
      f_109510e04d76775c.zip
      zip 20.45 Кб  
    • Добавлено 22.02.2013 в 23:50
      f_3195127cbabdc922.zip
      zip 17.67 Кб  
    • Егор Феоктистов   

      22.02.2013 | 13:11 обновлено 22.02.2013 | 20:16

      Заголовок в числе параметров имеет количество секций в файле и смещение первого описания секции относительно начала файла.
      Описание секции включает также такие параметры, как смещение секции относительно начала файла и размер секции.
      Секция, включающая в себя прикрепляемый файл, в числе параметров имеет длину пути прикрепляемого файла.

  • Abak Barama  

    03.02.2013 | 11:06 обновлено: 14.02 2013 | 10:08
    Ответ от заблокированного пользователя
    • Max Antonov   

      14.02.2013 | 18:47  

      Прокомментирую: Конкурс не изменился, более подробное описание добавлено, правила и сроки конкурса сохраняются. Письмо к Abak Barama было личным предложением к нему, его разглашение не предусматривалось и правил конкурса не касается.

  • Yuriy Shestakov  

    13.02.2013 | 19:00 обновлено: 21.02 2013 | 07:06
    Участвую!

    Результаты ожидайте 18-19 февраля 2013.

    18.02.2013
    Данные сжаты обычным зипом, но поля очень тяжело доставать
    Из списка, предоставленного организатором
    - Текст сценария, разбитый по сценам
    - Список персонажей, локейшнов и мест съемок
    и т.д. не полностью понятно, какие поля за что отвечают в файле, т.к. здесь они все обозначены названиями / индексами на англ. типа: Day out of Days ProdNo, Company, Director, Producer Upm, AsstDirector, ArtDirector, SetDresser, ScriptDated, PreparedBy, Timing, EpisodeNo, Misc1,Misc2,Misc3,Misc4, DN, IE, LOCATION, SCRIPT_PAGES, SCENES, SCRIPT_DAY,SEQUENCE, SET, Sheet, SYNOPSIS и т.д.
    Так что буду выводить все полностью. Но могу к завершению конкурса и не успеть :(

    20.02.2013

    Принимайте работу!

    Все, что было, расшифровал. Теперь осталась работа с ID, полями, применяемыми константами и т.п. Технические термины переводить/распознавать.

    Можете для проверки ещё пару файлов прислать. Желательно один файл, зашифрованный паролем – надо узнать, правильно ли я это поле распознал.

    Изображения не стал вытаскивать, потому что и так уже понятно, что это за картинки.
    Они прикрепляются в секции BreakdownSheetMgr. Например, для SheetNumber="19" Synopsis:George takes a cab
    ride Sequence:Back Story :
    <Attachments>
    <X0>
    <X5/>
    </X0>
    </Attachments>
    Это аттачмент с ID=5

    Ну и так далее, там все понятно в принципе.

    Готов дальше работать с вами по этому и другим форматам файлов, применяемым в Movie Magic.

    Программу либо инструкцию по разбору файла вышлю после выбора меня победителем :)

    Если вам нужно графическое удобоваримое представление всего того, что в файле, заказывайте, сделаю, но потребуется время.
    • Добавлено 20.02.2013 в 19:02
      f_2905124e4c120244.pdf
      pdf 1.45 Мб  
    • Добавлено 20.02.2013 в 19:02
      f_3155124e5054d855.txt
      txt 634.06 Кб