Планы по развитую программы/Feature Requests

Предложения новых возможностей программы, которых еще нет и нельзя реализовать с помощью скриптов или настроек программы
Post Reply
Eugene
Posts: 2805
Joined: Tue Sep 16, 2008 7:30 pm

Re: Планы по развитую программы/Feature Requests

Post by Eugene »

vladlp wrote:
Eugene wrote:для работы с XML может быть использован класс TfsXMLDocument
Жалт но он очень слабенткий:( http://www.fastreport.ru/ru/forum/lofiv ... t1438.html
Придется наверно пока регекспом.
Добавлю, или в этот, или другой подключу.
vladlp wrote: Обнаружилось что в обработке медиа ресурсов нету HmsSetMediaItemProperty, а без него никак. И напиши плиз PropertyName которые используются (я из твоих скриптов вроде понял но на всякий случай).
Также как я понял жанры добавляются через запятую, а актеры? а то от встроеного скрипта кинопоиска только первый актер попадает в выбор.
В обработке медиа-ресурсов используется другой способ - скрипт "Предварительное транскодирование (файл)"
MediaItem.Properties[идентификатор_свойства] := Значение;
Текущий элемент в списке возвращается HmsCurrentMediaListItem;
Перечень идентификаторов свойств в дереве "Функции, Переменные" - Константы, Идентификаторы параметров медиа-ресурса: mpiGenre - жанры; mpiActor - актеры; mpiDirector - режиссеры; mpiProducer - продюсеры. Несколько значений перечисляются серез запятую.
vladlp wrote: И еще по поводу жанров. с ними есть проблемы так как каждый сайт их обзывает по своему + Русский/Английский.
У тебя имеется возможность выбирать жанры из листа, если туда добавить поле синонимы то можно будет все это разнообразие укротить. (я правда не знаю можно ли к этому листу из скрипта добраться)
Список хранится в файле vgenres.xml, оригинальный в каталоге программы, пользовательский в каталоге (Windows XP): ?:\Documents and Settings\Имя пользователя\Local Settings\Application Data\Home Media Server\HMS, колонку "Синонимы" или "Другие названия" добавлю.
vladlp wrote: И еще а как с Коллекциями программно работать? Просто есть идея всякие там передачи/сериалы также через скрипт обработка медиа ресурсов по коллекциям разбрасывать. Думаю будет удобно допустим нашел House M.D. в названии файла и бросил в коллекцию House M.D., Comedy Club -> в коллекцию Comedy Club и т.д. чтобы облегчить поиск инфы пультом в хаосе папок куда все скачанные торренты валятся.
Возможность добавлю.
vladlp
Posts: 8
Joined: Tue Nov 03, 2009 4:11 pm

Re: Планы по развитую программы/Feature Requests

Post by vladlp »

Eugene wrote:Добавлю, или в этот, или другой подключу.
Eugene wrote:Список хранится в файле vgenres.xml,
Было бы очень не плохо нормальный XML Parser подключить, а то через регексп не очень удобно с хмл работать
Eugene wrote:MediaItem.Properties[идентификатор_свойства] := Значение;
Текущий элемент в списке возвращается HmsCurrentMediaListItem;
спасибо разобрался
Eugene
Posts: 2805
Joined: Tue Sep 16, 2008 7:30 pm

Re: Планы по развитую программы/Feature Requests

Post by Eugene »

Spensr

Re: Планы по развитую программы/Feature Requests

Post by Spensr »

Здравствуйте! Хочу поблагодарить за столь замечательный проект.

Вопрос: у меня фильмы лежат в одинаковых папка на двух хардах (D:\Video\ и D:\Video\), в следствии чего пришлось создавать коллекцию в которую в ручном режиме каждый раз добавляю новые файлы. Стоит ли ожидать какого-то средства автоматизации обновления данных в коллекции?

Предложение: как один из вариантов решения данной проблемы предлагаю в свойства коллекции добавить список папок (тех которые указаны для сканирования) и что бы можно было выбирать в каких из них автоматически отслеживать новые файлы и добавлять в коллекцию.
Eugene
Posts: 2805
Joined: Tue Sep 16, 2008 7:30 pm

Re: Планы по развитую программы/Feature Requests

Post by Eugene »

Spensr wrote: Вопрос: у меня фильмы лежат в одинаковых папка на двух хардах (D:\Video\ и D:\Video\), в следствии чего пришлось создавать коллекцию в которую в ручном режиме каждый раз добавляю новые файлы. Стоит ли ожидать какого-то средства автоматизации обновления данных в коллекции?

Предложение: как один из вариантов решения данной проблемы предлагаю в свойства коллекции добавить список папок (тех которые указаны для сканирования) и что бы можно было выбирать в каких из них автоматически отслеживать новые файлы и добавлять в коллекцию.
Для обновления данных коллекций можно использовать обработку медиа-ресурсов (Настройки-Обработка) - http://www.homemediaserver.ru/forum/vie ... 4918#p4918
Spensr

Re: Планы по развитую программы/Feature Requests

Post by Spensr »

Eugene wrote:
Spensr wrote: Вопрос: у меня фильмы лежат в одинаковых папка на двух хардах (D:\Video\ и D:\Video\), в следствии чего пришлось создавать коллекцию в которую в ручном режиме каждый раз добавляю новые файлы. Стоит ли ожидать какого-то средства автоматизации обновления данных в коллекции?

Предложение: как один из вариантов решения данной проблемы предлагаю в свойства коллекции добавить список папок (тех которые указаны для сканирования) и что бы можно было выбирать в каких из них автоматически отслеживать новые файлы и добавлять в коллекцию.
Для обновления данных коллекций можно использовать обработку медиа-ресурсов (Настройки-Обработка) - http://www.homemediaserver.ru/forum/vie ... 4918#p4918
Честно говоря от XML и скриптов я далек. Да и с условием что есть несколько коллекций и в каждую надо как-то добавлять файлы из нескольких папок... а возможно ли привести пример подобного скрипта?
Eugene
Posts: 2805
Joined: Tue Sep 16, 2008 7:30 pm

Re: Планы по развитую программы/Feature Requests

Post by Eugene »

Spensr wrote:
Eugene wrote:
Spensr wrote: Вопрос: у меня фильмы лежат в одинаковых папка на двух хардах (D:\Video\ и D:\Video\), в следствии чего пришлось создавать коллекцию в которую в ручном режиме каждый раз добавляю новые файлы. Стоит ли ожидать какого-то средства автоматизации обновления данных в коллекции?

Предложение: как один из вариантов решения данной проблемы предлагаю в свойства коллекции добавить список папок (тех которые указаны для сканирования) и что бы можно было выбирать в каких из них автоматически отслеживать новые файлы и добавлять в коллекцию.
Для обновления данных коллекций можно использовать обработку медиа-ресурсов (Настройки-Обработка) - http://www.homemediaserver.ru/forum/vie ... 4918#p4918
Честно говоря от XML и скриптов я далек. Да и с условием что есть несколько коллекций и в каждую надо как-то добавлять файлы из нескольких папок... а возможно ли привести пример подобного скрипта?
Какая структура коллекции ? Насколько я понимаю, из двух каталогов добавляются файлы в одну коллекцию ?
Spensr

Re: Планы по развитую программы/Feature Requests

Post by Spensr »

Eugene wrote:
Spensr wrote:
Eugene wrote:
Spensr wrote: Вопрос: у меня фильмы лежат в одинаковых папка на двух хардах (D:\Video\ и D:\Video\), в следствии чего пришлось создавать коллекцию в которую в ручном режиме каждый раз добавляю новые файлы. Стоит ли ожидать какого-то средства автоматизации обновления данных в коллекции?

Предложение: как один из вариантов решения данной проблемы предлагаю в свойства коллекции добавить список папок (тех которые указаны для сканирования) и что бы можно было выбирать в каких из них автоматически отслеживать новые файлы и добавлять в коллекцию.
Для обновления данных коллекций можно использовать обработку медиа-ресурсов (Настройки-Обработка) - http://www.homemediaserver.ru/forum/vie ... 4918#p4918
Честно говоря от XML и скриптов я далек. Да и с условием что есть несколько коллекций и в каждую надо как-то добавлять файлы из нескольких папок... а возможно ли привести пример подобного скрипта?
Какая структура коллекции ? Насколько я понимаю, из двух каталогов добавляются файлы в одну коллекцию ?
Вы правильно меня поняли. На каждом диске есть папка Video с одинаковыми опять же подпапками (иностр. фильмы, отеч. фильмы, мульты и т.д.). Есть коллекции с такими же именами как и подпапки. Нужно, что бы в каждую коллекцию добавлялись фильмы из одноименных подпапок дисков.
Eugene
Posts: 2805
Joined: Tue Sep 16, 2008 7:30 pm

Re: Планы по развитую программы/Feature Requests

Post by Eugene »

Spensr wrote:
Eugene wrote:
Spensr wrote:
Eugene wrote:
Spensr wrote: Вопрос: у меня фильмы лежат в одинаковых папка на двух хардах (D:\Video\ и D:\Video\), в следствии чего пришлось создавать коллекцию в которую в ручном режиме каждый раз добавляю новые файлы. Стоит ли ожидать какого-то средства автоматизации обновления данных в коллекции?

Предложение: как один из вариантов решения данной проблемы предлагаю в свойства коллекции добавить список папок (тех которые указаны для сканирования) и что бы можно было выбирать в каких из них автоматически отслеживать новые файлы и добавлять в коллекцию.
Для обновления данных коллекций можно использовать обработку медиа-ресурсов (Настройки-Обработка) - http://www.homemediaserver.ru/forum/vie ... 4918#p4918
Честно говоря от XML и скриптов я далек. Да и с условием что есть несколько коллекций и в каждую надо как-то добавлять файлы из нескольких папок... а возможно ли привести пример подобного скрипта?
Какая структура коллекции ? Насколько я понимаю, из двух каталогов добавляются файлы в одну коллекцию ?
Вы правильно меня поняли. На каждом диске есть папка Video с одинаковыми опять же подпапками (иностр. фильмы, отеч. фильмы, мульты и т.д.). Есть коллекции с такими же именами как и подпапки. Нужно, что бы в каждую коллекцию добавлялись фильмы из одноименных подпапок дисков.
Пример создан из скрипта загрузки метаданных для текущего списка медиа-ресурсов, путь коллекции формируется в строке

Code: Select all

sCollectionPath := 'Video\' + ExtractFileName(sDirectory);

Он складывается из постоянной части Video и названия каталога файла. Для пробы можно назвать Video1, если коллекция называется Video.

Code: Select all

procedure ProcessItem(aItem: THmsScriptMediaItem);
var
  i: Integer;
  sCollectionPath, sDirectory: string; 
begin
  sDirectory := ExtractFileDir(aItem.Properties[mpiFilePath]);
  sCollectionPath := 'Video\' + ExtractFileName(sDirectory);
  HmsDatabaseAddLink (mfVideoCollectionsItemID, sCollectionPath, aItem);
end;
 
var
  i: Integer;
  MediaItemList: THmsScriptMediaItemList;
begin
  MediaItemList := HmsCurrentMediaListItems;
  try
    if MediaItemList.Count > 0 then begin
      HmsShowProgress('Перенос файлов в коллекции...');
      try
        for i := 0 to MediaItemList.Count - 1 do begin
          if HmsCancelPressed then
            Break
          else begin  
            ProcessItem(MediaItemList[i]); 
            HmsSetProgress(Round(((i + 1) / MediaItemList.Count) * 100))
          end  
        end  
      finally
        HmsHideProgress
      end;
      if HmsCancelPressed then
        MessageDlg('Перенос файлов прерван пользователем.', mtError, mbOK, 0)
      else
        MessageDlg('Перенос файлов прошел успешно.', mtInformation, mbOK, 0)
    end else
      MessageDlg('Нет файлов для переноса.', mtError, mbOK, 0)
  finally
    MediaItemList.Free
  end;
  HmsDatabaseAutoSave;
  ProcessMediaResult := True      
end.
Скрипт выполнять, когда текущей является папка "Все фильмы"
Spensr

Re: Планы по развитую программы/Feature Requests

Post by Spensr »

Eugene wrote: Скрипт выполнять, когда текущей является папка "Все фильмы"
Большое спасибо! Все работает как надо.
Post Reply