Результаты поиска

  1. A

    ReaScripts (скрипты для Reaper) - Учимся создавать!!!

    Вроде же как-то так: gfx.blit(Image, 1, 0, 0, FrameNumber * FrameHeight, FrameWidth, FrameHeight, x, y, FrameWidth, FrameHeight) Или я чего не понял?
  2. A

    XR air линейка от Беринджера - сбылась мечта ид... маленьких ансамблей?!

    Там всего четыре слота эффектов. Каждый слот можно использовать либо на шине эффектов либо как инсертный. Да, кстати, на некоторых эффектах (у них в названии Dual), есть возможность, когда они поставлены в инсерт, делать разные настройки для разных каналов - в настройках эффекта есть...
  3. A

    XR air линейка от Беринджера - сбылась мечта ид... маленьких ансамблей?!

    @Chehov, если эффекты подключаются в инсерт, то естественно, настройка общая для всех каналов (до двух), куда эффект будет назначен.
  4. A

    ReaScripts (скрипты для Reaper) - Учимся создавать!!!

    Зная, как устроены некоторые GUI фреймворки, пожалуй откажусь. У меня нет столько лишнего времени. ;) Понимаете, в том же, например, ctrlr, чтобы получить крутилку с фреймами из png, программирования надо ровно ноль. Но там да, под капотом помимо Lua еще и JUCE. Что же касается, отрисовки в...
  5. A

    XR air линейка от Беринджера - сбылась мечта ид... маленьких ансамблей?!

    На каждом канале есть свой нойзгейт, эквалайзер и компрессор с индивидуальными настройками на каждом канале. А так вообще, возьмите с сайте XAir Edit и покрутите, софтина без пульта вполне в офлайн режиме работает.
  6. A

    ReaScripts (скрипты для Reaper) - Учимся создавать!!!

    Ну вот чтобы не нужно было ваять на Lua библиотеки для реализации гуя. Пока я вижу, что если кто хочет хоть какой-то гуй в скрипте, он его рисует сам, как может. Либо какую-то готовую библиотеку на Lua (разной степени убогости) использует. Это означает только одно - никаких стандартных...
  7. A

    ReaScripts (скрипты для Reaper) - Учимся создавать!!!

    А где можно вообще примеров посмотреть? Но мне вообще странно наблюдать, что Reaper, предоставляя достаточно богатый API, ничего не делает для стандартизации скриптового GUI.
  8. A

    ReaScripts (скрипты для Reaper) - Учимся создавать!!!

    @Archchie, примерно так:
  9. A

    ReaScripts (скрипты для Reaper) - Учимся создавать!!!

    Ну да. Но, в принципе, если рассматривать как конечную цель именно удаление треков по заполненному в первом проходе списку, то тут можно было, я так думаю, сильно упростить процесс, если в этот список добавлять только те треки, которые подлежат удалению и потом обходиться без анализа del_track...
  10. A

    ReaScripts (скрипты для Reaper) - Учимся создавать!!!

    Потому, что при удалении происходит смещение индексов треков, которые до удаления имели индекс, больше, чем удаляемый. Попробую разобрать на примере. На самом деле это данное мною описание немного неверное. Там возникает не только эта проблема. Еще будут пропускаться элементы, пример выше.
  11. A

    C Сонара на Рипер. Делюсь конфигом и опытом

    @Kazimir6091, я уже писал здесь, что рипер похож на конструктор для гиков. В этом нет ни плохого ни хорошего, это особенность такая, со своими плюсами и минусами. Я пока, именно как для любителя, для себя, однако, другой подходящей альтернативы сонару не нахожу. С другой стороны, если бы сонар...
  12. A

    ReaScripts (скрипты для Reaper) - Учимся создавать!!!

    Нет. Я запросил количество элементов (треков в проекте). В проекте из двух треков их будет, сюрпрайз, два. Это значение и возвращается. Затем создается цикл который проходит по индексам от нуля до 1 (количество треков - 1). То есть цикл выполнится два раза - для индекса 0 и для индекса 1. Если в...
  13. A

    ReaScripts (скрипты для Reaper) - Учимся создавать!!!

    Я нигде не задавал количество элементов. Я запрашивал количество элементов и делал цикл по их индексам. И при одном треке CountTracks конечно же вернет единицу. Знаете, мне кажется, что для новичка полезнее понимание, того, как оно на самом деле сразу, а не потом, чтобы после когнитивный...
  14. A

    ReaScripts (скрипты для Reaper) - Учимся создавать!!!

    Нет, не должна. Не надо путать количество элементов, номер элемента в списке и его индекс. Количество элементов в списке, если он не пуст, больше нуля. Индекс элемента в списке - это не его порядковый номер, это способ адресации элементов. Это, кстати, может вообще не числом быть (в...
  15. A

    ReaScripts (скрипты для Reaper) - Учимся создавать!!!

    Можно так, а можно и цикл другого типа - не со счетчиком, а while (работать будет слегка медленнее). Но цикл от конца в начало списка получается проще для понимания и в реализации. Тут главное - понять проблему, которая возникает при удалении элементов, если идти по списку от начала и при этом...
  16. A

    ReaScripts (скрипты для Reaper) - Учимся создавать!!!

    С точки зрения обучения изменять счетчик цикла внутри тела цикла - моветон. В некоторых компилируемых языках такое даже не компилируется.
  17. A

    ReaScripts (скрипты для Reaper) - Учимся создавать!!!

    @Aleksandr Oleynik, да ничего там крутого. Сотни раз написанная операция удаления элементов из списка по условию - такие вещи на подкорке уже живут. :)
  18. A

    ReaScripts (скрипты для Reaper) - Учимся создавать!!!

    Ну а я всего лишь попытался объяснить, откуда ноги растут. Вот и все. :) На самом деле, если лезть в программирование, то надо понимать, что там, как правило (с некоторыми исключениями), все индексируется с нуля. Но надо быть готовым к индексации любого вида.
  19. A

    ReaScripts (скрипты для Reaper) - Учимся создавать!!!

    @Archchie, я попытался написать то же самое, но иначе. Получилось так: Отличия: 1. Выделение не снимается. 2. Нам не нужен подсчет MediaItem на треке, достаточно попытаться получить первый. Если там nil, то трек пустой 3. Удаление сразу после того, как нашли пустой трек 4. Цикл по трекам - в...
  20. A

    ReaScripts (скрипты для Reaper) - Учимся создавать!!!

    Ну, в Lua индексация массивов обычно - с единицы (но, в принципе, может быть с любого индекса). Поэтому, думается, и перебор индексов делают чаще с 1. Почему в Рипере индексы с нуля, это как раз понятно. Он написан на C, а там индексация с нуля. В большинстве языков программирования ровно точно...
  21. A

    ReaScripts (скрипты для Reaper) - Учимся создавать!!!

    Эммм... Это откуда такое? Я вот в документации не нашел ничего подобного: https://www.lua.org/pil/4.3.4.html Это да, это нужно, но в данном случае проверка была лишней. Там просто цикл не будет выполняться, если CountTracks вернет 0. Когда это будет нужно, тогда и надо переменные заводить...
  22. A

    ReaScripts (скрипты для Reaper) - Учимся создавать!!!

    @Aleksandr Oleynik, я, конечно, пока в этом почти нибумбум, но глядя на этот код, я бы его сократил вообще до трех строк и выкинул совершенно лишние проверки и переменные. for i=0, reaper.CountTracks(0)-1 do reaper.SetMediaTrackInfo_Value(reaper.GetTrack(0, i), "I_SELECTED", 1) end
  23. A

    C Сонара на Рипер. Делюсь конфигом и опытом

    Вот с русскоязычным интерфейсом - соглашусь, пожалуй. Иногда переводы интерфейсов делаются так, что понять трудно, что имеется в виду. Особенно, если используется какая-то специфическая терминология. А вот с кириллицей в операционке при нормально написанных программах проблем не бывает.
  24. A

    C Сонара на Рипер. Делюсь конфигом и опытом

    Кстати о птичках. Вот такой VST MIDI плаг: https://www.kvraudio.com/product/selector-by-vague-software Втягивает сонаровские .ins, выбор банка и патча, 18 настраиваемых параметров под контроллеры. Поиска нет. Разработчик куда-то потерялся.
  25. A

    C Сонара на Рипер. Делюсь конфигом и опытом

    Не, что банк отдельно, программа отдельно - это правильно, в сонаре именно так и в плагине риперовском тоже так же. Это дает возможность выбора программы внутри банка. А вот то, что банк в виде двух - уже фигово. Потому, что хотя это по MIDI и передается двумя сообщениями, сущность-то одна а не...