Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: [wlx/wdx] TCMediaInfo 
Author Message
Loopback



PostPosted: Mon Nov 04, 2024 20:17    Post subject: Reply with quote

AkulaBig wrote:
А вот при преобразовании в часы, минуты, секунды не надо округлять секунды, а потом от этого округления высчитывать продолжительность.

Так в том-то и дело, что сейчас именно так работает TimingFormat. После внесенных в сентябре изменений. И тогда такой вариант был сочтен правильным. И если сейчас

Quote:
Хотелось-бы увидеть эти изменения в плагине, для стандартных форматов продолжительности.


их приводить к одному варианту, то к какому? Потому что сейчас ваш Custom - миллисекунды обрезает, а стандартный TimingFormat - миллисекунды округляет.

AkulaBig wrote:
Это очень тонкий момент. К сожалению под рукой нет учителя математики, чтобы подтвердить правоту этого выражения. Похоже это соответствует правилам именно при преобразовании в часы, минуты, секунды. В любом случае MI работает именно по подобному алгоритму.

Внутренне функция Integer - это дельфийская функция Trunc, которая просто отсекает дробную часть.

AkulaBig wrote:
Как я писал выше, видимо именно так должно происходить преобразование. Может у вас есть толковое словесное описание, как должно происходить преобразование? Я такого в инете не нашел. Я думаю тут причина в том, что есть разница между округлением и преобразованием. Ведь это не округление.

Преобразование так или иначе будет включать в себя избавление от миллисекунд (дробной части). И этот процесс - вопрос реализации. Нет "правильных" и "неправильных", есть просто разные подходы. Если не брать банковскую специфику их три: округление по математическим правилам (Round), до меньшего (Floor) и большего (Ceiling). MediaInfo использует Floor. Плагин тоже использовал его, в сентябре переделали на Round.

AkulaBig wrote:
Дак в этом и дело, что мы не можем отследить алгоритм преобразования.

Исходники MediaInfo открыты...

Ну вот по-видимому оно, в этом файле функция Duration_Duration123. Насколько я могу судить, округления тут не производится.
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group