Well scripters sometimes put out different scripts for the same flic. Would nice if you could load those just because the name matches partly. The MFP user could quickly switch between them.
Oh what your asking for is similar to my example thing E.g. load video ârailing someone clothedâ â loads scripts â lock them â load video ârailing someone nakedâ â scripts donât unload. I said above except an easier way to swap between them except instead of loading a different video you have an list or an easier way to swap from ârailing someone.L0.funscriptâ as it shows you the other versions of that you have to choose from/swap to ârailing someone smooth.L0.funscriptâ , ârailing someone hardcore.L0.funscriptâ , ârailing someone half speed.L0.funscriptâ , ârailing someone full speed.L0.funscriptâ
Correct?
If so then @Yoooi 's answer fits then I think of
So not yet but on the laundry list.
BTW a think the way to implement that you would have to have it so the program looks for any files that start with the full video name except after a prefix like ~ (as then after that you can have the âclothedâ and ânakedâ bits for different video types) and match that to any scripts that start with the same matching name. (Would probably require a way of indexing/storing the stuff though so if itâs looking through a massive folder it doesnât lag a ton more than once like Handycontrol does) So quite a bit of work yep in my mind.
Love the new update. Thanks!
One feature request:
Can we get an option to show the user-firendly names for each axis in the main UI window (UP/Down, Roll, etcâŚ), instead of just the short codes (L0, R1, etcâŚ)?
I use both a SR6 and a NimbleStroker through MFP at the same time, which means itâs controlling 11 different control axis (axes?) right now, and I often forget which is which.
While Iâm asking, where did you get the list of names for each axis? For example, you have V1 as pump, but Iâve never seen any docs explaining what itâs supposed to be pumping, and itâs using a V code, which i though was only for vibration.
@roa @Ratattack15
The idea I have is to support a format like this:
<video name>.<pack name>.<funscript name>.funscript
or
<video name>.<funscript name>.<pack name>.funscript
So you would be able to have
video.pitch.funscript
video.fast.pitch.funscript
video.slow.pitch.funscript
With ability to switch between default
, fast
and slow
pack from UI or shortcuts.
No idea when/if this would be implemented as I think this is rather niche feature.
Its shown on the right side when you select an axis tab.
Why do you need 11 axes?
Go to device tab in the application settings at the top of the window, there you can see/configure the axes. They are also listed in a table in the first post.
V1 was used by the first lube addon for the OSR2, that was before TCode v0.3 which added A
axes for such things. So when using TCode v0.2 for multi axis scripts V0 is the vibe (vib.funscript
), V1 is lube pump (lube.funscript
). In TCode v0.3 the lube pump was moved to A2
.
If you are using SR6 you should be using TCode v0.3, or if you have custom device definition in MFP then you can just change precision to 4.
Released v1.30.1, should be fixed.
Which is the only place itâs shown and requires switching to the tab to view. I would much rather the âAxis Valuesâ section display the full names and have fewer columns instead.
Because you support them? Why would anyone want LESS interactivity? Here, you can clearly see what each axis represents:
(/sarcasm)
I am admittedly an edge case here, but if you have that many controllable items, Iâm going to try and use them all. Hereâs my actual tcode mapping:
The V and A axis are entirely given over to the nimblestroker, including re-mapping a couple via code. I didnât report it as a bug because Iâm not sure if itâs under your control, but adding additional axes beyond the set shown does not seem to work. I tried repeatedly to add an L4 or A3 axis but it seems like they donât work.
Understood. I think a more direct question would be, does MFP support additional axes beyond those defined in tcode 0.3? Iâve currently re-mapped the lube axis to control the nimblestroker main motor. Can I add a 12th axis to the existing set of 11 that tcode provides and have MFP send signals to it? The goal would be to have the linear suction of the nimblestroker on itâs own axis independent of the L0 linear axis of the SR6. In a perfect world, Iâd just add an L4 axis to my device settings and it would just work, but Iâm probably pushing the limits of what tcode supports.
Edit: Just wanted to say thanks for being so quick to respond, and I donât want my above issues to give off the impression Iâm unsatisfied. The new version is pretty great so far.
True, but the reason is that the short names have a constant 2 character width so its easy to layout the UI. It would not be possible to make the axis values compact if it were to display full names. It would probably have to be 12 rows vs current 4.
Dont work how? You have to add the axis, enable it and restart MFP for it to show up.
Yea you can, the TCode v0.2 and v0.3 are just âpresetsâ that adhere to the official documentation.
Anything outside the presets is custom and needs custom firmware to handle if sending raw TCode, but the additional axes can ofc be used for other things like buttplug mapping. So you can add/remove/rename/edit the axes however you want on a custom device.
Technically there is no limit in the axis short name but I would keep it in 2 character [A-Z][0-9]
format so the ui doesnt break.
Maybe the âdeviceâ naming is not ideal since the axes can be used for multiple devices.
Might be a technical issue Iâve created thatâs causing the extra axes not to work. To clarify, by ânot workâ is that the device does not respond at all to changes on that axis.
Now, I did edit and recompile the code running on the nimblestroker module to look for the new axis names that I gave, so if youâre confirming itâs allowed from the MFP side, that means I probably screwed something up or missed something in my code changes.
EDIT: Took a look at the nimblestroker code (which I think is imported from some other library), and it looks like there are limits to the names in that:
Note: TCODE_CHANNEL_COUNT is hard-coded to 5.
template <unsigned TCODE_CHANNEL_COUNT>
ChannelID TCode<TCODE_CHANNEL_COUNT>::getIDFromStr(const String &input)
{
char type = input.charAt(0);
int channel = input.charAt(1) - '0';
bool valid = true;
if ((channel < 0) || (channel >= TCODE_CHANNEL_COUNT))
valid = false;
switch (type)
{
case 'L':
case 'R':
case 'V':
case 'A':
break;
default:
valid = false;
}
return {type, channel, valid};
}
For the nimblestroker at least, it looks like the name must start with L, R, V, or A and must have a number between 0 and 4. Iâll need to re-try adding more axes after digging into the code more.
Another minor feature request.
Could we have a way to change the labels for connections?
I imagine most people donât have multiples here, but it would be nice if we could have the tab label be something more meaningful.
Those are weird limits tbh, thats not the TCode spec.
Iâll add it to todo and iâll try to implement it if its not super involved.
Exactly, load them all script variants, play the one with exact name and have shortcut key to change between them. Heresphere could use that key so you wont have to leave HS.
I like this idea, some scripters already put out 2 versions of their scripts and being able to add both and switch between them sounds cool.
Heck I currently have a few duplicate videos because two different people scripted the same and I like both.
Still crashing.
2024-06-19 12:49:57.8112|DEBUG|MultiFunPlayer|Bootstrapper Configure
2024-06-19 12:49:57.8757|INFO|MultiFunPlayer.Settings.SettingsHelper|Reading settings from âMultiFunPlayer.config.jsonâ
2024-06-19 12:49:58.0664|INFO|MultiFunPlayer|Environment [OSVersion: Microsoft Windows NT 10.0.22631.0, CLRVersion: 8.0.3]
2024-06-19 12:49:58.0664|INFO|MultiFunPlayer|Assembly [Version: 1.30.1-patreon-master.1+99.Branch.patreon-master.Sha.801b64a87418da785ebaa356f48a5e70c78f1642]
2024-06-19 12:49:58.0664|INFO|MultiFunPlayer|Config [Version: 41]
2024-06-19 12:49:58.0664|INFO|MultiFunPlayer|Timer [IsHighResolution: True, Frequency: 10000000]
2024-06-19 12:49:58.0664|INFO|MultiFunPlayer|Set working directory to âC:\Users\cpazo\OneDrive\Pictures\MultiFunPlayerâ
2024-06-19 12:49:58.2037|INFO|MultiFunPlayer.Settings.SettingsHelper|Reading settings from âMultiFunPlayer.config.jsonâ
2024-06-19 12:52:56.9729|FATAL|MultiFunPlayer|System.OverflowException: Negating the minimum value of a twos complement number is invalid.
at MultiFunPlayer.Input.XInput.XInputProcessor.g__CreateAxisGestureShort|9_0(Int16 last, Int16 current, Double deadZone, GamepadAxis axis, <>c__DisplayClass9_0&)
at MultiFunPlayer.Input.XInput.XInputProcessor.ParseStateGestures(Int32 userIndex, Gamepad& last, Gamepad& current, Double elapsed)
at MultiFunPlayer.Input.XInput.XInputProcessor.Update(CancellationToken token)
at MultiFunPlayer.Input.XInput.XInputProcessor.<.ctor>b__6_0()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
â End of stack trace from previous location â
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
Version 1.30 and 1.30.1 patreon build donât work with xbvr , canât load the script
The 1.29.4 works fine with xbvr 0.4.26
Any idea to fix?
Thanks
@iz0d
Ehh, yea, I never tested thumb sticks at their min/max values, I need to buy actual xbox controller. Fixed in v1.30.2.
@sstark90
I need you to change log level to trace via application settings at the top of the window, then try playing a video from xbvr, then send me the latest log file.
Released v1.30.2 with the fix.
Currently running version 1.29.4 Is there an easy way to update to V1.30.2 while keeping all my settings in previous version. Thanks Yoooi
Safest is to extract new version to new folder and copy MultiFunPlayer.config.json
from the old version. MFP will migrate the settings when you run it.
Or you can just drag-drop new version files into the old version folder. But maybe also make a backup of the config file to be safe.
@Yoooi
Is there a solution for this? I have the same problem. I could send the log file if necessary.
Yes I need trace logs.
There was a change that requires you to name the script files correctly.
So if you have video.mp4
added to the scene, the scripts have to be video.funscript
/video.pitch.funscript
etc.
Before v1.30.0, MFP would look at all attached files so the naming didnt matter.