[WiP] 5154: MediaPortal 1 - x64 - SharpDX (1 Viewer)

framug

Super Moderator
  • Team MediaPortal
  • January 31, 2005
    6,032
    2,118
    South of France
    Home Country
    France France
    Hi, you mean to set entire MP1 NET project to AnyCPU? Libbluray is native lib - it can be switched to AnyCPU.
    Yes, since you explained that, instead of DirectX, SharpDX is 64 bits, this would be (if possible), the final goal.
    That's why, for the moment, all plugins were switched to AnyCPU.
     

    azzuro

    Test Group
  • Team MediaPortal
  • May 10, 2007
    9,984
    5,663
    France - IDF
    Home Country
    France France
    Hi, you mean to set entire MP1 NET project to AnyCPU? Libbluray is native lib - it can be switched to AnyCPU.
    Hello,
    If possible i think, it's more safe to switch to anycpu, but I'm not dev, so in final, i will follow your choice.
    I updated long time ago now libbluray repo, so maybe need to do change on it too.?
    I make lot of buildscript, maybe need to be updated, and maybe update the nuget package.
     

    Pablik

    Development Group
  • Team MediaPortal
  • August 19, 2010
    716
    1,159
    Home Country
    Czech Republic Czech Republic
    Switch to AnyCPU is not a problem for most of the libs. But in some parts of code I need compilation condition switch based on platform like in Core.dll. Maybe it can be solved in runtime based on current process type but right now I'm not sure.
     

    framug

    Super Moderator
  • Team MediaPortal
  • January 31, 2005
    6,032
    2,118
    South of France
    Home Country
    France France
    Not sure if it's a good idea to mix your changes with X64, to not mix all together...
    What could be, a step by step process (it's only a proposal) :
    1/ Wait for MP 1.31 release.
    2/ Integrate SharpDX. (it seems there are no more errors for the moment, if I'm not wrong).
    3/ Trying to switch MP in 32/64 bits.
    But Yes for external libs why not, if there is no regression.
     

    ajs

    Development Group
  • Team MediaPortal
  • February 29, 2008
    16,039
    11,112
    Kyiv
    Home Country
    Ukraine Ukraine
    But in some parts of code I need compilation condition switch based on platform like in Core.dll.
    Why? The documentation explicitly says that only the startup file must have an unambiguous architecture, libraries with AnyCPU work transparently under both architectures.
     

    Pablik

    Development Group
  • Team MediaPortal
  • August 19, 2010
    716
    1,159
    Home Country
    Czech Republic Czech Republic
    Why? The documentation explicitly says that only the startup file must have an unambiguous architecture, libraries with AnyCPU work transparently under both architectures.
    For example this one:
    Code:
    #if WIN64
        [DllImport("oleaut32.dll", CharSet = CharSet.Unicode, ExactSpelling = true)]
    #else
        [DllImport("olepro32.dll", CharSet = CharSet.Unicode, ExactSpelling = true)]
    #endif

    or this:
    Code:
    #if WIN64
      [StructLayout(LayoutKind.Sequential)]
    #else
      [StructLayout(LayoutKind.Sequential, Pack = 1)]
    #endif
     
    Last edited:

    Pablik

    Development Group
  • Team MediaPortal
  • August 19, 2010
    716
    1,159
    Home Country
    Czech Republic Czech Republic
    Aren't compiler directives from the main application?
    The one in example is user conditional compilation symbol. But this is not important. I'm talking about different behaviour on x64 platform. Next problem is MiniDisplay library. For x64 I'm using proxy server to handle 32 native libs. So the code is different. As I said before, maybe it can be solved in runtime, but now I'm using standart compilation switch.
     

    Pablik

    Development Group
  • Team MediaPortal
  • August 19, 2010
    716
    1,159
    Home Country
    Czech Republic Czech Republic
    Here is simplified WorldWeather plugin. It has limited funcionality compared to the original plugin. But it is better to have something then nothing right now.
    • Dataprovider is based on msn.com (maybe I'll add foreca.com or api.foreca.net latter)
    • Current condition
    • Media images (sattelite)
    • Geoclock image
    • Uses the same GUI tags like original plugin

    Just unpack the content of attached file to the MP application folder. Open the plugin's configuration and search for desired location(search is sometimes lazy so be patient). Dataprovider url should be filled automatically after selecting the location from the searched result. On media tab you can set your own custom satellite images or keep preselected.

    Edit:
    • added support for Fahrenheit degree
    • added missng SgmlReaderDll.dll
    • added some missing translation tags
    • added some additional missing translation tags, wind dir tag, fixed mph wind unit
     
    Last edited:

    Users who are viewing this thread

    Top Bottom