Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Oct 01 22:12

    brunchboy on master

    Add antora and netlify credits … (compare)

  • Sep 08 16:14

    brunchboy on master

    Update other dependencies. (compare)

  • Sep 08 16:04

    brunchboy on master

    Update CoreMidi4J. (compare)

  • Jun 11 03:19

    brunchboy on master

    Update to link to netlify hoste… (compare)

  • Jun 11 03:01

    brunchboy on master

    Update doc readme to reflect us… (compare)

  • Jun 10 21:40

    brunchboy on master

    Fix typo in function name. (compare)

  • Jun 10 21:18

    brunchboy on master

    Remove insecure HTTP link, than… Try simplifying API doc path, u… (compare)

  • Jun 10 20:48

    brunchboy on master

    Working on netlify doc build. (compare)

  • Jun 10 20:27

    brunchboy on master

    Update Clojure version. Update Codox version. Try setting up Netlify build fo… (compare)

  • May 27 18:14
    brunchboy edited #70
  • May 27 18:12
    brunchboy edited #70
  • May 27 18:12
    brunchboy labeled #70
  • May 27 18:12
    brunchboy opened #70
  • May 22 05:21
    brunchboy closed #69
  • May 22 05:21

    brunchboy on master

    Update jquery.mincolors color p… Start wedding reception show. (compare)

  • May 22 01:44
    brunchboy opened #69
  • May 22 01:42
    brunchboy closed #23
  • May 22 01:41
    brunchboy closed #65
  • Apr 29 21:08

    brunchboy on master

    Fix more broken images due to w… (compare)

  • Apr 29 21:03

    brunchboy on master

    Fix more broken images due to w… (compare)

James Elliott
@brunchboy
Great, so it looks like just one port gets created under Linux. I wonder if that is true on other platforms? But for you we are going to be able to use "MK2" as a string to select the right port.
Benjamin Gudehus
@hastebrot
btw: do I need to restart the REPL after some clojure files were changed?
James Elliott
@brunchboy
In general no. That is one of the great things about Clojure. You can tell it to load the file again. But I would really suggest you use an editor with an integrated REPL support, then you can just re-evaluate a form or a function definition on the fly, jump to where things were defined, and so on.
What is your usual editor of choice?
Benjamin Gudehus
@hastebrot
I have neovim with some clojure plugins that connect to nREPL server and cursive for IntelliJ, but in cursive the evaluation of parts of the source code didn't work
So I'll use neovim.
James Elliott
@brunchboy
Cursive usually works great, one of my coworkers swears by it, and Colin offers great help on the mailing list. I think you’ll be a lot more productive in that if you can get it working, so it is worth trying a bit more.
I personally use Emacs and CIDER, but if you are not already an Emacs user I would not try to steer you in that direction.
Benjamin Gudehus
@hastebrot
I've started Cursive and imported Afterglow as Leiningen project. Source editor and local REPL work fine.
Ahh, and I can also switch REPL ns to current file and send the top form to the REPL.
Sending the form to REPL is (per default) "cpp" in vim and C-S-P in Cursive.
James Elliott
@brunchboy
Yeah, there are lots of powerful things you can do. I am not a great resource on Cursive but I think you will find it very useful, and I know there are some good tutorials and introductory material for it out there.
Benjamin Gudehus
@hastebrot
Cursive's official user guide looks very clean and accessible.
James Elliott
@brunchboy
It’s an amazing product. If I was more of an IDE than Emacs person, I would use it heavily.
Well, I would love to dive in and start writing the Mk2 mapping right now but I need to go to the gym and then eat dinner. Hopefully you have plenty to explore in the mean time. If you want to experiment with that, I plan to start with the Launchpad Mini as the basic framework, but substitute the RGB pad support from the Launchpad Pro. There will be some areas that are a hybrid of both, such as the lack of velocity support, and I am not sure if the MIDI note assignments are the same on the Mk2 and the Pro.
If you want to experiment with that, go ahead, but otherwise I should have a mapping for you to try within the next day or so.
(And I just pushed another version of launchpad_mini.clj.)
Benjamin Gudehus
@hastebrot
Nice, I'll check it out tomorrow. It's very late here (my timezone is europe/berlin).
James Elliott
@brunchboy
Yes, I had noticed you were in Germany. Are you actually in Berlin? I have visited that city a few times, but too briefly.
Benjamin Gudehus
@hastebrot
I live 300 kilometers west of Berlin in Hannover.
James Elliott
@brunchboy
(My timezone is US/Chicago, I am in Madison, a medium-sized University town and the capital of Wisconsin. Many German influences here, and the countryside reminds me a lot of East Germany.)
I have not visited Hannover, but would like to someday. For now, good night!
Benjamin Gudehus
@hastebrot
See you.
James Elliott
@brunchboy
All right, since your Mk2 has already arrived, I stayed up late tonight to try implementing support for it. As I hoped, it was very much a mix between the Mini and Pro, with Mini-style round buttons, and Pro-style LED colors. There were a few other differences, but it was not that difficult, especially since I have done so many of these recently.
James Elliott
@brunchboy

I have not updated the documentation yet (other than the generated API docs), but once you have called (use-sample-show) you should be able to:

(require '[afterglow.controllers.launchpad-mk2 :as mk2])
(def mk2-watcher (mk2/auto-bind *show*))

And then whenever you connect your Mk2 after that (or if it was already connected), Afterglow should see it and start up the interface on it. To shut down the watcher as well as the controller binding:

(mk2/deactivate mk2-watcher)

Since I could not test this, chances are quite high I messed something up, but we should be able to debug it jointly, hopefully fairly quickly!

I don't know if there are labels (or stickers) for the top row of round buttons, but they are mapped as (↑) (↓) (←) (→) (tap-tempo) (shift) (user) (stop)

Benjamin Gudehus
@hastebrot
It showed the animation and ended with three round buttons lit (user1, user2, mixer).
So you reuse the Pro keymap and set (stop) for the "Mixer" button?
Benjamin Gudehus
@hastebrot
Ahh, I see they are defined in (def control-buttons ...).
Benjamin Gudehus
@hastebrot
Does mk2-watcher contain the :controller key I need for instance for mk2/show-round-buttons and mk2/set-pad-color?
Benjamin Gudehus
@hastebrot
I tried this:
(mk2/set-pad-color (mk2-watcher :controller) 1 2 (create-color 128))
James Elliott
@brunchboy
It sounds like you don’t have any cues present, which (use-sample-show) should have set up for you, there should be four pages of them to scroll through. I can’t quite use the Pro map, because some of those buttons are down the left side, which don’t exist on the Mk2.
The watcher does contain the controller object, but while the controller is running, you won’t be able to visibly affect the pad colors, because they are getting updated with current cue status fifteen times per second.
Benjamin Gudehus
@hastebrot
Do I understand correctly, I should have a list of selectable cues when I run auto-bind *show*?
James Elliott
@brunchboy
Sorry! I am running between events and misinformed you. Call (make-cues) to create them. I almost always call use-push which does that for me.
Home soon with better connectivity.
James Elliott
@brunchboy
The function make-cues in the examples namespace creates a bunch of example cues in the sample show. They should show up on your Launchpad, and verify that the cue coloring and control features are working. You can see the corresponding cues in the web UI if you call (core/start-web-server 16000 true) and click on the Sample Show link, and you should be able to tie the web interface to your Launchpad so they scroll each other using the Linked controller menu which appears below the web cue grid when your Mk2 binding is active.
The cues and the sample show themselves won’t be much use to you beyond examples and early testing; when you want to start working with your actual lights, we’ll need to work on creating fixture definitions for them, put them into your own show that works with an OLA universe you set up, and create cues that work with those. At that point, you will probably want to create your own Leiningen project which uses Afterglow as a dependency, rather than working in the checkout of Afterglow itself. This is described in the Getting Started section of the online documentation. But for testing whether the Mk2 mapping works, the Afterglow checkout, sample show, and make-cues are great.
Benjamin Gudehus
@hastebrot
So there is a lot wrong with the led positions.
James Elliott
@brunchboy
That will be easy to fix, can you describe what is wrong?
(And you are up late again! :grin: )
Benjamin Gudehus
@hastebrot
Using 1:1 as top-left and 8:8 as bottom right. Row 3 is empty, but 3:8 is cyan.
James Elliott
@brunchboy
Hmm, none of the rows should be empty, unless it has scrolled. Do you have the web page up to compare? For reference, in Afterglow, [0,0] is at the bottom left, and cues go up and to the right.
Are there any errors in logs/afterglow.log?
(Not sure if you can also access it without Google account)
This is better (was missing the function buttons): https://drive.google.com/file/d/0B3BCleLtO5vHeVhlMDctb19iTDQ/view?usp=sharing
James Elliott
@brunchboy
I do have a Google account, but don’t know if that was necessary. Anyway, thanks, that is very helpful. And strange.
Those colors are definitely wrong. Let me take another look at the programmer reference.
Do the arrows work to scroll you around?
Benjamin Gudehus
@hastebrot
Yes, I can scroll one page up and right.