2015-11-14 3 views

ответ

4

единственный способ сделать это (в Pd-ванили даже) заключается в следующем:

  1. отправить все сообщения сообщений/ошибок в STDERR (с флагом на -stderr запуска)
  2. перенаправят поток ошибок на стандартный вывод
  3. захватить stdout скриптом, переформатировать его и отправить обратно в Pd через сеть (желательно UDP)
  4. добавить [netreceive], чтобы получить сообщения.

что-то вроде следующего:

$ pd -stderr 2>&1 | while true; do pdsend 9999 localhost udp; done 

и Pd добавьте следующие строки в ваш патч:

[netreceive 9999 1] 
| 
[route error:] 
| 
[list prepend set] 
| 
[list trim] 
| 
[ (

Теперь, когда Pd печатает строку, начинающуюся с "ошибкой:" Эта линия будет появится в msgbox.

Предостережения: это эффективно подавляет все сообщения на Pd-консоли.

+0

Я получаю «-bash: pdsend: command not found». Я озадачен. Могу ли я запустить объект pd из pd, или что, хм? – atonus

+1

'pdsend' - небольшая утилита, которая поставляется с Pd. Где фактическая бинарная жизнь зависит от вашей ОС/установки (о которой вы ничего не обнаружили) –

+0

О, да, я запускаю ее на raspbian wheezy. – atonus

Смежные вопросы