Jump to content



Photo
* * * * * 5 votes

Call for testing


  • Please log in to reply
1622 replies to this topic

#121 tspeirs

tspeirs

    Enthusiast

  • VIP
  • 151 posts

  • Flag: ---------

  • Favorite Pinball: Funhouse

Posted 10 August 2018 - 09:58 PM

Interesting.

 

Did I inspire you or piss you off!? lol


Posted Image

#122 Carny_Priest

Carny_Priest

    Pinball Fan

  • Members
  • PipPipPipPip
  • 1,258 posts
  • Location:Austin, TX

  • Flag: United States of America

  • Favorite Pinball: EATPM

Posted 10 August 2018 - 10:06 PM

My best solution was converting Flash to png through screen captures using ffmpeg gdi grab. I've never distributed its output because of the stretch to fit scaling that happens with PinballX. The tool's player renders on the user backglass while preserving aspect ratio and a screenshot is captured and saved as hi-rez PNG. If the user's BG is 16:9 and you wanted to use on a BG 4:3 then PinballX would squash the image to fit. So, there is a solution but it is not the real time conversion that you are looking for. And it does not preserve the native dimensions of the source card image.

 

I'll see if I can figure out some processes that get us PNG and SVG while preserving native resolutions. Maybe I'll have some test images later this weekend. 



#123 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,332 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 10 August 2018 - 10:16 PM

My best solution was converting Flash to png through screen captures using ffmpeg gdi grab. I've never distributed its output because of the stretch to fit scaling that happens with PinballX. The tool's player renders on the user backglass while preserving aspect ratio and a screenshot is captured and saved as hi-rez PNG. If the user's BG is 16:9 and you wanted to use on a BG 4:3 then PinballX would squash the image to fit. So, there is a solution but it is not the real time conversion that you are looking for. And it does not preserve the native dimensions of the source card image.

 

Right, plus it wouldn't work for "real-time" conversion in the sense of something I could plug into the PBY pipeline anyway, because it depends on Flash Player to get the screen you're grabbing with FFMPEG, right?  If Flash Player is installed on the machine, I can just use Flash Player, which I'm already doing.  For the real-time conversion, what I'd need is some piece of software that can render SWF on its own, without Flash Player being installed locally.


 I just removed VS Community and doing a reinstall but this time adding extensions from the start. Coz I'm stubborn and want to see what happens. 

 

Sounds like a good way to go to me!  It's definitely good to know exactly what the dependencies are.  If you want to wait until I can get the Alpha 7 out, it'll have the project settings tweaks to get rid of some of the dependencies you ran into on the first round, so it should clean it up a little, at least.



#124 hlr53

hlr53

    Pinball Fan

  • Gold Supporter
  • 683 posts
  • Location:Kettering OH

  • Flag: United States of America

  • Favorite Pinball: 1964 Williams Palooka Joe

Posted 10 August 2018 - 10:43 PM

Sorry to bother you again but latest build:

Am I missing a SDK?

 

1>------ Build started: Project: Utilities, Configuration: Debug x64 ------
2>------ Build started: Project: DirectXTKAudio_Desktop_2017_DXSDK, Configuration: Debug x64 ------
1>stdafx.cpp
2>AudioEngine.cpp
1>c:\users\harry\documents\github\pinbally\utilities\stringutil.h(112): error C3861: 'length': identifier not found
1>c:\users\harry\documents\github\pinbally\utilities\stringutil.h(146): note: see reference to class template instantiation 'StringEx<S>' being compiled
1>c:\users\harry\documents\github\pinbally\utilities\stringutil.h(113): error C3861: 'c_str': identifier not found
1>Done building project "Utilities.vcxproj" -- FAILED.


Former Cab: 40" Haier, 28" I-INC, i7-6700, 1080 GPU, v3DMD, 4D7 solenoids. Altec-Lansing speakers and sub. Artwork by Stuzza. Printing by Brad Bowman. VR HP reverb


#125 dopdahl

dopdahl

    Hobbyist

  • Members
  • PipPip
  • 35 posts

  • Flag: United States of America

  • Favorite Pinball: Triple Action

Posted 10 August 2018 - 11:01 PM

I had the same exact issue about 6 pages ago... ;)

 

Didn't spend the time to figure it out...  Seems like the std libs aren't available or there is an issue with referencing them.

 

Or some other issue...

 

Those are defined in std::string which appears to be included in that header...

 

Though perhaps the #pragma Once is preventing their inclusion somehow?

 

maybe it's a precompiled header issue with that Audio stuff...


Edited by dopdahl, 10 August 2018 - 11:11 PM.


#126 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,332 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 10 August 2018 - 11:16 PM

Sorry to bother you again but latest build:

Am I missing a SDK?

 

1>------ Build started: Project: Utilities, Configuration: Debug x64 ------
2>------ Build started: Project: DirectXTKAudio_Desktop_2017_DXSDK, Configuration: Debug x64 ------
1>stdafx.cpp
2>AudioEngine.cpp
1>c:\users\harry\documents\github\pinbally\utilities\stringutil.h(112): error C3861: 'length': identifier not found
1>c:\users\harry\documents\github\pinbally\utilities\stringutil.h(146): note: see reference to class template instantiation 'StringEx<S>' being compiled
1>c:\users\harry\documents\github\pinbally\utilities\stringutil.h(113): error C3861: 'c_str': identifier not found
1>Done building project "Utilities.vcxproj" -- FAILED.

 

Huh, I don't know what's going on there - in particular, I can't think of any way that could be configuration-dependent.  There must be something coming in from my external environment or VS global configuration that's needed, but the nature of the error doesn't suggest anything to me about what that might be.

 

What version of Windows are you building this on?  Some of the SDK files include features according to your system version by default - maybe there's a #define I have to set somewhere to get the same SDK features I'm using.  I normally build on 8.1.



#127 dopdahl

dopdahl

    Hobbyist

  • Members
  • PipPip
  • 35 posts

  • Flag: United States of America

  • Favorite Pinball: Triple Action

Posted 10 August 2018 - 11:22 PM

Windows 7 here.  Are you able build from scratch in a totally clean, new environment?

 

I can't imagine that some config external to the projects is making the difference.

 

 

Perhaps there's an old precompiled header laying around on your system that has things working...

 

I've uninstalled vs 2017 so I can't really look further.  But we're both seeing the same issue...

 

IIRC, the Utils library build ok for me...  but the Audio stuff there never compiled.



#128 hlr53

hlr53

    Pinball Fan

  • Gold Supporter
  • 683 posts
  • Location:Kettering OH

  • Flag: United States of America

  • Favorite Pinball: 1964 Williams Palooka Joe

Posted 10 August 2018 - 11:43 PM

Windows 10 home version 1803.

Tried clean VS environment and no luck. Audio failed right after utility failure.

Need to clone MJR's VS.

Former Cab: 40" Haier, 28" I-INC, i7-6700, 1080 GPU, v3DMD, 4D7 solenoids. Altec-Lansing speakers and sub. Artwork by Stuzza. Printing by Brad Bowman. VR HP reverb


#129 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,332 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 11 August 2018 - 12:17 AM

Windows 7 here. 

 

Windows 10 home version 1803.

 

Okay, so it's probably not the SDK target version, then - they wouldn't both fail with the same error.  Different errors, maybe, but not that same "undefined length()" error at the same point in the same template.

 

 

Are you able build from scratch in a totally clean, new environment?

Perhaps there's an old precompiled header laying around on your system that has things working...

 

I haven't tried wiping VS and starting from scratch - can't do that on my build machine since I have too many other projects going with different VS version dependencies (I have VS installed going back to 2008. :))  But it's definitely not a precompiled header or anything like that.  I do a full clean build every time I do a release.  Whatever it is, it's something in the global VS settings or external environment.  I just can't think of what it could be.  The error message is curiously unhelpful.


Tried clean VS environment and no luck. Audio failed right after utility failure.

 

The DXTK Audio is the part that needs the old DX SDK mentioned in the Build Environment notes, so if you cleaned up and removed that, that probably explains that part, at least.



#130 hlr53

hlr53

    Pinball Fan

  • Gold Supporter
  • 683 posts
  • Location:Kettering OH

  • Flag: United States of America

  • Favorite Pinball: 1964 Williams Palooka Joe

Posted 11 August 2018 - 12:34 AM

 

Windows 7 here. 

 

Windows 10 home version 1803.

 

Okay, so it's probably not the SDK target version, then - they wouldn't both fail with the same error.  Different errors, maybe, but not that same "undefined length()" error at the same point in the same template.

 

 

Are you able build from scratch in a totally clean, new environment?

Perhaps there's an old precompiled header laying around on your system that has things working...

 

I haven't tried wiping VS and starting from scratch - can't do that on my build machine since I have too many other projects going with different VS version dependencies (I have VS installed going back to 2008. :))  But it's definitely not a precompiled header or anything like that.  I do a full clean build every time I do a release.  Whatever it is, it's something in the global VS settings or external environment.  I just can't think of what it could be.  The error message is curiously unhelpful.


Tried clean VS environment and no luck. Audio failed right after utility failure.

 

The DXTK Audio is the part that needs the old DX SDK mentioned in the Build Environment notes, so if you cleaned up and removed that, that probably explains that part, at least.

 

 

It was installed separate from VS but I uninstalled and reinstalled just in case. Same errors but I also added the audio stuff failing and more importantly?, the link error.

 

I'm afraid we will practically have to clone your VS setup to make things work. 

 

1>------ Build started: Project: Utilities, Configuration: Debug x64 ------
2>------ Build started: Project: DirectXTKAudio_Desktop_2017_DXSDK, Configuration: Debug x64 ------
1>stdafx.cpp
2>AudioEngine.cpp
1>c:\users\harry\documents\github\pinbally\utilities\stringutil.h(112): error C3861: 'length': identifier not found
1>c:\users\harry\documents\github\pinbally\utilities\stringutil.h(146): note: see reference to class template instantiation 'StringEx<S>' being compiled
1>c:\users\harry\documents\github\pinbally\utilities\stringutil.h(113): error C3861: 'c_str': identifier not found
1>Done building project "Utilities.vcxproj" -- FAILED.
3>------ Build started: Project: OptionsDialog, Configuration: Debug x64 ------
3>LINK : fatal error LNK1104: cannot open file 'C:\Users\Harry\Documents\GitHub\PinballY\x64\Debug\Utilities.lib'
3>Done building project "OptionsDialog.vcxproj" -- FAILED.
2>c:\users\harry\documents\github\pinbally\directxtk\inc\audio.h(228): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
2>c:\users\harry\documents\github\pinbally\directxtk\inc\audio.h(228): error C2143: syntax error: missing ',' before '*'


Former Cab: 40" Haier, 28" I-INC, i7-6700, 1080 GPU, v3DMD, 4D7 solenoids. Altec-Lansing speakers and sub. Artwork by Stuzza. Printing by Brad Bowman. VR HP reverb


#131 Carny_Priest

Carny_Priest

    Pinball Fan

  • Members
  • PipPipPipPip
  • 1,258 posts
  • Location:Austin, TX

  • Flag: United States of America

  • Favorite Pinball: EATPM

Posted 11 August 2018 - 12:36 AM

My best solution was converting Flash to png through screen captures using ffmpeg gdi grab. I've never distributed its output because of the stretch to fit scaling that happens with PinballX. The tool's player renders on the user backglass while preserving aspect ratio and a screenshot is captured and saved as hi-rez PNG. If the user's BG is 16:9 and you wanted to use on a BG 4:3 then PinballX would squash the image to fit. So, there is a solution but it is not the real time conversion that you are looking for. And it does not preserve the native dimensions of the source card image.

 

I'll see if I can figure out some processes that get us PNG and SVG while preserving native resolutions. Maybe I'll have some test images later this weekend. 

 

Well, I guess a real good reason for SWF is file size. They are much smaller than PNG or SVG for the quality.

 

I tried out a couple of automated conversion ideas but they did not work. I've kept my original project work, so I wound up just saving my AI files as SVG for this test. I know we need to move to something else besides Flash but I don't know if either format is the answer. And if this requires manually reprocessing files, I don't know if I have the motivation if the front-ends can still manage Flash. I would really rather do a batch conversion. Cab is dedicated and most of the media is stuff I generate or create myself, so I'm not much worried about security. Maybe if I am doing some brand new cards I'll format as SVG if the front-end support is added, but I pretty much completed my project a few months ago. I anticipate that I will be adding tables very slowly from here on out. I have my favorites and then some already installed.

 

Link to some test files for a couple of tables:    

 

https://www.dropbox....images.ZIP?dl=0



#132 dopdahl

dopdahl

    Hobbyist

  • Members
  • PipPip
  • 35 posts

  • Flag: United States of America

  • Favorite Pinball: Triple Action

Posted 11 August 2018 - 12:42 AM

hlr53, try enabling showincludes...

 

Project Settings -> Configuration Properties -> C/C++ -> Advanced -> Show Includes

 

This will dump the include file hierarchy into your output window.  Might give us a clue.  I really don't wanna reinstall vs2017 to figure this out... 

 

To be honest, just looking at the source here... I don't even see where that StringUtil.h is being included from in that project.Project Settings -> Configuration Properties -> C/C++ -> Advanced -> Show Includes

​

​

​

 

Disregard above.

My bad, I've been confusing the two projects because they are intereleaved in the output window.

 

This appears to have nothing to do with the Audio SDK which explains my curious observation above.

 

It is the Utilities project that is failing due to compile time errors...

 

It's as if it can't see the std namespace.


Edited by dopdahl, 11 August 2018 - 12:42 AM.


#133 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,332 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 11 August 2018 - 12:44 AM

Same errors but I also added the audio stuff failing and more importantly?, the link error.

 

1>------ Build started: Project: Utilities, Configuration: Debug x64 ------

1>stdafx.cpp
1>c:\users\harry\documents\github\pinbally\utilities\stringutil.h(112): error C3861: 'length': identifier not found
1>c:\users\harry\documents\github\pinbally\utilities\stringutil.h(146): note: see reference to class template instantiation 'StringEx<S>' being compiled
1>c:\users\harry\documents\github\pinbally\utilities\stringutil.h(113): error C3861: 'c_str': identifier not found
1>Done building project "Utilities.vcxproj" -- FAILED.
3>------ Build started: Project: OptionsDialog, Configuration: Debug x64 ------
3>LINK : fatal error LNK1104: cannot open file 'C:\Users\Harry\Documents\GitHub\PinballY\x64\Debug\Utilities.lib'

 

The link error is just a downstream effect of the original error - the stringutil.h failure makes Utilities.lib fail, so that doesn't exist, hence the link error downstream. 

 

This is a take-one-thing-at-a-time situation.  Figure out that first error and Utilities.lib will compile, so the next thing will link.



#134 dopdahl

dopdahl

    Hobbyist

  • Members
  • PipPip
  • 35 posts

  • Flag: United States of America

  • Favorite Pinball: Triple Action

Posted 11 August 2018 - 12:46 AM

It looks like the error in "audio.h" is because you've got some out of date or incorrect system headers...  Perhaps DirectX SDK headers.



#135 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,332 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 11 August 2018 - 12:46 AM

It's as if it can't see the std namespace.

 

I don't think that's it - the errors would be about the std namespace if that were the case.  This is something else, I suspect.  One thing that the MSVC compiler isn't very good at, I've found, is reporting useful diagnostic information about templates.  This is a particularly problematic example; I just cannot infer from the error what's going on inside its little brain that's getting it all confused.



#136 hlr53

hlr53

    Pinball Fan

  • Gold Supporter
  • 683 posts
  • Location:Kettering OH

  • Flag: United States of America

  • Favorite Pinball: 1964 Williams Palooka Joe

Posted 11 August 2018 - 12:47 AM

hlr53, try enabling showincludes...
 
Project Settings -> Configuration Properties -> C/C++ -> Advanced -> Show Includes[/size]
 
This will dump the include file hierarchy into your output window.  Might give us a clue.  I really don't wanna reinstall vs2017 to figure this out... 
 
To be honest, just looking at the source here... I don't even see where that StringUtil.h is being included from in that project.


Just shut down for the evening but have an hour tomorrow morning to try that and most of Sunday.

Former Cab: 40" Haier, 28" I-INC, i7-6700, 1080 GPU, v3DMD, 4D7 solenoids. Altec-Lansing speakers and sub. Artwork by Stuzza. Printing by Brad Bowman. VR HP reverb


#137 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,332 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 11 August 2018 - 12:56 AM

hlr53, dopdahl - I think I found a solution for you guys.  Try this and see if it fixes it:  insert this-> in front of length() and c_str() at the offending lines:

 

bool StartsWith(const typename S::value_type *prefix)
{
    S sprefix(prefix);
    size_t prefixLen = sprefix.length();
    return this->length() >= prefixLen
        && memcmp(prefix, this->c_str(), prefixLen * sizeof(S::value_type)) == 0;
}
 
It might be a language tweak in the latest version of the compiler - I think the latest VS is one dot release ahead of me on the MVSC++ compiler from installing the latest update.  They've been very rapidly adding new C++17 language features, so maybe there's some new syntax tweak in the latest update that has some stricter scoping requirements for templates or something.  (If this is it, sheesh, they could have been a little clearer with the error message!)


#138 hlr53

hlr53

    Pinball Fan

  • Gold Supporter
  • 683 posts
  • Location:Kettering OH

  • Flag: United States of America

  • Favorite Pinball: 1964 Williams Palooka Joe

Posted 11 August 2018 - 12:58 AM

[quote name="dopdahl" post="411579" timestamp="1533948375"]It looks like the error in "audio.h" is because you've got some out of date or incorrect system headers...  Perhaps DirectX SDK headers.[/quote

I just reinstalled the 2010 SDK, ah...might need to reset the environment variable. [Note for tomorrow]

MJR, will do.

Edited by hlr53, 11 August 2018 - 01:08 AM.

Former Cab: 40" Haier, 28" I-INC, i7-6700, 1080 GPU, v3DMD, 4D7 solenoids. Altec-Lansing speakers and sub. Artwork by Stuzza. Printing by Brad Bowman. VR HP reverb


#139 hlr53

hlr53

    Pinball Fan

  • Gold Supporter
  • 683 posts
  • Location:Kettering OH

  • Flag: United States of America

  • Favorite Pinball: 1964 Williams Palooka Joe

Posted 11 August 2018 - 01:22 AM

(If this is it, sheesh, they could have been a little clearer with the error message!)


LMAO again. The printer error from Office Space comes to mind.

Edited by hlr53, 11 August 2018 - 01:23 AM.

Former Cab: 40" Haier, 28" I-INC, i7-6700, 1080 GPU, v3DMD, 4D7 solenoids. Altec-Lansing speakers and sub. Artwork by Stuzza. Printing by Brad Bowman. VR HP reverb


#140 hlr53

hlr53

    Pinball Fan

  • Gold Supporter
  • 683 posts
  • Location:Kettering OH

  • Flag: United States of America

  • Favorite Pinball: 1964 Williams Palooka Joe

Posted 11 August 2018 - 01:35 AM

hlr53, dopdahl - I think I found a solution for you guys.  Try this and see if it fixes it:  insert this-> in front of length() and c_str() at the offending lines:
 
bool StartsWith(const typename S::value_type *prefix)
{
    S sprefix(prefix);
    size_t prefixLen = sprefix.length();
    return this->length() >= prefixLen
        && memcmp(prefix, this->c_str(), prefixLen * sizeof(S::value_type)) == 0;
}
 


Excuse my ignorance but which file? (Currently rereading Thinking in C++ and trying to get up to more speed)

Former Cab: 40" Haier, 28" I-INC, i7-6700, 1080 GPU, v3DMD, 4D7 solenoids. Altec-Lansing speakers and sub. Artwork by Stuzza. Printing by Brad Bowman. VR HP reverb