I'm not familiar with the Vidabox but a quick glance suggests it is primarily aimed at distributing Audio and/or Video from servers at a central location to media players at multiple locations. Sounds pretty nice but I know nothing about how well it works or who Vidabox is as a company.
HomeLogic can control such a system but it doesn't, by itself, do any sort of audio/video distribution. For HomeLogic to control a device or system, HomeLogic (or someone) SOMETIMES has to provide a "driver" (a bit of software) that allows the HomeLogic hardware to control the device or system.
Other times you can use the existing capabilities of HomeLogic to create "custom" IR or SERIAL "devices" (settings within HomeLogic) that essentially equate a standard HomeLogic command like "Power On" or "Play" with the IR or SERIAL data needed to make a device perform that operation. The typical limitation of this is the lack of feedback from the device to HomeLogic that the desired command was executed successfully.
For many devices HomeLogic already has "built-in" the knowledge of how to control the device and for SERIAL or NETWORK devices you will get the benefit of two-way communication, so HomeLogic can issue a command and monitor the feedback from the device to ensure that the command was executed.
Now I don't have any VIDEO distribution system but I do have a SONOS whole house audio system. It is NOT tied into the HomeLogic system. That was OK with me since the SONOS system was so simple to operate using the SONOS wireless remotes that I knew it would be very "end-user-friendly".
As far as controlling the garage doors, I started by getting some magnetic garage door sensors from SmartHome (two per door) and installing them so I could determine when the door was fully open or closed (if no switch was activated I would know the door was somewhere in between). I also wanted to have the doors to appear to the HomeLogic system as having distinct "commands" to open or close the door, as opposed to the typical garage door remote which just toggles the door position. So I obtained a small single board computer (SBC), aimed at industrial control applications, and programmed that to handle the details of getting the door to the open or closed position when commanded by the HomeLogic system. So the HomeLogic system merely has to "command" the SBC to open/close the door and wait for the SBC to indicate success/failure.
As far as configuring the HomeLogic system there is not any traditional programming involved. There is a good deal of making the correct settings to configure the various devices. There is a good deal of dragging and dropping of graphic elements, such as buttons, to create any custom screen pages. For certain devices, like thermostats, the screen page(s) is/are already configured by HomeLogic so there is nothing to do in that regard.
There is an "event" system where you specify that certain events, under certain conditions, can invoke certain actions. For example, in my home I have a "WaterCop" system, which is a system to detect water leaks and shut off the main water valve to the house. The WaterCop unit is tied into the HomeLogic system and if something activates the WaterCop and it shuts off water to the house, the HomeLogic system sends emails to various persons and, if the house is not in "Home" mode, makes phone calls to various persons informing them (via a computer generated voice) what has happened.
As far a media serving goes are you into some DIY work? There is currently a media player called Dune, which connects to your network, and will play ripped DVD/BD content stored on some network storage device, such as a NAS box or a computer. It works well and is a decent way for someone on a budget to obtain this capability. I currently have one Dune and a Netgear NAS box and am in the process of finding what it can and cannot do and what is involved in ripping DVD/BD content. Having fun.
One of the great features of HomeLogic has to do with the way they handle updating the software of the system. Each "client" (touch screen or computer) obtains the needed program from the HomeLogic system when the client connects. If the client determines that there is a new version of the needed program available that new versions is automatically downloaded and installed with no interaction on the part of the end user, it just happens. When you configure the HomeLogic system and add/modify screen pages the changes are propagated as needed to the various clients. Different clients can have different screen pages and capabilities. For example, if you have a security system, you can limit the ability to access that sub-system to certain clients, say a touch panel in the kitchen, but not have it accessible from the touch panel in the home theater.
You can also access the HomeLogic system from the internet and control the whole system (or just parts) as needed/desired. For example I have a security camera on the boat dock. Guests can connect using a certain password that allows them "read-only" access to the camera screen page (and thus the images from the camera) but NO access to any other part of the HomeLogic system. With another password I can connect and have complete control over the system.
I can provide more information about whatever - just ask.