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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Lexua



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Drusus
К выше сказаному могу добавить, что компиляция проекта как Email/Web Executable значительно ускорит загрузку.

Всего записей: 2844 | Зарегистр. 15-10-2002 | Отправлено: 15:51 21-10-2007
firstdock

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

Цитата:
если можно только две: одна титульная, а во вторую динамический подгружаются

Как именно это сделать??

Всего записей: 29 | Зарегистр. 09-10-2007 | Отправлено: 21:33 22-10-2007
Drusus



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

Цитата:
И почему аж 36 страниц, если можно только две: одна титульная, а во вторую динамический подгружаются указанные в INI данные

У меня приличный опыт создания сложных многостраничных DVD-Video дисков, там число страниц на скорость загрузки особой роли не играет, vob-ы загружаются по мере вызова. Ну и здесь я действовал по тому же принципу.
 
Диск посвящён 15-летию бардовского клуба. Все 15 лет истории надо осветить. Почти для каждого года есть своё фото, аудио, видео, тексты. Соответственно, реализация: титульная страница с 15 кнопками годов; на странице года картинка коллажа, под ней 4 кнопки для вызова контекстных страниц фото, аудио, видео, текстов. Т.е. число страниц может вырасти до 15х5+титул+about=77 (кстати, очень неудобно, что нет в AMS древовидного просмотра страниц проекта).
Уменьшить число страниц можно, наверно, объединием всего фото (и т.д.) в одну страницу. Но как тогда менять содержимое страницы? Для каждого года ведь свои надписи и фото. Слабо представляю, как это загружать через ini-файл.
Сейчас у меня фото, видео и аудио грузятся при OnShow конкретной страницы. Т.е. они не могут давать тормозов авторана. Вопрос, прочие элементы оформления страниц: фон, подписи, кнопки, внедрённая графика грузятся в ОЗУ при старте проекта или при открытии страницы?
 
Lexua
загонять 4,5 Гига в один экзешник, по-моему, перебор
 
 

Всего записей: 119 | Зарегистр. 03-08-2005 | Отправлено: 23:28 22-10-2007 | Исправлено: Drusus, 23:30 22-10-2007
vistadimix

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

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

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте!
Есть такая проблема: на странице существуют Tree, Paragraph, Button; необходимо чтобы
 при нажатии на один из SubItem-ов Tre-я в объекте Paragraph загружался текст из определённого файла а в Button менялся путь к открываемому файлу и соответственно при нажатии на другой SubItem загружался текст из другого файла и изменялся путь к открываемому файлу?
Прошу прошенья если вопрос уже задавался, но я не смог найти ответ в поиске (видимо не так искал)

Всего записей: 1 | Зарегистр. 23-10-2007 | Отправлено: 03:11 23-10-2007
GOOSE



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Drusus
Когда я делал учебный диск жене, там тоже были тексты и видео...  
Тормозило реально
Пришлось оптимизировать.
Убрал максимально возможное количество страниц (при этом код увеличился значительно!)
В итоге удалось достичь приемлемой скорости работы.

Цитата:
Но как тогда менять содержимое страницы?

Показывать\скрывать объекты! При этом не нужен даже INI файл...

Цитата:
кстати, очень неудобно, что нет в AMS древовидного просмотра страниц проекта

Вроде есть

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

Всего записей: 903 | Зарегистр. 17-10-2001 | Отправлено: 10:16 23-10-2007
Lexua



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

Цитата:
загонять 4,5 Гига в один экзешник, по-моему, перебор

А зачем все в екзешник?Нужно только сам проект. А данные(фото, тексты и т.д.) перекинь в отдельную папку. В шапке есть функция Проблема с путями при создании приложения .EXE и ресурсами на CD от Reineke и вперед

Всего записей: 2844 | Зарегистр. 15-10-2002 | Отправлено: 20:02 23-10-2007 | Исправлено: Lexua, 20:07 23-10-2007
servint



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Подскажите пожалуйста как можно сделать следущее:
 
Есть меню бар с меню... Всего 3 пункта.
Каждый пункт меню имеет несколько подменю.
 
Как можно прописать в функцию g_OnUpdateMenuEnabled эти пункты с подменю?
Насколько я знаю функция g_OnUpdateMenuEnabled работает только с одиночными пунктами (без подменю). А мне нужно чтобы действия выполнялись на пунктами с подменю.  
 
Приэтом прописать функцию в глобал и вызывать её со страницы не подходит, т.к нужно чтобы при вызове меню оно настраивалось, так как делает g_OnUpdateMenuEnabled.  
 
Подскажите как это можно реализовать?

Всего записей: 37 | Зарегистр. 02-04-2007 | Отправлено: 20:42 23-10-2007
Zloy_Gelud



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

Цитата:
можно ли в контекстном меню приложения (которое появляется при клике правой кнопкой на значке в системном трее) добавить пунктик, при нажатии на который будет выполнятся то или иное действие в исходном приложении даже если оно свёрнуто?

Наверно те надобно ето (взято из Manuala):
Global Functions

Код:
function g_OnSystemTrayMenu(X, Y)
   tblMenu = {};
   tblMenu[1] ={};
   tblMenu[1].Text = "&New Menu";
   tblMenu[1].ID = 100;
   tblMenu[1].Checked = false;
   tblMenu[1].Enabled = true;
   tblMenu[1].SubMenu = {};
   tblMenu[1].SubMenu[1] = {};
   tblMenu[1].SubMenu[1].Text = "&SubItem 1";
   tblMenu[1].SubMenu[1].ID = 101;
   tblMenu[1].SubMenu[1].Checked = false;
   tblMenu[1].SubMenu[1].Enabled = true;
   tblMenu[1].SubMenu[2] = {};
   tblMenu[1].SubMenu[2].Text = "S&ubItem 2";
   tblMenu[1].SubMenu[2].ID = 102;
   tblMenu[1].SubMenu[2].Checked = false;
   tblMenu[1].SubMenu[2].Enabled = true;
 
   result = Application.ShowPopupMenu(X, Y, tblMenu, TPM_RIGHTALIGN, TPM_BOTTOMALIGN, true, false);
   
   if(result ~= -1)then
       Dialog.Message("Menu Item Selected",result);
   end
end



McCleod

Цитата:
при нажатии на один из SubItem-ов Tre-я в объекте Paragraph загружался текст из определённого файла

Как вариант:

Код:
sNodeIndex = Tree.GetSelectedNode("Tree1");            -- индекс выделенной ноды
sData = Tree.GetNode("Tree1", sNodeIndex).Data;        -- data выд. ноды (содержит путь к файлу!)
sContent = TextFile.ReadToString(sData);            -- содержимое файла
Paragraph.SetText("Paragraph1", sContent);            -- заполняем Параграф

Ну а в Data как ты наверно уже понял содержится путь к файлу с текстом (можешь заполнять как динамически, так и ручками.. =))

Цитата:
а в Button менялся путь к открываемому файлу

Насчет этого несовсем понятно.., но для всяких манипуляций с файлом используй переменную sData для получения путь к файлу.
 
 
 
Добавлено:
Drusus
Hint: Реализация твоего 36-страничного проекта как одностраничного:

  1. On Preload страницы:

    Код:
    sFolder = _SourceFolder.."\\Years\\1";    -- путь к папке 1 года (по умолчанию)

  2. Включи Menu Bar: Главный item будет иметь название к примеру "Года", а subitem'ы будут иметь названия: 1 год, 2 год, 3 год и т. д. Впиши етот код на On Menu страницы:

    Код:
    if (e_ID == 101) then    -- если выбран первый item
        sFolder = _SourceFolder.."\\Years\\1";    -- путь к папке 1 года
    elseif (e_ID == 102) then    -- если выбран второй item
        sFolder = _SourceFolder.."\\Years\\2";    -- путь к папке 2 года и т. д.
    -- # --

    end

    Соотвтественно при клике на опред. item будет изменяться путь к папке с каритнками, видео, музыкой и текстами
  3. Создай четыре кнопки: Button1, Button2, Button3, Button4 соответственно Фото, Аудио, Видео, Текст; Листбокс для отображения имен файлов; Параграф для вывода текстов и вставь MediaPlayer для воспроизведения музыки, видео и картинок.
  4. На On Click кнопки "Фото" всавь след. код:

    Код:
    sSubFolder = sFolder.."\\Photo";    -- путь к папке с фото
    tFileNames = {"*.png", "*.jpg", "*.bmp", "*.gif"};    -- маски рисунков
        for n, cFileName in tFileNames do    --перебираем имена в цикле
            tPathsFile = File.Find(sSubFolder, cFileName, false, false, nil, nil);    -- ищем файлы по маске
                if (tPathsFile) then    -- если рисунки найдены
                    for n, sPathFile in tPathsFile do    -- перебираем в цикле пути файлов
                        ListBox.AddItem("ListBox1", String.SplitPath(sPathFile).Filename, sPathFile);    --выводим в Листбокс имена файлов
                    end
                end
        end

  5. Соответственно добавь такой же код на On Click кнопок "Видео" и "Аудио", изменяя значение переменной sSubFolder на путь к видео или аудио, или папки с текстами, также исправляй таблицу масок.
  6. На On Select Листбокса добавь следующее:

    Код:
    tSelected = ListBox.GetSelected("ListBox1");    -- таблица выделенных индексов
        if (tSelected) then    -- если чтото выделено
            sPath = ListBox.GetItemData("ListBox1", tSelected[1]);    -- путь к выделенному файлу
            MediaPlayer.Load("Plugin1", sPath);    -- воспроизводим файл
        end


  • Как отображать содержимое текстов в Параграфе оставляю тебе..  
    P.S.
    Ну а украшательства всякие там сделаешь сам..  

  • Всего записей: 3266 | Зарегистр. 30-05-2007 | Отправлено: 23:04 23-10-2007 | Исправлено: Zloy_Gelud, 00:50 24-10-2007
    Drusus



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    GOOSE, Lexua, Zloy_Gelud
    Огромное спасибо за предложенные варианты! Хочется сделать грамотно, но и чтоб весь проект с нуля не переписывать. Сейчас есть почва для предметных мыслей.
    Но на простой вроде вопрос ответа не получил: "элементы оформления страниц: фон, подписи, кнопки, внедрённая графика грузятся в ОЗУ при старте проекта или при открытии страницы?". Можно, конечно, это проверить косвенно - создавать проекты с разными вариантами и смотреть скорость загрузки... А точно неизвестно?

    Всего записей: 119 | Зарегистр. 03-08-2005 | Отправлено: 15:39 24-10-2007
    GOOSE



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Drusus
    Мне по крайней мере точно неизвестно... Ибо сам задавался этим вопросом...
    "Танцы с бубнами" вроде предзагрузки видео ПЕРЕД открытием страниц никак не повлияли...
    Думаю, что время "жрет" движек (не знаю точно как, но допускаю) который при большом количестве видео, аудио и пр. "тяжелых" вещей, просто подгружает их (или обработчики) в память...
    Сами разрабы молчат об этом.

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

    Всего записей: 903 | Зарегистр. 17-10-2001 | Отправлено: 19:11 24-10-2007
    vistadimix

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Zloy_Gelud
    Огромное спасибо! Работает, но к сожалению очень медленно(  
    Я поставил на один пункт меню выход из приложения, но выходит он после 2-3 мин после нажатия...
    Нету какого-то альтернативного варианта или поправки? И как насчёт горячих клавишь? Можно назначить?
     
    Нашёл свою ошибку. Теперь работает нормально... Но всё же насчёт горячих клавиш очень интересует вопросик...

    Всего записей: 46 | Зарегистр. 12-09-2007 | Отправлено: 00:43 25-10-2007 | Исправлено: vistadimix, 02:28 25-10-2007
    GOOSE



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

    Цитата:
    можно ли назначит какое-то определённое сочетание клавиш, при нажатии которого (даже если приложение неактивно, свёрнуто в трей) выполняется конкретное действие самим приложением

    Если приложение неактивно, то нельзя.

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

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

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

    Цитата:
    Если приложение неактивно, то нельзя.

    Жаль... Тогда еще один вопрос, можно ли присвоить какое-то действие по двойному нажатию левой кнопкой на иконку проги в трее?
     

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

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Народ! а где можно надыбать плагины к AMS?
    разумеется рабочие, такие например как ComboBox plugin и
    другие

    Всего записей: 13 | Зарегистр. 10-08-2007 | Отправлено: 21:49 25-10-2007
    GOOSE



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gdtu
    Иди сюда
     
    Добавлено:
    vistadimix
    Думаю можно.
    Но не штатными средствами, а через винду...
     
    Вот, пару примеров... Может подойдет чего...
    DynamicTrayMenu.apz
    DynamicTrayMenu2.apz
    Menus.apz

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

    Всего записей: 903 | Зарегистр. 17-10-2001 | Отправлено: 11:11 26-10-2007 | Исправлено: GOOSE, 13:08 26-10-2007
    tavria2



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

    Цитата:
    Насколько я знаю функция g_OnUpdateMenuEnabled работает только с одиночными пунктами...
    Можно и с несколькими... : if (CommandID == 100) or  (CommandID == 200) or (CommandID == 300) then

    Цитата:
     А мне нужно чтобы действия выполнялись на пунктами с подменю.
    С пунктами главного меню - не получится, а вот с подпунктами главного меню, содержащих подменю, можно попробовать следующее:
  • Сохранить структуру подменю пункта
  • Удалить структуру подменю пункта
  • Деактивировать пункт
     
    Для активации этого пункта:
  • Активировать пункт
  • Добавить ранее сохраненную структуру подменю

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

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

    Мужики как вы думаете, почему вот этот скрипт для ListBox  работает,
    А для ComboBox уже для  нет.
     
    tSelected = ListBox.GetSelected("ListBox1");
     
    if tSelected then
        sFilePath = ListBox.GetItemData("ListBox1", tSelected[1]);
        File.Open(sFilePath, "", SW_SHOWNORMAL);
    else
    end
     
    -----------------------------------------------------------------------------------
     
    tSelected = ComboBox.GetSelected("ComboBox1");
     
    if tSelected then
        sFilePath = ComboBox.GetItemData("ComboBox1", tSelected[1]);
        File.Open(sFilePath, "", SW_SHOWNORMAL);
    else
    end
     
    в чем причина никак не пойму

    Всего записей: 13 | Зарегистр. 10-08-2007 | Отправлено: 20:42 29-10-2007
    tavria2



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

    Цитата:
    ... почему вот этот скрипт для ListBox  работает,  
    А для ComboBox уже для  нет.
    Потому-что нужно читать справку, какой тип возвращает GetSelected в "ListBox", а какой в "ComboBox".

    Всего записей: 1127 | Зарегистр. 19-01-2005 | Отправлено: 22:05 29-10-2007 | Исправлено: tavria2, 23:53 29-10-2007
    vistadimix

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

    Цитата:
    Вот, пару примеров... Может подойдет чего...  
    DynamicTrayMenu.apz  
    DynamicTrayMenu2.apz  
    Menus.apz
     

    А где это? Ссылочку можна?

    Всего записей: 46 | Зарегистр. 12-09-2007 | Отправлено: 08:51 30-10-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