1. 12 Oct, 2020 1 commit
  2. 10 Oct, 2020 2 commits
  3. 09 Oct, 2020 4 commits
    • Albert Gräf's avatar
    • Albert Gräf's avatar
      Update the help patch. · 688c356f
      Albert Gräf authored
      688c356f
    • Albert Gräf's avatar
      Overhaul of fluid~ to add SMMF support and soundfont search, fixes #692. · e4365f43
      Albert Gräf authored
      This adds support for the SMMF MIDI message format,
      cf. https://bitbucket.org/agraef/pd-smmf.
      
      It also adds canvas/path search for soundfont files, so that these can
      be found more easily without having to use absolute pathnames, as well
      as a few cosmetic changes to help and error messages.
      
      In default "legacy" mode, the object is 100% backwards-compatible
      (except for the soundfont file search), so that existing patches will
      continue to work without any changes.
      
      In SMMF mode, which is invoked with the new -smmf option (used either as
      a creation argument, or with the "init" message), the SMMF message
      format can be used to denote MIDI messages. Legacy messages still
      continue to work in SMMF mode as well, except the "note" and "bend"
      messages which are used in both formats with the same argument count but
      different argument order. However, the corresponding shortcuts "n" and
      "b" of the legacy format still work even in SMMF mode.
      
      Rationale: SMMF offers the following advantages over the legacy message
      interface that fluid~ currently uses:
      
      - It covers all MIDI voice messages, as well as system exclusive
        messages. (Note that sysex support is particularly interesting in the
        context of fluidsynth because it allows to pass tuning data using
        sysex messages following the MIDI Tuning Standard (MTS), which
        fluidsynth readily supports.)
      
      - It enforces a close 1-1 correspondence between the Pd MIDI objects and
        the message format (it uses the same basenames as message selectors,
        and has the arguments in the right order to easily interface with the
        Pd MIDI objects).
      
      - It is is readily supported by some helper abstractions (midi-input.pd
        and midi-output.pd, available at https://bitbucket.org/agraef/pd-smmf).
      
      - Last but not least, it is compatible with pd-faust and pd-faustgen2
        which makes it very easy to integrate Faust- and soundfont-based
        synthesis in Pd.
      e4365f43
    • Jonathan Wilkes's avatar
  4. 07 Oct, 2020 1 commit
  5. 06 Oct, 2020 13 commits
    • Jonathan Wilkes's avatar
      5eb67db0
    • Ivica Bukvic's avatar
      Merge branch 'master' into 'glist_grab_exclusive_focus_and_shift' · 3cc64e6a
      Ivica Bukvic authored
      * Addresses conflict that has emerged due to prior gatom commit.
      
      # Conflicts:
      #   pd/src/g_text.c
      3cc64e6a
    • Jonathan Wilkes's avatar
      b363df22
    • Jonathan Wilkes's avatar
      9f0b811a
    • Jonathan Wilkes's avatar
      efe8025a
    • Jonathan Wilkes's avatar
      Merge branch 'windows-win-size-0.24.4' · c55d2c95
      Jonathan Wilkes authored
      c55d2c95
    • Jonathan Wilkes's avatar
      Merge branch 'msg-box-0.24.4' · b44e1b7e
      Jonathan Wilkes authored
      b44e1b7e
    • Jonathan Wilkes's avatar
    • Ivica Bukvic's avatar
      e7ce33fd
    • 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
  6. 05 Oct, 2020 2 commits
  7. 04 Oct, 2020 2 commits
  8. 03 Oct, 2020 1 commit
  9. 02 Oct, 2020 4 commits
  10. 01 Oct, 2020 3 commits
    • Ivica Bukvic's avatar
      Reverted win OS window size offset that was needed for nw.js 0.14.7 · de000cb6
      Ivica Bukvic authored
      * This is no more needed and left commented out in case we need to deal with a similar issue in the future.
      de000cb6
    • Ivica Bukvic's avatar
      Finished implementing offsets for the rest of the font/zoom combos · e9a6a5aa
      Ivica Bukvic authored
      * Note that on font sizes 12 or less, zoom levels -3 and onward are essentially useless for editing and the text is simply not being rendered correctly inside paragraph as opposed to how it is being rendered inside SVG. This is the best I could do given the current paragraph textarea implementation. LATER: we may want to consider doing the entire thing in SVG, as that would then make all this significantly easier to match (albeit also more difficult, as we would need to simulate caret and all the other text formatting stuff--perhaps having an invisible textarea that is mapped onto an svg text may be a way to go?)
      e9a6a5aa
    • 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
  11. 30 Sep, 2020 4 commits
  12. 29 Sep, 2020 3 commits