Unfortunately it is very difficult to say what is going wrong without having more information.
So if I understand you correctly you want to create a mapping between MIDI control change messages and their textual representation, right?I am Using A MIDI device where I am controlling a Synthesizer via MIDI but would like to have an output text source change (Maybe perhaps using chat log), based on the MIDI CC that I send, Referencing the MIDI implementation for the synth. Whether using a Pattern recognition of the synth's cc implementation in .pdf or .txt file, or an excel spreadsheet I could create (there are some 50 MIDI CCs and I could type it up).
I want to have the plugin here, use the recieved CC to call the pre mapped setting that is being changed on the synth, such as "Square Wave" and then state "on" or "off", written in the OBS Text source, which could work using the chat log option of Text sources.
I figure It would need program to allow using the chat log option in text field. So it would require that there is a chat log used in the Scene Switching plugin.
As an example, I also use the plugin OBS Tuna. Tuna uses the chat log implementation to pull info out of MP3 files in a playlist for instance a VLC playlist. Works well using the Chatlog option in the OBS text source and pointing to the .txt file created by the Tuna plugin. The Tuna plugin created file (in the user folder in Windows) uses chat log (check box in Tuna), so that updates the information. The Information is grabbed from there using the metadata string values such as {artist} that the user wants to see written in the text field. I think it could be done here using a predefined .txt file containing CC. Should work if it could correlate the recieved CC midi, to the premapped CC value in the .txt file, and read the label for that CC and place it in the chatlog. So like where the Tuna plugin reads an MP3 in a playlist in VLC or other music service, this would just read the info in the mapped .txt file... At least that seems like the simplest implementation.
@Warmuptill I thought of something else to add! :-)
How about an MPD client?
I'd use this for a standalone jukebox, that feeds an external audio mixer, the finished output of which comes into OBS as the only audio source.
If you wanted to start with a generic TCP connection, I think I can make that work. According to Wireshark, I think I only need to send these messages:
Separate message for each line, all ASCII text. The first 4 are all sent at the same time, shortly after startup, one after another, possibly waiting for a response in between. (it works to rake a finger across the hotkeys in a standalone app) The other two are sent individually at their appropriate times. Each one ends with hex 0A (newline).
You can find a build below which adds the following features which might help in this case:Yo @Warmuptill
I looked for a way to do this but I couldn't
One question, can this be done in a single dock...? make it a toggle button
View attachment 94846
View attachment 94844
View attachment 94845
View attachment 94847
I can't find the toggle function here
thanks for you help.
amazing, thank you very much, works great. your work is very good. You can add these lights (image attached) if the condition is "False" or "True"You can find a build below which adds the following features which might help in this case:
- Use of variables in the dock settings
- Option to add status label to the macro docks
- The option to toggle a filter on / off.
Add support for adding status labels to macro docks · WarmUpTill/SceneSwitcher@f60b177
An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.github.com
So you could for example set up something similar to this to for a button to toggle the visibility of a given filter on a source.
First two macros which set the value of a variable depending on the status of the filter.
View attachment 94941View attachment 94942
Next a macro which toggles the filter, which will be used as the dock widget.
View attachment 94943
For this macro specify that you want to use the content of the variable of the first two macros as the text of the run button like so.
View attachment 94945
This should result in a macro dock widget which displays the current status of a filter widget and allows you to toggle its status.
View attachment 94946View attachment 94947
I hope that helps already.
Combining multiple macro docks into a single combined dock window is something that has been requested previously already.
Unfortunately I did not yet have the time to look into this.
I did this and the only way I could find, was to make 56 or so different macros. I will try and use it tomorrow or later today to actually show the synth settings as I am turning the CC controlling dials of the synth itself, and the midi controller which I use to control it.This MIDI use, using a file, seems like a possibility. I made a screenshot, I will look into it and see if I can get anywhere with this. I will look into script writing for the possibility. Probably a better option than making ~49 different 'or' midi equals 'n' options in the Macro or 50 different macros probably as the or wouldn't call a different result would it. So it would actually need that many different macros. Script would be only option then.
@Warmuptill I thought of something else to add! :-)
How about an MPD client?
I'd use this for a standalone jukebox, that feeds an external audio mixer, the finished output of which comes into OBS as the only audio source.
If you wanted to start with a generic TCP connection, I think I can make that work. According to Wireshark, I think I only need to send these messages:
Separate message for each line, all ASCII text. The first 4 are all sent at the same time, shortly after startup, one after another, possibly waiting for a response in between. (it works to rake a finger across the hotkeys in a standalone app) The other two are sent individually at their appropriate times. Each one ends with hex 0A (newline).
Nevermind. I found a command-line tool that works in the Run action:I will add it to the list :)
But I can't promise that I will get around to it soon.
sudo apt install mpc
for *buntu.would have been better to make another variable. I still don't understand the mathematical operations option for the variables, I don't understand how to place the variable into the math equation?Nah seems to work ok. It required to use the more selective use on the variable. Then there was a bunch of other stuff. It is about 1 second after the MIDI control is changed, that it will post the message. Lots of difficulties, but primarily was to get the variable to read onlly the MIDI CC using the MIDI variable set to substring options and selecting beginning for first 3. Which includes all the numbers in the CCs in the 100s, all+ space in the 2 digits, and then gives a situation where 1-10 need to have an or statement for each of the digits that can be in the first part of the 2nd value sent with the midi. This finally will if everything is input correctly result in having the proper settings to write to the text file. It's not particularly easy to set up. But there is a video with it mostly working on my channel on Bitchute link is /video/nrbaIPMDzsyh/
You can reference variables using theI still don't understand the mathematical operations option for the variables, I don't understand how to place the variable into the math equation?
${variable name here}
pattern.Along those same lines, It'd be great if there was a way of changing the file referenced by seventy macros at one time, rather than one at a time.Hi Warmuptill, is there currently a way to move a single Macro to another scene collection?... Without using export/import overwriting all existing Macros in that target collection?... Love this plugin, has to be up there with the best for OBS!! Awesome work
Great. That will make it happen for this frequency captions.You can reference variables using the${variable name here}
pattern.
For example:
View attachment 94999
Unfortunately there is not an option to do this.Hi Warmuptill, is there currently a way to move a single Macro to another scene collection?... Without using export/import overwriting all existing Macros in that target collection?... Love this plugin, has to be up there with the best for OBS!! Awesome work
Sorry if I am misunderstanding something but wouldn't just doing something like this work?I noticed timers are complex AF. Is it easy to make a timer? I seemed to have a difficult time with the timer. I thought it would be just an insertion, but in order to have a scene that was placed by an earlier macro, time out after 10 seconds, I had to reference the time the earlier macro was true, from a new macro, and then have that macro put time on the timer in, and continue the timer in a 3rd macro that is used to shut off the OBS text source.
If your question is if a range of values can be matched (e.g. 100 - 150) using a single midi condition than that is unfortunately not possible at the moment.Is it possible to match the MIDI based on a function and a list of pre-charted values? If no chartable function option exists, can plugin send this output to a script (if it can't output its result to the script, then it's not going to be better than just making 49 seperate macros) and have the script return its result back to the plugin? Or would it be smoother for such a script to write directly to the utility .txt file with no return of info to the plugin?
@Warmuptillamazing, thank you very much, works great. your work is very good. You can add these lights (image attached) if the condition is "False" or "True"
View attachment 94959
Sure, here you go:@Warmuptill
I'm sorry, I don't want to bother you, but let me check it out.
it is possible to add highlights to docks from macros. This would be great not only for the aforementioned but for any other macro that we create... if we have the possibility of blinking. Thanks for your time
woowww thanks a lot.... something seems wrong with windows buildSure, here you go:
View attachment 95072
Should be done in a few minutes.Add support for adding status labels to macro docks · WarmUpTill/SceneSwitcher@eb4cd7f
An automated scene switcher for OBS Studio. Contribute to WarmUpTill/SceneSwitcher development by creating an account on GitHub.github.com
Couldn't spend much time testing so let me know if there are issues.