1. 02 Jan, 2021 1 commit
  2. 01 Jan, 2021 1 commit
  3. 31 Dec, 2020 2 commits
  4. 22 Nov, 2020 1 commit
  5. 31 Oct, 2020 1 commit
  6. 30 Oct, 2020 2 commits
    • Jonathan Wilkes's avatar
    • Jonathan Wilkes's avatar
      snap to closest grid line until we've travelled half the distance to the next · fc2f67c4
      Jonathan Wilkes authored
      This gives what is to me smoother and more predictable snapping motion with
      respect to the current mouse position.
      
      For example-- imagine the grid cell size is 10 and the selected object under
      the mouse already has its top left corner aligned with vertical grid line #2.
      
      If I begin dragging that object to the left, within a single pixel of motion
      it will snap to vertical grid line #1 which is 9 pixels away from the
      object's current position.
      
      With this commit, the user must drag the object cellsize / 2 pixels before it
      snaps to a new position.
      
      To me this seems smoother as it rounds to the nearest grid line rather than
      to the grid line with the smallest coordinate value.
      fc2f67c4
  7. 29 Oct, 2020 1 commit
    • Jonathan Wilkes's avatar
      allow different grid sizes (factors of 100 for now, but easily changed) · 6dc3d006
      Jonathan Wilkes authored
      We also keep a partially transparent version of a grid for editmode. This
      allows us to keep editmode visually distinct from runmode, even if snap-to-grid
      isn't turned on.
      
      If needed it's pretty easy to make the following changes:
      
      * set the "big" cell size to something that isn't 100 (but I'm not sure how
        much control over the grid we actually want to give users-- e.g., setting
        the big cell to something for which the small cell isn't a factor
      * allow snap-to-grid to be set independently for each canvas. (But again,
        what would be the use case for this?
      6dc3d006
  8. 24 Oct, 2020 2 commits
    • Albert Gräf's avatar
      Add a global method to keep the watchdog happy while the GUI is busy. · f822bea0
      Albert Gräf authored
      For some reason, GUI operations which run for extended periods of time
      may cause the engine to crash with a SIGHUP error on Linux. Apparently
      this is caused by the watchdog bailing out and taking the engine with
      it. This affects the new print operation as well as the existing message
      operation in the file menu, possibly also search index generation for
      the help browser, and maybe some other operations that still need to be
      identified.
      
      The new gui-busy method lets the GUI set an internal flag in the engine
      which makes the engine keep the watchdog happy while the GUI does its
      thing, using the same mechanism that is already in place to ping the
      watchdog when running GUI-less. To these ends, the GUI needs to invoke
      "pd gui-busy 1" when starting the time-consuming operation, and "pd
      gui-busy 0" when the operation is done.
      f822bea0
    • Albert Gräf's avatar
      Backport some fixes to sys_domicrosleep from vanilla. · 47e10eaa
      Albert Gräf authored
      Massaged the routine a bit to bring it more in line with what vanilla
      currently has, and backported some recent changes in rev. 1f383be3 and
      rev. ff9e52c6 from vanilla which are supposed to fix some bugs in
      sys_domicrosleep.
      47e10eaa
  9. 13 Oct, 2020 1 commit
  10. 12 Oct, 2020 1 commit
  11. 07 Oct, 2020 1 commit
  12. 06 Oct, 2020 4 commits
    • Ivica Bukvic's avatar
      Ensured that slider works with the new implementation · 6a0694b0
      Ivica Bukvic authored
      * Now the shift press is dynamic during the dragging and the grab is properly disengaged after letting go of the mouse, regardless if this happens over the object or outside it.
      6a0694b0
    • Ivica Bukvic's avatar
      Cleaned-up gatom behavior · ebd8cf8a
      Ivica Bukvic authored
      * gatom due to its reliance on the "click" legacy message lacks adequate information to allow for some of the advanced functionality of the iemgui numbox. This, coupled with other legacy behavior (e.g. having a min and max that does not apply to the values coming into its inlet) in my view make vanilla gatom a legacy object. This also makes a distinguishing factor between it and the iemgui numbox.
      
      * Nonetheless, new features persist, such as drag and shift+drag that offers +-1 and +-0.01 increments respectively inside the number gatom, the ability to append to the symbol gatom text by shift+clicking onto it, and shift+delete deletes all the text at once inside the gatom symbol.
      ebd8cf8a
    • Ivica Bukvic's avatar
      Proper closure to the glist_grab saga in respect to iemgui numbox · 3b43f5db
      Ivica Bukvic authored
      * Reenabled the mouseup event that was mysteriously disabled for an unknown amount of time. This made it difficult to report to the object mouse release event after it has been dragged and the mouse ended-up being positioned outside object's bounds.
      
      * This now allows for very nice control over objects that are being grabbed.
      
      * Mouse release sets doubleclick flag to -1 to differentiate itself from the regular mouse movement which also reports mouse press as 0.
      
      * Allowed for glist_grab to be exclusive in respect to key presses and settable as such via the glist_grab call. See iemgui numbox for benefits of this implementation, described below.
      
      * Completely reworked numbox logic with additional variables designed to improve code readability and disambiguate the x->x_gui.x_changed and x->x_gui.x_change.
      
      * Rotated the order of event propagation to have glist_grab 1st and event bound objects second (e.g. key/keyname etc.). THIS IMPLEMENTATION SHOULD BE HEAVILY SCRUTINIZED TO MAKE SURE THERE ARE NO ADVERSE EFFECTS. Given the rapid release cycle I suggest adding it to the next release and then observing user feedback.
      
      * The numbox now offers the following behavior:
      
      1) click and drag and release (with or without shift which can be pressed at any time to toggle between fine +-0.01 and +-1 increments) which immediately changes the number value and outputs it. This kind of grab does not do exclusive keyboard grab and therefore allows keyboard to still propagate to other bound events.
      
      2) click and immediately release enters the exclusive keyboard mode and makes the '>' appear to make the user aware of this. Here you can use arrows up/down with and without shift, press allowed keyboard keys (numbers, enter, delete, etc.) and edit the value accordingly. Pressing arrows always changes the last digit of the currently truncated number. Pressing enter commits the value and retains the focus for another 3 seconds unless user presses Esc or clicks outside the number box. If all the digits are erased the number implicity assumes 0.
      
      3) clicking and immediately releasing without shift pressed to activate exclusive keyboard mode activates legacy/default behavior where entered text overwrites the existing (the cursor starts at the beginning and initially only has '>'). Doing the same with shift key puts the numbox in the append mode where one can continue adding to the previously committed number. This is even true if the displayed number is simply '+' or '-' due to it exceeding the number box width (not including decimals).
      
      4) Values whenever committed are clipped to the object's min and max and reflected as such in the number object. If the object remains activated, the number is not clipped if it exceeds the object's length, but shows only last n visible digits. Upon removing focus (activation), it redraws from the beginning (if number of digits exceeds the width but does not exceed the min/max thresholds. Re-activating the object redraws it with the last digits visible.
      
      * All glist_grab instances in externals should be taken care of and are, by default, not exclusive.
      
      * Still TODO: checking if vanilla numbox is working ok. The rest of the objects shoould be unaffected.
      3b43f5db
    • Ivica Bukvic's avatar
      Retracing steps to enable holistic mouse action tracking via glist_grab · a20427d0
      Ivica Bukvic authored
      * Lots of debugging stuff lying around.
      
      * A significant rewrite of the prior iemgui numbox behavior to capitalize on the exclusive grab opportunity.
      a20427d0
  13. 03 Oct, 2020 1 commit
  14. 02 Oct, 2020 4 commits
  15. 01 Oct, 2020 1 commit
    • Ivica Bukvic's avatar
      Added more fine-grained adjustments to activated msg text position · 48a99a11
      Ivica Bukvic authored
      * Currently only font sizes 12 and 16 are fully tuned
      
      * Still need to do 8, 10, 24, 36
      
      * Note that at zoom levels -5 and lower there is something funny happening with the font widths. Then again, who will want to edit stuff at that zoom level when nothing is even legible, is beyond me.
      48a99a11
  16. 30 Sep, 2020 1 commit
    • Ivica Bukvic's avatar
      Introduced new activated msg border drawing approach · 3cacb1f3
      Ivica Bukvic authored
      * Got rid of the problematic svg background which marginally worked on 0.14.7 but doesn't on 0.24.4
      
      * Instead, using the existing msg border/background and adjusting its size dynamically
      
      * The behavior remains identical to before (hide nlets, do not worry about readjusting patch cords)
      
      * LATER: think about integrating patch cord and nlet adjustment to match vanilla behavior, consider further fine-tuning the text placement based on various zoom levels and fonts sizes (some still are a pixel off, this is true for also regular text objects), and finally implement this same approach for the regular text objects
      3cacb1f3
  17. 29 Sep, 2020 1 commit
  18. 27 Sep, 2020 1 commit
  19. 26 Sep, 2020 2 commits
    • Ivica Bukvic's avatar
      Fixed stray regressions reported by Joseph and Albert · 89d8eda5
      Ivica Bukvic authored
      * Label font is not any more erroneously affected by the resizing of the numbox
      
      * The width is now more conservative and accurate
      
      * When a new number was entered that exceeds the numbox width and was replaced by a + or a - and after it was refocused again with a shift pressed (thus entering the append mode), the + did not revert back to the entered number. Now it does (even though you only see the last n digits that fit the numbox--LATER: we may want to add a < or > at the beginning, letting the user know that there are more digits to the left. This however, with the current setup may not be as trivial as it seems, so we will keep it as-is for the time being until users report problems/dislike with the current mode of operation which is still way better than it used to be).
      89d8eda5
    • Albert Gräf's avatar
      Fix the Alt-click popup issue, part 2. · 5a3898d6
      Albert Gräf authored
      Following a discussion with Ico, make sure to apply the fix to actual
      canvas class objects only, so that we do not exit temporary run mode
      unless the user really clicked on a subpatch (or abstraction) object.
      5a3898d6
  20. 24 Sep, 2020 1 commit
    • Albert Gräf's avatar
      Cosmetic change to 'declare' error handling. · adf329a8
      Albert Gräf authored
      If the declare object detects an unrecognized argument which isn't an
      option symbol, it will print a weird-looking message complaining about
      an empty flag. This commit makes it print a proper warning about an
      unrecognized float argument instead.
      adf329a8
  21. 23 Sep, 2020 3 commits
  22. 22 Sep, 2020 7 commits