Свежие комментарии

Title Comment
(занудно) вопрос, конечно, еще в том, сколько в этих гигазах

(занудно) вопрос, конечно, еще в том, сколько в этих гигазах вареза платформонезависимого кода, а сколько про макос

ну, это же известный факт жизни. Есть макосный гуй, в котором все API - это взаимодействие ObjC'шных объектов внутри конкретного рантайма

К некоторым конкретным объектам этого рантайма сделан сишный апи, а к некоторым - нет

что в какой-то степени логично, ибо одно дело строки туда-сюда таскать, а другое дело проецировать на плоскость логику того же NSApplication - там страшненько будет и совсем не для людей

Нет, ничего плохого в Obj-C нету. Но с учетом того, что в Qt

Нет, ничего плохого в Obj-C нету. Но с учетом того, что в Qt ~250M исходников на C++ (оценил от фонаря, архив в 290M, но там иконки всякие тоже есть) и немножко (относительно этих 250M) кусочков на Obj-C на мой взгляд свидетельствует о том, что из C/C++ API макоси получить доступ (любой, удобный, эффективный - не знаю) не удалось.

Вряд-ли вкрапления на чуждом языке появляются просто от большой любви к многоязыковому программированию.

А ну тады понятно Меня, видимо, сбила с толку фраза "И так

А

ну тады понятно

Меня, видимо, сбила с толку фраза "И таки да. Это место в Qt обрабатывается куском, написанным на Objective-C", как будто в этом есть что-то плохое.

Потому что в том, что касается маковского рантайма ObjC первичен. К нему бывают "необъектные" интерфейсы, но иногда и не бывают.

То же относится к предыдущему посту про (argc, argv)
они вполне себе есть, просто никакой функции связанной с файлами, которые тебя просит отрыть гуй не несут

Я, естественно, ни о чем таком (Objective C++, CFArrayRef и

Я, естественно, ни о чем таком (Objective C++, CFArrayRef и вообще всем этом) - не знаю, а главное - ведь и не хочу знать. Я абсолютно счастлив от того, что в Qt оно оказалось как-то само работает.

А про документацию - мое недоумение относится именно к Qt. Там есть раздел в документации про Drag-n-Drop (и про многие Mac-specific вещи есть отсылка куда следует (например к QMacPasteboardMime).
Там есть специфичный раздел про Mac. А вот про FileOpenEvent (которое одновременно и про DnD и Mac-specific) в этих доках не упомянуто внятно. Собственно, невнятно - тоже.

> хотя почему ни в Mac-specific-документации, ни в документа

> хотя почему ни в Mac-specific-документации, ни в документации на Drag-n-Drop это место не упомянуто - до сих пор загадка.

подозреваю, что потому что (для совсем родных программ) это место никто явно не зовет, а используют внутри всяких NSDocumentController

Теоретически, на каждый NSчто-то-там должен находиться CF-что-то-там-же

Ну и ты, конечно, знаешь о существовании Objective C++, то есть что тебе никто не мешает из плюсового кода звать кокао в любом месте?
(и превращать CFArrayRef в NSArray и обратно?)

Может это и полный ...., но как-же интересно получается.

Может это и полный ...., но как-же интересно получается.

А справа - говно получается.

А справа - говно получается.

Кстати, лейбл слева от

Кстати, лейбл слева от чекбокса - это против вообще всех гайдлайнов в природе :)

В реальной жизни кнопки

В реальной жизни кнопки управления используются часто. Т.е. "приборный интерфейс", со всеми ручками выведенными на панель - по моему мнению нужен.

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

Не вижу ничего плохого в

Не вижу ничего плохого в данном случае в setStyle(QStyleFactory::create("windows")). Логика тут такая у меня - на маке, вообще говоря, подобный интерфейс в нативном look & feel выглядел бы совсем иначе, типа так - основное окно - только гистограмма, кнопки - сверху на тулбаре, элементы управления - на сайдбарах. Но профессиональный софт имеет право отклоняться от правил и канонов как угодно для удобства этих самых профессионалов: выпускаемый самим Эпплом Logic Pro тому подтверждение. А раз уж идем по этому пути - можно и на нестандартность элементов управления забить.

Да, MS VS мне тоже нравится. К сожалению, под линухи не води

Да, MS VS мне тоже нравится. К сожалению, под линухи не водится ;)

Ну на платформах попроще - у меня другая привычная среда.

Ну на платформах попроще - у меня другая привычная среда.

А Xcode, да, удивил (я его таки завел, потом долго тошнило)

Пока сделал так, покритикуйте

Пока сделал так, покритикуйте если есть минута (продолжаю ничего в маках не понимать):

CFURLRef resurl = CFBundleCopyResourcesDirectoryURL(CFBundleGetMainBundle());
char buf[2048];
if(resurl && CFURLGetFileSystemRepresentation(resurl, true, (UInt8*)buf, 2048))
exifToolPath = QString("%1/exiftool").arg(buf);
if(resurl)
CFRelease(resurl);

А зачем XCode? Оно само падает - даже без Qt. Если уж Qt, то

А зачем XCode? Оно само падает - даже без Qt.
Если уж Qt, то тогда QtCreator. Тоже не сахар, но по крайней мере привычная среда на разных платформах ;)

Да.

Да. CFURLGetFileSystemRepresentation правильнее, хотя я не уверен, есть ли практической разница в современных версиях OS X.

Сам себя уже боюсь!

Сам себя уже боюсь!

(через 15 минут, почитав

(через 15 минут, почитав мануал), правильно ли я понимаю, что
1) Путь до файла exiftool надо конструировать CFBundleCopyResourceURL
2) Конвертировать это с C-style строку - через CFURLGetFileSystemRepresentation ?

Я в этом деле вообще ничего

Я в этом деле вообще ничего не понимаю (и, если честно, хотел бы как можно меньше про это знать), поэтому приведенный кусок кода - просто найден в недрах Qt и использован as is
(CFRelease тоже есть).

В любом случае, спасибо за наводку - заведу в VM такую, в которой другой исходный язык и там тоже потренируюсь.

Лёх - ты монстр!!! (в наилучшем смысле этого слова ;))

Лёх - ты монстр!!! (в наилучшем смысле этого слова ;))

Здравствуйте, А есть ли

Здравствуйте,
А есть ли какой-нибудь простой и понятный способ протестировать адекватность сочетания штатив+голова+тушка+стекло? Причем тестировать грубо говоря в Москве сейчас, а боевое применение -в Непальском треккинге на высотах до 5400. А значит хочется экономить вес, но и ветер там вообще говоря будет внушать.

CFStringGetCStringPtr

Несколько разнородных комментариев:

1. CFStringGetCStringPtr не сработает, если первичный язык в системе стоит русский, надо всегда использовать CFStringGetCString. Вам удалось наткнуться на, по-моему, самое дурное место во всём API - функцию, которой никогда не следует пользоваться.

2. Если я правильно понял, что приведённый кусок кода нужен для обнаружения exiftool, то правильнее использовать что-то вроде CFBundleCopyResourceURL или CFBundleCopySupportFilesDirectoryURL, но никак не ручные манипуляции с CFBundleCopyBundleURL.

3. Чисто на всякий случай, результаты функций с CFCopy и CFCreate в имени надо освобождать CFRelease, а иначе будут утечки памяти.

Подсказать про интеграцию Qt, увы, не могу.

http://www.rawdigger.ru/news/rawdigger-0-9-10-alpha-mac

http://www.rawdigger.ru/news/rawdigger-0-9-10-alpha-mac

квантовая?

А окончания и падежи не считаются как разные слова?

Отчего же с GPLv1. C Artistic

Отчего же с GPLv1. C Artistic

У автора exiv2 можно и

У автора exiv2 можно и разрешение спросить. Таскать с собой самораспаковывающийся perl-бинарник с GPLv1 - брр.

GPL2

GPL2

YASQ: А зачем ExifTool если

YASQ: А зачем ExifTool если можно слинковаться с exiv2?

Спасибо!

Спасибо!

http://www.rawdigger.ru/userm

http://www.rawdigger.ru/usermanual/histograms

Ноль шкалы размещается на уровне 3 стопа (8 раз) ниже, чем максимальное значение пиксела, округленное вверх до ближайшей степени двойки . Например, если максимальное значение среди всех пикселов снимка равно 3000, то ближайшая бОльшая степень двойки - 4096 и уровень EV0 для данного снимка будет автоматически установлен на уровне 512

Это для гистограммы по всему изображению.

Для гистограммы по кусочку - используется EV0 от всего изображения (и это место может глючить).

Если включено "Remember last used Histogram Settings", то EV0 берется от предыдущей (по времени) гистограммы, неважно в этом запуске программы или в предыдущем.

Алексей, обьясни плиз, из

Алексей, обьясни плиз, из каких соображений RawDigger
ставит точку 0Ev на гистограмме в автомате? Вроде попадалось где-то но не нашёл :(

Pages

Subscribe to comments_recent_new