Announcement

Collapse
No announcement yet.

Discussion of Standardization in RoadRunner skins, plugins, addons and whatever else

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Discussion of Standardization in RoadRunner skins, plugins, addons and whatever else

    Let me introduce myself, my name is Marvin and I've been using RoadRunner since its inception. In my previous career, I was tasked to maintain interoperability of offensive and defensive weapons systems for leading edge U.S.Air Force aircraft systems. It has come to my attention recently that many agree that some standardization is now required for RoadRunner in order for skins, plugins, addons, and whatever else to play nice together (kinda like what I used to do for the warfighters).

    There have been several attempts to discuss standardization for individual aspects of this wonderful front-end, but it seems only a few participated, even less paid attention, and the community as a whole is falling apart. One notable exception is the plugins bug which required all plugins be redone so all their indicators would work regardless of the load sequence, but there, too, some of the plugin developers are either no longer on the forum or don't have time to update their work. The RR.ini variable "BACKGROUNDPATH" was discussed and Guino agreed to create this variable in the source code for standardization, but I guess it was not widely publicized because skinners are still creating their own variable to perform the same task.

    Another thing that has come up lately is skinners programming in a vacuum. I understand that your skin is your creation for you and you don't have to share it nor do you have to change it cause every RoadRunner enduser want some special tweak. But when one skin stops another from operating properly, some sort of interoperability standard needs to be developed and followed by all. A skinner that puts all the plugins he uses in his skinpath and registers them via installer, is a dangerous thing for anyone who uses more than one skin, i.e., I no longer know which copy of the plugin is running, and therefore, when an update must be installed I have no clue which one to uninstall.

    Standardization could also cleanup the RR install as well as eliminate most duplication. Using "BACKGROUNDPATH" as an example: I have over 300 backgrounds on my development machine. If I didn't manually move backgrounds I'd have thousands (mostly duplicates) all over the RR skins. So every time I install a new skin, I search the new skinpath for backgrounds, copy them to my backgroundpath, and then begin learning the coding of the skin to fix the backgroundpath references. MAKE THE DAMN NEWBIES DO THIS! Just tell us old heads that additional backgrounds are included in the skinpath.

    This brings up my last concern, documentation. I know this is a dirty work among programmers (I were one). Even when I had programmers working for me, I had to constantly remind them to document, document, document inside and out! Here, as in my last career, we could probably make this easier by developing boilerplate docs. By this I mean boilerplate instructions for the Newbies to be included in the readme.txt distributed with new skins, plugins, etc., that explains how to make everything work using the RR standards. I know we'll always have newbies posts like in the DFX thread where the response is: "Its in the Docs!" But hopefully, if we say it enough for every skin it'll sink. I noticed it doesn't come up nearly as much in DFX, but it took 2500 posts to get the message across.

    Now, how do we accomplish this? That's what this thread is for, I hope. I don't see us convening a standards committee, nor Guino dictating to us what needs to be done, definitely not MitchJS, who doesn't understand every aspect of the source, let alone the plugins/skinning/etc. If not them then who? I'm not planning on going away, so I could volunteer to maintain the final boilerplates (especially since I no longer do computer language programming, a little RRCode, but that's it) Who wants to start coming up with examples? DFX docs are probably the most extensive and I would think JohnWPB wouldn't mind us borrowing from him to develop a list of topics for boilerplating, start with what he has already written and update it to be appropriate for any skin based upon the agreed standardization.

    As the standards are set, we will also need another thread locked from new posts that will summarized all standards, list boilerplate for copy into skinners documentation, and address unresolved standardization issues. This too I am willing to maintain for the community. I realize this will become a lifetime project and am willing to take this on for the foreseeable future. Who else wants to help?

    The first step is to close the holes in the RoadRunner Source documentation. A lot of changes/additions were made this year and the only "skin commands.txt" and "readme.txt" (RR.ini commands) that I can find are from 12/04/07 and Mitchjs' 092308. Who knows what was done in between during the source code wars? What got added, what didn't, what got changed, what got removed? HELP!



    CURRENT PROPOSALS:

    1.CHANGES TO THE ROADRUNNER.EXE SOURCE
    a) How about having RR become a little more intelligent. As RR loads a skin let it check if the BACKGROUNDPATH is actually set in RR, and if it's not then have RR load a default BG colour to get the skin going. Add to this the ability to actually have the "FILEEXSITS" IND/CMD actually work so it checks inside the skin if the BG image is there and if not the skinner can take appropriate action to allow the user to set the BACKGROUNDPATH variable from inside his/her skin.

    b) Put in a sub folder is the preset files (*.pst) called something like "Presets" that is one item that can have a lot of file with it


    2. ..\ROAD RUNNER\Backgrounds\files
    Skinners use backgroundspath for background.skin references to background directory.
    Eliminate "Background=" from RR Config. "Background=" should be in skin.ini.
    I still need words (boilerplate) to add in readme.txt for directions on moving sample backgrounds from skin directories to the common directory.


    3. ..\ROAD RUNNER\PLUGINS\PLUGINNAME\files
    A new RR.ini entry needs to be made, that is initially defaulted to: "PluginsPath=c:\Program Files\Road Runner\Plugins\" added to RR.ini. The soon to be released Plugin Browser can be used much like RRConfig to add remove and update plugins. Now is the time to set where the plugins will reside. Plugin developers need to use relative paths. All plugin labels, buttons, sliders and indicators should be prefixed with the plugin name (to avoid conflicting with other plugins). Developers need to distribute plugins in .zip format. A text file containing a list of button, labels, indicator a slider codes should be included in the zip file (call it skincommands.txt). Users will be able to specify where there plugins install via .ini. NO installers for plugins. Each developer should provide a set of skin files and graphics that contain an example of how there plugin can be used. Every plugin should have a set of BMV2 or Carwings skin files and graphics seeing as that is the default skin it comes with, the PSD's are easily available. Also, if there are dlls other than the main plugin .dll that need be registered you have 2 options:

    a) Register them in your code(if you need help with this pm me)
    b) Document which files need registering along with the method they need be registered (regsvr vs codebase etc)
    These little requirements should make most all plugins past and present compatible with the plugin browser.

    4. To enhance plugin management, skinners should now use "INC, PLUGINS.TXT" in their MENU.SKIN and a PLUGINS.TXT file to list applicable plugins.

    5. All the standalone DLLs (other than GDI+ and MusicPlayers), scripts, add ons, etc. should be located in "..\Road Runner\Plugins\{Plugin Name}\files", not the root of the plugins folder, nothing should be in the root, except maybe documentation to help developers, skinners and users.

    6. All plugins should have an indicator that has the same name as the plugin, so that other plugins can tell if they are running or not

    7. Add a "requiredskins" list within the plugin itself, that could be both listed/displayed by the browser and could make RR aware of it, or maybe just inform the user that the plugin X requires skin files: Y, Z in the case those are not present on the loaded skin.
    HARDWARE: Fujitsu Stylistic ST5111w/WiFi and dock, internal Hitachi 500G HD, external 1TB HD, Sierra Wireless Aircard 550, DVD-RW, BoomzBox HD radio, XM Commander, Delorme GPS, Saitek X-52 Pro joystick, BluSoleil Bluetooth, TPMS, FB, Elm327

  • #2
    A very good idea! Something does tend to be lacking many times in IT in general, but is actually really important for when others have to use/fix stuff you've made (sometimes long after you are no longer involved with it).

    Comment


    • #3
      well upon completion i'm hoping the RR Plugin browser will set a standard AND make plugins easier to find/download. I feel like the criteria to get a plugin "browser approved" is minimal and once people latch on the plugin problem should be solved. From the plugin browser's layout ... i could create a skin browser to search for and install skins. This would actually become easier than the plugin browser if skinners would allow skins to be "copied" instead of installed. Now documentation of whats available in the source is near impossible at this point without a source to read from. I've volunteered to redo the skin commands and readme's but short of guess commands and labels n such i wouldnt get very far.
      mp3Car.com Senior Tech Blogger (Want a product reviewed? Contact me.)
      Follow Me on Twitter or Facebook
      Live mp3Car Facebook Chat

      Comment


      • #4
        Well it would help if any standards that are set (or suggested) are at least ahered to from the top.

        Unfortunately this not being the case is why I have removed the Plugin standards I had started.


        I'm willing to put in time and effort on getting as much as possible standardised, but there needs to be a consensus as to what we want and it has to be followed from the top down.

        So until it is . . .

        Comment


        • #5
          ***** BACKGROUNDPATH ***** standard

          O.K. after reviewing the forum, the consensus of those participating agreed that backgrounds should be in a folder under the RRPath. The backgroundpath variable does not have an "S" in it.

          So for all future skinners and updates please utilize "C:\Program Files\Road Runner\Backgrounds" for the location of your backgrounds. This is in conjunction with all users setting backgroundpath=C:\Program Files\Road Runner\Backgrounds\ in their RR.ini files. Pay particular attention to the trailing slash in your programming, this has caused problems in the past.

          I will be accepting any and all comments about how to word the documentation to explain the skinners' process for adding their own backgrounds to the folder.

          This standardization will allow end-users to use the same set of backgrounds for all their transparent skins without duplication. Another issue brought up along these lines was adding a single background in the skinpath and distribute new skin with that initially set in the skin.ini as the background. This way they work right out of the box and support the standardization if other backgrounds are available. This should also probably be discussed in the documentation for the newbies.

          MGBs welcome (Moans, Gripes, *****es). What say you?
          HARDWARE: Fujitsu Stylistic ST5111w/WiFi and dock, internal Hitachi 500G HD, external 1TB HD, Sierra Wireless Aircard 550, DVD-RW, BoomzBox HD radio, XM Commander, Delorme GPS, Saitek X-52 Pro joystick, BluSoleil Bluetooth, TPMS, FB, Elm327

          Comment


          • #6
            ***** Plugins Path ***** standard

            Enforcer started a standardization thread for plugins and I don't want to step on any toes there, but from what I could glean from the discussion, the majority agreed to have all plugins located in a subdirectory off the RRPath. The overwhelming consensus was to use "C:\Program Files\Road Runner\Plugins\PLUGINNAME\FILES". I'd like to move that discussion here and moderate as necessary. The old thread. Further discussion in the Road Runner Plugin Browser thread.

            Here are my thoughts: The biggest drawback to me in doing this is the manual labor required to uninstall, move, and reinstall the numerous plugins, but once that's done I would have reduced the number of sub directories under the RRPath by half. JohnWPB mentioned that they wold stop working if buried in sub/sub folders of the RRPath. Can anyone verify this? And If so does it require a change in the RR source or changes in the plugins to relative paths? I don't know. So I'm for it, but I don't look forward to it.

            But this thread is about standardization. So how do we make this transition as smooth as humanly possible?
            HARDWARE: Fujitsu Stylistic ST5111w/WiFi and dock, internal Hitachi 500G HD, external 1TB HD, Sierra Wireless Aircard 550, DVD-RW, BoomzBox HD radio, XM Commander, Delorme GPS, Saitek X-52 Pro joystick, BluSoleil Bluetooth, TPMS, FB, Elm327

            Comment


            • #7
              IIRC when you enter your background path in RRConfig, it whrites it to rr.ini as "background=" not "backgroundpath="

              Don't that have to be fixed too?
              ****************************************
              OLD SYSTEM (DEAD)
              Intel D945GCLF2 Dual Core ATOM
              Lilliput 7" 629GL 2008 LED Backlight
              BU-353 USB GPS Receiver / iGuidance / IGO8
              M2-ATX Power Supply
              RideRunner Front End / Various Skins
              Windows XP SP3

              Comment


              • #8
                Hey Blue ZX3, is that true? And if so, is it too much trouble to change it?
                HARDWARE: Fujitsu Stylistic ST5111w/WiFi and dock, internal Hitachi 500G HD, external 1TB HD, Sierra Wireless Aircard 550, DVD-RW, BoomzBox HD radio, XM Commander, Delorme GPS, Saitek X-52 Pro joystick, BluSoleil Bluetooth, TPMS, FB, Elm327

                Comment


                • #9
                  It is true, I mentioned it many moons ago when coding shock skin. I even inclueded it in the readme that RRconfig wrote it wrong and the correct value to enter in rr.ini

                  I agree with having standards, it can only help. It's really not that hard to modify skins and make your build custom either. This is what makes open source so great, its easy to configure the entire software scheme to your hardware. On my embedded car builds I run everything from C:/RR just because of it's simplicity. I test on a vista x64 bit OS quad core so the standard path is C:/Program Files(x86)/Road Runner/ I realize most don't run a 64 bit OS though, just being future aware.
                  Build Things, it keeps your brain busy.

                  AutoPC v1 (Retired) - AutoPC v2 (in progress) - www.shocknet.us

                  Comment


                  • #10
                    *SKINNERS MUST USE* ".\Road Runner\backgrounds\" , for they're backgrounds folder, also all plugins, scripts, add on's, must be located in a folder called "plugins", placed in Road Runners folder ".\Road Runner\Plugins\" , simple enough. and if still all those special skinners don't respect that, hard code paths, and take those variables out from rr.ini, i think is time to make RR what is meant to be, a community project not a couple peoples project,
                    BASSRR ==> [Audio Player/MusicDB/Cd Player/Ripper/Rate/Internet Radio/Audio Capture/Youtube Video]
                    RRTube ==> [View/Download Youtube Videos]
                    WifiMan ==> [Wifi Manager]
                    RRec ==> [Audio Capture]

                    If You Want To Be Given Everything, Give Everything Up ...
                    Bird York -- In The Deep --

                    Comment


                    • #11
                      Originally posted by GizmoQ View Post
                      I'd like to move that discussion here and moderate as necessary. The old thread. Further discussion in the Road Runner Plugin Browser thread.
                      I canned that thread and my suggestions for standardisation becuase of views I stated in a previous post in this thread. So do what you like.


                      Originally posted by GizmoQ View Post
                      Here are my thoughts: The biggest drawback to me in doing this is the manual labor required to uninstall, move, and reinstall the numerous plugins, but once that's done I would have reduced the number of sub directories under the RRPath by half. JohnWPB mentioned that they wold stop working if buried in sub/sub folders of the RRPath. Can anyone verify this? And If so does it require a change in the RR source or changes in the plugins to relative paths? I don't know. So I'm for it, but I don't look forward to it.
                      It's not down to the Road Runner source as to where the plugins go but the plugins themselves.

                      A good plugin will be able to be placed anywhere and still work.

                      Some of the older plugins may have to be updated.

                      The main issue will be with scripts that have hardcoded paths in them.

                      Comment


                      • #12
                        Thing is, this thread don't mean jack unless certain people sign up to it.

                        To name a few (in no particular order)

                        Guino
                        Mitchjs
                        JohnWPB
                        El camino
                        Enforcer
                        BlueZX3
                        Blk02si
                        LiquidSmoke
                        festy
                        ThunderStick
                        Sonicxtacy02
                        monkeyracer
                        RobbyE36


                        TBC

                        Comment


                        • #13
                          Originally posted by Enforcer View Post
                          Thing is, this thread don't mean jack unless certain people sign up to it.

                          To name a few (in no particular order)

                          Guino
                          Mitchjs
                          JohnWPB
                          El camino
                          Enforcer
                          BlueZX3
                          Blk02si
                          LiquidSmoke
                          festy
                          ThunderStick
                          Sonicxtacy02
                          monkeyracer
                          RobbyE36


                          TBC
                          Agreed. Like you I am sure those and there are a couple more, too, that ought to be included. Should I PM them a personal invite? We know most of them are already collaborating on many aspects of Road Runner processes, implementation, development, and application, and I understand their too busy coding to do this grunt work of documenting standards. That's why I volunteered in 2004, 2005, 2007 and now.

                          I saw the need, tried to explain how I could contribute, but it wasn't that important then. I keep bringing up the "source code wars", cause I almost gave up on RR during that time seeing all the things I had previously predicted come to fruition. I actually had three different sources with three different skins and had to exit from one binary load another, then load a different skin in order to utilize specific functions, it was a mess, not to mention I was probably a danger to everyone on the roads while I did all this loading and reloading.

                          I call the current situation "skin wars" cause the latest crop of skins are moving toward incongruity. A great example I just found a couple nights ago is DFX4: an outstanding, feature-packed skin with new features unheard of before its time, but his implementation of RRMedia in conjunction with his multiuser definitions wipes out the saved "10 disk changer" playlists setup for any other skins. No offense, but It took me a long time to figure out how to use the 10 disk changer using the RRMedia demo skin, backed it up, switched to DFX and poof it was gone forever. Recreated it in DFX, backed it up and switched to Sonique Elite Beta and poof they were gone again. Did the restore in DFX and amazing their back. Switched from my Cadillac user definition to my Mustang user definition and poof they're gone again. No offense to JohnWPB cause he probably didn't know of the problem till I mentioned it a few days ago. That's not standardized, that's not interoperable, but we as a community need to find and identify these issues and determine how to deal with them.

                          Luckily the word got out early about writing info to the RR.ini, but now we are facing the same issues with the skin.ini. We now have skins, plugins, and scripts writing to the skin.ini. Plugins and scripts with multi-skin support should probably be writing to rr.ini. But its not clearly explained anywhere where everone has access what the (and I hate this word) "rules" are for using one over the other.

                          Lastly, I really thing Guino should have the final say. If he looks over this thread every once in a while and says, "O.K. Let's go with that." I feel confident the others will follow suit. But until he gives the go ahead these are all just recommendations not standards.
                          HARDWARE: Fujitsu Stylistic ST5111w/WiFi and dock, internal Hitachi 500G HD, external 1TB HD, Sierra Wireless Aircard 550, DVD-RW, BoomzBox HD radio, XM Commander, Delorme GPS, Saitek X-52 Pro joystick, BluSoleil Bluetooth, TPMS, FB, Elm327

                          Comment


                          • #14
                            GizmoQ - I have a few things I'd like to add to this forum, seeing as it appears to be still an "open" thread ...

                            Firstly the background issue ... instead of suggesting "that all skinners must use ..." how about having RR become a little more intelligent. As RR loads a skin let it check if the BACKGROUNDPATH is actually set in RR, and if it's not then have RR load a default BG colour to get the skin going. Add to this the ability to actually have the "FILEEXSITS" IND/CMD actually work so it checks inside the skin if the BG image is there and if not the skinner can take appropriate action to allow the user to set the BACKGROUNDPATH variable from inside his/her skin. TEK3 does this using AI scripts, but it would be a lot cleaner to have this integrated natively in RR code.

                            Now a few other points raised so far ...

                            Originally posted by GizmoQ View Post
                            As the standards are set, we will also need another thread locked from new posts that will summarized all standards, list boilerplate for copy into skinners documentation, and address unresolved standardization issues. This too I am willing to maintain for the community. I realize this will become a lifetime project and am willing to take this on for the foreseeable future. Who else wants to help?
                            I'll willing to help you with documenting RR and maintaining it - if I'm able. This is a feature sorely needed for the project.


                            Originally posted by GizmoQ View Post
                            ... saved "10 disk changer" playlists setup for any other skins. No offense, but It took me a long time to figure out how to use the 10 disk changer using the RRMedia demo skin, backed it up, switched to DFX and poof it was gone forever. Recreated it in DFX, backed it up and switched to Technik3 and poof they were gone again ...
                            TEK3 doesn't know what the f**k RRMEDIA even is, let alone wipe out any of its settings - hell I don't even understand RRMEDIA, it's way too complex for in car use anyway. TEK3 disc changer uses 5 pre-named .m3u files saved in your playlist folder ... these are called zzChngr1 - zzChngr5. This is as much as TEK3 does with a disc changer. I would love to know exactly what did happen to your 10 disc changer files tho ...


                            Originally posted by EL CAMINO View Post
                            i think is time to make RR what is meant to be, a community project not a couple peoples project,
                            I couldn't agree more ... This started out as an open source community, and lately it is becoming a "closed source" dictatorship. Yes I understand Guino owns the source, but in general this whole projct / community is ripping apart at the seams. There are two very distinct groups on this forum now ... the "members only" group who are a closed group and who are dictating the direction the project is going, and then there are the rest of the members who - like myself - really enjoy the RR project and appreciate all the effort Guino and others put in, but who are becoming increasingly disenchanted with the total disregard for their input by that previously mentioned group ... .

                            Originally posted by GizmoQ View Post
                            The RR.ini variable "BACKGROUNDPATH" was discussed and Guino agreed to create this variable in the source code for standardization, but I guess it was not widely publicized because skinners are still creating their own variable to perform the same task.
                            Indeed ... reference to Enforcers sentiments above. Guino may have added the variable, but it was only publicized to a "select" few skinners, and those "select" few skinners / programmers continue to see themselves "above the law" in terms of participating fully in an open community like this one. Until such time as there is 100% co-operation from all members of this forum, standardisation and development will not succeed.

                            PS ... Enforcer, so you don't think I was worthy of inclusion on your list ... I'm very hurt, considering I'm a big Red's fan too ... .. lol ...
                            -------------------------------
                            The TEKNIK Family ... Teknik 1 & Teknik 2, Teknik T-3, Teknik v4.0, Teknik-X.

                            Comment


                            • #15
                              Originally posted by Valheru View Post
                              I couldn't agree more ... This started out as an open source community, and lately it is becoming a "closed source" dictatorship. Yes I understand Guino owns the source, but in general this whole projct / community is ripping apart at the seams. There are two very distinct groups on this forum now ... the "members only" group who are a closed group and who are dictating the direction the project is going, and then there are the rest of the members who - like myself - really enjoy the RR project and appreciate all the effort Guino and others put in, but who are becoming increasingly disenchanted with the total disregard for their input by that previously mentioned group ... .
                              WHO is in this group, I'd like to give them all my source code that I worked on. its not the "new source" of course, but the 11/07 source with all the changes i have made over time. not super commented, but still good
                              -Thanks
                              Mitch
                              www.rush2112.net

                              "Did you test it in carwings??"

                              Sun, Come shine my way
                              May healing waters bury all my pain
                              Wind, Carry me home
                              The fabric of reality is tearing apart
                              The piece of me that died
                              Will return To live again

                              Comment

                              Working...
                              X