Можно что-то вроде wav-файлов играть. Но, как уже в ответе говорили, придется менять скважность ШИМ с частотой смены семплов в файле. Как минимум ~20кГц. Микширование — простым сложением уровня сигнала по каналам (возможно — весовым сложением).
А что конкретно нужно-то?
Я к тому, что можно так сильно не извращаться, если нужно монотонную синусоиду воспроизводить с медленно изменяющейся частотой и громкостью: громкость задаем ШИМ'ом, частоту — включением/выключением сигнала на выходе ШИМ'а (если МК позволяет — через DMA и таймеры).
Шим нужен только для управления громкостью. Таймеры позволят генерировать меандр. Внешний синус-генератор сможет из меандра делать нормальную синусоиду, ну а ШИМом можно при помощи доп. транзистора менять амплитуду.
Только все равно это будет не «музыка». Для генерирования музыки нужен полноценный MIDI с кучей ОЗУ и мощным DSP.
При чем здесь «умеет ли дропбокс работать с симлинками»? Сам кое-что так синхронизую (например, самопальные юзерскрипты для огнелиса): в дропбоксе хранится оригинал, а на него уже симлинки везде понатыканы.
Так же можно и с ~/.bashrc сделать, да и прочими файлами (а то и целыми директориями).
А особо богатые могут купить выделенный сервер и хранить там хомяк целиком…
Дык, повесить на событие закрытия крышки от ACPI команду отключения тача (зависит от модели, у меня это synclient). В /etc/acpi/actions/lm_lid.sh лежит скриптик, который по сигналу от крышки запускается. Еще можно напрямую в /etc/acpi/handler.sh прописать его.
А чтобы тачпад или тачскрин отключался при подключении мышки, можно создать простое правило udev:
ACTION==«add», SUBSYSTEM==«input», ENV{DISPLAY}=":0.0", ENV{XAUTHORITY}="/home/eddy/.Xauthority", RUN+="/usr/bin/synclient TouchpadOff=1"
ACTION==«remove», SUBSYSTEM==«input», ENV{DISPLAY}=":0.0", ENV{XAUTHORITY}="/home/eddy/.Xauthority", RUN+="/usr/bin/synclient TouchpadOff=0"
Я делал сишную обертку для библиотечки, написанной на С++ (до сих пор удивляюсь, почему находятся извращенцы, которые пишут библиотеки на «плюсах» вместо нормального С). Если нужно иметь какой-то объект, который используется в разбросанных по разным функциям методах, просто создаете глобальную переменную — указатель на этот объект, а в функциях, использующих его, проверяете на !NULL этот указатель с выдачей соответствующих предупреждений (или автоматической инициализацией объекта, если это возможно).
А синхронизировать это дело как? Проще уж купить нормальный МК (например, ARM какой-нибудь или даже пусть AVR на ~100МГц). Кстати, сигнал-то тоже как-то обрабатывать надо. В общем, смотря что вам нужно делать, но не факт, что и 100МГц хватит!
Насколько далеко? Я когда-то паял из двух витух 30-метровый провод VGA для подключения проектора. Отлично работало. Естественно, 1080p не будет, но 720p возможно даже заработает.
Другой вариант — STM32F0DISCOVERY за 600рублей + ethernet модуль (http://www.ebay.com/itm/ENC28J60-Ethernet-LAN-Network-Module-SPI-Port-For-Arduino-51LPC-AVR-ARM-STM32-G6-/200966953770?pt=LH_DefaultDomain_0&hash=item2eca905b2a) за 120.
kbtsiberkin, зачем усложнять? Можно проще делать: посылка от компьютера имеет, скажем, 1 в бите четности. А посылки от МКшек имеют 0. Сначала компьютер отправляет байт с 1 в бите четности, там записывается номер МКшки (а если их мало, то и команду можно туда же впихнуть). Далее он общается с нужным контроллером, устанавливая 0 в бите четности. Недостаток этой схемы в том, что все МКшки будут пассивными: они не имеют права говорить, пока их не спросят.
А вот если нужно не заниматься фигней, то просто используется CAN-протокол. Или modbus какой-нибудь.
А что конкретно нужно-то?
Я к тому, что можно так сильно не извращаться, если нужно монотонную синусоиду воспроизводить с медленно изменяющейся частотой и громкостью: громкость задаем ШИМ'ом, частоту — включением/выключением сигнала на выходе ШИМ'а (если МК позволяет — через DMA и таймеры).