Помогите создать экшн / кастом экшн / скрипт

  • Автор темы Автор темы @Michael
  • Дата начала Дата начала
@Alex_V, Спасибо! Пошел курить матчасть.

это обусловлено самой системой хранения данных
Вот об этом я тоже вспомнил. Когда-то давно пробовал програмировать на асемблере, еще во времена MS-DOS. Помню, что дроби в машинном коде хранятся и обрабатываются в формате целых чисел или целочисленных выражений(не знаю как правильно обозвать). То-есть машина вычисляет разницу 7.2 - 2.4 также как разницу 72 - 24 и не видит между ними разницы, результат первой только впоследствии предоставляется в виде выражения - результат умножен на 10^-1. Вот это я понимаю под системой хранения и предоставления данных.

Да, там где нужны вычисления и преобразования без потери точности, например, для финансовых расчетов, используются другие форматы хранения вещественных чисел, например BCD:
В каком формате мне работать с числами в LUA, чтобы в приведенном мной примере (4.8-7.2-2.4) было достаточно точности что-бы получить хотя-бы 0,0000пофигпофигпофиг.
В этом-то и была изначальная суть моего вопроса.
 
Последнее редактирование:
В каком формате мне работать с числами в LUA
В Lua есть только один формат чисел, хранится в виде floating point. То есть вариантов нет, от слова совсем. Единственное, что можно тут посоветовать вместо сравнения двух нецелых чисел сравнивать их разницу, взятую по модулю с неким малым значением и если разница меньше этого значения, считать числа равными. Это будет по вычислениям дешевле, чем округление через преобразование в строку.
[DOUBLEPOST=1515506820][/DOUBLEPOST]До кучи.
То-машина вычисляет разницу 7.2 - 2.4 также как разницу 72 - 24 и не видит между ними разницы, результат первой только впоследствии предоставляется в виде выражения - результат умножен на 10^-1.
Машина работает с теми данными которые ей предоставляются, то есть сама по себе она ничего не делает. Другое дело, что в языках высокого уровня могут быть типы данных для которых неявно для пользователя делается умножение чисел на один-два порядка. Но в lua такого нет.
 
бороться с ней вообще не нужно, нужно считать как есть.
Да, я понял суть вопроса. Спасибо!
Проблема в моей невнимательности и округленном выводе на экран. На практике-же это отклонение оказалось совершенно ничтожным и ни на что не влияющим. Формулы работают как надо.

@Alex_V, Спасибо за полезные ссылки и разъяснения. В голове все вроде потихоньку становится на свои места.

Еще раз спасибо всем за участие!
Это все азы конечно-же, но для гуманитариев некоторые из них, как открытие Америки)
 
На практике-же это отклонение оказалось совершенно ничтожным и ни на что не влияющим.
Ну, собственно, да, про это уже и было написано. При вычислении неточность получается где-то в очень малых величинах, ей вполне можно пренебречь. А вот при сравнении тонкости как раз и вылезают. Потому, что хоть и на ничтожно малую величину, но числа таки могут отличаться. Это, как я уже говорил, не баг, а фича и её нужно просто иметь в виду и для сравнения использовать методы обхода неточностей. :)
 
  • Like
Реакции: Buyan
Я тоже сталкивался с подобными "проблемами" при сравнении, но давно уже решил не делать сравнений типпа -
if var1 == var2 then
Всегда делаю -
if var1 >= var2 then
или
if var1 <= var2 then
Потому как очень часто случалось та, что даже, например значение уровня сигнала запомненное один раз, много раз подряд точно не повторялось вообще.
 
Я тоже сталкивался с подобными "проблемами" при сравнении, но давно уже решил не делать сравнений типпа -
if var1 == var2 then
Всегда делаю -
if var1 >= var2 then
или
if var1 <= var2 then
Потому как очень часто случалось та, что даже, например значение уровня сигнала запомненное один раз, много раз подряд точно не повторялось вообще.
Да с этим доводилось раньше сталкиваться. В данном случае сравнения типа if var1 == var2 then не имело места, просто проверял верность уравнения, разница двух частей которого должна была быть равна нулю, а получил единицу. Потом потихонечку разобрался во всем, и понял, что я сам себя обманул. На самом деле отклонение оказалось не столь значительным, единица в минус какой-то степени.
В общем немного устал наверное и не совсем соображал трезво. Но зато получил возможность разобраться в этом вопросе более детально, спасибо участникам форума. Общение многое значит. В моем окружении нету людей, с которыми можно обсудить вопрос подобного рода. Часто доводится разговаривать с неживыми предметами)) которые не отвечают)
Спасибо всем!
 
@Archchie, экшн может и toggle, только у него нет состояния on/off, так что фиг его знает. А какое практическое применение у такого экшна было бы?
 
Подскажите плиз. Когда то скачал в репаке уважаемого @Michael скрипт Script: mpl_Solo MIDI Editor active take track.lua. Установил данный скрипт на кнопку в MIDI editor.
Вопрос: Что нужно добавить в скрипте или где еще, чтобы при нажатии на эту кнопку (включение режима "соло") - она горела, а при выключении соотв. гасла.
Supa75, надо чаще ReaPack синхронизировать.
Михаил обновил скрипт. Теперь скрипт имеет статус (State on/off) и горит! :)
Кино: GIF.gif
 
Последнее редактирование:
  • Like
Реакции: Supa75 и Furqat
А не от kawa есть скрипт?
зачем вам редактировать?

А я хотел чтобы при открытии:
экшн "Options: Toggle window docking" вам в помощь (можно использовать в скрипте).

а вы попробуйте
открыть один миди editor вытащить его из дока—закрыть
Действительно, может это недоработка какая. Напишите баг репортт.
 
Михаил обновил скрипт. Теперь скрипт имеет статус (State on/off) и горит!
Толку от этого ноль. Косяка два:
1) Нету синхронизации, если нажать solo/unsolo в основном треке
2) Нету синхронизации, если перешел на другой айтем, который находится в mute
Так что пускай лучше будет без toggle отображения) Так только запутаешься
 
Последнее редактирование:
  • Like
Реакции: Furqat
@Archchie,
SWS: Select next item, keeping current selection (across tracks)
SWS: Select previous item, keeping current selection (across tracks)
Item: Glue items
 
Не вижу почему-то темы по предложению создания скриптов, пока напишу здесь. Если возможно, хотелось бы скрипт, который работал бы идентично Mixer: Toggle show tracks in folders in mixer, но в TCP. Пока сделал кастом, но визуально не устраивает мелькающее или остающееся select состояние у папок. Чередуется два состояния - collapsed и uncollapsed
 
Последнее редактирование:
Еще обнаружил, что Mixer: Toggle show tracks in folders in mixer перестает работать в том случае, если есть трековый роутинг (треки с посылами не скрываются). Поэтому и здесь пришлось создать кастом, у которого такая же мелочь с select состоянием.
 
@Archchie, теперь выделяются чилдрен треки в микшере) И если есть треки не в паках, они тоже пропадают. Короче пока не вижу смысла все равно. С селектом легко и кастом сделать
 
Последнее редактирование:
@Archchie, спасибо, теперь осталось сделать так, чтобы не скрывались остальные треки) Я так понял он по методу show/hide работает (а не по методу работы папок). Когда пытаюсь открыть папку вручную, она не показывает треки из-за hide состояния чилдренов
Выяснилось, что точно такой же скрипт нужен и для микшера, потому что штатный экшион не работает, если чилдрен треки в роутинге.
Короче что-то должно быть вроде toggle collapse, но не для конкретной выбранной папки, а для всех папок (без селекта). Либо в MCP либо в TCP
 
Последнее редактирование:
@vitalker, проблема то не в этом) У меня давно уже стоит ноль. Если папок много, я хотел одним кликом их все свернуть и развернуть) Для чего уже и сделал два кастом экшиона, но они работают через селект, который меня чисто визуально немного напрягает (ведь я селект не хотел делать, а он сделался)
 
@vitalker,
для TCP:
SWS: Select all folders (parents only)
Script: me2beats_Toggle folder collapsed.lua
для MCP:
SWS: Select all folders (parents only)
Mixer: Show/hide children of selected tracks
Можно еще "скапитанить" и сказать, добавь unselect all tracks, но я выше сказал, мелькает, тоже некрасиво)
 
@borisuperful, в начало каждого добавьте SWS: Save current track selection , а в конец SWS: Restore saved track selection .
Может ещё вам пригодится SWS(не обязательно тут): Toggle between current and saved track selection .
 
@vitalker, во, а в микшере кстати не мелькает уже) в треках мелькает. Да и ладно, в принципе
 
@vitalker, о том, что виден процесс кастома, когда селект на папках появляется и исчезает. В целом можно привыкнуть)
 

Сейчас просматривают