Это краткий документ, который поможет всем, кто хочет внести свой вклад в разработку Sonic Pi. Для этого вам следует попробовать использовать тестовые наборы (и дополнять их).
В Sonic Pi нет базы данных, поэтому тесты намного проще, чем в среднем веб-приложении.
$ cd app/server/ruby/test
$ rake test
Это должно запустить все тесты для вас.
Если у вас есть такая ошибка:
Warning: you should require 'minitest/autorun' instead.
Warning: or add 'gem "minitest"' before 'require "minitest/autorun"'
Возможно, вам потребуется выполнить следующее.
$ gem install test-unit
Sonic Pi — это действительно многопоточная система с коммуникациями через OSC (открытый звуковой контроль), которые передаются между графическим интерфейсом Qt, сервером Ruby и сервером синтеза scsynth. В результате профилирование оказалось сложным.
Вот предложение о том, как можно профилировать элементы Sonic Pi на Ruby. Предполагается, что вы используете Ruby 2.1 или выше.
gem install ruby-prof
build.sh
, а затем ./tinyosc 4557
. Это просто для предоставления приёмника для сообщений OSC, которые отправляются в графический интерфейс через порт 4557. Если вы этого не сделаете, вы увидите некоторые сообщения об ошибках, связанных с соединениями.gem install sonic-pi-cli
— для версии 2.7 dev и выше вам может потребоваться установить из этого репозитория: https://github.com/xavriley/sonic-pi-cli
$ ruby-prof -p multi ./app/server/ruby/bin/sonic-pi-server.rb
$ cat etc/examples/wizard/tilburg.rb | sonic_pi
sonic_pi stop
в новом терминале и затем нажмите Ctrl+C в процессе sonic-pi-server.rb. Это должно создать несколько файлов в корневой папке, содержащих информацию о профилировании.TODO
scsynth
TODO
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )