MeView by Nable

Processing, playback of audio and video
  • Постараюсь, хотя код распухнет, выложить смогу не скоро. Может лучше в KlbrInWin воткнуть 2 байта: movzx eax,al.
    И 1f40 - просто совпадение, на самом деле в верхних байтах eax может быть что угодно, я вместо eax пишу в al - от 1 до 3 байт экономии, + время.
  • Nable wrote:Может лучше в KlbrInWin воткнуть 2 байта: movzx eax,al.
    Лучше, но автор KlbrInWin Диамонд, а его причуда сделать эмуль лучше операционной системы, вместо сохранения совместимости с ней.
    Можешь поговорить с ним, ася и почта у тебя его есть. Если получится - хорошо, нет - тогда, наверное, придётся править код MeView.
    Из хаоса в космос
  • Nable
    Во вложении фронт-энд на основе твоего примера. Там какая-то хр**ь с loadimage_viaIPC();
    Оно не хочет ничего, кроме #main_command_line. Что туда не вставляй.

    Ещё после нажатия на кнопку всё как будто "зависает" - почему? Из-за break? Не могу понять.
    Attachments
    mv_frontend.zip (62.34 KiB)
    Downloaded 368 times
    Из хаоса в космос
  • to Leency
    Ещё вчера разобрался и отписался тебе в ICQ.
  • Интересно, кто ещё, кроме меня скачивал файл, выложенный Leency. И для чего, любопытство или желание помочь?
  • Нашёл баг (может быть ты о нём знаешь), некоторые gif'ы с анимацией отображаются с сильным шумом, если нужно могу выслать пример gif'а. И ещё при загрузке MV долго не отображает фоновый рисунок рабочего стола, в то время как у jpegview такой проблемы нет.
  • Asper wrote:И ещё при загрузке MV долго не отображает фоновый рисунок рабочего стола, в то время как у jpegview такой проблемы нет.[/color]
    По-моему, это был баг ядра. В последней ночной сборке тоже самое?
    Из хаоса в космос
  • Запустил на реальной системе, задержки не замечаю. До этого проверял только на Qemu без графического ускорителя, и в последней твоей сборке также видна задержка при использовании Qemu.
  • Тогда открой autorun.dat

    Code: Select all

    6                          # <- Number of programs in the list
    
    # Program          Parameters  Delay
    /RD/1/MV              BOOT       99    # Set wallpaper
    /RD/1/@RB             <NO>       30    # Desktop right-click menu
    /RD/1/@SS             <NO>       30    # Screensaver
    /RD/1/SETUP           BOOT       30    # Load device settings
    /RD/1/@PANEL          <NO>       30    # Start panel
    /RD/1/ICON            BOOT       10    # Multithread icon
    Замени

    Code: Select all

    /RD/1/MV              BOOT       00    # Set wallpaper
    Возможно, поможет...
    Из хаоса в космос
  • Я вот тут Leency уже писал, что попытался прикрутить MV к HTMLv, и получил циклическую перерисовку окна. Дело в том, что когда в html коде встречается тег img, HTMLv обращается через IPC к MV, тот выводит изображение в окно HTMLv как положено, но при этом зачем-то рисует ещё и своё окошко (во всяком случае оно отображается на панели задач), после чего MV отключается и окно HTMLv снова становится активным. Система генерирует событие о перерисовке окна HTMLv и все снова повторяется по бесконечному кругу.
    Решение вижу в том, чтобы MV, когда его просят через IPC вывести изображение не рисовал своё окно, как это делает например @clip. Во-вторых было бы неплохо если бы MV не завершался, до "особого распоряжения" вызывающей программы, а то получается, что он постоянно включается и выключается, тратя на это время. И наконец в третьих, если уже есть один запущенный экземпляр MV, то дополнительных экземпляров не создавать, а все IPC запросы адресовать тому, экземпляру, который уже был первым запущен.

    Вот здесь
    http://narod.ru/disk/3939846000/HTMLv_0 ... MV.7z.html
    то, что у меня получилось, в архиве есть AZ образ Kolibri, просто запусти в нем HTMLv, он выведет тестовую страницу.
  • Спасибо Leency, попробую...
  • Баг, что MeView получает сообщение о перерисовке, даже когда работает в режиме без окна, уже давно исправлен, правда, пофиксенная версия есть только у Leency, я много чего с того времени исправил (но даже у Leency нет этих версий), но выложу только когда закончу очередную версию, а закончу я её, когда закончу код создания эскизов файлов (наконец-то добавил в свой словарь адекватный перевод слова thumbnails), не раньше, ибо не хочу выпускать версию с мёртвым или нефункциональным недокументированным кодом. И ещё, я где-то уже писал, что при каждой перерисовке нерационально вызывать декодер, а нужно при загрузке страницы один раз [обрабатывать картинки], причём асинхронно, т.е. предварительно обработав текстовую часть, запускать поток, последовательно загружающий картинки, а потом сохраняющий их в удобном виде в кэш, хоть в памяти, хоть в RAW (а лучше RLE RAW) на диске. А вот идея про резидентно сидящий в памяти MV и декодящий картинки всем просящим - в принципе логично, НО: 1)MV может одновременно обрабатывать только один запрос, так что если кто-то захочет его перебить, то прийдётся или ждать (Ждать? Фу...)(и не нужно предлагать мне научить MV обрабатывать список запросов, это не имеет смысла) или запускать ещё один. Так что про "...всем желающим..." можно забыть, каждое предложение должно создавать себе свой экземпляр. Единственное, что меня действительно смущает, что делать, если приложение, призвавшее MV забудет или просто не сможет (по причине собственной внезапной гибели) завершить его?
  • Баг, что MeView получает сообщение о перерисовке, даже когда работает в режиме без окна, уже давно исправлен

    Этого я не знал, подожду новую версию.
    А ты не пробовал с исправленной версией, соединить HTMLv?

    я где-то уже писал, что при каждой перерисовке нерационально вызывать декодер, а нужно при загрузке страницы один раз [обрабатывать картинки], причём асинхронно, т.е. предварительно обработав текстовую часть, запускать поток, последовательно загружающий картинки, а потом сохраняющий их в удобном виде в кэш, хоть в памяти, хоть в RAW (а лучше RLE RAW) на диске.


    Это по-моему неплохая мысль, но некоторые html страницы хранят довольно много графической информации и хранить всю её в памяти не есть хорошо, а вот насчет хранения на диске конечно было бы неплохо, но, что если на компьютере есть только NTFS разделы?

    Так что про "...всем желающим..." можно забыть, каждое предложение должно создавать себе свой экземпляр.


    А разве я писал "...всем желающим...", я имел ввиду чтобы дополнительных экземпляров не создавалось для одного и того же приложения, просто не до конца выразил свою мысль.
    Потому и писал чтобы MV не завершался, до "особого распоряжения" вызывающей программы.

    А насчет
    Единственное, что меня действительно смущает, что делать, если приложение, призвавшее MV забудет или просто не сможет (по причине собственной внезапной гибели) завершить его?

    пусть будет договор о том сколько времени MV ждет сообщения от вызвавшей программы и если в течении этого времени сообщений нет, то пусть себе завершается.
  • Asper думает что можно допускать существование браузера с присутствием отсутствия кэширования?
    И мы уже давно не пешки,
    Мы пули, мы орлы, и решки!
    Война ютит бинарный код,
    Умри, или иди вперед!
  • Who is online

    Users browsing this forum: No registered users and 2 guests