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

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

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

Post by Eugene »

isko wrote:Eugene, спасибо за ссылку на gzip.
Поиск по форуму почему то не находит это сообщение.
Похоже код не индексируется, но google (site:homemediaserver.ru) находит
isko
Posts: 32
Joined: Thu Jan 10, 2013 7:31 am

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

Post by isko »

Eugene wrote:Похоже код не индексируется, но google (site:homemediaserver.ru) находит
Да, получается так. Значит google. :)

Еще вопросик. Вижу имеются возможность поиска с помощью регулярных выражений.
Но не вижу поиска с заменой для рег. выражений. Такой возможности нет?

Если есть то можно какую то ссылку, примерчик?
Eugene
Posts: 2805
Joined: Tue Sep 16, 2008 7:30 pm

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

Post by Eugene »

isko wrote:
Eugene wrote:Похоже код не индексируется, но google (site:homemediaserver.ru) находит
Да, получается так. Значит google. :)

Еще вопросик. Вижу имеются возможность поиска с помощью регулярных выражений.
Но не вижу поиска с заменой для рег. выражений. Такой возможности нет?
Поиска с заменой для рег. выражений нет. В каком случае необходимо ?
isko
Posts: 32
Joined: Thu Jan 10, 2013 7:31 am

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

Post by isko »

Eugene wrote:В каком случае необходимо ?
Сейчас делал парсинг одного сайта, там используются регулярные выражения с выделением блоков символов и заменой их местами. Например $2$4$1$3

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

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

Post by Eugene »

isko wrote:
Eugene wrote:В каком случае необходимо ?
Сейчас делал парсинг одного сайта, там используются регулярные выражения с выделением блоков символов и заменой их местами. Например $2$4$1$3

Пришлось реализовывать вручную, а так было бы удобнее сразу брать используемые выражения.
Попробую добавить
WendyH
Posts: 393
Joined: Fri Apr 13, 2012 7:59 pm

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

Post by WendyH »

Подтверждаю, герэксп замены был бы не лишним однозначно. Ибо, в основном, скрипт - это парсинг. На самом деле частенько
[+] нужен.
Когда isko говорил про $2$4$1$3, то скорее всего он говорил про

Code: Select all

code=code.replace(/(oid=[0-9a-z-]+&id=)([0-9]{2})([0-9]{2})([0-9]+&hash=)([0-9a-z]{3})([0-9a-z]{3})/g,'$1$3$2$4$6$5')
в hdkinoteatr.ru. И у меня так просто решить эту задачу как у isko не прлучилось с ходу. За что ему отдельный привет. На самом деле даже без hdkinoteatr.ru много было случаев его необходимости, уже даже и не вспомнишь где.
Вот у меня самого скопилось кучка пожеланий, чего бы хотелось бы иметь в HMS:
1) Я так и не нашёл функции обратной Chr(), т.е. получить код символа. Поэтому приходилось выкручиваться таблицей с символами и поиска их индекса.

2) Чтобы можно было бы програмно определить, что за вид папки, подкаст это или просто группа, или папка с подкастами.
В классе THmsScriptMediaItem свойство isFolder для всех них включено. Может быть как-то хоть косвено можно узнать?
У меня конкретная задача - при создании дерева подкаста для отображения в визуальной форме настроек я не могу отфильтровать подкасты, каталоги, от простых групп (года и т.п.), для проставления ключей на обновление подкастов.
(Что-то типа свойства ClassID из файлов .hdf может?)

3) В редакторе скриптов кнопочку "Выполнить скрипт по шагам" привязать к горячей клавише (например F10). Да и кнопочку "Вычислить выражение" тоже.
4) Включение какогонибудь окна в редакторе скриптов, может даже как окно поиска по Cntrl-F - немодальное, поверх всех, но с таблицей из двух колонок, в первую колонку которой можно былобы написать что угодно, а во второй колонке выполнялся бы Evaluate текста из первой. Т.е. своеобразный Watch/Immediate/Таблица слежения за переменными.. А еслиб ещё чтобы она обновлялась каждый раз после команды "Выполнить скрипт по шагам", то вообще.. На самом деле это добавило бы кучу удобства. Я был бы просто счастлив. (я достаточно много провожу времени за отладкой скриптов)

5) В штатной загрузке подкастов в программе сделать обработку совпадений и спрашивать пользователя, обновить ли ему данные скриптов в уже существующем подкасте? Чтобы новую версию подкаста скачал и загрузил поверх. это полезно для таких подкастов как Youtube ваш, или мой CastZila, где пользователи обычно добавляют много своих ссылок, папок и проч, и при обновлении подкаста (чтобы обновились скрипты) приходиться удалять подкаст из HMS, а потом загружать новый..
(Пробовал написать свою рекурсивную функцию создания XML из подкаста - даже обрабатывая ограниченный список параметров подкаста, там штук 20 всего, mpiFilePath, mpiDirector и проч - моя функция работала так долго, что я просто поставил крест на этой затее)

6) Да, при сохранении подкаста в файл .hdf сохранялась бы и галочка "Скрипт формирует несколько ссылок". А то при загрузке подкаста приходится её выставлять вручную.

... Что ещё было... вылетело из головы всё.
Вот.
SONY KDL-32CX520
Eugene
Posts: 2805
Joined: Tue Sep 16, 2008 7:30 pm

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

Post by Eugene »

WendyH wrote: 1) Я так и не нашёл функции обратной Chr(), т.е. получить код символа. Поэтому приходилось выкручиваться таблицей с символами и поиска их индекса.
Ord ?
WendyH wrote: 2) Чтобы можно было бы програмно определить, что за вид папки, подкаст это или просто группа, или папка с подкастами.
В классе THmsScriptMediaItem свойство isFolder для всех них включено. Может быть как-то хоть косвено можно узнать?
У меня конкретная задача - при создании дерева подкаста для отображения в визуальной форме настроек я не могу отфильтровать подкасты, каталоги, от простых групп (года и т.п.), для проставления ключей на обновление подкастов.
(Что-то типа свойства ClassID из файлов .hdf может?)

3) В редакторе скриптов кнопочку "Выполнить скрипт по шагам" привязать к горячей клавише (например F10). Да и кнопочку "Вычислить выражение" тоже.
4) Включение какогонибудь окна в редакторе скриптов, может даже как окно поиска по Cntrl-F - немодальное, поверх всех, но с таблицей из двух колонок, в первую колонку которой можно былобы написать что угодно, а во второй колонке выполнялся бы Evaluate текста из первой. Т.е. своеобразный Watch/Immediate/Таблица слежения за переменными.. А еслиб ещё чтобы она обновлялась каждый раз после команды "Выполнить скрипт по шагам", то вообще.. На самом деле это добавило бы кучу удобства. Я был бы просто счастлив. (я достаточно много провожу времени за отладкой скриптов)

5) В штатной загрузке подкастов в программе сделать обработку совпадений и спрашивать пользователя, обновить ли ему данные скриптов в уже существующем подкасте? Чтобы новую версию подкаста скачал и загрузил поверх. это полезно для таких подкастов как Youtube ваш, или мой CastZila, где пользователи обычно добавляют много своих ссылок, папок и проч, и при обновлении подкаста (чтобы обновились скрипты) приходиться удалять подкаст из HMS, а потом загружать новый..
(Пробовал написать свою рекурсивную функцию создания XML из подкаста - даже обрабатывая ограниченный список параметров подкаста, там штук 20 всего, mpiFilePath, mpiDirector и проч - моя функция работала так долго, что я просто поставил крест на этой затее)
Попробую добавить.
WendyH wrote: 6) Да, при сохранении подкаста в файл .hdf сохранялась бы и галочка "Скрипт формирует несколько ссылок". А то при загрузке подкаста приходится её выставлять вручную.
В общем-то так задумано, разработчик (или редактор) подкаста забыл галочку снять: у пользователей вместо списка видео с эскизами, список папок без эскизов. Из двух вариантов выбран (на мой взгляд) менее плохой.
WendyH
Posts: 393
Joined: Fri Apr 13, 2012 7:59 pm

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

Post by WendyH »

Eugene wrote: Ord ?
Ну конечно! Нда.

По поводу 6-го пункта, может тогда программно разрешить менять это свойство? Просто, я чувствую, этой штукой я буду пользоваться всё чаще.
Но тогда надо пользователей просить отдельно выставить эту галку, скачавших подкаст.
А потом вспомни, что писал автор, выкладывая, когда все подкасты уже скачаны в одну папку на диске и отдуда устанавливаются..
Ну, чтобы можно было загрузить подкаст, и он работал бы без лишних телодвижений. Я бы мог в скрипте, если нужно, сам бы тогда эту галку высталвять, при условиях.

В общем-то, у меня подобная проблема и с динамическими папками, которые в подкасте (тоже, всё что в подкасте не сохраняется, и это, в общем-то, нормально).
А динамическую папку вне подкаста тоже не создать. Но тут можно добавить скрипт создания динамических групп в сам подкаст, и его нужно обновить. Так что это какбе решаемо ещё.
А может тоже добавить возможность добавлять такие "группировочные" папки в папки подкаст лент?? По правой кнопке мыши добавить пункт "Добавить группу" или как-нибудь это обозвать.
SONY KDL-32CX520
Eugene
Posts: 2805
Joined: Tue Sep 16, 2008 7:30 pm

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

Post by Eugene »

WendyH wrote: По поводу 6-го пункта, может тогда программно разрешить менять это свойство? Просто, я чувствую, этой штукой я буду пользоваться всё чаще.
Но тогда надо пользователей просить отдельно выставить эту галку, скачавших подкаст.
А потом вспомни, что писал автор, выкладывая, когда все подкасты уже скачаны в одну папку на диске и отдуда устанавливаются..
Ну, чтобы можно было загрузить подкаст, и он работал бы без лишних телодвижений. Я бы мог в скрипте, если нужно, сам бы тогда эту галку высталвять, при условиях.

Code: Select all

  mpiPodcastOptions = 529;  // опции подкаста

  poMediaResourceLinkScriptFolderMode = $01;  // скрипт формирует несколько ссылок
  poPodcastAuthenticationUsePages     = $02;
  poPodcastAuthenticationUseStream    = $04;
  poPodcastProxyServerUsePages        = $08;
  poPodcastProxyServerUseStream       = $10;
Но скорее всего из программы будет удален анализ этой галки и скрипт формирования ссылок будет вызываться всегда, если элемент подкаста это папка.
WendyH wrote: В общем-то, у меня подобная проблема и с динамическими папками, которые в подкасте (тоже, всё что в подкасте не сохраняется, и это, в общем-то, нормально).
А динамическую папку вне подкаста тоже не создать. Но тут можно добавить скрипт создания динамических групп в сам подкаст, и его нужно обновить. Так что это какбе решаемо ещё.
А может тоже добавить возможность добавлять такие "группировочные" папки в папки подкаст лент?? По правой кнопке мыши добавить пункт "Добавить группу" или как-нибудь это обозвать.
Попробую что-нибудь придумать
Eugene
Posts: 2805
Joined: Tue Sep 16, 2008 7:30 pm

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

Post by Eugene »

WendyH wrote: В общем-то, у меня подобная проблема и с динамическими папками, которые в подкасте (тоже, всё что в подкасте не сохраняется, и это, в общем-то, нормально).
А динамическую папку вне подкаста тоже не создать. Но тут можно добавить скрипт создания динамических групп в сам подкаст, и его нужно обновить. Так что это какбе решаемо ещё.
А может тоже добавить возможность добавлять такие "группировочные" папки в папки подкаст лент?? По правой кнопке мыши добавить пункт "Добавить группу" или как-нибудь это обозвать.
В версии 1.30.5 добавлена возможность создания папки с указанным классом, можно использовать для добавления динамической папки в папку лент подкастов через скрипт обработки медиа-ресурсов:

Настройки - Обработка - Добавить

Название: "Добавление папки"
включить "Кнопка на главной форме"

Выражение:

Code: Select all

const
  ciCustomMediaUserFolder = 32;
var
  MediaItem: THmsScriptMediaItem;
  sFolderName: string;
begin
  MediaItem := HmsCurrentMediaTreeItem;
  if (MediaItem <> nil) and InputQuery('Добавление папки', 'Название папки', sFolderName) then begin
    MediaItem.AddFolder(sFolderName, False, ciCustomMediaUserFolder);
    HmsDatabaseAutoSave(False)        
  end
end.
Ok - Ok - Ok

Выбрать папку лент подкастов - "Добавление папки" - указать название - Ok - нажать кнопку Обновить
Post Reply