View previous topic :: View next topic |
Author |
Message |
Loopback
Joined: 07 Sep 2009 Posts: 1526
|
(Separately) Posted: Wed May 28, 2025 23:28 Post subject: |
|
|
Orion9 wrote: | умение Autorun каким-то образом сообщать статус долгих операций |
Не очень понятно, что под этим понимается. Долгие операции обычно всё же состоят из каких-то более мелких подопераций, ну выводите состояние через сколько-нибудь штук. А уж формат вывода - тут вообще всё зависит от пользователя, как он захочет, так и сделает. Можно в заголовок, можно подсказкой, можно еще как-нибудь.
AkulaBig wrote: | В DllCall не работает: |
Присвоил переменной util_MI путь к библиотеке - далее всё работает.
Проверяйте тщательно, что в util_MI. Может dll другой битности (скорее всего) или малозаметная ошибка какая. |
|
Back to top |
|
 |
AkulaBig
Joined: 03 Dec 2008 Posts: 328
|
(Separately) Posted: Wed May 28, 2025 23:47 Post subject: |
|
|
Loopback wrote: | роверяйте тщательно, что в util_MI |
Вроде все сто раз посмотрел. Тогда-бы и в TCMediaInfo не работало.
Вот так у меня:
Code: | If AUTORUN_TCARCH = 32 Then
SetEnv /EV util_MI %COMMANDER_PATH%\Utilities\MediaInfo\MediaInfo.dll
Else
SetEnv /EV util_MI %COMMANDER_PATH%\Utilities\MediaInfo\MediaInfo_x64.dll
EndIf |
Вот так давно работает:
Code: | Static sLib = "MediaInfo" & (auX64 ? "_x64" : "") & ".dll"
Static hLib = DllCall("LoadLibrary", _
"wstr", COMMANDER_PATH & "\Utilities\MediaInfo\" & sLib, _
"ptr")
If hLib = 0 Then
Return "Error LoadLibrary " & sLib
EndIf |
Так что надо именно через SetEnv. |
|
Back to top |
|
 |
Orion9

Joined: 01 Jan 2024 Posts: 772
|
(Separately) Posted: Thu May 29, 2025 00:07 Post subject: |
|
|
Loopback wrote: | Можно в заголовок, можно подсказкой, можно еще как-нибудь. |
Вот о "еще как-нибуть" как раз и речь )
Сейчас по сути есть всего два варианта, которые вы перечислили - заголовок и подсказка. Заголовок у меня постоянно занят, а подсказка имеет свои недостатки, главный из которых - неумение обновлять содержимое подсказки без вызова новой подсказки. По идеи нужна отдельная форма или панель для отрисовки прогресса и вывода сообщений, как это сделано, например, в TCIMG, или какой-нибудь значок в статусе, как в моем примере, но я не уверен, что правильно сделал. Может какие-то лучшие и более правильные способы есть для этого.
Добавлено спустя 5 минут:
AkulaBig
Code: | SetEnv /EV util_MI %COMMANDER_PATH%\Utilities\MediaInfo\MediaInfo.dll |
А зачем /EV и почему кавычек в пути нет? |
|
Back to top |
|
 |
Loopback
Joined: 07 Sep 2009 Posts: 1526
|
(Separately) Posted: Thu May 29, 2025 00:32 Post subject: |
|
|
AkulaBig wrote: | Так что надо именно через SetEnv. |
Проверил через SetEnv, работает всё равно.
Orion9 wrote: | А зачем /EV и почему кавычек в пути нет? |
/EV у многих кочует с древних времен, сейчас он просто ничего не делает. Лучше убирать, чтобы не засорять код.
Без кавычек в командной записи можно, если пробелов нет.
Orion9 wrote: | По идеи нужна отдельная форма или панель для отрисовки прогресса и вывода сообщений |
Ну может быть когда-нибудь в Tweaks можно будет засунуть что-то простенькое типа ProgressOn/ProgressSet из Autoit. Не более того и точно не в первую очередь.
С треем и так есть рабочие несложные примеры. |
|
Back to top |
|
 |
AkulaBig
Joined: 03 Dec 2008 Posts: 328
|
(Separately) Posted: Thu May 29, 2025 05:04 Post subject: |
|
|
Orion9 wrote: | По идеи нужна отдельная форма или панель для отрисовки прогресса и вывода сообщений, как это сделано, например, в TCIMG |
Приятно, что вы изменили свое мнение о TCIMG. Я вообще не представляю свою жизнь без прогресс-бара TCIMG. Он стоит вторым пунктом, почему я пользуюсь TCIMG. Первым моя кнопка ПИ.
Orion9 wrote: | А зачем /EV и почему кавычек в пути нет? |
Loopback wrote: | /EV у многих кочует с древних времен, сейчас он просто ничего не делает. |
Присутствует именно по этой причине. В свое время у кого-то скопипастил.
Loopback wrote: | Лучше убирать, чтобы не засорять код. |
Понял, уберу.
Loopback wrote: | Без кавычек в командной записи можно, если пробелов нет. |
Хм. Жестко тестил свою сборку на кавычки именно с путями с пробелами, причем вложенными. От вложенности тоже зависит. Эти записи работали. Ладно, попробую еще раз потестить. Может именно в этом причина.
Добавлено спустя 42 минуты:
Так, условия немного изменились. Когда не загружается сама библиотека, сообщение о ошибке свое. Это как-раз если перепутаны разрядность или неправильный путь.
А сейчас вот эту выдает ошибку:
Code: | Local hMI = DllCall(sLib & "\MediaInfo_New", "ptr")
If hMI = 0 Then
Return "MediaInfo_New returned 0"
Endif |
То-есть не может создать дескриптор. Получается при использовании переменной формат записи должен быть другой. |
|
Back to top |
|
 |
Loopback
Joined: 07 Sep 2009 Posts: 1526
|
(Separately) Posted: Thu May 29, 2025 12:23 Post subject: |
|
|
AkulaBig wrote: | Жестко тестил свою сборку на кавычки именно с путями с пробелами, причем вложенными. От вложенности тоже зависит. Эти записи работали. Ладно, попробую еще раз потестить. Может именно в этом причина. |
Имелось в виду, что в командной записи так можно без кавычек
SetEnv util_MI %COMMANDER_PATH%\Utilities\MediaInfo\MediaInfo.dll
а так, например, нельзя:
SetEnv util_MI %COMMANDER_PATH%\My Utilities\MediaInfo\MediaInfo.dll
Во втором случае надо окавычивать.
Если пробелы появляются из переменной окружения, то это уже не будет проблемой.
Но в принципе, я бы советовал кавычки для строк использовать всегда.
AkulaBig wrote: | А сейчас вот эту выдает ошибку: |
Да, а вот тут действительно есть баг в DllCall с обработкой полного пути dll. Исправлю, а пока можно решить, просто передавая имя модуля без полного пути:
Code: | Static sLib = util_MI
Local sLibName = FileGetName(util_MI)
...
Local hMI = DllCall(sLibName & "\MediaInfo_New", "ptr")
|
|
|
Back to top |
|
 |
Orion9

Joined: 01 Jan 2024 Posts: 772
|
(Separately) Posted: Thu May 29, 2025 12:47 Post subject: |
|
|
Гы-гы...) Если в примере со значком заменить инстансы на 6 и 10:
Code: | Local hWnd = WinFind(AUTORUN_TCHANDLE, _
(AUTORUN_TCARCH = 32 ? "TMyPanel" : "Window"), _
(AUTORUN_TCARCH = 32 ? 6 : 10)) |
И добавить пикселей до 16:
Code: | DllCall("DrawIconEx", _
"ptr", hDC, _
"int", w - 20, _
"int", 1, _
"ptr", hIco, _
"int", 16, _
"int", 16, _
"uint", 0, _
"ptr", 0, _
"uint", 0x0003) |
То "пропеллер" будет вращаться над панелью, что, на мой взгляд, смотрится ещё лучше и интереснее. Но... С 64-битном ТС не всё так однозначно. Loopback, хочу у вас спросить: он что, инстансы динамически нумерует? Вот те' раз... Однако.) А что же делать тогда? Как определять контрол?
Loopback wrote: | /EV у многих кочует с древних времен, сейчас он просто ничего не делает. Лучше убирать, чтобы не засорять код. |
Да, вспомнил. Было такое уже.
Loopback wrote: | Без кавычек в командной записи можно, если пробелов нет. |
Т.е. переменная %COMMANDER_PATH% раскрывается и работает даже с пробелами? Не знал о таком. Думал, что кавычки обязательны, или по крайней мере желательны.
Loopback wrote: | Ну может быть когда-нибудь в Tweaks можно будет засунуть что-то простенькое типа ProgressOn/ProgressSet из Autoit. |
Как ни посмотри, а иметь что-то нужно для таких задач. Вы, например, в последних версиях вставили симпатичную формочку сообщающую об ошибках Autorun, лучше же стало намного.
AkulaBig wrote: | Приятно, что вы изменили свое мнение о TCIMG. |
Разве? ) Не так давно я действительно сравнивал эти две утилиты, но с тех пор ничего не изменялось. Это два похожих, но разноплановых инструмента. Оба пригодятся в хозяйстве, но для разных задач. Например, с помощью TCIMG вы не сможете создавать и изменять переменные окружения процесса TOTALCMD, и это ограничение ничем не обойти. А в Autorun для этого есть функция SetEnv, которую вы сейчас хотите использовать.
AkulaBig wrote: | Я вообще не представляю свою жизнь без прогресс-бара TCIMG. |
Без прогресс-бара я свою жизнь тоже не представляю, но почему этот прогресс-бар должен обязательно быть в TCIMG? )
AkulaBig wrote: | Он стоит вторым пунктом, почему я пользуюсь TCIMG. Первым моя кнопка ПИ. |
С высоким приоритетом в целом согласен, у меня возможность вывода удобных сообщений о статусе операции тоже не на последних ролях, поэтому и написал об этом. Странно, что Loopback придаёт этому низкое значение и приоритет.
AkulaBig wrote: | А сейчас вот эту выдает ошибку: |
А почему вы хотете использовать переменную окружения для этого? Можно же просто создать глобальную переменную дополнительно для этих целей. У меня сейчас так и сделано практически для всех внешних утилит и каталогов первыми строками основного модуля. |
|
Back to top |
|
 |
AkulaBig
Joined: 03 Dec 2008 Posts: 328
|
(Separately) Posted: Thu May 29, 2025 13:05 Post subject: |
|
|
Loopback wrote: | а так, например, нельзя |
Это конечно понятно. Но тут даже более интересная фича. %COMMANDER_PATH% где-то можно и без кавычек использовать, а где-то нельзя. Я имею ввиду не Autorun. В Autorun как-раз можно без кавычек. Проверено. Но от греха подальше закавычил все.
Loopback wrote: | Да, а вот тут действительно есть баг в DllCall с обработкой полного пути dll. |
Ой, хорошо что это не мой косяк. А то я уже волноваться начал
Loopback wrote: | а пока можно решить |
Спасибо, попробую. Кстати, полезное дело я сделал. Помимо выявленного бага еще попутно одну проблемку решил из взаимодействия MI в разных плагинах. Хинты через Autorun отлично подхватывают русский язык. А вот у TCMediaInfo какая-то проблема возникла. Для ее решения пришлось в Autorun вынести подключение языка из функции хинтов в основную. Объяснить трудно. Вот скрины:
Code: | <source name="G_OverallBitRate" field="OverallBitRate/String"/> |
Первый скрин просмотр из MI через TCMI. Второй скрин с подключение языка в Autorun:
Code: | # Установить язык названий параметров
# Set language of parameters
Switch AUTORUN_TCLANG
Case 'RUS'
# Имя DLL в зависимости от разрядности TC
# DLL name depending on discharge TC
Static sLib = "MediaInfo" & (auX64 ? "_x64" : "") & ".dll"
# Static sLib = util_MI
# Загрузить DLL
# Open DLL
Static hLib = DllCall("LoadLibrary", _
"wstr", COMMANDER_PATH & "\Utilities\MediaInfo\" & sLib, _
"ptr")
If hLib = 0 Then
Return "Error LoadLibrary " & sLib
EndIf
# Получить дескриптор DLL
# Get DLL descriptor
Local hMI = DllCall(sLib & "\MediaInfo_New", "ptr")
If hMI = 0 Then
Return "MediaInfo_New returned 0"
Endif
Local lng_MI = _
"file://" & COMMANDER_PATH & "\Utilities\MediaInfo\ru.csv"
DllCall(sLib & "\MediaInfo_Option", _
"ptr", hMI, "wstr", "Language", "wstr", lng_MI, _
"wstr")
# Удалить дескриптор DLL
# Delete DLL descriptor
DllCall(sLib & "\MediaInfo_Delete", "ptr", hMI)
EndSwitch |
Я не думаю, что это глюк. |
|
Back to top |
|
 |
Loopback
Joined: 07 Sep 2009 Posts: 1526
|
(Separately) Posted: Thu May 29, 2025 13:18 Post subject: |
|
|
Orion9 wrote: | он что, инстансы динамически нумерует? |
А что такое инстанс? Это просто порядковый номер контрола.
И в x64 есть проблема, что некоторые контролы создаются со значительной задержкой. С этой проблемой сталкивались в ModifyDialog. Autorun пытается найти контрол с определенным экземпляром, но в момент поиска некоторые контролы еще не созданы, в результате получает либо неправильный контрол, либо вообще не может его найти.
Orion9 wrote: | Т.е. переменная %COMMANDER_PATH% раскрывается и работает даже с пробелами? |
Да, главное чтобы строку мог прочитать парсер, а пробелы, которые возникнут внутри после раскрытия переменной уже не страшны.
Orion9 wrote: | симпатичную формочку сообщающую об ошибках Autorun, лучше же стало намного. |
Ну там было несколько резонов: и в целях лучшей читабельности значений, и возможности поменять шрифт на моноширинный, и лучшая стабильность под х64, и возможность продолжить/прервать скрипт. Прогресс мне представляется намнооого менее полезным и применимым.
Orion9 wrote: | Странно, что Loopback придаёт этому низкое значение и приоритет. |
Потому что Autorun не интерактивное графическое приложение, с диалогами, статусными строками и тому подобным. Таким приложением является тотал, а Autorun лишь дополнение к нему.
Orion9 wrote: | Первый скрин просмотр из MI через TCMI. |
Каким образом и где производится просмотр? |
|
Back to top |
|
 |
AkulaBig
Joined: 03 Dec 2008 Posts: 328
|
(Separately) Posted: Thu May 29, 2025 13:29 Post subject: |
|
|
Loopback wrote: | передавая имя модуля без полного пути |
Да, так работает. Но в загрузке библиотеке надо использовать переменную util_MI.
Добавлено спустя 10 минут:
Orion9 wrote: | Без прогресс-бара я свою жизнь тоже не представляю, но почему этот прогресс-бар должен обязательно быть в TCIMG? ) |
Элементарно, Кэп. Потому что его нет в Autorun Ну и даже если он появится в каком-то простейшем варианте, меня это не устроит. Мне-же надо выводить проценты после определенных шагов операций.
Orion9 wrote: | А почему вы хотете использовать переменную окружения для этого? |
Потому что даже в файле autorun.example.cfg именно этот метод показан.
Добавлено спустя 7 минут:
Loopback wrote: | Каким образом и где производится просмотр? |
Просто запустил просмотр пользовательских колонок, сформированных в плагине TCMediaInfo. Почему-то единицы измерения на английском показывает. А по Ф3 на русском. Вообще не понятно. Наверное мы немного офтопим. Вообще-то это к TCMediaInfo относится. Но мы и не так офтопили. Поэтому сердце мое спокойно С другой стороны проблема TCMediaInfo решается через Autorun. Вроде-бы все по теме.
Добавлено спустя 5 минут:
Orion9
Кстати, вы-же забраковали мой набор пользовательских колонок со всеми существующими значениями. А я тут запускал его именно в альбоме каком-нибудь. Нормально смотрится, когда файлы из одного альбома. |
|
Back to top |
|
 |
Loopback
Joined: 07 Sep 2009 Posts: 1526
|
(Separately) Posted: Thu May 29, 2025 22:32 Post subject: |
|
|
AkulaBig wrote: | Почему-то единицы измерения на английском показывает. |
Потому что используется поле OverallBitRate/String. Такие поля (уже содержащие единицы) встроенной в плагин системой перевода не переводятся. |
|
Back to top |
|
 |
AkulaBig
Joined: 03 Dec 2008 Posts: 328
|
(Separately) Posted: Thu May 29, 2025 22:39 Post subject: |
|
|
Loopback wrote: | Такие поля (уже содержащие единицы) встроенной в плагин системой перевода не переводятся.
|
Значит я прикольную фичу нашел. Если подключить родной язык, все переводится. |
|
Back to top |
|
 |
Orion9

Joined: 01 Jan 2024 Posts: 772
|
(Separately) Posted: Thu May 29, 2025 23:48 Post subject: |
|
|
Loopback
GetSelectedItems действительно быстрее стала работать, проверил сейчас. Изначально хотел вставить такую строку:
Code: | If GetSelectedItems(3, 0) = '' And GetCurrentItem(3, 2) = 0 Then |
Чтобы проверять наличие объекта под курсором, когда на панели ничего не выделено. Иначе ТС выкидывает MessageBox при выполнении команды cm_CopyHdrFileDetailsToClip. Но на больших списках скорости все-равно недостаточно. Поэтому решил, что лучше сначала посылать команду cm_GoToFirstEntry, если под курсором пусто, и только потом делать повторную проверку. Также убрал обнуление массивов, теперь и без этого работает, спасибо за фиксы в новой версии. Ниже последний код функции для подсчета значений в колонках:
 Hidden text Code: | RegisterCommand 62015 "Summarize"
Global SUM_THREAD = 0, SUM_MX = 0, SUM_MY = 0
Func Summarize(lParam)
If SUM_THREAD > 0 Then
SUM_THREAD = 0
Sleep(250)
Return
EndIf
If Not IsPressed(0x11) Then
MouseGetPos("SUM_MX", "SUM_MY")
SumUpColumns(1)
Return
EndIf
# CTRL запуск потока
RunThread ThreadSumCustomView
EndFunc
Func ThreadSumCustomView()
Local i
SUM_THREAD = 1
MouseGetPos("SUM_MX", "SUM_MY")
While SUM_THREAD > 0
SumUpColumns(0)
For i = 1 To 10
If SUM_THREAD = 0 Or (IsPressed (0x11) And IsPressed (0x1B)) Then
SUM_THREAD = 0
ShowHint("Операция прервана")
Break
EndIf
Sleep(50)
Next
Wend
SUM_THREAD = 0
EndFunc
Func SumUpColumns(lWait = 0)
Local txt, i, j, T1 = GetUptime()
If GetCurrentItem(3, 2) = 0 Then
SendCommand(2049, 0, 1) #cm_GoToFirstEntry
Endif
If GetCurrentItem(3, 2) = 0 Then
ShowHint("Index = 0", SUM_MX, SUM_MY, 1000, 1)
Return
EndIf
ShowHint("Clipboard Waiting", SUM_MX, SUM_MY, (lWait ? "" : 1000), (lWait ? "" : 1))
Local bReady = false, sMsg
Local aSel = List(), aCol = List(), _
aVal = List(), aRow = List()
SendCommand(2090, 0, 1) # cm_CopyHdrFileDetailsToClip
txt = ClipGet()
If StrLen(txt) > 0 Then
bReady = true
aSel.Text = txt
EndIf
If StrPos(aSel[0], auTAB) = 0 Then
bReady = false
sMsg = "Clipboard Data Incorrect"
Endif
If Not bReady Then
If lWait Then
ShowHint(sMsg, SUM_MX, SUM_MY)
Else
ShowHint(sMsg, SUM_MX, SUM_MY, 1000, 1)
Endif
Free(aSel, aCol, aRow, aVal)
Return
Endif
aCol.Split(aSel[0], auTAB)
aVal.Count = aCol.Count
txt = ""
For j = 1 To aSel.Count - 1
aRow.Split(aSel[j], auTAB)
For i = 0 To aRow.Count - 1
If StrPos(aRow[i], Chr(160)) Then
aRow[i] = StrReplace(aRow[i], Chr(160), "")
EndIf
If IsNumber(aRow[i]) Then aVal[i] += aRow[i]
Next
Next
For j = 0 To aCol.Count - 1
txt &= aCol[j] & ": " & aVal[j] & auCRLF
Next
Local TL = Round(GetUptime() - T1, 0) / 1000
txt &= "---" & auCRLF & _
"Selected: " & aSel.Count - 1 & auCRLF & _
"Powered by Autorun.wdx" & auCRLF & _
"Время операции: " & StrFormat("%.3f", TL) & " sec"
Free(aSel, aCol, aRow, aVal)
If lWait Then
ShowHint(StrTrim(txt), SUM_MX, SUM_MY)
Else
ShowHint(StrTrim(txt), SUM_MX, SUM_MY, 1000, 1)
Endif
EndFunc
|
Код, конечно, можно ещё пересматривать и дорабатывать, но сделать пока этого не смогу.
Loopback wrote: | А что такое инстанс? Это просто порядковый номер контрола. |
А когда он присваивается, на стадии проектирования или при запуске процесса?
Я думал, это значение постоянное и надежное, и что оно не должно меняться на лету. Autorun тут ни при чём. Я смотрел через Autoit v3 Windows Info. Если в ТС х86 строка состояния левой панели всегда равна TMyPanel5, то в ТС х64 значение инстанса данного элемента меняется прямо на ходу в зависимости от общего числа элементов интерфейса, которые отображаются в окне ТС, т.е. кнопки дисков, выпадающий список дисков, панель инструментов и т.д. Для удобства я использовал TCFS2, чтобы сразу убирать и добавлять по несколько элементов. Строка состояния левой панели при этом болтается как маятник - то Window 7, то Window 6, то опять Window 7, то снова Window 6. Но даже если просто через меню "Настройки" -> "Вид окна" убирать или добавлять компоненты по одной галочке, значение инстанса будет становиться другим, например Window 9 или Window 5, короче, таким, каким ему вздумается. Хочу еще раз отметить: такое происходит только в х64. В обычном 32-битном ТС всё нормально, хотя я не проводил глубоких тестов. Но вы видите у себя такую проблему?
Loopback wrote: | Потому что Autorun не интерактивное графическое приложение, с диалогами, статусными строками и тому подобным. |
Ну, вы так расписываете, словно вам действительно ставят задачу сделать из Autorun интерактивное графическое приложение ) На деле лишь просят добавить 1-2 формы для более удобного вывода сообщений и отображения статуса операций. В общем, нужно что-то вроде эквивалента командам infbx и prgrs в TCIMG. Если это возможно сделать, хотелось бы увидить в будущих версиях.
AkulaBig wrote: | Мне-же надо выводить проценты после определенных шагов операций |
Ну так сам прогресс-бар и запрос к Loopback как раз об этом.
AkulaBig wrote: | Потому что даже в файле autorun.example.cfg именно этот метод показан. |
Да, давненько я не открывал этот файл. Вижу, есть в нём некоторые изменения. А установкой переменных окружения в зависимости от разрядности я тоже пользуюсь, например:
 Hidden text Code: | If SYSINFO_OSARCH = 64 and AUTORUN_TCARCH = 32 Then
SetEnv COMMANDER_SYSTEM32 "%windir%\Sysnative"
Else
SetEnv COMMANDER_SYSTEM32 "%windir%\system32"
EndIf
SetEnv NIRSOFT "%COMMANDER_PATH%\Utilites\NirSoft\NirSoft"
If SYSINFO_OSARCH = 64 Then
SetEnv NIRSOFT %"NIRSOFT & '\x64'"
Endif
|
AkulaBig wrote: | Кстати, вы-же забраковали мой набор пользовательских колонок со всеми существующими значениями. А я тут запускал его именно в альбоме каком-нибудь. Нормально смотрится, когда файлы из одного альбома. |
Где же я его забраковал, если я как раз писал, что нормально смотрится только на похожих файлах, например дискографиях исполнителей. А альбомы и есть составная часть дискографий. |
|
Back to top |
|
 |
Loopback
Joined: 07 Sep 2009 Posts: 1526
|
(Separately) Posted: Fri May 30, 2025 01:15 Post subject: |
|
|
Orion9 wrote: | А когда он присваивается, на стадии проектирования или при запуске процесса? |
Он не присваивается, он определяется порядком, в котором в макете диалога создаются контролы. Или порядком, в каком они создаются при создании в рантайме. Когда начинается поиск контрола с определенным классом, первый найденный считаем 1, второй - 2 и т.д. Так что можно считать "на стадии проектирования".
Но это в обычных окнах, да и c формами Delphi всё ок. А вот в Lazarus, на котором пишется TC64, что-то странное. Возможно, там есть какой-то механизм "ленивой" загрузки формы, который создает контролы не сразу, а постепенно. Как иначе объяснить такое поведение я не знаю.
Orion9 wrote: | Если это возможно сделать, хотелось бы увидить в будущих версиях. |
Ну я же написал, что возможно. Но не сейчас.
Orion9 wrote: | Да, давненько я не открывал этот файл. |
Там много лет ничего практически не менялось. Перед релизом надо будет обновить, конечно. |
|
Back to top |
|
 |
AkulaBig
Joined: 03 Dec 2008 Posts: 328
|
(Separately) Posted: Fri May 30, 2025 04:15 Post subject: |
|
|
Orion9 wrote: | Да, давненько я не открывал этот файл |
Я тоже давно. Но смотрел.
Orion9 wrote: | нормально смотрится только на похожих файлах, например дискографиях исполнителей. А альбомы и есть составная часть дискографий. |
Ну да. |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|