Our new official repo is on github
LCD Smartie version 5.6 is released!
Download it now: https://github.com/LCD-Smartie/LCDSmartie/releases

LCD Smartie Manager

Plans and future development for LCD Smartie.

Moderators: dperrow, caesar, IFR, limbo, hydrolisk1792, fruittool, Development

Forum rules
Only Serious posts about ideas and future development of the Main LCD Smartie Program please.
Post Reply
hydrolisk1792
Site Admin
Posts: 305
Joined: July 23rd, 2010, 8:32 pm
Location: Las Vegas, NV USA
Contact:

LCD Smartie Manager

Post by hydrolisk1792 »

Would it be possible to make a module type program that would do this? Basically one program that has the capability of running several instances of smartie all at once whilst being able to use each "module" (smartie instance) as before? Basically still be able to edit lines, display drivers, port settings and so on? Furthermore have a thing where you can re-name each module to what ever you want? For instance where the title bar is on the program right now, it says "LCD Smartie 5.5.0.0", in the module program you'd be able to put something like "Sensor Display (COM-16)", or whatever one would want to put. Double click on the module to edit, setting come up as before and have an option for that? Or when you make a new module, maybe drop down menu in the module program, like a File menu, and hit New, this would be the first option in the instance one creates a new module. Probably other things like save, save as, edit, view and so on. Maybe a ports wizard that will sniff the device manager for com ports and LPT ports and so on. I would have loved to have has something like this this entire time because on more complicated setups I do, like the PC I'm on right now, this machine has about thirty instances of smartie running (Which I need to transition over to 5.5.0.0) and if I need to edit anything, it is a pain in the backside to find the one I'm looking for when they are all in the system tray. This doesn't have to be a thing and I know doing something like this would be extremely time consuming and difficult. Oh and the program can be called "LCD Smartie Manager"
I think that the program can just either be able to spit out a new folder in it's directory when you go to "File" and "New" and the folder will contain a fresh install of Smartie and the folder is named what you name it as stated above. This "I think" (in my newbie programing brain :lol: ) would be an easier option because then one could go in to the directory and physically edit their config files, displays folder and so on. However, I don't think it would be able to support the folders being renamed within the windows explorer because it would confuse the parent program and maybe spit out an error like (Cannot find "Sensor Panel (COM-16)". Directory doesn't exist) or something like that. One would have to go into the parent program under "File" and "Edit" and change the name that way. I wonder if this program could run like smartie already does, where it can be moved around with out disturbing the functionality. That is one of the parts I love about smartie, it doesn't require an install. Makes it really easy to test out new build outs with a USB drive. I'm starting to see here that there could be a million ways to do this lol.

Sorry for the run on with the smartie manager idea, just had to get that out.

hydrolisk1792
Site Admin
Posts: 305
Joined: July 23rd, 2010, 8:32 pm
Location: Las Vegas, NV USA
Contact:

Re: LCD Smartie Manager

Post by hydrolisk1792 »

By the way, I just changed your rank to Developer. :D

fruittool
Developer
Posts: 118
Joined: January 22nd, 2021, 3:36 am

Re: LCD Smartie Manager

Post by fruittool »

hydrolisk1792 wrote:
April 1st, 2022, 11:12 am
Wow, I am blown away! That is so awesome! Thank you for taking an interest in my idea, it really means a lot to me :D Can't wait to see what you have in store!
I've been busy, almost got something to show you. Just a question,
When you say a button to spit out a fresh install do you mean a bare bones fresh with the minimal files needed to run? Ie, no plugins and an empty default config

hydrolisk1792
Site Admin
Posts: 305
Joined: July 23rd, 2010, 8:32 pm
Location: Las Vegas, NV USA
Contact:

Re: LCD Smartie Manager

Post by hydrolisk1792 »

fruittool wrote:
April 13th, 2022, 10:40 pm
hydrolisk1792 wrote:
April 1st, 2022, 11:12 am
Wow, I am blown away! That is so awesome! Thank you for taking an interest in my idea, it really means a lot to me :D Can't wait to see what you have in store!
I've been busy, almost got something to show you. Just a question,
When you say a button to spit out a fresh install do you mean a bare bones fresh with the minimal files needed to run? Ie, no plugins and an empty default config
Well, yes, and no. Let me explain. So the empty config is fine, one can build up the screens as needed just like with a fresh install of smartie. The plugins on the other hand can remain the same, however, would it be possible to customize which plugins the new smartie spits out upon hitting that button? Like what plugins will be added and display plugins will be added? Just thinking for the future of plugins and display dlls. I can give you a zip of the blank smartie that I use to deploy with all the plugins and whatnot that I use, however that is not a one size fits all solution. Or would it pe easier for the user to build the folder that the manager uses, with their version of smartie that they use. Ie. the manager has a folder in it's program directory that it uses to replicate new deployments of Smartie where you can put your smartie program folder? Just a thought.

You are doing an amazing job so far and I have no doubts that you can make it happen, just my two cents at the end of the day, :lol: Let me know your thoughts about it.

I split the thread. The new thread is labeled "LCD Smartie Manager"
Last edited by hydrolisk1792 on April 14th, 2022, 3:21 am, edited 1 time in total.
Reason: Missed some information

fruittool
Developer
Posts: 118
Joined: January 22nd, 2021, 3:36 am

Re: LCD Smartie Manager

Post by fruittool »

Right. Some plugins might need additional dll's that might be in the root folder and possibly configuration files that would be alongside the plugin dll. So I'm thinking after copying a fixed list of the bare minimal stuff needed (there's already an option to use the currently loaded config or a blank one) pop up a box with a list of the plugins and root directories so the user can select what to copy. I can add a couple of buttons to select all and invert selection

teasers:
Image
Image
Image

hydrolisk1792
Site Admin
Posts: 305
Joined: July 23rd, 2010, 8:32 pm
Location: Las Vegas, NV USA
Contact:

Re: LCD Smartie Manager

Post by hydrolisk1792 »

I skimmed what you posted, just wanted to check in real quick. Will post again when I get home from the office. :D

hydrolisk1792
Site Admin
Posts: 305
Joined: July 23rd, 2010, 8:32 pm
Location: Las Vegas, NV USA
Contact:

Re: LCD Smartie Manager

Post by hydrolisk1792 »

fruittool wrote:
April 14th, 2022, 6:05 pm
Right. Some plugins might need additional dll's that might be in the root folder and possibly configuration files that would be alongside the plugin dll. So I'm thinking after copying a fixed list of the bare minimal stuff needed (there's already an option to use the currently loaded config or a blank one) pop up a box with a list of the plugins and root directories so the user can select what to copy. I can add a couple of buttons to select all and invert selection

teasers:
Image
Image
Image
Okay, that all sounds good. So the way I have everything organized at the moment inside the control drive would be like the following:

C:/Control on (O;)/LCD-SMARTIE (EGCC 2022 UD)/LCD SMARTIE (COM-01)(MATRIX-O)(SSIM)(RC-TIER-3)
C:/Control on (O;)/LCD-SMARTIE (EGCC 2022 UD)/LCD SMARTIE (COM-02)(WD-202)(UPPER-LEFT)(SSIM)(SQ-L)(C-TIER-6)
C:/Control on (O;)/LCD-SMARTIE (EGCC 2022 UD)/LCD SMARTIE (COM-03)(WD-202)(UPPER-LEFT-CENTRE)(LR-L)(C-TIER-6)
C:/Control on (O;)/LCD-SMARTIE (EGCC 2022 UD)/LCD SMARTIE (COM-04)(WD-202)(UPPER-CENTRE)(CR-D)(C-TIER-6)
C:/Control on (O;)/LCD-SMARTIE (EGCC 2022 UD)/LCD SMARTIE (COM-05)(WD-202)(UPPER-RIGHT-CENTRE)(LR-R)(C-TIER-6)
C:/Control on (O;)/LCD-SMARTIE (EGCC 2022 UD)/LCD SMARTIE (COM-06)(WD-202)(UPPER-RIGHT)(SQ-R)(C-TIER-6)
C:/Control on (O;)/LCD-SMARTIE (EGCC 2022 UD)/LCD SMARTIE (COM-07)(CF-6XX)(WAC)(CR)(RC-TIER-2)
C:/Control on (O;)/LCD-SMARTIE (EGCC 2022 UD)/LCD SMARTIE (COM-08)(CF-6XX)(WAC)(LR)
C:/Control on (O;)/LCD-SMARTIE (EGCC 2022 UD)/LCD SMARTIE (COM-09)(CRYSTAL-ARD)(DISPLAY-SERVER-M204SD01B)(LL-TIER-4)(PORT-1)
C:/Control on (O;)/LCD-SMARTIE (EGCC 2022 UD)/LCD SMARTIE (COM-10)(CRYSTAL-ARD)(DISPLAY-SERVER-M204SD01B)(RL-TIER-4)(PORT-2)
C:/Control on (O;)/LCD-SMARTIE (EGCC 2022 UD)/LCD SMARTIE (COM-11)(CRYSTAL-ARD)(DISPLAY-SERVER-M204SD01B)(LLC-TIER-4)(PORT-3)
C:/Control on (O;)/LCD-SMARTIE (EGCC 2022 UD)/LCD SMARTIE (COM-12)(CRYSTAL-ARD)(DISPLAY-SERVER-M204SD01B)(RLC-TIER-4)(PORT-4)
C:/Control on (O;)/LCD-SMARTIE (EGCC 2022 UD)/LCD SMARTIE (COM-13)(CRYSTAL-ARD)(DISPLAY-SERVER-M204SD01B)(RLC-TIER-4)(PORT-5)
C:/Control on (O;)/LCD-SMARTIE (EGCC 2022 UD)/LCD SMARTIE (COM-14)(CRYSTAL-ARD)(DISPLAY-SERVER-M204SD01B)(RRC-TIER-4)(PORT-6)
C:/Control on (O;)/LCD-SMARTIE (EGCC 2022 UD)/LCD SMARTIE (COM-15)(CRYSTAL-ARD)(DISPLAY-SERVER-M204SD01B)(RL-TIER-4)(PORT-7)
C:/Control on (O;)/LCD-SMARTIE (EGCC 2022 UD)/LCD SMARTIE (COM-16)(CRYSTAL-ARD)(DISPLAY-SERVER-M204SD01B)(RR-TIER-4)(PORT-8)
And so on and so forth. I'm not going to put all of them on here as there are a lot of displays and controllers on com ports in this drive for this setup. There are smaller setups like at the office, there are only 6 coms at the moment because as I stated before, I'm still in the process of moving in to the new office and shop space that we got.

As you can see all the files and instance files are very organized and categorized to keep track of them. All the information is right in the file's name of what port, which display it is, where it is located, and what tier of the centre it is, and/or location. Getting the ports just the way I wanted them in windows with those industrial USB to 8 Port RS232 things was a nightmare, but I made it work and in what order I wanted them in to make it the most logical. There are a few custom display.dll files that were created for some of the displays I use as some of them are customer displays and custom built displays. The one I really like is that I created a 1U rack mount display server for those NCR 7454 display heads that are on ebay quite a few years back. The machine has 2 usb cables that come in, with mains power to a 5v 15A power supply and 8 DB25 ports that go to each of the display heads. Which I since took apart and rack mounted those as well. That was to keep all the electronics and power supply all in one compact unit for the rack in the centre. :D

Will there be a way to organize the instance files like this inside the smartie manager? Furthermore, I have a master file of all the plugins I currently use and ones I plan to use in the future, would you like me to shoot that over to you in a ZIP/RAR file? Right now I'm still on the 5.5.0.0 version because I'm afraid that a lot of my display.dll and plugin files will no longer work.

fruittool
Developer
Posts: 118
Joined: January 22nd, 2021, 3:36 am

Re: LCD Smartie Manager

Post by fruittool »

That is an interesting setup. I was going to ask about more details, maybe some pics. Not here though maybe dm.

Definitely shoot me that zip. It'll be helpful. You say you have custom display dll's, do you have source for these? I could try porting them to 64 bit if you like. It's usually simple, compilers tend to do the right thing.

So I see now, you have multiple folders each with an instance of a complete LCDSmartie program folder and each with its own config.ini. Am I right?

How do you launch it all? Using autostart in this way would overwrite the previous item that had an identical name config file(or am I wrong on this?)

I think I'll have to go back to the drawing board on this but, don't worry I like programming in pascal. I'll split what I've already done as I think It's suitable for the average user and I'll do something slightly different for you.

I'm thinking:
An item to set the location of your master folder (as you suggested). This will be copied when you hit that new button. You'll still be able to select which plugins you want to copy.

Change the refresh button in the configs list to search sub folders in the root folder you select looking for config.ini's.
Expand the configs list so you can see the full path. That way you can see what folder each config belongs to.

I added an item alongside the custom title text to append the config name. A small modification to append the full path to the config would keep the running instances tab helpful. I will have to do some research though as I think there's a limit on title text length and its not very long.

The autostart tab is depending on how you start these instances. I can do whatever needs to be done (within reason anyway).

I'm still building a 32bit version from what I've tested so far all previous plugins are compatible. Maybe I need to tweak the code for some custom and special characters (multibyte characters that have a perfectly good ascii equivalent) as Free Pascal has an issue with a function that was used so I've had to change a few things. You can always start with 32 bit changing one instance for that to see how it goes. Then in time if its stable and I've got more plugins 64 bit maybe change to that. I see how complicated your setup is so I understand you'd want to take it slow

hydrolisk1792
Site Admin
Posts: 305
Joined: July 23rd, 2010, 8:32 pm
Location: Las Vegas, NV USA
Contact:

Re: LCD Smartie Manager

Post by hydrolisk1792 »

That is an interesting setup. I was going to ask about more details, maybe some pics. Not here though maybe dm.
I can make that happen. What would you like to know?
Definitely shoot me that zip. It'll be helpful. You say you have custom display dll's, do you have source for these? I could try porting them to 64 bit if you like. It's usually simple, compilers tend to do the right thing.
Yes, dperrow made them for me quite a while ago. I don't know if he still has the sources.
So I see now, you have multiple folders each with an instance of a complete LCD Smartie program folder and each with its own config.ini. Am I right?
Bingo! You are absolutely right! :D
How do you launch it all? Using autostart in this way would overwrite the previous item that had an identical name config file(or am I wrong on this?)
So at the main setup, which was stated above, I run everything from a shortcuts folder on the desktop as there are a lot of them and I also run xpadder for the controls setups and com controllers. At the office, I made a small batch file to run one, than pause, then the next then pause, and so on. Works okay, but sometimes flakes out. Tried the startup folder in windows 10, that works only for a few (3-4 can't remember at the moment) but that is it. I have this hotkey program (the name leaves my brain at the moment, very tired, long day building a LED Foosball table for a client) that I use to autorun my custom podium 4 player pac-man machine which just runs off of a mini PC. It runs three programs in a very specific manner to get everything to "get along". I may give that a try when I pull it out of storage and bring it to the new shop.
I think I'll have to go back to the drawing board on this but, don't worry I like programming in pascal. I'll split what I've already done as I think It's suitable for the average user and I'll do something slightly different for you.
Well I feel honored that you would take on such a daunting task, thank you so much. I know how it is to have a labour of love! Mine is more hardware related and off the wall electronics and machines.
I'm thinking:
An item to set the location of your master folder (as you suggested). This will be copied when you hit that new button. You'll still be able to select which plugins you want to copy.

Change the refresh button in the configs list to search sub folders in the root folder you select looking for config.ini's.
Expand the configs list so you can see the full path. That way you can see what folder each config belongs to.

I added an item alongside the custom title text to append the config name. A small modification to append the full path to the config would keep the running instances tab helpful. I will have to do some research though as I think there's a limit on title text length and its not very long.
That sounds good. Perfect. :D
The autostart tab is depending on how you start these instances. I can do whatever needs to be done (within reason anyway).
Yeah I'm kind of lost on this one too at the moment. lol :?:
I'm still building a 32bit version from what I've tested so far all previous plugins are compatible. Maybe I need to tweak the code for some custom and special characters (multibyte characters that have a perfectly good ascii equivalent) as Free Pascal has an issue with a function that was used so I've had to change a few things. You can always start with 32 bit changing one instance for that to see how it goes. Then in time if its stable and I've got more plugins 64 bit maybe change to that. I see how complicated your setup is so I understand you'd want to take it slow
So, what I usually do is make a new directory in that same file path stated above:
C:/Control on (O;)/LCD-SMARTIE DISTRO TEST/LCD-SMARTIE-5.5.0.0/"all the files and folders would be replicated here with existing dlls"
When the distro has ran it's week's test, then I do a migration building out the entire directory again with the new version. I then open each smartie instance and program in the display drivers and whatnot, close, reopen, then open the old instance, close the error dialog, then begin to copy and paste all the lines from the old one to the new one. I know some say to copy over the config file, but sometimes it doesn't work for me, so I just do it that way. A few hours later on a few computers later, and the new system is ready to go. I usually wait until I know all is working before porting over the security system displays. Those are always last.

The zip is too large to upload here. I sent it to you via email.

fruittool
Developer
Posts: 118
Joined: January 22nd, 2021, 3:36 am

Re: LCD Smartie Manager

Post by fruittool »

Thanks, I got the zip.
I noticed you have BORLNDMM.DLL in there. Any idea which plugin(s) require that? Its just that I might need to do some work to see how Free Pascal deals with that type of plugin.

Here's where I am. Let me know if there's any changes or additions you want
Image

I have built in a command line option '-launch' that will launch the entries in an autostart.sls file
its just a file with a line to each LCDSmartie.exe instance. the launcher will launch with the config.ini in the same directory as the exe
Image

Image

hydrolisk1792
Site Admin
Posts: 305
Joined: July 23rd, 2010, 8:32 pm
Location: Las Vegas, NV USA
Contact:

Re: LCD Smartie Manager

Post by hydrolisk1792 »

fruittool wrote:
April 21st, 2022, 1:44 pm
Thanks, I got the zip.
I noticed you have BORLNDMM.DLL in there. Any idea which plugin(s) require that? Its just that I might need to do some work to see how Free Pascal deals with that type of plugin.

Here's where I am. Let me know if there's any changes or additions you want
Image

I have built in a command line option '-launch' that will launch the entries in an autostart.sls file
its just a file with a line to each LCDSmartie.exe instance. the launcher will launch with the config.ini in the same directory as the exe
Image

Image
I am not sure what the BORLNDMM.DLL was. My best guess noting from the date modified was when I was trying my hand at Delphi, which didn't get very far lol. From what I can see in the pictures and information you posted here, I don't really see a problem. Pretty self explanatory. One question about the last image, if the names don't show up, how will one know what instance they are editing? Unless I have missed something.

fruittool
Developer
Posts: 118
Joined: January 22nd, 2021, 3:36 am

Re: LCD Smartie Manager

Post by fruittool »

hydrolisk1792 wrote:
April 25th, 2022, 7:07 am
One question about the last image, if the names don't show up, how will one know what instance they are editing? Unless I have missed something.
Good call. I've just inserted a column that shows the full path first and while I was at it I changed the launcher list to merge the file with the list when loaded. Makes more sense that way. I'm out of time tonight but tomorrow it should be ready

fruittool
Developer
Posts: 118
Joined: January 22nd, 2021, 3:36 am

Re: LCD Smartie Manager

Post by fruittool »

It's ready.
https://antland.freeddns.org/files/LCDS ... sk_mod.zip
Some notes:
its 64 bit but shouldn't be an issue
I have checked a side by side of your master config.ini and a config.ini saved by this and while this adds extra config options that the Delphi LCDSmartie doesn't have it doesn't take any out. Options not supported by the Delphi will be ignored.

Some changed variables:
$CPUSpeed is now two variables $SysCPUSpeedMhz and $SysCPUSpeedGhz
$CPUType, $CPUUsage, $Username, $Computername, $Uptime, $uptims are now $SysCPUType, $SysCPUUsage, $SysUsername, $SysComputername, $SysUptime, $SysUptims ( I wanted to keep the same format as other variables in the code unit )

I'm sure I don't have to remind you to backup and test it with one instance first :wink:

Soon I will release my versions of the main exe but first I want to copy over some code I wrote for yours

hydrolisk1792
Site Admin
Posts: 305
Joined: July 23rd, 2010, 8:32 pm
Location: Las Vegas, NV USA
Contact:

Re: LCD Smartie Manager

Post by hydrolisk1792 »

Wow, that sounds awesome, thank you. I will check it out at the house later as I'm at the office right now. Want to do all the testing at the house before I migrate it to the office and shop.

hydrolisk1792
Site Admin
Posts: 305
Joined: July 23rd, 2010, 8:32 pm
Location: Las Vegas, NV USA
Contact:

Re: LCD Smartie Manager

Post by hydrolisk1792 »

I will get to taking a look at this, this weekend, as my schedule is completely packed over the next few days. :?

hydrolisk1792
Site Admin
Posts: 305
Joined: July 23rd, 2010, 8:32 pm
Location: Las Vegas, NV USA
Contact:

Re: LCD Smartie Manager

Post by hydrolisk1792 »

I think the copy of blank smartie I gave you is broken or something. Not sure why or how, but it completely doesn't work. I'm going to look in to this here soon because I tried to use it on one of my warehouse computers used for project lists, and it just crashes. . . May this is something I have done wrong. :?:

fruittool
Developer
Posts: 118
Joined: January 22nd, 2021, 3:36 am

Re: LCD Smartie Manager

Post by fruittool »

Are you sure it's crashing? Is it displayed in the taskbar? If so, when I opened the files you sent me, the interface was drawn two monitors to my right so I thought it wasn't working. Make sure it's closed and delete forms.ini in your master folder

hydrolisk1792
Site Admin
Posts: 305
Joined: July 23rd, 2010, 8:32 pm
Location: Las Vegas, NV USA
Contact:

Re: LCD Smartie Manager

Post by hydrolisk1792 »

Okay no problem. I'll give it a shot when I get a spare moment LOL.

Post Reply