Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Indigo Rose AutoPlay Media Studio (часть 2)

Модерирует : gyra, Maz

Widok (30-01-2009 12:11): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

   

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AutoPlay Media Studio часть 2 (часть 1)


Параллельная тема в Варезнике - поиск и обсуждение дополнений и ритейл версий


Где почитать:

Для начала читаем статьи: тут раз или тут раз и два и три
Скриптовый язык LUA (англ) На русском здесь,  еще тут и  тут
Видео-уроки (анг)  
Видео-уроки на YouTube (англ)
Где поживиться:

Видео-уроки (Flash) от производителя (англ)
Тоже официальное видео (англ)
Бесплатные шаблоны (маски) для окон ваших приложений (англ)
"Подарки к Рождеству" на оффсайте (англ)
Плагин LuaCOM (англ)
Примеры для начинающих (англ)
Неплохие примеры, библиотеки (англ)
Еще примеры, один из самых активных юзеров на оффоруме (англ)
Плагины и библиотеки (не все free) (англ)
Еще плагины (англ)
Собрание уроков (иногда с русскими объяснениями)
Где найти ответы на вопросы:

Виды путей, используемых в AMS от GOOSE
Включение\отключение фоновой музыки кнопкой
Вывод HTML отчета с использованием SQLite плагина от IndigoRose
Выделение и копирование в буфер текста\части текста от GOOSE
Для тех, у кого русский проект с "кракозяблами"
Запуск WinRAR'a для распаковки архивов от Reineke
Запуск файлов из Web объекта
Запускаем экзешник по информации из реестра от Lexua
Пример бегущей строки (более красивый способ) от tavria2
Из окна в полноэкранный режим и обратно
Изменяем иконку приложения от Lexua
Изменяем курсор в приложении от GOOSE
Изменяем скроллинг ListBox-у от GOOSE
Используем таймер
Отправка данных из форм по e-mail от GOOSE
Перенос строки во всплывающей подсказке от GOOSE
Альтернативный перенос строки для текста (подходит и для *.ini) от Zloy_Gelud
Показ\скрытие объектов по действиям мыши
Полноэкранный режим для приложения
Последовательный запуск нескольких файлов
Проблема с путями при создании приложения .EXE и ресурсами на CD от Reineke
Проигрвывание MP3 из ListBox-а подряд от UMode
Простой пример бегущей строки от GOOSE
Работаем с запароленными архивами от GOOSE
Работаем с объектом дерева от GOOSE
Ряд вопросов и ответов по созданию меню для DVD от tavria2
Реализация Play-листов для Винампа от BOObastis
Таблица дисков системы от Lexua
Утилита для защиты авторанов
Шапка исправлена. Актуально на 20.08.2008 © NightW0lf

Разработчиков autorun'ов и графических дизайнеров приглашаем посетить проект шаблонов для Autoplay Media Studio:
http://ams-templates.com

 
Список выявленных проблем в AMS 7.0

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 23:07 03-09-2007 | Исправлено: Maz, 12:31 25-09-2017
Drusus



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tavria2
Готовлю для тебя подробный "ответ Чемберлену" .
Собираюсь выложить здесь свой проект просмотрщика картинок, если поглядишь и ткнешь носом в ошибки, буду признателен. Думаю, если его довести до ума, то проект может народу пригодиться.
 
А пока 2 мелких вопроса:
1)каким символом кусок кода перевести в комменты, для строки это двойной дефис, а для целого абзаца?
2)мне нужно условие: если в ThumbList ничего не выбрано, то...
Команды типа noselect не нашёл, а такой вариант работает криво:
 
nIndex = ThumbList.GetSelectedItems("img_list");
if nIndex ~= "CANCEL"  then

Всего записей: 119 | Зарегистр. 03-08-2005 | Отправлено: 19:02 12-09-2007
vistadimix

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Drusus
 

Цитата:
 см. примеры использования Media Player Plugin здесь: http://www.azman.info/ams/  

Спасибо большое! То что нужно, буду рассматривать скрипты в этом примере...
 

Цитата:
и в шапке "Реализация Play-листов для Винампа от BOObastis"

Это я посмотрел в первую очередь - очень познавательно, но не совсем то, что хотел...
А насчёт связи между окон не знаешь? По типу известных видео-плееров...

Всего записей: 46 | Зарегистр. 12-09-2007 | Отправлено: 20:47 12-09-2007
tavria2



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Drusus

Цитата:
каким символом кусок кода перевести в комменты, для строки это двойной дефис, а для целого абзаца?

Код:
--[[
здесь твой
комментарий
]]--

Цитата:
а такой вариант работает криво:  
 nIndex = ThumbList.GetSelectedItems("img_list");  
if nIndex ~= "CANCEL"  then

А, как такое вообще может работать? Ты смотрел справку по действию ThumbList.GetSelectedItems, на предмет, что оно должно возвращать и в каком виде? Похоже, что не смотрел - там даже есть пример в котором выполнение кода происходит при условии, если что-то выбрано. Читай справку.

Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 21:05 12-09-2007 | Исправлено: tavria2, 21:07 12-09-2007
Drusus



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vistadimix
Это в смысле 2 плавающих окна, как у BSPlayer? Не знаю. Может мэтры подскажут...

Всего записей: 119 | Зарегистр. 03-08-2005 | Отправлено: 21:05 12-09-2007
tavria2



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vistadimix

Цитата:
У меня такой вопрос: можно ли создать два отдельных проекта со связью между ними?

Ты можешь создать два отдельных проекта и после запуска первого, произвести из него запуск второго проекта, но общее время загрузки обоих проектов будет желать лучшего. Прямой связи между проектами не получишь. Можно обмениваться данными через реестр или файл INI, для этого необходимо будет использование таймера в обоих проектах, что-бы через определенное время проверять реестр или файл INI на наличие новых данных.

Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 21:29 12-09-2007
vistadimix

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Drusus, tavria2
Одним словом это невозможно... Ясно, огромное спасибо за ответ! Жаль конечно...

Всего записей: 46 | Зарегистр. 12-09-2007 | Отправлено: 21:47 12-09-2007
vistadimix

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день!
У меня есть еще вопросик...
Допустим я сделал интернет-браузер, как мне сделать чтобы загрузку страницы отображал индикатор выполнения (он же прогресс-бар)? Я использую версию 6.0.5.0... Я просто не знаю как связать прогресс бар с загрузкой страницы. Буду очень признателен за обьяснение...

Всего записей: 46 | Зарегистр. 12-09-2007 | Отправлено: 15:03 13-09-2007
GOOSE



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vistadimix не невозможно, а сложно и глючно. Это разные вещи
даю хинт: делаешь проект с маской, разбивающей окно проекта на два (зрительно, конечно )
В одном реализовываешь функции управления, в другом - проигрывания.
Юзер думает, что у него два окошка А на самом деле одно
 
vistadimix
ребят! Вы будете смотреть справку?! В хелпе есть примеры, там все понятно. Плюс качаешь любой пример с прогресс баром, и смотришь. Там ведь все просто. С отображением загрузки вебстранички посложнее, но поэкспериментировать можно
 
 
Добавлено:
tavria2
О! Оригинально!
Я пытался сделать в одном плагине путем удаления "лишних" строк... А так прикольно
Спасибо большое!

----------
AutoPlay Media Studio по-русски!
Русский хелп AutoPlay Media Studio

Всего записей: 903 | Зарегистр. 17-10-2001 | Отправлено: 18:20 13-09-2007 | Исправлено: GOOSE, 18:23 13-09-2007
vistadimix

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GOOSE
 

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

Это то что пришло мне в голову с самого начала... Хотелось по-настоящему...
А насчет связи через .ini-файл... Это очень интересно... К сожалению, еще не придумал как...
Может кто подскажет как записывать и считывать из файла команды (насколько я понимаю)?  
 

Цитата:
ребят! Вы будете смотреть справку?! В хелпе есть примеры, там все понятно. Плюс качаешь любой пример с прогресс баром, и смотришь. Там ведь все просто. С отображением загрузки вебстранички посложнее, но поэкспериментировать можно

В справку я заглядывал... Просто хотелось узнать мнение людей, которые может с таким сталкивались, которые знают как это сделать проще или какой-то альтернативный вариант, какую-нибудь хитрость...
 
Добавлено:
Кстати, буквально только что нашел примерчик, где все это реализовано...
Если кому интересно обьясняю...
1. Создаём два обьекта: веб-обьект и прогресс-бар.
2.В On Preload прописываем:

Код:
Progress.SetCurrentPos("Plugin1", 0)
range = 0

3. В On Show:

Код:
loaded = false
Page.StartTimer(1)

4. В On Timer:

Код:
range = range + .5
Progress.SetCurrentPos("Plugin1", range)
cur_pos = Progress.GetCurrentPos("Plugin1")
if loaded then
    Progress.SetCurrentPos("Plugin1", 100)
        for n=1, 50000 do
        end
            Progress.SetVisible("Plugin1", false)
end
 

5. И в свойствах веб-обьекта в On Loaded:

Код:
Input.SetText("Input1", "")
loaded = true
Progress.SetCurrentPos("Plugin1", 100)

Оказывается всё предельно просто) Правда не очень точно показывает, но всё же свою функцию выполняет. Буду рад если кому-то это тоже пригодится)

Всего записей: 46 | Зарегистр. 12-09-2007 | Отправлено: 20:13 13-09-2007
tavria2



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GOOSE

Цитата:
Я пытался сделать в одном плагине путем удаления "лишних" строк...  

Это не очень хорошая идея. Пока ты вводишь в Input свой фильтр, при каждом введенном символе будет удаляться определенное кол-во строк - вроде-бы все правильно, ну а если прийдется редактировать твой фильтр...?! Например ты ошибся при вводе и начинаешь жать BackSpace, вот тут и начинается засада - тебе прийдется заново заполнять DataGrid и удалять не нужные строки и так при каждом нажатии BackSpace.

vistadimix

Цитата:
А насчет связи через .ini-файл... Это очень интересно... К сожалению, еще не придумал как...  
Может кто подскажет как записывать и считывать из файла команды (насколько я понимаю)?

Я бы рекомендовал вместо INI использовать действия: Application.LoadValue и Application.SaveValue - это упрощенный вариант чтения/записи в/из реестр(а).
 
Например:
Cоздаем два проекта: "Panel.exe" (панель управления) и "Screen.exe" (окно вывода видео). Допустим в проекте "Panel.exe" нажимаем на кнопку "Пуск", которая должна запустить видео в "Screen.exe". Для этого в событии клика кнопки пишем:
Application.SaveValue("Video", "Screen", "START");
  • "Video" - имя раздела в реестре  
  • "Screen" - параметр (данные для "Screen.exe")  
  • "START" - значение параметра (комманда для "Screen.exe")
    В таймере проекта "Screen.exe" проверяем значение параметра "Screen":
    Application.LoadValue("Video", "Screen");
    и далее в зависимости от полученного значения выполняем те или иные действия.
    и т.д.

  • Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 23:45 13-09-2007 | Исправлено: tavria2, 00:39 14-09-2007
    vistadimix

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    tavria2
    Большое спасибо за совет! Обязательно попробую, только в "Screen.exe" нужно прописать какой-то цикл для проверки значений реестра? И еще, "Video" должно содержать полный путь к разделу?

    Всего записей: 46 | Зарегистр. 12-09-2007 | Отправлено: 08:38 14-09-2007 | Исправлено: vistadimix, 08:48 14-09-2007
    GOOSE



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    vistadimix

    Цитата:
    только в "Panel.exe" нужно прописать какой-то цикл для проверки значений реестра?

    Нет не нужно. На вкладке OnTimer пишутся скрипты, которые выполняются по таймеру
    Периодичность ты сам регулируешь буквально двумя строчками кода Запуском и остановкой таймера
    Page.StartTimer(1000); -- запуск таймера каждую секунду
    Page.StopTimer(); --  остановка таймера

    ----------
    AutoPlay Media Studio по-русски!
    Русский хелп AutoPlay Media Studio

    Всего записей: 903 | Зарегистр. 17-10-2001 | Отправлено: 08:55 14-09-2007
    vistadimix

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    GOOSE
    Точно! Совсем забыл о страничном таймере. Так же намного проще. Большое спасибо!

    Всего записей: 46 | Зарегистр. 12-09-2007 | Отправлено: 09:38 14-09-2007
    tavria2



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    vistadimix

    Цитата:
    Обязательно попробую, только в "Screen.exe" нужно прописать какой-то цикл для проверки значений реестра?

    GOOSE правильно тебе советует, только там достаточно и одной строчки:
    Page.StartTimer(100); -- запуск таймера который будет выполнять код в событии On Timer каждые 100 мсек.
    Остановка таймера не нужна, т.к. постоянно нужно проверять реестр на наличие новых команд.
    Проект "Panel.exe" тоже должен иметь таймер для отслеживания команд переданных из "Screen.exe".
     
    Например:  
    Допустим воспроизведение закончилось и необходимо известить об этом проект "Panel.exe" для изменения состояния кнопки "Пуск/Пауза". Для этого в событии таймера "Screen.exe" проверяем текущее состояние видео и если видео завершилось - передаем команду в "Panel.exe":  
    Application.SaveValue("Video", "Panel", "FINISH");  
    В таймере проекта "Panel.exe" проверяем значение параметра "Panel":  
    Application.LoadValue("Video", "Panel");  
    и далее в зависимости от полученного значения выполняем те или иные действия.

    Цитата:
    И еще, "Video" должно содержать полный путь к разделу?

    Ну, так передавай еще один параметр:
    Application.SaveValue("Video", "FileName", "C:\\видео.avi");  
     
    P.S. Все ранее сказанное - это только теория и на практике все окажется гораздо сложнее... Если ты не боишся трудностей, то вперед.

    Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 09:44 14-09-2007
    vistadimix

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    tavria2
    Еще раз спасибо за помощь! Трудности не люблю, но и не боюсь, так что буду пробовать)

    Всего записей: 46 | Зарегистр. 12-09-2007 | Отправлено: 10:09 14-09-2007
    vistadimix

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Добрый вечер всем!
    У меня возник очередной вопрос, который уже пол дня пытаюсь разрешить, но безуспешно...
    Как сделать чтобы если в обьекте "Input" пусто, действие не выполнялось при нажатии на кнопку, которая например производит сложение введённого элемента с заданым?
    Чтобы невозможно было ввести символы и буквы я назначил маску ####
    Подскажите пожалуйста...

    Всего записей: 46 | Зарегистр. 12-09-2007 | Отправлено: 22:50 14-09-2007
    Drusus



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    tavria2, GOOSE, Zloy Gelud, Kindly
     
    Закончил таки я свой просмотрщик картинок. Основан на ваших примерах и советах, всех очень благодарю за помощь. Для доводки до ума привлёк знакомого программиста, он поначалу долго плевался от ограничений скриптового языка APMS (говорил, например, что в любом нормальном языке пропорции картинок ставятся автоматом), но помог. Прошу посмотреть и дать комментарии.
     
    Особенности:
    1) в проекте прописаны пути к папкам с картинками (Autoplay\Images);
    2) в подпапках Full и Small находятся оригиналы и превью с одинаковыми именами;
    3) при показе страницы превью грузятся в Thumblist;
    4) при этом создаются 4 массива с инфой о габаритах превью-картинок и позиции объекта Image (маска) для вывода картинок, а также вычисляются пропорции превью;
    5) на основании полученных превью-пропорций в Image выводятся оригиналы (из-за этого немного, в пределах 1-1,5%, теряем в точности расчётов пропорций и чуть замедляем прелоад страницы, но выигрываем в скорости показа оригиналов);
    6) также реализован просмотр в стандартной виндовой «Программе просмотра изображений и факсов».
     
    ImageViewer with Duo Directories, 1Mb
     
    P.S. Очередной вопрос, как же без него
    Кто-нибудь использует Media Player Plugin? Там вроде всё понятно, но есть одна загвоздка – во всех виденных мной примерах плейлист для плагина формируется в ListBox, соответственно, в плагин файлы передаются не списком, а по одному, из-за чего не работают кнопки Preview-Next. Как заставить его брать файлы из стандартных плейлистов: wpl или m3u? Есть мысль, что для этого нужно вызвать C:\Program Files\Windows Media Player\wmplayer.exe с какой-то dll из той же папки, только вот с какой?

    Всего записей: 119 | Зарегистр. 03-08-2005 | Отправлено: 22:59 14-09-2007
    vistadimix

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    tavria2
    GOOSE
    Кстати, попробывал осуществить связь между двух окон... Работает исключительно! Скорость ответа высокая! Спасибо огромное за совет!

    Всего записей: 46 | Зарегистр. 12-09-2007 | Отправлено: 23:55 14-09-2007
    Devil91

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    tavria2

    Цитата:
    Работа с масками, уже неоднократно обсуждалась. Поищи в первой части форума.

     
    Что-то я не нашел как применить маску к WEB объекту. Подскажите пожалуйста.

    Всего записей: 7 | Зарегистр. 10-09-2007 | Отправлено: 10:23 15-09-2007
    tavria2



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Devil91

    Цитата:
    Что-то я не нашел как применить маску к WEB объекту. Подскажите пожалуйста.

    Думать не хотим, ищем готовые решения?

    Код:
    tProp = Web.GetProperties("Web1"); -- св-ва объекта Web
    hWnd = tProp.WindowHandle; -- handle объекта Web
    Window.SetMask(hWnd, _SourceFolder.."\\Autoplay\\Images\\MyMask.bmp", true, 0); -- применяем маску

    Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 16:58 15-09-2007
       

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102

    Компьютерный форум Ru.Board » Компьютеры » Программы » Indigo Rose AutoPlay Media Studio (часть 2)
    Widok (30-01-2009 12:11): Лимит страниц. Продолжаем здесь.


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru