2015-05-13 2 views
0

Хорошо, поэтому этот вопрос на самом деле состоит из двух частей.Редактирование панели видеоэффектов на VLC для Mac

Я закодировал видеофильтр для VLC, и я хотел бы добавить элемент управления на панель «Видеоэффекты» в интерфейсе OS X. До сих пор я смог связать свой плагин с пользовательским интерфейсом, захватив один из существующих элементов управления, но это не идеально.

Теперь, если я открываю проект Xcode (я бегу Xcode 6.3.1) и попытайтесь открыть файл VideoEffect.xib, я получаю следующее сообщение об ошибке: XCode error message

Я попытался Google, но это звучит как единственная альтернатива - играть археолога и выкапывать старую копию Xcode 3. Есть ли другой способ открыть этот файл и каким-то образом изменить его? Я попытался взглянуть на код XML, но если бы я начал менять это, я бы наносил больше урона, чем пользы.

Вторая вещь, которую я хотел бы сделать, это отправить обратно значения из модуля эффектов в пользовательский интерфейс. На данный момент (на угон один из существующих ползунки), все, что можно сделать, это прочитать значение из панели с

config_ChainParse(p_filter, FILTER_PREFIX, ppsz_filter_options, p_filter->p_cfg); 
p_filter->p_sys->i_factor = var_CreateGetIntegerCommand(p_filter, FILTER_PREFIX "factor"); 

, а затем, внутри функции обратного вызова:

p_sys->i_factor = VLC_CLIP(newval.i_int, 0, 255); 

Однако я не смогли записать значение. Я бы хотел, чтобы фильтр установил p_sys->i_factor на случайное значение при запуске. Это работает (с использованием var_SetInteger()), но не отображается в положении ползунка на панели Video Effect. Я подозреваю, что мне нужно взломать немного глубже. Есть идеи?

ответ

1

Относительно вашего первого вопроса с xib-файлом. Рассмотрите возможность загрузки и использования нашего будущего 3.0-кода из git: //git.videolan.org/vlc.git - он позволяет редактировать указанный файл без Xcode 3.

Что касается вашего второго вопроса, зачем вы хотите, чтобы ваш видеофильтр вмешиваться в пользовательский интерфейс? Это не то, как работает архитектура VLC, и на данный момент нет правильного способа сделать это. Вам нужно будет отредактировать ядро, чтобы выполнить обратный вызов глобальной переменной, чтобы попросить пользовательский интерфейс перезагрузить представленную конфигурацию фильтра. Возможно, если вы сообщите подробности о том, что делает ваш фильтр и чего вы хотите достичь, мы найдем более поддерживаемый способ:

+0

Спасибо, что вернулись ко мне. Я не буду вдаваться в подробности о том, что делает фильтр, но я пытаюсь запустить эксперимент с ним. Пользователь перемещает ползунок и устанавливает фильтр в соответствии с их предпочтительной настройкой. Однако, чтобы избежать предвзятости, я хотел бы, чтобы ползунок начинался с некоторой случайной позиции, а не с «0». Учитывая ограничения времени, которые у меня есть, мне, вероятно, придется как-то это сделать вручную. Но спасибо за отзыв о VLC 3, я посмотрю код как можно скорее. – Roberto

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