Home Technical Talk

Kuadro - Free Reference View Tool

135

Replies

  • lkruel
    Offline / Send Message
    lkruel polycounter lvl 4
    Hi Sugus

    Thanks for the download. I'll look into it, should be possible. thanks for the suggestion
  • lkruel
    Offline / Send Message
    lkruel polycounter lvl 4
    Hi Stephen!

    Glad you like Kuadro. Yeah the autoarrange thing is something in the back of my head. I have a couple of questions for you though, what metrics would you want used to determine the size of an image? The size of the original image?

    And would you be OK with Kuadro just auto arranging on screen and ignoring open windows? Or would it have to respect your other software and work around it?

    There are a tons of ways of skinning this cat, just trying to figure out the most intuitive for the users. Would it arrange top to bottom? Frame the screen? Just tile? It's an interesting problem.

    Thanks for the download.
  • lkruel
    Offline / Send Message
    lkruel polycounter lvl 4
    Hey Stephen,

    Thanks for the answer!

    I'll look into it, I think having square images is a bit of a cop out, I rather at least keep already sized images the proper size and just try to fit them. Because if you went through the trouble or sizing the image and focusing on the area you care about, and then I stomp that work when you auto arrange it's kinda crappy.

    This is a solved problem, someone else already figured out a way to fit rectangles into a larger rectangle, I just need to do a little research into what's the best solution for Kuadro. And yeah, moving multiple images at the same time is also something that has been requested and it's a good feature to have.

    I'll add this to my todo list. I just got Kuadro for mac working yesterday and I have a few new features coming (desaturate image, open images from web, few bugfixes). If anyone has a mac 10.9 or above and would like to be a guinea pig, send me a PM and I'll hook you up with an .dmg.

    I'm hoping to have another release ready in the next couple of weeks.

    Thanks for the feedback!
  • Pac_187
    Offline / Send Message
    Pac_187 polycounter lvl 11
    Hey lkruel,

    I'm really liking Kuadro so far!

    Here's a few things that came to my mind while working with it and would be nice to have.

    Image scaling:
    Holding down CTRL while dragging one of the corners scales the image with the current proportions. Right now if I want to scale a image bigger, I have to drag to scale the canvas and then zoom in.

    Fix image duplication:
    Duplicating an image currently offsets the duplicate a lot from the original,
    thus sometimes ending up outside of my screen, a slight offset (10x10px) from the original position would be enough, since the user is going to reposition it anyway, this should also prevent if from getting offset outside the screen.

    Snapping:
    Snapping to the screen border and other images during movement if they are close together, this could be the first step for an easier image arrangement. Here's an example based on the STEAM-windows, for easier understanding:

    JPnEl3F.gif


    Better image rotation:
    Image Rotation just like in Photoshop when OpenGL is enabled. It's stepless but can also be constrained to 15° steps when a second key is held down.
    Rotation centre should be based on the canvas centre.

    The current implementation of Kuadro is pretty quirky and doesn't allow precise rotation.

    Example from Photoshop:
    37O5o4l.gif


    Keep up the good work!
  • lkruel
    Offline / Send Message
    lkruel polycounter lvl 4
    Hey Pac_187

    Thanks for taking the time to post! Yeah the rotation is kinda janky, I've never been super happy with that implementation myself, I'll have to revisit it at some point.

    Good idea on the Ctrl Resize to scale the image, I'll throw that into the todo list.

    The Duplication issue is an easy fix, right now I offset the image by the image's width so they're side by side, but I guess you're right, just a 20px offset should be plenty.

    And yeah, snapping is on my todo list already, I'll have to think of a good way of solving that one.

    Thanks for the post!

    Luiz
  • lkruel
    Offline / Send Message
    lkruel polycounter lvl 4
    Hey everyone,

    Kuadro version .8 is out!
    Tons of features in this one, 32 bit compatibility, open images from the web, relative paths, and many more.

    Download it for free at:

    http://kruelgames.com/tools/kuadro/

    As always, thanks for the support and suggestions!
  • Pac_187
    Offline / Send Message
    Pac_187 polycounter lvl 11
    Hey,

    thanks for the update, though I'm encountering some issues.

    Using the arrow keys to navigate through the available images sometimes stops working,
    I then have to rescale the canvas first in order to update the canvas and to have the next image show up.

    I think this has something to do with the original scale of the image and the proportions, like it's not always able to fit it to the canvas.


    Duplicating images as well as loading a *.ref file takes a lot of time if the refence-images are part of a folder with a lot of images.

    EDIT: This has NOT been the case in the old version, just tested it again.


    If you need more information or want to do some debugging, I'm happy to help :)
  • lkruel
    Offline / Send Message
    lkruel polycounter lvl 4
    Hey Pac_187,
    Thanks for letting me know, I'll check it out and see if I can make it better.


    Stephen, Glad you liked it =)
  • tsabszy
    Offline / Send Message
    tsabszy greentooth
    Thank you for the updates! The software is getting better and better :)
    Btw, later could you add the "Send to top" option into the right click menu (when i right click on the images, i cannot find that, but it would be a lot more confortable than having to go down to my system tray to do that)
    thx for your hard work! Gonna donate more for sure!
  • lkruel
    Offline / Send Message
    lkruel polycounter lvl 4
    hey tsabszy

    If you hit Spacebar it should send the current image to top, are you looking for something to send all of them to the top? That can certainly be added.

    Thanks!
  • tsabszy
    Offline / Send Message
    tsabszy greentooth
    well, i did not know about that space option. but it's great to know!

    what i was wondering is that there is a "send to top" option now in the right click menu if i click on the system tray icon. and i just would like to have the same option when right i click on the images. if that is possible. thx for your hard work btw!
  • tsabszy
    Offline / Send Message
    tsabszy greentooth
    Sorry, my bad... the space does what i need!
    I thought space only brings pictures to top individually. So never mind!
  • Popeye9
    Offline / Send Message
    Popeye9 polycounter lvl 15
    Been using kuadro for the last couple projects and really loving it. Thanks for putting it out there!
  • lkruel
    Offline / Send Message
    lkruel polycounter lvl 4
    hey Tsabszy, glad spacebar is what you're looking for, I should probably add a right click menu option just in case.

    Popeye9, awesome, glad it's been helpful!
  • lkruel
    Offline / Send Message
    lkruel polycounter lvl 4
    Hey everyone!

    I just finished the Kuadro for OSX port. I have the website ready to go, but wanted to see if anyone here wanted to test it and make sure it works for them. You can grab the .dmg at

    kruelgames.com/tools/kuadro/latest_mac

    Please let me know if you guys run into anything, I'm hoping to go live either tonight or tomorrow
  • lkruel
    Offline / Send Message
    lkruel polycounter lvl 4
    Alright everyone, Kuadro OSX is now officially live.

    Grab it at http://kruelgames.com/tools/kuadro

    Thanks for the support!
  • c.buliarca
    Offline / Send Message
    c.buliarca polycounter lvl 11
    Hi Luiz,

    I've just downloaded Kuadro for mac and can't run it, maybe it's the fact that I have OS X 10.8.5, and not the last version of it. Here is console output for the error:

    4/27/15 1:31:09.921 PM kuadro[279]: Traceback (most recent call last):
    4/27/15 1:31:09.921 PM kuadro[279]: File "/Applications/kuadro.app/Contents/Resources/__boot__.py", line 77, in <module>
    4/27/15 1:31:09.921 PM kuadro[279]: _run()
    4/27/15 1:31:09.922 PM kuadro[279]: File "/Applications/kuadro.app/Contents/Resources/__boot__.py", line 62, in _run
    4/27/15 1:31:09.922 PM kuadro[279]: exec(compile(source, path, 'exec'), globals(), globals())
    4/27/15 1:31:09.922 PM kuadro[279]: File "/Applications/kuadro.app/Contents/Resources/run.py", line 3, in <module>
    4/27/15 1:31:09.922 PM kuadro[279]: from PySide import QtGui, QtNetwork, QtCore
    4/27/15 1:31:09.924 PM kuadro[279]: File "PySide/QtGui.pyc", line 14, in <module>
    4/27/15 1:31:09.924 PM kuadro[279]: File "PySide/QtGui.pyc", line 10, in __load
    4/27/15 1:31:09.924 PM kuadro[279]: ImportError: dlopen(/Applications/kuadro.app/Contents/Resources/lib/python2.7/lib-dynload/PySide/QtGui.so, 2): Symbol not found: ___sincos_stret
    4/27/15 1:31:09.924 PM kuadro[279]: Referenced from: /Applications/kuadro.app/Contents/MacOS/../Frameworks/QtCore.framework/Versions/4/QtCore
    4/27/15 1:31:09.924 PM kuadro[279]: Expected in: /usr/lib/libSystem.B.dylib
    4/27/15 1:31:09.925 PM kuadro[279]: in /Applications/kuadro.app/Contents/MacOS/../Frameworks/QtCore.framework/Versions/4/QtCore
    4/27/15 1:31:09.989 PM kuadro[279]: kuadro Error
    4/27/15 1:31:12.456 PM com.apple.launchd.peruser.501[153]: ([0x0-0x17017].org.pythonmac.unspecified.kuadro[279]) Exited with code: 255
  • lkruel
    Offline / Send Message
    lkruel polycounter lvl 4
    Hey Christian,

    Yeah... it needs to be 10.9 and up. That's what I have installed and there's some backward compatibility issues with packaging the app.

    Sorry
  • Kroma!
    Offline / Send Message
    Kroma! polycounter lvl 9
    The latest version fixed the slow startup! Thanks, this tool just gets better and better :)
  • c.buliarca
    Offline / Send Message
    c.buliarca polycounter lvl 11
    Hi Luiz,

    I've downloaded the last version of Kuadro for windows and I see that it doesn't save the presets anymore. I see that version 0.7.0 save them fine but from 0.8 it doesn't.
  • lkruel
    Offline / Send Message
    lkruel polycounter lvl 4
    Hey Christian,

    That's really weird, I just downloaded .85 from the website and made a new ref without any issues. Do you have any non-ascii characters in your directory or trying to do anything special?
  • c.buliarca
    Offline / Send Message
    c.buliarca polycounter lvl 11
    Hi Luiz,

    I think I've identified the problem, I was trying to save the preset on a different volume than the one I have the references. For example I have the images in f:\refs and I was trying to save them on Desktop or C:\
  • SoM
    Offline / Send Message
    SoM polycounter lvl 6
    My favourite ref viewer so far!
    Would be great if you could scale window and image at the same time :)
  • RN
    Offline / Send Message
    RN sublime tool
    Hello. A few suggestions:

    1) Make the About screen (the list of hotkeys) have a vertical scrollbar and be resizable at least vertically.
    My monitor is 1080p and some of the hotkeys are below the visible area (the window is larger than the screen).

    2) Enable combining more than one image in the same "application instance", so a single Alt+Tab brings all your references to the front.

    3) Add an option to enable the snapping of images between themselves and with the screen geometry.
    If the snapping is on, dragging an image close to another would snap it to the edges of the other. Dragging an image close to the edges of the screen would snap it to that edge of the screen.
  • lkruel
    Offline / Send Message
    lkruel polycounter lvl 4
    Hi Kryzon,

    Thanks for downloading and the feedback.

    I've been meaning to add a scrollbar to the About screen, I'll make sure it's in for the next version.

    Have you tried hitting Spacebar? That should bring all of the reference up together.

    And yeah, snapping would be awesome, I can see adding snapping between the windows fairly easily, against open windows it might be a bit tricker. I'll see what I can do.

    Thanks for stopping by!
  • Tzur_H
    Offline / Send Message
    Tzur_H polycounter lvl 9
    Just wanted to say thanks for making such an awesome tool! Especially awesome when I'm working on my 14" laptop. Always on top and opacity saves my life!
  • Laughing_Bun
    Offline / Send Message
    Laughing_Bun polycounter lvl 17
    Wanted to say thanks as well. I didn't think I really needed this tool, but my god has it been useful. Makes working much more fluid. Thanks!
  • lkruel
    Offline / Send Message
    lkruel polycounter lvl 4
    That's great! Thanks everyone! I'm glad it's been helpful
  • Gaurav Mathur
    Offline / Send Message
    Gaurav Mathur polycounter lvl 13
    Thanks for a wonderful tool and for being accessible and transparent throughout its development. I just voted for snaps functionality with a little donation. :)
  • lkruel
    Offline / Send Message
    lkruel polycounter lvl 4
    Thanks! That certainly greases the wheel :) it's really appreciated!

    I'll look at the snapping amongst themselves, that should be totally doable. Snapping with other windows gets trickier, but might be doable in the Windows version.

    Thanks for the compliments and the donation. I definitely try my best to keep it transparent and develop my tools with the people that live with them :) it's nice to know it's appreciated
  • Justo
    Offline / Send Message
    Justo polycounter
    Yeah, this tool is awesome. I used to use refBoard, but when I tried this I knew there was no goin back. THANK YOU for giving us such an awesome help in our work!

    A few small comments:
    -Don't know if this was fixed in later versions (using 0.8.5), but whenever I open the window to see the shortcuts, it's too big in my 1366x768 screen and I can't resize the window, for which I can't see all shortcuts (pic below).
    -It'd be great if there was a shortcut to Restore All once you press M to minimize all. M is actually the only key I use heh. I know this can be hard since it should be something like a global command since all Kuadro pics will be minimized I guess mmmm...
    -This same thing happened with refBoard: even if they're set to Always on Top, images will go to the background whenever I switch viewports with the space bar in a 3d app (Maya and Max, to be more specific). I don't know what causes this and it's a bit tedious to have to go to the task bar again and Restore All.

    But seriously, they are very small cons to this awesome awesome piece of app. If you never do anything regarding these 3 issues, my love for Kuadro wouldn't diminish in the slightest.

    YOU ROCK
    O
    U

    R
    O
    C
    K


    IiEyYrn.png
  • Zelfit
    Offline / Send Message
    Zelfit polycounter lvl 8
    Great tool.
    But i got few crashes now. If i open new large JPEG about 2500x3500 and press G for the first time, it takes about 10 seconds (which is not a big problem) to convert, but sometimes it just freezes completely and windows says that Kuadro stopped working. I'm on W7x64
  • lkruel
    Offline / Send Message
    lkruel polycounter lvl 4
    Justo- Thanks for the feedback, adding a scrollbar to that window is my next top priority =) The restore all once it's been minimized it's a bit tricky, but I'll look into it!

    Zelfit - Glad you liked it. I'm sorry it's hanging on you when generating the grayscale. I'll do some more testing on that. Thanks for reporting it!
  • Saf
    Offline / Send Message
    Saf polycounter lvl 11
    Paint Through Kuadro on mac not working, maybe because of 10.11 beta.
  • CreativeSheep
    Offline / Send Message
    CreativeSheep polycounter lvl 8
    Paint Through Kaudro ?
  • Saf
    Offline / Send Message
    Saf polycounter lvl 11
    Paint Through Kuadro - When you lock Kuadro's images your mouse events pass through to the application below! This allows you to use Kuadro to trace images in other applications.
    on windows everything works fine
  • CreativeSheep
    Offline / Send Message
    CreativeSheep polycounter lvl 8
    That is what I assumed, thanks :)
  • lkruel
    Offline / Send Message
    lkruel polycounter lvl 4
    Yeah sorry, Paint through is a Windows only feature because it needs to talk to the windows API to make the window invisible to mouse clicks.

    I haven't found a good way of doing that with the MAC yet, but I'm sure one is out there.
  • RN
  • Saf
    Offline / Send Message
    Saf polycounter lvl 11
    or Qt::WA_TransparentForMouseEvents
  • lkruel
    Offline / Send Message
    lkruel polycounter lvl 4
    The QT one didn't work in OSX. and I need to do some research on to how to call OSX flags from Python. Windows has the win32api module that lets me get down to the window low level flags, but I haven't dug deep enough on Mac
  • RN
    Offline / Send Message
    RN sublime tool
    I don't think the Qt one is supposed to work because it's an internal attribute that tells Qt how to propagate mouse events to its own widgets.
    By this point the Qt application has already intercepted the mouse event, so it's too late. This really needs to be done with the OS API.
  • Arookh
    Offline / Send Message
    Arookh polycounter lvl 12
    Hey lkruel!

    We also use Qt for PureRef.
    This is how we do Transparent to mouse events on both Windows and OSX:
    if (transparent)
    {
    
    #ifdef WIN32
       int extendedStyle = GetWindowLong((HWND)winId(), GWL_EXSTYLE);
       SetWindowLong((HWND)winId(),GWL_EXSTYLE, extendedStyle | WS_EX_TRANSPARENT);
    #elif defined APPLE
       NSView* view = (NSView*)window()->winId();
       NSWindow* wnd = [view window];
       [wnd setIgnoresMouseEvents:YES];
    #else
       setWindowFlags(windowFlags() | Qt::WindowTransparentForInput);
    #endif
    
    }
    else
    {
    
    #ifdef WIN32
       int extendedStyle = GetWindowLong((HWND)winId(), GWL_EXSTYLE);
       SetWindowLong((HWND)winId(),GWL_EXSTYLE, extendedStyle & ~WS_EX_TRANSPARENT);
    #elif defined APPLE
       NSView* view = (NSView*)window()->winId();
       NSWindow* wnd = [view window];
       [wnd setIgnoresMouseEvents:NO];
    #else
       setWindowFlags(windowFlags() & (~Qt::WindowTransparentForInput));
    #endif
    }
    

    Hope this helps :)
  • lkruel
    Offline / Send Message
    lkruel polycounter lvl 4
    Awesome! Thanks Arookh!

    The trick was just getting a python library to do all of the NSWIndow stuff. I found one with PyObjC I'll give it a shot this weekend and post back with the update.

    Really appreciate the code though, very nice of you =)
  • lkruel
    Offline / Send Message
    lkruel polycounter lvl 4
    Update: looking at it, Qt on the mac doesn't implement setIgnoresMouseEvents properly. It wraps the NSWindow into a QCocoaWindow and doesn't provide me access to it. It would take recompiling Qt to add the hooks I need. It's doable, but not a small endeavor.
  • RN
    Offline / Send Message
    RN sublime tool
    Are you using C++ or PyQt / PySide?
    Qt has an obscure function QWidget::winId(), which returns a native handle to the widget window.

    In Python it's possible that this returned value is a "PyCObject" and you'll have to use AsVoidPtr to retrieve the handle:
    https://docs.python.org/2/c-api/cobject.html#c.PyCObject_AsVoidPtr

    On OS X I'm not sure if this pointer is from a NSWindow or NSView, but it's the closest thing to what's needed.

    There's also QMacNativeWidget: http://doc.qt.io/qt-5/qmacnativewidget.html#details
  • Sam Hatami
    Offline / Send Message
    Sam Hatami polycounter lvl 17
    Hey! Great job on this very useful app(actually made me do a little donation)!

    1) I'm seconding an internal snap between Kuadro windows.

    2) Don't know if this has been mentioned before, but an auto-arrangement would also be a really cool feature.

    3) One thing I noticed was that it doesn't save a *.ref file on my secondary disc, works fine on my main one. Any idea what could be going on?

    Again, thanks and awesome job!
  • lkruel
    Offline / Send Message
    lkruel polycounter lvl 4
    Hey Kryzon,


    I'm using PySide. I did all of what you said, the trick is that when you get back the PyCObject it's a QCocoaView or a QCocoaWindow. The QCocoaWindow has the NSWindow as one of it's private members, and it's the interface layer to the native NSWindow, unfortunately it doesn't expose the setTransparent command, it calls it in one of its functions, but not in a way that I could use it. The code fix to Qt would be minimal to expose that function and hit it. It'll just take a little bit to get everything building and working.
    Thanks for digging for it though!

    Sam,

    Thanks! Glad you liked it and I appreciate the donation! Everything helps. I'll take a look at the snapping, I fixed the about window yesterday and then got caught on the rabbit hole of OSX api calls, I'll get back on the easier stuff next.

    The one thing I've seen is that Kuadro doesnt like special characters, like accents, or non standard ascii, maybe it's that?

    Thanks once again
  • LuisCherubini
    Offline / Send Message
    LuisCherubini interpolator
    That's a really nice app, I've been using it since Version 0.6, and it's great. Now, I dont need to store more refs in my HD, only reference files. It's cool to have them all linked from the web URL. The logo looks like Mondrian, awesome.
  • PolyHertz
    Offline / Send Message
    PolyHertz polycount lvl 666
    Neat app. All it needs is DDS and Animated GIF support and I'll be able to dump my other image viewers completely :)

    Is there any way to 'select' and close or move multiple windows at once?

    Also found a bug. Steps to reproduce;
    1. ctrl+lmb duplicate image a few times, then close all but one of them.
    2. Scale the image via alt+ctrl+shift+lmb
    3. ctrl+lmb on image again. BOOM. all the closed windows reappear.
135
Sign In or Register to comment.