Когда работа, которую я делаю, не гарантирует пользование библиотекой, я использую эти две функции:
function addClass( classname, element ) {
var cn = element.className;
//test for existance
if( cn.indexOf( classname ) != -1 ) {
return;
}
//add a space if the element already has class
if( cn != '' ) {
classname = ' '+classname;
}
element.className = cn+classname;
}
function removeClass( classname, element ) {
var cn = element.className;
var rxp = new RegExp( "\\s?\\b"+classname+"\\b", "g" );
cn = cn.replace( rxp, '' );
element.className = cn;
}
Вы можете добавлять звуковые эффекты, используя библиотеку CoreAudio. Библиотека CoreAudio состоит из нескольких фреймворков, выполняющих разные задачи - вы можете прочитать об этом здесь .
Кроме того, чтобы сделать что-то столь же легкое, как перетаскивание файла, вы можете взглянуть на действия с папкой на Mac. Вероятно, вы могли бы привязать существующий скрипт python к папке, чтобы он автоматически активировался всякий раз, когда туда помещается файл.
Я не могу вспомнить, можете ли вы запускать сценарии Python непосредственно из действий с папкой или нет, но если нет, вы можете обернуть их AppleScript, используя do shell script
.
Вы можете написать действие Automator для обработки звука с Core Audio, а затем создайте рабочий процесс Automator для выполнения всего задания. Сохраните рабочий процесс как обычно, а затем экспортируйте его как приложение или подключаемый модуль контекстного меню Finder.