XTPlayer - Cross platform TCode sync (OSR, SR6) Stream your local media and sync funscripts to almost any device with a browser

Ya at some point, only so much time in my day lol. I know it isn’t the same but you can sort by random and refresh in the desktopUI.

I get the connected message on XTP, but I’m not sure where to go from there?

You said you can see XTP web in the browser right? If then open the settings dialog and check the “External player” checkbox. Do this in the herespehere browser. Then click on a video from the main web interface.
image

1 Like

Thanks! Got it working now.

How hard would it be to add support for the handy?
I am developer myself and I think it would be really useful to have this support on mac. So if you need help I can help with this.

I’ve just updated from 0.444b to 0.461b and the new features look great - especially the improved speed loading the media content, but for some reason it won’t connect via wifi. It has the same IP address as the old version (which still connects), but it won’t connect for some reason. Any ideas?

.46 and .461b both have a bug for me where it will load properly the first time but after the first time open it will close out itself during the scan process

I have no clue but I assume it wont be easy.

Using my firmware? Update to the latest release if so. Or disable TCode validation in XTP.

I assume theres a video or two in your library that XTP doesnt like. I dont know how to detect these videos and prevent a crash. If you can start with debug mode and see if it prints before it crashes.

EDIT: Ok I read that completely wrong the first time. The debug statement still stands. See what its doing when it crashes. Hopefully I added a useful debug long at the crash point.

Debug before it closes out

QWidget::paintEngine: Should no longer be called
QPainter::begin: Paint device returned engine == 0, type: 1
"XTP DEBUG 16:03:18:245: Create player"
"XTP DEBUG 16:03:18:339: XVideoPreview"
"XTP DEBUG 16:03:18:383: QSerialPortInfo::availablePorts() length: 0"
"XTP DEBUG 16:03:18:621: Websocket listening on port 38715"
No private key or certificate file path given. Disabling TLS
Listening...
"XTP DEBUG 16:03:18:624: QSerialPortInfo::availablePorts() length: 0"
"XTP DEBUG 16:03:18:626: Init port: COM4"
"XTP DEBUG 16:03:18:626: Availible ports length: 0"
"XTP DEBUG 16:03:18:628: Deo/HereSphere host look up"
"XTP DEBUG 16:03:18:629: Deo/HereSphere connecting"
"XTP DEBUG 16:03:18:631: loadLibraryAsync"
"XTP DEBUG 16:03:18:632: loadLibraryAsync after stop"
"XTP DEBUG 16:03:18:634: onSetLibraryLoading"
"XTP DEBUG 16:03:18:704: New item found: 2042"
"XTP DEBUG 16:03:18:734: New item found: 2045"
"XTP DEBUG 16:03:18:778: New item found: 2039"
"XTP DEBUG 16:03:18:866: New item found: 2037"
"XTP DEBUG 16:03:18:916: New item found: 2030"
"XTP DEBUG 16:03:19:832: New item found: 2028"
"XTP DEBUG 16:03:20:272: New item found: 2031"
"XTP DEBUG 16:03:20:387: New item found: 2036"
"XTP DEBUG 16:03:20:415: New item found: 2044"
"XTP DEBUG 16:03:20:469: New item found: 2038"
"XTP DEBUG 16:03:21:901: New item found: 2051"
"XTP DEBUG 16:03:22:053: New item found: 2024"
"XTP DEBUG 16:03:23:045: New item found: 2049"
"XTP DEBUG 16:03:23:065: New item found: 2035"
"XTP DEBUG 16:03:23:133: New item found: 2032"
"XTP DEBUG 16:03:23:279: New item found: 2040"
"XTP DEBUG 16:03:23:317: New item found: 2047"
"XTP DEBUG 16:03:24:023: New item found: 2025"
"XTP DEBUG 16:03:24:305: New item found: 2050"
"XTP DEBUG 16:03:24:487: New item found: 2046"
"XTP DEBUG 16:03:24:651: New item found: 2041"
"XTP DEBUG 16:03:24:737: New item found: 2033"
"XTP DEBUG 16:03:24:845: New item found: 2048"
"XTP DEBUG 16:03:24:929: New item found: 2034"
"XTP DEBUG 16:03:25:415: onSetLibraryLoading"
"XTP DEBUG 16:03:25:509: New item found: 1888v"
"XTP DEBUG 16:03:26:702: Start thumb process, vrMode: 0"
"XTP DEBUG 16:03:27:063: Stop thumb process"
"XTP DEBUG 16:03:27:064: Start thumb process, vrMode: 1"

E:\cires\Downloads\XTPlayer-v0.461b_Win_x86_64\Release>pause

Verbose before it closes out

qt.widgets.painting: Syncing dirty widgets
qt.widgets.painting: Painting and flushing dirty top level QRegion(null) and dirty widgets QVector(QProgressBar(0x14b3d210))
qt.widgets.painting: Drawing QRegion(2,686 250x25) of MainWindow(0x8afa80, name="MainWindow") at QPoint(0,0) into paintdevice 0x18226f98 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawAsRoot|DrawRecursive)
qt.widgets.painting: Marking QRegion(2,686 250x25) of top level MainWindow(0x8afa80, name="MainWindow") as needing flush
qt.widgets.painting: Drawing QRegion(2,3 250x25) of QStatusBar(0x2f795c0, name="statusbar") at QPoint(0,683) into paintdevice 0x18226f98 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive)
qt.widgets.painting: Marking QRegion(2,3 250x25) of native child QStatusBar(0x2f795c0, name="statusbar") as needing flush
qt.widgets.painting: Drawing QRegion(0,0 250x25) of QProgressBar(0x14b3d210) at QPoint(2,686) into paint device 0x18226f98 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive)
qt.widgets.painting: Marking QRegion(0,0 250x25) of QProgressBar(0x14b3d210) as needing flush in QStatusBar(0x2f795c0, name="statusbar") at offset QPoint(2,686)
qt.widgets.painting: Flushing top level QRegion(2,686 250x25) and children QVector(QStatusBar(0x2f795c0, name="statusbar"))
qt.widgets.painting: Flushing QRegion(2,686 250x25) of MainWindow(0x8afa80, name="MainWindow")
qt.widgets.painting: Flushing QRegion(2,3 250x25) of QStatusBar(0x2f795c0, name="statusbar")
qt.widgets.painting: Marking QRect(0,0 250x25) of QProgressBar(0x14b3d210) dirty with QWidgetRepaintManager::UpdateLater
qt.widgets.painting: Sending update request to MainWindow(0x8afa80, name="MainWindow") with QWidgetRepaintManager::UpdateLater
qt.widgets.painting: Marking QRect(0,0 250x25) of QProgressBar(0x14b3d210) dirty with QWidgetRepaintManager::UpdateLater
qt.widgets.painting: Marking QRect(0,0 250x25) of QProgressBar(0x14b3d210) dirty with QWidgetRepaintManager::UpdateLater
qt.widgets.painting: Marking QRect(0,0 250x25) of QProgressBar(0x14b3d210) dirty with QWidgetRepaintManager::UpdateLater
qt.widgets.painting: Marking QRect(0,0 250x25) of QProgressBar(0x14b3d210) dirty with QWidgetRepaintManager::UpdateLater
qt.widgets.painting: Marking QRect(0,0 250x25) of QProgressBar(0x14b3d210) dirty with QWidgetRepaintManager::UpdateNow
qt.widgets.painting: Sending update request to MainWindow(0x8afa80, name="MainWindow") with QWidgetRepaintManager::UpdateNow
qt.widgets.painting: Syncing dirty widgets
qt.widgets.painting: Painting and flushing dirty top level QRegion(null) and dirty widgets QVector(QProgressBar(0x14b3d210))
qt.widgets.painting: Drawing QRegion(2,686 250x25) of MainWindow(0x8afa80, name="MainWindow") at QPoint(0,0) into paintdevice 0x18226f98 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawAsRoot|DrawRecursive)
qt.widgets.painting: Marking QRegion(2,686 250x25) of top level MainWindow(0x8afa80, name="MainWindow") as needing flush
qt.widgets.painting: Drawing QRegion(2,3 250x25) of QStatusBar(0x2f795c0, name="statusbar") at QPoint(0,683) into paintdevice 0x18226f98 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive)
qt.widgets.painting: Marking QRegion(2,3 250x25) of native child QStatusBar(0x2f795c0, name="statusbar") as needing flush
qt.widgets.painting: Drawing QRegion(0,0 250x25) of QProgressBar(0x14b3d210) at QPoint(2,686) into paint device 0x18226f98 with QFlags<QWidgetPrivate::DrawWidgetFlag>(DrawRecursive)

E:\cires\Downloads\XTPlayer-v0.461b_Win_x86_64\Release>pause

The firmware update seems to have fixed it. Thanks!

1 Like

Hmm it does look like its failing at the VR thumb process start. Do you have a VR directory set in the web settings?

I do its a sub directory of the videos directory on the same NAS it was scanning normally prior to these last versions and worked both in the app and on the quest 3 in heresphere

I I just think this may be a hint at whats wrong. Its the only lead I have at this point. Maybe try clearing that field in XTP and see if it solves the issue.
Any new videos in there?

Nothing new everything has a thumb already from the previous version. Removing the VR line didn’t make a difference for the closing out.

It may not have anything todo with the VR dir. Thats just where the log ends for some reason. I just loaded a small folder in that field on a network drive fine.

Not really sure what it could be related to with the information I have.

Edit: looking at the log again I see there a quite a few items that do not have metadata associated with them with generic numbers for names. Those are basically being taged to create a new metadata object and check for MFS scripts, tags, etc.
You said it gets to the metadata processing part right? There could be a clue here somewhere.

The metadata is stored by file name so if you have files named the same in different dirs, they will be tied to the same metadata object. Heres the main part of the metadata processing. Theres not much there that would cause a crash I dont think. XTEngine/src/lib/handler/medialibraryhandler.cpp at f5cdc84e55e1b09330f7e37c46a4661c9d796ed5 · jcfain/XTEngine · GitHub

Yes on a fresh download and config file it will add and process all the media and stay open but on the next startup when it finishes the scanning portions it closes when it should be loading the thumbs in the playlist. I went through the directories and made sure there were no duplicates names between folders. .452b everything works normally is it possible the meta data function has a video count limit the folder is very large.

Well this function would only be limited by your system ram. The initial library load is what reads the files from disk and loads them into ram. Then the metadata is processed in ram and stored back to disk.

Hmm it doesn’t appear to be ram related system has 32gb and still has a lot free when it closes. I’ll keep using the other version for now I will let you know if I find a cause.

Edit: I tried moving files around and testing specific folders not sure what is causing it still, but the VR directory works fine by itself and the MFS and regular video directories work fine together. When the VR directory is copied into the videos directory it causes the issue even though none share the same name.