General

Can Lemur display a list based on OSC string input?

Started by TKillz on .

Sign in or create an account to join the conversation.

13 posts

Topic starter
I'd just like to run this up the flagpole to see if it's even possible before dedicating the next 6 months to it.

I'd like to make an interface that takes a track name reported from the host and populates a list with specific values based on the track name reported. I haven't dug into Lemur programming, si if it is indeed possible I'd love to be pointed in the general vicinity of where to start.

Background (the long version):
I use a large orchestral template in Reaper which sends MIDI to a large Bidule stand-alone hosting many instances of Kontakt. I have a nice Lemur interface that allows me to navigate to various sections of the template in Reaper and displays the current track on my device. Many of the instruments that I use are keyswitched and I have about 50 different keyswitch layouts that I have to either remember or look up when I'm using the instrument. I'd like to have a Lemur layout that would take the track name reported from Reaper and use it to populate a group of buttons with the keyswitch title and change the MIDI output of those buttons to reflect the instrument keyswitches. Keyswitches are always sequential, so only the first button would need to be populated by the list and the others could be extrapolated from it.
Yes, it's possible. Use OSC_ARGS to get the string input, setattribute(labeloff/labelon) to change the label on a custom button, and a custom midi message to change note value. Really shouldn't take you 6 months.
hi folks,

@Phase_change : Could enter deeper in explanation about this. I just can't get messages from Reaper to Lemur using OSC_ARGS. For example, in my *.ReaperOSC file i've set

TRACK_SELECT s/Screen2/Monitor2/OSC/value

But I can't get any value when settings Monitor2.value = OSC_ARGS nor Monitor.Value = OSC_ARGS['value'] on my Screen2/Monitor2/OSC/value

regards,
I'm going to break my rule of no more free examples for this question since it comes up pretty often. First a little background on why I'm being such an a**hole: Someone posted in the forum offering for paid work, I replied and they told me they had gone with someone else, which I'm cool with, I get it, that's the nature of freelance work. Then immediately afterwards they posted another question looking for someone to help them out without offering to pay. I'm currently working as a system analyst (I get paid less than most public school teachers) and working on getting into DevOps, I have an a**load of student debt, and I'm really good at scripting in general. So I've decided it's kind of bs that Liine doesn't hire people, or at least doesn't hire enough people, to participate as admins in this forum and that if people like me are going to pick up the slack in the forums, we need to be compensated. This forum is never going to become the community that you see on monome.org or max/msp because most people dip in, ask for help with a project, and dip out without ever taking the time to learn wtf they're doing. It's also more of a niche product than either of those communities. There are like 5 or 6 people that hold down this forum in general w/ myself being one of the newcomers. So I've decided my presence here is going to be answering questions with written explanations or pseudocode to help people look in the right direction without doing any of the heavy lifting. To be fair, I have asked for help with a project at most one or two times and just figured everything out myself. With that said, I'm going to whip up an example with a max patch and a lemur template with a monitor object to show you how to get OSC messages to display on a monitor object.
phase_change wrote:I'm going to break my rule of no more free examples for this question since it comes up pretty often. First a little background on why I'm being such an a**hole: Someone posted in the forum offering for paid work, I replied and they told me they had gone with someone else, which I'm cool with, I get it, that's the nature of freelance work. Then immediately afterwards they posted another question looking for someone to help them out without offering to pay. I'm currently working as a system analyst (I get paid less than most public school teachers) and working on getting into DevOps, I have an a**load of student debt, and I'm really good at scripting in general. So I've decided it's kind of bs that Liine doesn't hire people, or at least doesn't hire enough people, to participate as admins in this forum and that if people like me are going to pick up the slack in the forums, we need to be compensated. This forum is never going to become the community that you see on monome.org or max/msp because most people dip in, ask for help with a project, and dip out without ever taking the time to learn wtf they're doing. It's also more of a niche product than either of those communities. There are like 5 or 6 people that hold down this forum in general w/ myself being one of the newcomers. So I've decided my presence here is going to be answering questions with written explanations or pseudocode to help people look in the right direction without doing any of the heavy lifting.
This is likely going to be a long response and I apologize in advance for that.

In general I agree with phase_change's position. Your time isn't free and it isn't infinite. Some of us could spend many hours every day answering questions and crafting examples and solving problems.

IMHO, Liine has misled new users. The success of Lemur depends on the apps that it runs. If you visit the Liine site and look around, there's lots of apps posted so you might think - "yeah, I'll buy Lemur, use some of these, customize others, and create what isn't there". Unfortunately that turns out to be a lot harder than it first appears. Even if you have programming experience, creating a usable app that is fairly robust takes time and the support from Liine at this point is fairly minimal. There is the one main manual and the extra manual for the newer features, but that's it. Telling a new user to just look at existing templates is a common response, but it's not really helpful. A lot of templates are not commented, not structured well, and basically are hard for people new to scripting to follow.

Since there's no way to 'protect' your scripts, it's hard to get any compensation from the community. I built a couple templates and they took many months working part time on them to get to the point where I felt they could be released. You can't sell any templates since there's so much for free and the code is open to being copied and modified by anyone. What I did was put my PayPal address in the set up menu (which you need to go into at least once to get the app to connect to the hardware device it's controlling) so that people could donate/contribute something if they felt the app was useful.

800+ downloads for one, 170+ for the other and the total amount I've received via PayPal is $0.00. This makes it hard to stay motivated to continue development. There are folks on here that are employed by Liine, but they've mostly checked out and I rarely see them posting any solutions to the coding questions asked here. There are a few folks that take time out of their day to answer questions, but in the end I think Liine doesn't care since they've already sold that copy of Lemur to someone.

So, if there's a constant stream of new people asking questions, no real resources to help them, and no easy way to get compensated for the time and effort put in to help, what's left? It's what you see now - people log in, try to get something working, ask for help, maybe get a reply in a couple weeks (or not) and then drop off. The folks that do provide coding answers are few and they are busy with the rest of their lives.

Most of the people that buy Lemur are musicians looking for a way to control/edit/play something. They are not programmers by nature. Even getting the networking and MIDI stuff configured can be a hassle, let alone learning how all these Lemur object work and interact and then fighting through weird bugs and limitations just to get a simple set of controls working. Again, in my opinion, Liine has done a poor job at helping these entry level folks and as a result, it's up to the community (such as it is) to try and help, but there's no guarantee there either.
@oldgearguy

I'm glad I'm not the only one who sees it that way. I'm at 2k+ downloads on one app and 1.3k downloads on another. I would have been stoked to get $.01 per download. That would still feed me for a month or two solid. If I got a dollar per download, I could pay off almost 10% of my student loans. I didn't make this stuff for the money tho, I did it because I wanted the templates to exist and they didn't, so I made them. I'm mostly just clowning around with some of the s*** I'm saying, I have kind of an f***ed up sense of humor. If anything, I'm starting to move away from making stuff here and toward making stand alone applications.

It's good to get validation from someone I respect here. You, Mr. Corba, Softcore, and the dude from Cargo Collective(can't remember his name right now) and maybe a few others I'm forgetting are the 5 or 6 people I'm talking about.

I found this old thread from 3 years ago. Guess I'm not alone. https://forum.liine.net/viewtopic.php?f=25&t=2939&hilit=collective
Maybe if a few of us crafted a 'New User Guide' with an accompanying CD (old school) or pw-protected download of little tricks and tips to get users over some of these common roadblocks and sold that for $10 or $20, that might be a better use of the limited free time we have and could potentially benefit more new Lemur users.

The thought is, if there were concrete focused examples of how to solve specific common issues, new users might not need to lean on forum help so much.
oldgearguy wrote:Maybe if a few of us crafted a 'New User Guide' with an accompanying CD (old school) or pw-protected download of little tricks and tips to get users over some of these common roadblocks and sold that for $10 or $20, that might be a better use of the limited free time we have and could potentially benefit more new Lemur users.

The thought is, if there were concrete focused examples of how to solve specific common issues, new users might not need to lean on forum help so much.
I like that idea. I would definitely contribute what I can to that project. I feel like I have a better than average understanding of how to use Max/MSP as a timing engine for step sequencers, which is really poorly documented even on the old Jazzmutant site, OSC and midi, and general scripting knowledge. We could model it off of oldschool texts with examples that walk you through building an application.
phase_change wrote: I found this old thread from 3 years ago. Guess I'm not alone. https://forum.liine.net/viewtopic.php?f=25&t=2939&hilit=collective
this thread was the end of the Lemur forum. Many people left after that discussion/disaster. People with great knowledge and experience, and goodwill to share.

It's strange. One individual was able to destroy an entire community. Just like that, with one stroke, with one single idea. He didn't do it on purpose, he is - in the end - just a programmer who has to pay the rent. Which did not conform to the way Lemur users shared their ideas and knowledge just for the sake of Lemur, for the sake of music.

While it is sad, it is also a reality. Even Macciza who wrote the manual left the forum.

The good thing is that we still have Lemur, and can use the Lemur and Jazzmutant forums to build our stuff. Just look at it from a positive side.
Phil999 wrote: this thread was the end of the Lemur forum. Many people left after that discussion/disaster. People with great knowledge and experience, and goodwill to share.

It's strange. One individual was able to destroy an entire community. Just like that, with one stroke, with one single idea. He didn't do it on purpose, he is - in the end - just a programmer who has to pay the rent. Which did not conform to the way Lemur users shared their ideas and knowledge just for the sake of Lemur, for the sake of music.

While it is sad, it is also a reality. Even Macciza who wrote the manual left the forum.

The good thing is that we still have Lemur, and can use the Lemur and Jazzmutant forums to build our stuff. Just look at it from a positive side.
Dang... didn't know that happened. I didn't buy Lemur until 2015... I was aware of it in 2012, but too broke to afford a tablet at the time and had a failed attempt at building my own multi-touch controller using open-source software. I got a response from Macciza one time in 2015, so I think he might still be lurking.

Sadly after all this discussion, I might "check out" here, too.
Until yesterday, the Liine people hadn't logged into the forum since Oct/Nov of last year. Nick logged in yesterday for the first time in a while. Maybe Liine is going to announce something at NAMM? (or not)

If the handful of people still contributing to this forum stopped logging in, it would die off. That mega-discussion really polarized the community, but again, it was driven in the first place by Liine's business model. They had software that was made available freely in the past to help them sell hardware; kind of like how Steve Jobs used music to sell more iPods. The scripts were open and the development platform was open because the cost of entry was the hardware. Once they decided to move to the iPad (and then Android devices, etc) the only way to make money was to sell licenses for each device. Again, the open scripts and development environment was a draw since all you needed was a license and you could start using/developing apps.

However, they didn't carry the model all the way through like Apple did - there's no LemurStore with apps for sale. As a result, the whole thing falls more closely into the typical Open Source model you see on-line with other coding projects. There's a repository of stuff freely available, and any updates are made by a handful of individuals that feel motivated to contribute. The Lemur model isn't big enough and gaining enough traction to become the Linux of music apps, so it's more likely to continue to die a slow death as sales fall off and people lose interest.

At this point it's too late to undo it - the scripts are open source and out there for folks. That mega discussion was really born out of frustration between folks that thought everything was a derivation of past freely available source and those that felt that their time and effort should be compensated. That's a debate that has no right answer, so we're left with what we have now.

I personally log in from time to time to check on what's happening, but often I don't have the cycles free to really dig in on a coding effort or I'm somewhere that doesn't have Lemur running and available to use to make a concrete example. There's no guarantee that I'll see a question and there's no guarantee that the others that chime in will see it or have time to respond.

Liine has not been helpful at providing lower-level details on how Lemur works to assist experienced users in creating the best most efficient solutions nor have they been quick to fix bugs in the app or the editor nor to try and improve on some significant limitations (anyone else sad about a 256 byte sysex buffer limitation?). If they're not willing to step up and continue improvements, why should the community continue to provide free troubleshooting to help them sell more copies of Lemur?
oldgearguy wrote:Until yesterday, the Liine people hadn't logged into the forum since Oct/Nov of last year. Nick logged in yesterday for the first time in a while. Maybe Liine is going to announce something at NAMM? (or not)
Nope... the only reason he signed in was to delete a bot (blueberryjerry) I emailed support about. The bot had made over 150 posts before he was deleted.