Jump to content



Photo
* * * * * 6 votes

FlexDMD, an UltraDMD alternative

UltraDMD DMD

  • Please log in to reply
835 replies to this topic

#561 wiesshund

wiesshund

    VPF Legend

  • Members
  • PipPipPipPipPipPipPip
  • 11,871 posts

  • Flag: United States of America

  • Favorite Pinball: How many can i have?

Posted 01 March 2021 - 05:05 AM

The update that thalamus has on his site is not from 2015

'Thalamus 2018-11-01

i mean the table will run and play with out updating it, and the update has no bearing on the DMD output at all

it addresses some other things you may, or may not be interested in.

 

As for your error
based on what UltraDMD is saying, i suppose that might crash FlexDMD
I am going to look at the table, but ultraDMD is saying it is looking for a file in a network location or removed media (which it should not)

which i do not know that flexDMD has any contingency for

 

Oh, I see what is going on

Sub DMD(background, duration)
    UltraDMD.DisplayScene00 background, "", 15, "", 15, 14, duration, 14
    UltraDMDScoreTimer.Enabled = 1                               'to show the score after the animation/message
End Sub

1st thing

Sub DMD(background, duration)
    UltraDMD.DisplayScene00 (background), "", 15, "", 15, 14, (duration), 14
    UltraDMDScoreTimer.Enabled = 1                               'to show the score after the animation/message
End Sub

might work better like that, some reason it seemed to lose a few backgrounds without it, i dunno, maybe the names got truncated?

 

But that is not your issue, It still crashes dead

what ever you encoded the MP4's with, it is not something that ultraDMD nor flexDMD can work with, and it wants something
from a location that isnt available when you run it through UltraDMD, it almost looks like it is looking for a source location, maybe something it picked up from what ever codec was used, FlexDMD it just outright crashes it.

 

I re-encoded the mp4 videos in your DMD to wmv, same size etc
Played perfect
I tend to stick with WMV for DMD motion media because there is not a plethora of WMV implementations, if it is WMV then it is WMV
and plays back on any windows machine, and both ultraDMD and flexDMD are universally cool with it.

 

the 4 mp4 videos

toss these in your DMD folder, and change the script refs to mp4 to wmv

 


I do not know how much it matters at this point but the crash you are getting, the cause is this

Crash report VPX rev4406
============
Process: VPinballX.exe
Reason: 0xE0434352 - UNKNOWN at 0023:75A4A8B2
Thread ID: 0x1ACC [6860]

Call stack
==========
75A4A8B2 KERNELBASE.dll RaiseException + 0x62 (0xFFFFFFFFE0434352 0x00000001 0x00000005 0x3b31ec20)
6B0428F1 clr.dll GetMetaDataPublicInterfaceFromInternal + 0x9741 (0x00000000 0xFFFFFFFF93D385A3 0x2C4F4DC4 0xfffffffffffffffc)
6B043796 clr.dll GetMetaDataPublicInterfaceFromInternal + 0xA5E6 (0xFFFFFFFFA2F27585 0x6AF4FD74 0x3B31F230 0x00000010)
1F23B266  (0x2C4D6BB8 0x00000000 0x2C4D6BB8 0x2c4db298)
1F23C599  (0x2C4C15F0 0x00000000 0x00000000 0x00000000)
1F2399DE  (0x1F230E4D 0x2C4C1594 0x2C4C17B0 0x00000000)
1F2398B9  (0x2C4B0FD8 0x2C4B107C 0x3B31EE34 0x2ea56a5c)
1A2D2BBD  (0x3B31EE50 0x3B31EE60 0x3B31EE7C 0x2ea56533)
2EA56A5C  (0x3C8B813E 0x2C4ABD1C 0x00000000 0x00000000)
2EA56533  (0x3C8B813E 0x00000000 0x00000000 0x00000042)
2EA55918  (0x2C53BE18 0x3B31F010 0x69E58604 0x2c53bdb0)
69E32E01 mscorlib.ni.dll (0x2C53BDB0 0x00000000 0x00000000 0x00000000)
69E58604 mscorlib.ni.dll (0x00000000 0x2C4BB568 0x00000000 0x3b31f040)
69E58537 mscorlib.ni.dll (0x00000000 0x2C4BB568 0x00000000 0x2c53bde4)
69E584F4 mscorlib.ni.dll (0x2C4BB568 0x00000000 0x00000000 0x3b31f070)
69E32D5B mscorlib.ni.dll (0x181CD030 0x3B31F0B8 0x6AF522DA 0x3b31f100)
6AF4F036 clr.dll (0x3B31F100 0x3B31F0A8 0x6B0423D0 0x3b31f230)
6AF522DA clr.dll LogHelp_TerminateOnAssert + 0x92A (0x3B31F1C4 0x2C53BDF8 0x00000004 0x3b31f0e8)
6AF5859B clr.dll LogHelp_TerminateOnAssert + 0x6BEB (0x3B31F270 0xFFFFFFFF93D39A23 0x3B31F374 0x6b069560)
6B069657 clr.dll PreBindAssemblyEx + 0x3557 (0x3B31F410 0x181CD030 0x3B31F3B4 0x3b31f358)
6B0FE1E6 clr.dll CorExeMain + 0x6F06 (0xFFFFFFFF93D39BE7 0x00000001 0x3B31F3B4 0x00000000)
6B0FE271 clr.dll CorExeMain + 0x6F91 (0xFFFFFFFF93D39B13 0x00000001 0x181CD030 0x00000000)
6B0FE162 clr.dll CorExeMain + 0x6E82 (0x00000001 0x00000000 0x00000001 0x6b069560)
6B0FE351 clr.dll CorExeMain + 0x7071 (0x00000001 0x00000002 0xFFFFFFFF93D39CEB 0x6b069420)
6B069508 clr.dll PreBindAssemblyEx + 0x3408 (0x288B93C8 0x00000000 0x00000000 0x3b31f510)
6B014BB7 clr.dll CoUninitializeEE + 0x135F7 (0x347908A0 0x7699FA10 0x3B31FFDC 0x774676b4)KERNEL
Environment
===========
Date/time: 28/2/2021, 23:40:30:802
Number of CPUs: 8
Processor type: 586
System: Windows 10 (10.0 19042)

Memory status
=============
Total Reserved: 263876K (257M) bytes
Total Commited: 1143596K (1116M) bytes
Total Free: 2786768K (2721M) bytes
Largest Free: 2094528K (2045M) bytes

Registers
=========
EAX=3B31EB60 EBX=00000005 ECX=00000005 EDX=00000000
ESI=3B31EC20 EDI=00000001 EBP=3B31FF80 ESP=3B31FF78 EIP=7699FA29
FLG=00200216 CS=0023 DS=002B SS=002B ES=002B FS=0053 GS=002B


Failed to save minidump.


If you feel the need to empty your wallet in my direction, i don't have any way to receive it anyways

Spend it on Hookers and Blow


#562 freneticamnesic

freneticamnesic

    A Faint Ghost Through the Raindrops

  • VIP
  • 3,370 posts
  • Location:Portland, OR

  • Flag: United States of America

  • Favorite Pinball: Star Trek, Black Hole, AFM, Fast Draw, Tron, AMH

  • 360 Gamer Tag: sixgunsounddd

Posted 01 March 2021 - 08:11 AM

 

The update that thalamus has on his site is not from 2015

'Thalamus 2018-11-01

i mean the table will run and play with out updating it, and the update has no bearing on the DMD output at all

it addresses some other things you may, or may not be interested in.

 

As for your error
based on what UltraDMD is saying, i suppose that might crash FlexDMD
I am going to look at the table, but ultraDMD is saying it is looking for a file in a network location or removed media (which it should not)

which i do not know that flexDMD has any contingency for

 

Oh, I see what is going on

Sub DMD(background, duration)
    UltraDMD.DisplayScene00 background, "", 15, "", 15, 14, duration, 14
    UltraDMDScoreTimer.Enabled = 1                               'to show the score after the animation/message
End Sub

1st thing

Sub DMD(background, duration)
    UltraDMD.DisplayScene00 (background), "", 15, "", 15, 14, (duration), 14
    UltraDMDScoreTimer.Enabled = 1                               'to show the score after the animation/message
End Sub

might work better like that, some reason it seemed to lose a few backgrounds without it, i dunno, maybe the names got truncated?

 

But that is not your issue, It still crashes dead

what ever you encoded the MP4's with, it is not something that ultraDMD nor flexDMD can work with, and it wants something
from a location that isnt available when you run it through UltraDMD, it almost looks like it is looking for a source location, maybe something it picked up from what ever codec was used, FlexDMD it just outright crashes it.

 

I re-encoded the mp4 videos in your DMD to wmv, same size etc
Played perfect
I tend to stick with WMV for DMD motion media because there is not a plethora of WMV implementations, if it is WMV then it is WMV
and plays back on any windows machine, and both ultraDMD and flexDMD are universally cool with it.

 

the 4 mp4 videos

toss these in your DMD folder, and change the script refs to mp4 to wmv

 


I do not know how much it matters at this point but the crash you are getting, the cause is this

Crash report VPX rev4406
============
Process: VPinballX.exe
Reason: 0xE0434352 - UNKNOWN at 0023:75A4A8B2
Thread ID: 0x1ACC [6860]

Call stack
==========
75A4A8B2 KERNELBASE.dll RaiseException + 0x62 (0xFFFFFFFFE0434352 0x00000001 0x00000005 0x3b31ec20)
6B0428F1 clr.dll GetMetaDataPublicInterfaceFromInternal + 0x9741 (0x00000000 0xFFFFFFFF93D385A3 0x2C4F4DC4 0xfffffffffffffffc)
6B043796 clr.dll GetMetaDataPublicInterfaceFromInternal + 0xA5E6 (0xFFFFFFFFA2F27585 0x6AF4FD74 0x3B31F230 0x00000010)
1F23B266  (0x2C4D6BB8 0x00000000 0x2C4D6BB8 0x2c4db298)
1F23C599  (0x2C4C15F0 0x00000000 0x00000000 0x00000000)
1F2399DE  (0x1F230E4D 0x2C4C1594 0x2C4C17B0 0x00000000)
1F2398B9  (0x2C4B0FD8 0x2C4B107C 0x3B31EE34 0x2ea56a5c)
1A2D2BBD  (0x3B31EE50 0x3B31EE60 0x3B31EE7C 0x2ea56533)
2EA56A5C  (0x3C8B813E 0x2C4ABD1C 0x00000000 0x00000000)
2EA56533  (0x3C8B813E 0x00000000 0x00000000 0x00000042)
2EA55918  (0x2C53BE18 0x3B31F010 0x69E58604 0x2c53bdb0)
69E32E01 mscorlib.ni.dll (0x2C53BDB0 0x00000000 0x00000000 0x00000000)
69E58604 mscorlib.ni.dll (0x00000000 0x2C4BB568 0x00000000 0x3b31f040)
69E58537 mscorlib.ni.dll (0x00000000 0x2C4BB568 0x00000000 0x2c53bde4)
69E584F4 mscorlib.ni.dll (0x2C4BB568 0x00000000 0x00000000 0x3b31f070)
69E32D5B mscorlib.ni.dll (0x181CD030 0x3B31F0B8 0x6AF522DA 0x3b31f100)
6AF4F036 clr.dll (0x3B31F100 0x3B31F0A8 0x6B0423D0 0x3b31f230)
6AF522DA clr.dll LogHelp_TerminateOnAssert + 0x92A (0x3B31F1C4 0x2C53BDF8 0x00000004 0x3b31f0e8)
6AF5859B clr.dll LogHelp_TerminateOnAssert + 0x6BEB (0x3B31F270 0xFFFFFFFF93D39A23 0x3B31F374 0x6b069560)
6B069657 clr.dll PreBindAssemblyEx + 0x3557 (0x3B31F410 0x181CD030 0x3B31F3B4 0x3b31f358)
6B0FE1E6 clr.dll CorExeMain + 0x6F06 (0xFFFFFFFF93D39BE7 0x00000001 0x3B31F3B4 0x00000000)
6B0FE271 clr.dll CorExeMain + 0x6F91 (0xFFFFFFFF93D39B13 0x00000001 0x181CD030 0x00000000)
6B0FE162 clr.dll CorExeMain + 0x6E82 (0x00000001 0x00000000 0x00000001 0x6b069560)
6B0FE351 clr.dll CorExeMain + 0x7071 (0x00000001 0x00000002 0xFFFFFFFF93D39CEB 0x6b069420)
6B069508 clr.dll PreBindAssemblyEx + 0x3408 (0x288B93C8 0x00000000 0x00000000 0x3b31f510)
6B014BB7 clr.dll CoUninitializeEE + 0x135F7 (0x347908A0 0x7699FA10 0x3B31FFDC 0x774676b4)KERNEL
Environment
===========
Date/time: 28/2/2021, 23:40:30:802
Number of CPUs: 8
Processor type: 586
System: Windows 10 (10.0 19042)

Memory status
=============
Total Reserved: 263876K (257M) bytes
Total Commited: 1143596K (1116M) bytes
Total Free: 2786768K (2721M) bytes
Largest Free: 2094528K (2045M) bytes

Registers
=========
EAX=3B31EB60 EBX=00000005 ECX=00000005 EDX=00000000
ESI=3B31EC20 EDI=00000001 EBP=3B31FF80 ESP=3B31FF78 EIP=7699FA29
FLG=00200216 CS=0023 DS=002B SS=002B ES=002B FS=0053 GS=002B


Failed to save minidump.

 

Interesting and insightful. Thank you. I never had issues with the video format before, I just didn't like the compression on other formats. It worked, but I think that was back when most of us were on windows 7, so something probably changed with windows 10. I know it worked for other people too as I had a few people helping with the table. Should be easy enough to re-encode, then. I am not great at coding, I think any scenes I had were just copied from AMH on which Shoopity did most of the work.

 

Ah looking at it now, the mp4 files seem to be the ones I converted from gifs in Photoshop. Glad the rest of them are wmv. Won't do that again


Edited by freneticamnesic, 01 March 2021 - 08:13 AM.


#563 wiesshund

wiesshund

    VPF Legend

  • Members
  • PipPipPipPipPipPipPip
  • 11,871 posts

  • Flag: United States of America

  • Favorite Pinball: How many can i have?

Posted 01 March 2021 - 08:28 AM

 

 

The update that thalamus has on his site is not from 2015

'Thalamus 2018-11-01

i mean the table will run and play with out updating it, and the update has no bearing on the DMD output at all

it addresses some other things you may, or may not be interested in.

 

As for your error
based on what UltraDMD is saying, i suppose that might crash FlexDMD
I am going to look at the table, but ultraDMD is saying it is looking for a file in a network location or removed media (which it should not)

which i do not know that flexDMD has any contingency for

 

Oh, I see what is going on

Sub DMD(background, duration)
    UltraDMD.DisplayScene00 background, "", 15, "", 15, 14, duration, 14
    UltraDMDScoreTimer.Enabled = 1                               'to show the score after the animation/message
End Sub

1st thing

Sub DMD(background, duration)
    UltraDMD.DisplayScene00 (background), "", 15, "", 15, 14, (duration), 14
    UltraDMDScoreTimer.Enabled = 1                               'to show the score after the animation/message
End Sub

might work better like that, some reason it seemed to lose a few backgrounds without it, i dunno, maybe the names got truncated?

 

But that is not your issue, It still crashes dead

what ever you encoded the MP4's with, it is not something that ultraDMD nor flexDMD can work with, and it wants something
from a location that isnt available when you run it through UltraDMD, it almost looks like it is looking for a source location, maybe something it picked up from what ever codec was used, FlexDMD it just outright crashes it.

 

I re-encoded the mp4 videos in your DMD to wmv, same size etc
Played perfect
I tend to stick with WMV for DMD motion media because there is not a plethora of WMV implementations, if it is WMV then it is WMV
and plays back on any windows machine, and both ultraDMD and flexDMD are universally cool with it.

 

the 4 mp4 videos

toss these in your DMD folder, and change the script refs to mp4 to wmv

 


I do not know how much it matters at this point but the crash you are getting, the cause is this

Crash report VPX rev4406
============
Process: VPinballX.exe
Reason: 0xE0434352 - UNKNOWN at 0023:75A4A8B2
Thread ID: 0x1ACC [6860]

Call stack
==========
75A4A8B2 KERNELBASE.dll RaiseException + 0x62 (0xFFFFFFFFE0434352 0x00000001 0x00000005 0x3b31ec20)
6B0428F1 clr.dll GetMetaDataPublicInterfaceFromInternal + 0x9741 (0x00000000 0xFFFFFFFF93D385A3 0x2C4F4DC4 0xfffffffffffffffc)
6B043796 clr.dll GetMetaDataPublicInterfaceFromInternal + 0xA5E6 (0xFFFFFFFFA2F27585 0x6AF4FD74 0x3B31F230 0x00000010)
1F23B266  (0x2C4D6BB8 0x00000000 0x2C4D6BB8 0x2c4db298)
1F23C599  (0x2C4C15F0 0x00000000 0x00000000 0x00000000)
1F2399DE  (0x1F230E4D 0x2C4C1594 0x2C4C17B0 0x00000000)
1F2398B9  (0x2C4B0FD8 0x2C4B107C 0x3B31EE34 0x2ea56a5c)
1A2D2BBD  (0x3B31EE50 0x3B31EE60 0x3B31EE7C 0x2ea56533)
2EA56A5C  (0x3C8B813E 0x2C4ABD1C 0x00000000 0x00000000)
2EA56533  (0x3C8B813E 0x00000000 0x00000000 0x00000042)
2EA55918  (0x2C53BE18 0x3B31F010 0x69E58604 0x2c53bdb0)
69E32E01 mscorlib.ni.dll (0x2C53BDB0 0x00000000 0x00000000 0x00000000)
69E58604 mscorlib.ni.dll (0x00000000 0x2C4BB568 0x00000000 0x3b31f040)
69E58537 mscorlib.ni.dll (0x00000000 0x2C4BB568 0x00000000 0x2c53bde4)
69E584F4 mscorlib.ni.dll (0x2C4BB568 0x00000000 0x00000000 0x3b31f070)
69E32D5B mscorlib.ni.dll (0x181CD030 0x3B31F0B8 0x6AF522DA 0x3b31f100)
6AF4F036 clr.dll (0x3B31F100 0x3B31F0A8 0x6B0423D0 0x3b31f230)
6AF522DA clr.dll LogHelp_TerminateOnAssert + 0x92A (0x3B31F1C4 0x2C53BDF8 0x00000004 0x3b31f0e8)
6AF5859B clr.dll LogHelp_TerminateOnAssert + 0x6BEB (0x3B31F270 0xFFFFFFFF93D39A23 0x3B31F374 0x6b069560)
6B069657 clr.dll PreBindAssemblyEx + 0x3557 (0x3B31F410 0x181CD030 0x3B31F3B4 0x3b31f358)
6B0FE1E6 clr.dll CorExeMain + 0x6F06 (0xFFFFFFFF93D39BE7 0x00000001 0x3B31F3B4 0x00000000)
6B0FE271 clr.dll CorExeMain + 0x6F91 (0xFFFFFFFF93D39B13 0x00000001 0x181CD030 0x00000000)
6B0FE162 clr.dll CorExeMain + 0x6E82 (0x00000001 0x00000000 0x00000001 0x6b069560)
6B0FE351 clr.dll CorExeMain + 0x7071 (0x00000001 0x00000002 0xFFFFFFFF93D39CEB 0x6b069420)
6B069508 clr.dll PreBindAssemblyEx + 0x3408 (0x288B93C8 0x00000000 0x00000000 0x3b31f510)
6B014BB7 clr.dll CoUninitializeEE + 0x135F7 (0x347908A0 0x7699FA10 0x3B31FFDC 0x774676b4)KERNEL
Environment
===========
Date/time: 28/2/2021, 23:40:30:802
Number of CPUs: 8
Processor type: 586
System: Windows 10 (10.0 19042)

Memory status
=============
Total Reserved: 263876K (257M) bytes
Total Commited: 1143596K (1116M) bytes
Total Free: 2786768K (2721M) bytes
Largest Free: 2094528K (2045M) bytes

Registers
=========
EAX=3B31EB60 EBX=00000005 ECX=00000005 EDX=00000000
ESI=3B31EC20 EDI=00000001 EBP=3B31FF80 ESP=3B31FF78 EIP=7699FA29
FLG=00200216 CS=0023 DS=002B SS=002B ES=002B FS=0053 GS=002B


Failed to save minidump.

 

Interesting and insightful. Thank you. I never had issues with the video format before, I just didn't like the compression on other formats. It worked, but I think that was back when most of us were on windows 7, so something probably changed with windows 10. I know it worked for other people too as I had a few people helping with the table. Should be easy enough to re-encode, then. I am not great at coding, I think any scenes I had were just copied from AMH on which Shoopity did most of the work.

 

Ah looking at it now, the mp4 files seem to be the ones I converted from gifs in Photoshop. Glad the rest of them are wmv. Won't do that again

 

 

Could be due to what ever app you encoded/created them with.
Windows itself will play lots of variations of a given format, if it has the codecs registered, but over apps that can only chose from a fixed list of formats
may fail to play them even though windows does.

 

I have made some mpegs before, in adobe premier, that because of what ever dumb settings i picked, even youtube could not take them

 

now for giggles, i took your mp4's as they were, and tossed them into aimersoft video converter, and just spit them back out as mp4
with what it considered standard settings, and same resolution, and they seemed to work fine.

 

For what it is worth, pinballX is kind of the same way, it will play one MP4 and not another, depending on how it was encoded.

 

Anyways, your table code is fine, so i hope you can finish your table
 

In your DMD assets, there is another copy of the table, and some photoshop projects


If you feel the need to empty your wallet in my direction, i don't have any way to receive it anyways

Spend it on Hookers and Blow


#564 vbousquet

vbousquet

    Enthusiast

  • Members
  • PipPipPip
  • 108 posts

  • Flag: France

  • Favorite Pinball: Cue Ball Wizard, Tron Legacy, Terminator 2

Posted 01 March 2021 - 01:35 PM

Just have a look and Wiesshung is totally right ; the crash is because the 4 mp4 files use an encoding that windows does not support natively. I have included a fix for the next release of FlexDMD that gives a clean log instead of crashing (but it won't offer support for this specific codec).

 

The behavior is different between UltraDMD and FlexDMD regarding the supported codecs; UltraDMD uses the one that XDMD uses, which in turns rely on "LavCodecs". This is because it was released at a time where Windows did not offer any good support for codecs. Now with Window 7 and 10, Windows offers a bunch of natively supported codecs. Therefore FlexDMD just use the codecs provided by Windows, leading to a more lightweight install, and better performance (Window codecs are integrated with the system and the drivers).



#565 Michael Gallo

Michael Gallo

    Hobbyist

  • Platinum Supporter
  • 15 posts
  • Location:Italy

  • Flag: Italy

  • Favorite Pinball: Pretty much anything with a DMD

Posted 19 March 2021 - 08:20 AM

I'm working on an original table using FlexDMD's native API (I'd like to implement a video mode later), and I've come across a problem that seems very trivial, which means I'm probably missing something obvious, but I can't seem to figure out what. I'm trying to create a very simple score scene with a couple of labels and update their text to show the score.

This is how my update function looks like:

Sub DMD_UpdateScore
	FlexDMD.LockRenderThread
	ScoreScene.GetLabel("Score").Text = CStr(Score(CurrentPlayer)) + "0"
	ScoreScene.GetLabel("Score").SetAlignedPosition 1, 1, Align_TopLeft
	FlexDMD.UnlockRenderThread
End Sub

The problem is that once the score changes, the label is partially off the display:
Score.png

 

As you can see in the code, I tried to fix this by calling SetAlignedPosition each time the score changes, but that doesn't work.

I'm not sure whether LockRenderThread is necessary, but I wanted to be on the safe side. Anyway, it seems to work the same with or without it.

Any help from the pros here would be appreciated.



#566 wiesshund

wiesshund

    VPF Legend

  • Members
  • PipPipPipPipPipPipPip
  • 11,871 posts

  • Flag: United States of America

  • Favorite Pinball: How many can i have?

Posted 19 March 2021 - 08:43 AM

It may have to do with your brackets, or lack of
I did this with a very large score with commas and it aligned fine

Sub DMD_UpdateScore
Dim scene1
Set scene1 = FlexDMD.NewGroup("Scene 1")
scene1.AddActor FlexDMD.NewImage("Back", "FlexDMD.Resources.dmds.black.png")
scene1.AddActor FlexDMD.NewLabel("Label", font, "112,375,340" + "0")
scene1.GetLabel("Label").SetAlignedPosition 1, 1, Align_TopLeft
FlexDMD.LockRenderThreadEnd Sub

So maybe

Sub DMD_UpdateScoreDim scene1
Set scene1 = FlexDMD.NewGroup("Scene 1")
scene1.AddActor FlexDMD.NewImage("Back", "FlexDMD.Resources.dmds.black.png")
scene1.AddActor FlexDMD.NewLabel("ScoreBoard", font, CStr(Score(CurrentPlayer)) + "0")
scene1.GetLabel("ScoreBoard").SetAlignedPosition 1, 1, Align_TopLeft
FlexDMD.LockRenderThreadEnd Sub

If you feel the need to empty your wallet in my direction, i don't have any way to receive it anyways

Spend it on Hookers and Blow


#567 Michael Gallo

Michael Gallo

    Hobbyist

  • Platinum Supporter
  • 15 posts
  • Location:Italy

  • Flag: Italy

  • Favorite Pinball: Pretty much anything with a DMD

Posted 19 March 2021 - 09:15 AM

Not sure I understand you correctly, but it seems like you're suggesting rebuilding the scene every time the score changes?

I thought I could just update an existing label, but this is certainly something I could try....

 

Update

This works:

Sub DMD_UpdateScore
	FlexDMD.LockRenderThread
	ScoreScene.RemoveActor ScoreScene.GetLabel("Score")
	ScoreScene.AddActor FlexDMD.NewLabel("Score", Font6x12, CStr(Score(CurrentPlayer)) + "0")
	ScoreScene.GetLabel("Score").SetAlignedPosition 1, 1, Align_TopLeft
	FlexDMD.UnlockRenderThread
End Sub

So when I remove the label from the scene and re-add it, its position is correct, but just updating its text and position doesn't work.

When I have time, I'll try to look at FlexDMD source, why this is the case.

 

Update 2

I had a look @ the FlexDMD code, and I think I've figured it out.

Calling SetAlignedPosition doesn't actually change the text alignment of the label (which is center by default). It only moves the label to make it look like it's left-aligned, but the label's own Alignment property remains unchanged, and it's "anchor" position is still in its center.

When the text is updated, the label expands from that internal anchor to both sides.

The internal Alignment property is not published through the COM interface, so it can't be changed.

What I don't understand is why calling SetAlignedPosition after changing the text doesn't position the label correctly, because changing the text does update the internal size of the label.
Unfortunately I don't have time to do any more digging right now.


Edited by Michael Gallo, 19 March 2021 - 10:59 AM.


#568 wiesshund

wiesshund

    VPF Legend

  • Members
  • PipPipPipPipPipPipPip
  • 11,871 posts

  • Flag: United States of America

  • Favorite Pinball: How many can i have?

Posted 19 March 2021 - 06:57 PM

Not sure.

 

I stuck what i tried above in a scoreboard on the example table, and it seemed to work
Other than i had to remove the "0" because it was appending a 0 to the scores and i did not have them set up
to work that way

 

scene 1 was the score

scene 2 was player number

scene 3 was ball count

 

 

basically just a variation of the flexDMD demo scene


If you feel the need to empty your wallet in my direction, i don't have any way to receive it anyways

Spend it on Hookers and Blow


#569 jdsabin1

jdsabin1

    Enthusiast

  • Silver Supporter
  • 220 posts
  • Location:Central USA

  • Flag: United States of America

  • Favorite Pinball: A sucker for EM tables....

Posted 23 March 2021 - 06:20 PM

UPDATE SOLVED: I rebooted to safe mode and ran the exe again and registered the flexdmd.dll successfully. Defender is turned off on my PC so no idea what was stopping the DLL from getting registered but something sure was. Hopefully this helps someone else. 

 

I am running a Window 10 64 bit cab with the latest patches, no AV running, all related packages are complete (dot net and Visual C++ packages). When I run FlexDMDUI.exe, it tells me that both the freezy's DLLs are at 1.82 and that the flex dll's are at 1.71 so green checkmarks there. When I try to register the FlexDMD.dll though, nothing happens (and it doesn't register). I did register the FlexUDMD.dll and I do get the green checkmark. 

 

I have tried flexdmd versions 1.6, 1.7 and 1.71 just in case the flexdld.dll wasn't right. I ran an sfc /scannow to make sure there was no problems there. I also ran the regsrv32 against the flexdmd.dll and got an error saying the DLLRegisterServer was not found (ran it in an elevated prompt).  

 

Any ideas? I am stumped. 

 

Thanks. 


Edited by jdsabin1, 23 March 2021 - 11:20 PM.

'The ball is wild!' - Harry Williams

#570 forte

forte

    Hobbyist

  • Members
  • PipPip
  • 37 posts

  • Flag: Uruguay

  • Favorite Pinball: black night

Posted 24 March 2021 - 01:42 AM

hey guys just install this flex dmd for the table bounty hunter the mandolarian, installation is ok no issues flexdmd set in  the correct screen and as replacement of ultra dmd ,etc, but im experiencing ball stutter (like wtith ultradmd), when i turn it off in the table script, ball plays with no stutter at all (running force full screen mode) 

 

any thoughts? thank you!



#571 wiesshund

wiesshund

    VPF Legend

  • Members
  • PipPipPipPipPipPipPip
  • 11,871 posts

  • Flag: United States of America

  • Favorite Pinball: How many can i have?

Posted 24 March 2021 - 02:43 AM

hey guys just install this flex dmd for the table bounty hunter the mandolarian, installation is ok no issues flexdmd set in  the correct screen and as replacement of ultra dmd ,etc, but im experiencing ball stutter (like wtith ultradmd), when i turn it off in the table script, ball plays with no stutter at all (running force full screen mode) 

 

any thoughts? thank you!

 

Computer specs?


If you feel the need to empty your wallet in my direction, i don't have any way to receive it anyways

Spend it on Hookers and Blow


#572 Thalamus

Thalamus

    VPF Veteran

  • Platinum Supporter
  • 5,000 posts

  • Flag: Norway

  • Favorite Pinball: GOT, Alien Star, LOTR, TOM

Posted 24 March 2021 - 10:57 AM

I see stutter myself, but, only after playing the table for a while. I've tried many different video options, but, I have yet to try to turn of the flexdmd/freezy. I'll try this over the weekend. I'm a little behind on both freezy and flex, but, not by many versions.


Edited by Thalamus, 24 March 2021 - 10:58 AM.

From now on. I won't help anyone here at VPF. Please ask Noah why that is.


#573 dondi

dondi

    Enthusiast

  • Members
  • PipPipPip
  • 144 posts

  • Flag: United States of America

  • Favorite Pinball: Ace of Speed

Posted 24 March 2021 - 11:43 AM

Hello... have a question about High Scores with FlexDMD... I had previously been strictly-using Ultra up until a few weeks ago, and then totally switched-over to Flex. On my cab, About a year ago, I setup dynamic high score image creation as POPMEDIA for display in my front-end using PinEMHi and ImageMagick. For the initial setup, I used the guide here. I also made a 'HOW-TO' video here. Was able to get ROM-based VPX, FP and Ultra tables to generate PNGs for high scores. Now that I've gone-over to FlexDMD, I don't think this works any longer for Ultra/Flex tables. I am a hack-scripter at-best, so any insight as to a way to generate high scores via Flex if this capability is already there, or how to access it?
Thanks



#574 wiesshund

wiesshund

    VPF Legend

  • Members
  • PipPipPipPipPipPipPip
  • 11,871 posts

  • Flag: United States of America

  • Favorite Pinball: How many can i have?

Posted 24 March 2021 - 06:23 PM

Hello... have a question about High Scores with FlexDMD... I had previously been strictly-using Ultra up until a few weeks ago, and then totally switched-over to Flex. On my cab, About a year ago, I setup dynamic high score image creation as POPMEDIA for display in my front-end using PinEMHi and ImageMagick. For the initial setup, I used the guide here. I also made a 'HOW-TO' video here. Was able to get ROM-based VPX, FP and Ultra tables to generate PNGs for high scores. Now that I've gone-over to FlexDMD, I don't think this works any longer for Ultra/Flex tables. I am a hack-scripter at-best, so any insight as to a way to generate high scores via Flex if this capability is already there, or how to access it?
Thanks

 

Probably going to need to ask nailbuster
i am not really sure what his script is looking at for the romless ultraDMD tables


If you feel the need to empty your wallet in my direction, i don't have any way to receive it anyways

Spend it on Hookers and Blow


#575 Thalamus

Thalamus

    VPF Veteran

  • Platinum Supporter
  • 5,000 posts

  • Flag: Norway

  • Favorite Pinball: GOT, Alien Star, LOTR, TOM

Posted 25 March 2021 - 10:18 AM

Update for Star Wars Bounty Hunter and lag issues : https://vpinball.com.../3/#post-231293

 

I was on 1.8 of freezy and a fairly recent version of flexdmd. Now, it is the latest build of Freezy - 1.9.0-SNAPSHOT-r8 and the 1.7.1 of Flex. Latest 10.6.2 VP and 10.7beta was tried with same issues yesterday on older combination of drivers.

 

Update : might have been a timer set too fast. Too early to conclude.


Edited by Thalamus, 25 March 2021 - 05:18 PM.

From now on. I won't help anyone here at VPF. Please ask Noah why that is.


#576 dondi

dondi

    Enthusiast

  • Members
  • PipPipPip
  • 144 posts

  • Flag: United States of America

  • Favorite Pinball: Ace of Speed

Posted 25 March 2021 - 11:38 AM

Probably going to need to ask nailbuster

i am not really sure what his script is looking at for the romless ultraDMD tables

We are looking at VPReg.stg in the \Visual Pinball\Users directory. So, does Flex not write to this file vs. Ultra?



#577 wiesshund

wiesshund

    VPF Legend

  • Members
  • PipPipPipPipPipPipPip
  • 11,871 posts

  • Flag: United States of America

  • Favorite Pinball: How many can i have?

Posted 25 March 2021 - 06:48 PM

 

Probably going to need to ask nailbuster

i am not really sure what his script is looking at for the romless ultraDMD tables

We are looking at VPReg.stg in the \Visual Pinball\Users directory. So, does Flex not write to this file vs. Ultra?

 

 

 

Well fwiw
i tested jp's diablo

and it wrote the scores to VPReg.stg

But looking at the script, the writing of them has no bearing on ultraDMD or FlexDMD?
it is a totally independent function, or at least appears so by looking at the savehs routine?

not really sure though.
I am not sure how ultraDMD would know if it was looking at a score or just a message, aside from using the scoreboard function
which diablo makes no use of


If you feel the need to empty your wallet in my direction, i don't have any way to receive it anyways

Spend it on Hookers and Blow


#578 vbousquet

vbousquet

    Enthusiast

  • Members
  • PipPipPip
  • 108 posts

  • Flag: France

  • Favorite Pinball: Cue Ball Wizard, Tron Legacy, Terminator 2

Posted 25 March 2021 - 10:48 PM

@Michael Gallo : SetAlignedPosition should be used to set the position of your label (recreating it is overkill). The fact is that I forgot to expose one of the needed internal function which is the "Pack" function. This function set the size of an actor to its preferred size, that is for a label, the size of the text. So to align a label, you should "Pack" it then set its position using alignment. I have just updated FlexDMD with these features. You can get the beta from GitHub automatic builds here (click on the latest build, at the top of the page, and you will be able to download the beta release).

 

I understand that this is missing documentation to be easily understood so I have added a simple basic table with a little script that renders scoreboard like on Stern pinball as well as Williams style scoreboard. It is also available on GitHub.

 

Regarding, the VPReg.stg and score saving, FlexDMD (and UltraDMD, as far as I understand) just don't have anything to do with it ; this is entirely managed by the table script. So there may be a problem elsewhere or I am missing something.

 

Finally, everything was designed to avoid the stutters (this is one of the reasons I created FlexDMD since UltraDMD has stutters that make tables unplayable on my system), so if you find a situation where you have stutters, please give all the informations (table, script used, computer spec, situation when they occurs,...) to be able to analyze them and I will try to fix.

 

I'm quite busy with my work at the moment, so I don't have that much time to spent on FlexDMD / Freezy's DMD. I will try to have a deeper look over the week-end.

 

Regards,


Edited by vbousquet, 25 March 2021 - 10:48 PM.


#579 Outhere

Outhere

    Pinball Wizard

  • Platinum Supporter
  • 4,807 posts

  • Flag: United States of America

  • Favorite Pinball: M M

Posted 25 March 2021 - 10:52 PM

Vbousquet
For people that use a Real Pin-2-DMD - When using lucky1 -- 32 Bit DmdDevice.dll file
-

A while back they made it so you can rename Freezy 32 bit DmdDevice.dll file to Dmdscreen.dll this way both Files could sit in the VPinMame folder
But FlexDMD will not recognize it once it's been renamed any chance you could have FlexDMD recognize it.

 



#580 wiesshund

wiesshund

    VPF Legend

  • Members
  • PipPipPipPipPipPipPip
  • 11,871 posts

  • Flag: United States of America

  • Favorite Pinball: How many can i have?

Posted 26 March 2021 - 12:24 AM

For those github challenged (like me)

https://github.com/v.../runs/688113587

i think this is the download

 

 

as far as documentation
i think i might start trying (trying being keyword)
to assemble a flexdmd native api demo table

 

and poking in dmd routines that you can trigger with a key

 

as i learn to do the damned routines right as opposed to "Hey this worked"

I figure, if i get the darned stuff to work, then should be guaranteed that someone else can make use of it
cause i dont know what im doing LOL


If you feel the need to empty your wallet in my direction, i don't have any way to receive it anyways

Spend it on Hookers and Blow






Also tagged with one or more of these keywords: UltraDMD, DMD