Пишу, по большей части, про историю, свою жизнь и немного про программирование.

MakeCorner shell

MC Shell (31.42КиБ)

Хочу порекламировать MC Shell — графическую оболочку для моего консольного скруглятора картинок, которую пишет oldTV, в архив программы уже входит моя утилита, так что ничего дополнительно качать не нужно.

30 комментариев
Павел Власов 2011

Shell уже есть, скоро операционка вокруг этого будет. Ну или эйсидиси, как минимум (:

Давно в Windows имена стали case sensitive?

Uncle_Joe (u-joe.blogspot.com) 2011

В брекетах — названии опции в консоли?
Хорошо бы их клавиатурным акселератором сделать (с подчеркиванием).

Евгений Степанищев (bolknote.ru) 2011

Комментарий для Павел Власов:

Давно в Windows имена стали case sensitive?

У меня маска универсальная сделана. Утилиту можно и под Linux использовать, если скомпилировать в ELF.

Евгений Степанищев (bolknote.ru) 2011

Комментарий для u-joe.blogspot.com:

В брекетах — названии опции в консоли?

Они самые.

Хорошо бы их клавиатурным акселератором сделать (с подчеркиванием).

Надеюсь, автор тут появится.

oldTV 2011

Комментарий для Евгения Степанищева:

Спасибо большое за рекламу, мне кажется что продукт получился

Всех прошу оценить и критиковать, но разумно, без фанатизма
По поводу доработок оболочки:

  • постараюсь сделать все, что в моих силах, пишите пожелания
  • часть доработок запланированы на promo-сайте, но скорее все не будут сделаны, немного поменялись идеи, я чуть позже выложу лист ToDo на сайт
Саня 2011

А без изменения ширины картинки ни как?

oldTV 2011

Комментарий для Саня:

Если ширину убрать в оболочке, вернее не устанавливать в оболочке — сама утилита установит значение ширины в 660, по умолчанию или возьмет то, что указано в makecorner.ini. Собственно оболочка делает тоже самое, что и утилита — ставит 660, если нет параметра в ini файле, или берет его из ini, или из профиля.

m-ivanov (ЖЖ) 2011

Выходной каталог есть, а входной где?

Саня 2011

Комментарий для oldTV:

Если ширину убрать в оболочке, вернее не устанавливать в оболочке — сама утилита установит значение ширины в 660

В последней версии makecorner есть автоширина (-wa или -​-​width=auto)

Евгений Степанищев (bolknote.ru) 2011

Комментарий для Саня:

Подтверждаю, всё верно. Только можно писать и -​-​width=a, например :)

oldTV 2011

-клавиши постараюсь добавить
-автоширину сделаю 100, в следующем релизе
-с входным каталогом — ? — сам makecorner.exe не предполагает такой функциональности. Можно конечно добавить такое поведение: запуск оболочки, проверка есть ли во входном каталоге makecorner, если нету — фоновое копирование, далее конвертирование, далее удаление makecorner. Такое поведение потребует еще и проверки прав. Если одобрите — сделаю.

Евгений Степанищев (bolknote.ru) 2011

Комментарий для oldTV:

Можно конечно добавить такое поведение: запуск оболочки, проверка есть ли во входном каталоге makecorner, если нету — фоновое копирование, далее конвертирование, далее удаление makecorner. Такое поведение потребует еще и проверки прав. Если одобрите — сделаю.

Не обязательно. Можно в маске задать путь :)

oldTV 2011

Комментарий для Евгения Степанищева:

тогда уж лучше дополнить маску выбором входного каталога, а саму маску выбором типов файлов (*.jpg; *.png и т. д. и т. п.), т. е. улучшить удобство и фактически привести маску к виду входного каталога, но уйти в маске от некой кастомизации (типа 01*.JPEG2002)

как?

Евгений Степанищев (bolknote.ru) 2011

Комментарий для oldTV:

тогда уж лучше дополнить маску выбором входного каталога, а саму маску выбором типов файлов (*.jpg; *.png и т. д. и т. п.), т. е. улучшить удобство и фактически привести маску к виду входного каталога

В смысле, сделать двумя параметрами то, что делается одним? Зачем? Оно же всё равно будет в одну строку клеиться внутри программы.

но уйти в маске от некой кастомизации (типа 01*.JPEG2002)

Не понял. Убрать маску?

oldTV 2011

Комментарий для Евгения Степанищева:

Жень, ты вот идешь от функциональности, я же иду от GUI
Сейчас у меня там под маску 2 поля и почти тонна обработки для передачи в параметр. Если бы маски не было, как таковой, а был входной каталог с типами файлов переданными через диалоговое окно, то по сути это осталось бы та же маска, но в GUI была бы организована одним единственным диалоговым окном=Хочешь выходной каталог — получаешь каталог + тип обрабатываемых в нем файлов. Тип, но не маску.

Сейчас же реализована маска. Маска=путь (ну я не знал, сорри, моя ошибка), + маска файлов (любая) * + тип файлов (причем любой)

Евгений Степанищев (bolknote.ru) 2011

Комментарий для oldTV:

Тогда конкретнее, что ты предлагаешь передавать на вход?

ЖЖ m-ivanov.livejournal.com 2011

Так я не понял, на данный момент что, программу надо копировать в каждый каталог, в котором надо скруглить картинки? А если у меня их десяток на разных дисках?

Евгений Степанищев (bolknote.ru) 2011

Комментарий для ЖЖ m-ivanov.livejournal.com:

Не надо. В параметре mask можно указать полный путь, главное не забыть в конце маску приделать.

fantom 2011

Закинул в корневую папку с фотографиями (в самом корне нет фотографий, но там разные папки, а в папках еще папки по годам, в папках по годам — по месяцам, в папках по месяцам — по событиям, а потом уже идут jpg, уже предварительно сжатые), поставил галочку «Включить вложенные папки». Не обработало не одной фотографии. Ладно, взял консольную утилиту, закинул в один коталог с некоторым количеством фото, поставил качество 100. На выходе получил фотографии с низким качеством. Можно сделать, что бы при обработке качество не уменьшалось? И что бы программа работала с директориями+выводило всё в директориях?

Евгений Степанищев (bolknote.ru) 2011

Комментарий для fantom:

Не обработало не одной фотографии.

Насколько я понял, это претензия к оболочке, а не утилите?

поставил качество 100. На выходе получил фотографии с низким качеством. Можно сделать, что бы при обработке качество не уменьшалось?

Можно пример фото и ключей?

И что бы программа работала с директориями+выводило всё в директориях?

Этого пожелания не понял.

oldTV 2011

Комментарий для Евгения Степанищева:

На вход предлагаю передавать тоже, что и на выход, с одним но:

  1. Если маска не указана — обрабатывается текущий каталог с типом файлов *.jpg
  2. Если маска указана, то в параметр передаются из диалогового окна 2 момента: путь, тип файлов (*.jpg или *.JPEG). У меня бы в итоге не было 2-х диалоговых окон, а была бы кнопка выбора каталога и по ее обработке — еще и выбор типа

Проверю все заявленные ошибки завтра

Евгений Степанищев (bolknote.ru) 2011

Комментарий для oldTV:

  1. Если маска не указана — обрабатывается текущий каталог с типом файлов *.jpg

Сейчас так и работает.

  1. Если маска указана, то в параметр передаются из диалогового окна 2 момента: путь, тип файлов (*.jpg или *.JPEG). У меня бы в итоге не было 2-х диалоговых окон, а была бы кнопка выбора каталога и по ее

Т. е. что-то вроде -​-​mask=*.{j,J}{p,P}{g,G} -​-​in-dir=C:/tmp/?
А чем это лучше, чем -​-​mask=C:/tmp/*.{j,J}{p,P}{g,G}?

oldTV 2011

Комментарий для Евгения Степанищева:

понял, пусть так и будет как есть. Я добавлю сейчас этот функционал — будет кнопка выбора каталога

fantom 2011

Комментарий для Евгения Степанищева:

Примного извиняюсь за свою глупость, забыл прописать в ключе оригинальный размер фото(width), вместо него стояло значение по умолчанию, естественно по этому и терялось качество.
Проблема в том, что не обрабатывает папки с jpeg, обрабатывает только корневой каталог, без папок. То есть если jpeg в папке, он не обрабатывается.

Евгений Степанищев (bolknote.ru) 2011

Комментарий для fantom:

Проблема в том, что не обрабатывает папки с jpeg, обрабатывает только корневой каталог, без папок.

Там есть ключ «обрабатывать вложенные папки» (-R).

oldTV 2011

Затеял переделку, на неделе выложу все поправки с учетом масок и ширины, немножко переделанный фейс

fantom 2011

Warning: Error parsing D:\Memory\PHOTO\school\makecorner.ini on line 10
 in sqr.php on line 10
Used next values:
-q, -​-​quality=100
-r, -​-​radius=15
-o, -​-​out-dir=out
-w, -​-​width=1024
-R, -​-​recursive=1
-k, -​-​keep-name=1
-b, -​-​background=#ffffff
-m, -​-​mask=*.{j,J}{p,P}{g,G}
-e, -​-​save-exif=0

Create out folder.

Warning: dir(.): failed to open dir: Invalid argument in sqr.php on line 10

Fatal error: Call to a member function on a non-object in sqr.php on line 10

Все файлы на английском.

Евгений Степанищев (bolknote.ru) 2011

Комментарий для fantom:

Это что-то с оболочкой. Текущая версия утилиты с такими параметрами работает.

fantom 2011

Комментарий для Евгения Степанищева:

Изначально проверял без оболочки. Это может быть связано с тем, что нет EXIF в фотографиях?

Евгений Степанищев (bolknote.ru) 2011

Комментарий для fantom:

Попробую без EXIF, спасибо.