[ ]
  • Страница 4 из 6
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • »
Модератор форума: flegont  
MyTTS (форум) » Программы, использующие синтез речи в Windows » Demagog » Скрипты для Demagog
Скрипты для Demagog
flegontДата: Среда, 21.07.2021, 17:05 | Сообщение #1
V.I.P.
Группа: Модераторы
Сообщений: 141
Статус: Offline
Начало темы здесь (ссылка на архивную копию форума mytts.info)

 (6.6 Mb) архивная копия начала текущей ветки с форума mytts.info - для офлайн просмотра и поиска по всем страницам
 
flegontДата: Вторник, 28.11.2023, 22:16 | Сообщение #46
V.I.P.
Группа: Модераторы
Сообщений: 141
Статус: Offline
Да хочется же по быстрому, "копи-пасте" и все дела...  unsure
 
tonio_kДата: Среда, 29.11.2023, 14:55 | Сообщение #47
Группа: Пользователи
Сообщений: 139
Статус: Offline
А можно рабочий скрипт в тестовый файлик прицепить? У меня ошибка выходит после выбора файлов
Прикрепления: 3945952.jpg (133.7 Kb)


Сообщение отредактировал tonio_k - Среда, 29.11.2023, 15:00
 
flegontДата: Среда, 29.11.2023, 16:55 | Сообщение #48
V.I.P.
Группа: Модераторы
Сообщений: 141
Статус: Offline
Вот этот экземпляр только что запускал - работает
 
tonio_kДата: Четверг, 30.11.2023, 15:24 | Сообщение #49
Группа: Пользователи
Сообщений: 139
Статус: Offline
Цитата flegont ()
работает
у меня запустилось yahoo
Функция из шпаргалки:
ExecLua(s) выполнить из Python скрипт Lua, содержащийся в строке s
Вопрос, а тут предусмотрен обмен значениями переменных? Т.е. как можно из питона передать
s='Привет'

В скрипт lua:

ExecLua("print(s..' мир!' ")

Хочу увидеть:

Привет мир!


Сообщение отредактировал tonio_k - Четверг, 30.11.2023, 15:25
 
flegontДата: Четверг, 30.11.2023, 17:09 | Сообщение #50
V.I.P.
Группа: Модераторы
Сообщений: 141
Статус: Offline
# Test ExecLua
from profiles.mygui import ExecLua
from profiles.myfunc import StrSave


# передача инфы в Lua-скрипт через временный файл
s = 'Привет,'
StrSave(s,'qwerty.txt')
ExecLua("s = StrFromFile('qwerty.txt') print(s..' мир!')")


Результат в окне Статистики:

# Python># Test ExecLua.txt

# Lua>

Привет, мир!
 
tonio_kДата: Четверг, 30.11.2023, 17:25 | Сообщение #51
Группа: Пользователи
Сообщений: 139
Статус: Offline
Цитата flegont ()
# Test ExecLuafrom profiles.mygui import ExecLua
from profiles.myfunc import StrSave

Спасибо. Теперь понятно. Этот "импорт из шапки скрипта" надо в шпаргалке обязательно обозначить. Субъективно, если в шпаргалке в описании функции такого импорта нет, то и в голову не придёт, что что-то ещё требуется! И ещё такое специфическое... surprised
 
flegontДата: Четверг, 30.11.2023, 17:42 | Сообщение #52
V.I.P.
Группа: Модераторы
Сообщений: 141
Статус: Offline
Ну, чтобы ни о чем конкретном не беспокоиться, можно обозначать всё разом:

from profiles.mygui import *
from profiles.myfunc import *
 
tonio_kДата: Четверг, 30.11.2023, 18:32 | Сообщение #53
Группа: Пользователи
Сообщений: 139
Статус: Offline
Вот так в рамках эксперимента у меня все работает:
файл hash-test 3.txt открыть в окне Демагога
файл hash-test_DOFILE.txt поместить в корневую папку Demagog
Запускаем выполнение скрипта питона hash-test 3.txt в окне Демагога. Выполняется код питона и в конце выполняется скрипт lua из файла hash-test_DOFILE.txt.
Мне интересно, а как можно содержимое hash-test_DOFILE.txt "впихнуть" в тело скрипта hash-test 3.txt что бы работало?
синтаксис Питона такая хрупкая вещь - что не пробовал - ломается cry Если тут все надо в одну строку прописывать, то лучше я 2 файла оставлю...
Прикрепления: hash_test_3.zip (0.7 Kb)
 
flegontДата: Четверг, 30.11.2023, 22:02 | Сообщение #54
V.I.P.
Группа: Модераторы
Сообщений: 141
Статус: Offline
Хмм... пришло в голову:
Питон в Демагоге понимает те же функции, что и Lua: WOpen() и WText(). (А так же многие другие, название которых начинается с W, например WActive(), WFilter() и т.д.)
Если бы еще открыть питону доступ к функциям Демагога RexRepl() и DicRepl() то вообще к Lua не надо было бы обращаться при специализированной работе питона с текстами.
 
tonio_kДата: Четверг, 30.11.2023, 22:22 | Сообщение #55
Группа: Пользователи
Сообщений: 139
Статус: Offline
Цитата flegont ()
к Lua не надо было бы обращаться
а ещё подумайте над созданием "глобальной текстовой переменной" что бы lua и питон могли эту переменную передавать Демагогу и к ней всегда могли обращаться. Что бы передача была не через файл, а через более быстрого посредника?
 
flegontДата: Четверг, 30.11.2023, 23:08 | Сообщение #56
V.I.P.
Группа: Модераторы
Сообщений: 141
Статус: Offline
И над этим подумаю, спасибо за идею.
 
tonio_kДата: Пятница, 01.12.2023, 11:47 | Сообщение #57
Группа: Пользователи
Сообщений: 139
Статус: Offline
Цитата flegont ()
И над этим подумаю
на счёт глобальной переменной. Я тут вспомнил, что для этих целей и создавалось окно WNew(-1, s) это универсальное решение для обмена текстом между скриптами без создания тестового файла за счёт функционала самого Демагога.


Сообщение отредактировал tonio_k - Пятница, 01.12.2023, 12:36
 
flegontДата: Пятница, 01.12.2023, 12:39 | Сообщение #58
V.I.P.
Группа: Модераторы
Сообщений: 141
Статус: Offline
Согласен. "Невидимое окно" с номером -1 отлично подходит для этих целей.
Осталось еще научить питон понимать RexRepl() - замены в строке именно демагоговскими регекспами - они удобнее питоновского re.replace(). Ну, и за компанию, DicRepl().
Тогда питону (так же, как и Lua) в принципе все демагоговские фишки будут доступны.
 
flegontДата: Пятница, 01.12.2023, 18:09 | Сообщение #59
V.I.P.
Группа: Модераторы
Сообщений: 141
Статус: Offline
Вроде получилось...
По крайней мере, результат теперь совпадает с hash_test_3
Но буду еще проверять
 
tonio_kДата: Пятница, 01.12.2023, 18:16 | Сообщение #60
Группа: Пользователи
Сообщений: 139
Статус: Offline
Цитата tonio_k ()
Мне интересно, а как можно содержимое hash-test_DOFILE.txt "впихнуть" в тело скрипта hash-test 3.txt что бы работало?

разобрался (спасибо, flegont,  за помощь и наводку!) вот так у меня работает:

проблема была опять - в экранировании слешей
Прикрепления: hash_test_4.zip (0.7 Kb)
 
MyTTS (форум) » Программы, использующие синтез речи в Windows » Demagog » Скрипты для Demagog
  • Страница 4 из 6
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • »
Поиск:

Общение