Jump to content

DVBViewer goes COM


Guest Lars_MQ

Recommended Posts

Guest Lars_MQ

This is a experimental little Plugin for the DVBViewer 3.1.

 

It allows you to control a running DVBViewer via COM (vb or vbscript as example).

 

A little demonstration vb-script is included with the plugin. Also a Object- and Methods/Properties list is included.

 

Install the Plugin:

Copy the DVBVCom.dll and the two .bat files into the DVBViewer Plugins folder. You have to register the dll. Simply call the regDVBV.bat. Before removing the .dll please call deregDVBV, to deregister the dll.

 

The Dll ist "Dualinterfaced" it's a DVBViewer plugin and it's a COM-Server. Because of this there are some limitations. You can only connect to a running Server (means DVBViewer is running). It's not possible to create the Server via COM.

 

Together with the OSD-Menu Editor you can make quite nice things, including user input and visual feedback.

 

Mayby someone (except me) finds this usefull. :wub:

 

Have fun

lars

 

[edit]Look further down for a new version[/edit]

Edited by Lars_MQ
Link to comment

when i try to start the hello-word.vbs, i receive an error

Line 3

Sign 1

ActiveX-Komponenten kann kein Objekt erstellen "Getobjekt"

Runtime Error

registered the dll and DVBViewer is running... :wub:

 

any idea?

Link to comment
Guest Lars_MQ

OK, found the problem. It did everything allright, but it forgot to announce it's name, so the vbs demo couldn't work. New Version in the first message.

 

That's what you get when you tinker with COM and M$ :wub:

 

lars

Link to comment

yepp, this works nicely. Maybe it is a good idea to import this into the main application. It would be probably extremely useful to receive teletext pages directly in excel :wub:

 

Christian

Link to comment
Guest Lars_MQ

Yes this should be possible without problems and it shouldn't be so hard to implement. I've written this plugin within half a day :wub:

 

But first try it a little bit in the "open" before putting it into the DVBViewer :bye: There are several things I like to test beforehand...

 

lars

Link to comment
Guest Lars_MQ

Here is an update.

 

New:

- Teletext

- EPG

- Channels

 

I've included a simple Worddocument as Demo for the new functions.

 

You have to adjust the Security settings for macros to low in word (don't forget to restore them after testing!). Extra -> Options -> Security -> Macrosecurity

 

You should see a buttonbar with 3 textbuttons. If not, you can find the macros in extras -> macros, there you can also switch to the sourcecode of the marcos.

 

Before you open the document the DVBViewer must be running of course with this plugin :bye:

 

The EPG stuff can take a while depending on the amoount of epg you have.

The Videotext demo is very fast and simply shows the page 100 of the tuned channel.

The channelstuff will take a real long time. This is caused by the DVBViewer. Unfortunally the design of the channelstuff isn't made for direct access speed...

 

Don't forget to reregister the dll.

 

lars

 

[Edit]Integrated in DVBViewer 3.2, so no use for it anymore :wub:[/edit]

Edited by Lars_MQ
Link to comment

And since today the server is embedded into the main application. Believe it or not it runs appallingly good.

 

Christian :blink:

Link to comment
  • 2 weeks later...
And since today the server is embedded into the main application. Believe it or not it runs appallingly good.

 

Christian  :bye:

 

Is it also possible to use it with Open Office?

 

Thanks!

 

Eugen

Link to comment
Guest Lars_MQ

The COM Interface is complete. Admi-ral is writing a script to control projectX stuff by OSD. It's quite amazing.

 

Things you can do with the COM Interface:

- Control the DVBViewer (all commandcodes)

- Get Informations about running Timers/Recording status of the DVBViewer

- Access to the setup.xml

- Access to the Channellist

- Access to the EPG

- Access Teletext without special chars (text only/Ascii)

- OSD Dialogs (Input, OK, YES/NO, Info, File/Dirselect)

- Freedb data access for audiocDs

- Tagreading (mp3/ape/flac etc)

- Controlling the OSD

- Playlists and play files

- Several utility functions of the DVBViewer

- Writing to the OSD.log.

- using the translationengine of the OSD

- Access to the property data repository

and a lot more ;)

 

lars

Link to comment

As Lars previewed, this is a feature-list of the upcoming ProjectX-Script (available with DVBViewer >3.1.1)

 

- Demux .mpg/.ts-files from within DVBViewer

- Use predefined or manually selected Output-Directory

- Use 3 (or more) different Options (like x.ini with possible post-process (load files in cuttermaran,...) )

- Demux several files in queue-list

- Delete files manually

 

If there are any feature-requests, feel free to post here and we will see what will be possible to include ;)

 

Link to comment
  • 1 month later...

This DVBVCom.dll Plugin is fantastic. You can write your own programmes for the DVBViewer.

 

I've a question about this nice Plugin.

Is it possible to write a programme which control the "Audio Recorder-Plugin" for example start or stop a record?

 

If it's possible how?

Link to comment
And since today the server is embedded into the main application. Believe it or not it runs appallingly good.

 

 

What version do you speak about? If 3.1, must I register this DVBVCOM-DLL?

Do you have ideas to extend the DVBViewer to a Windows -(OCX-) Control ?

 

 

erwin

Link to comment
The COM Interface is complete. Admi-ral is writing a script to control projectX stuff by OSD. It's quite amazing.

 

Things you can do with the COM Interface:

- Control the DVBViewer (all commandcodes)

- Get Informations about running Timers/Recording status of the DVBViewer

- Access to the setup.xml

- Access to the Channellist

- Access to the EPG

- Access Teletext without special chars (text only/Ascii)

- OSD Dialogs (Input, OK, YES/NO, Info, File/Dirselect)

- Freedb data access for audiocDs

- Tagreading (mp3/ape/flac etc)

- Controlling the OSD

- Playlists and play files

- Several utility functions of the DVBViewer

- Writing to the OSD.log.

- using the translationengine of the OSD

- Access to the property data repository

and a lot more ;)

 

 

Hi Lars ,

 

great work! Where can I get the new interface-description?

I've built some demo-apps with your plugin. With the EPG-object i've had some trouble.. Performance - more then half an hour for the complete EPG.

More, the interface functions of this object don't give me the posibility to get the EPG-description of a transmission (the description-named member function only results in a number).. But I think this is not the prob of the plugin, since I 've had the same result using the SDK.

 

 

erwin

Link to comment
Guest Lars_MQ
great work! Where can I get the new interface-description?

Thanks :( ATM the stuff is still beta, so there are no public interface-docs.

 

I've built some demo-apps with your plugin. With the EPG-object i've had some trouble.. Performance - more then half an hour for the complete EPG.

Well the biggest problem ist COM itself, cause every single EPG-Item has to be marshalled. I could use more complex types but this would result in problems for the scripting clients. :(

And it gets worse with the internal channellist, it wasn't designed in first place for such kind of use...

More, the interface functions of this object don't give me the posibility to get the EPG-description of a transmission (the description-named member function only results in a number)..

Could you explain further what you want to archive? I wanted to add a possibility to ask only for the epg of a specific channel. Maybe I can add something you find usefull for your purpose.

 

Suggestions are of course welcome!

 

lars

Link to comment
Guest Lars_MQ
What version do you speak about? If 3.1, must I register this DVBVCOM-DLL?

Do you have ideas to extend the DVBViewer to a Windows -(OCX-) Control ?

I'm talking about the upcoming version of the DVBViewer. It's has a buildin COM-Server.

Link to comment
Could you explain further what you want to archive? I wanted to add a possibility to ask only for the epg of a specific channel. Maybe I can add something you find usefull for your purpose.

 

 

I have this bottom part of the EPG-Window in mind which tells me in a multilined-edit-control the content of the programn. How to get this content via COM?

 

erwin

Edited by erwin
Link to comment
Guest Lars_MQ

Hmm

- for all channels (well this would be iterating through the IEPG as you do now),

- for a selected channel (that would make sense for me) it would be much faster,

- for a selected channel in a selected time(-period) this would be the fastest (if chosen the time period wisely :( ).

 

I will integrate the third, it can be used also for the second. Will this be of any help for you?

 

lars

Link to comment

Hi Lars,

 

More, the interface functions of this object don't give me the posibility to get the EPG-description of a transmission (the description-named  member function only  results in a number).

 

I must correct myself. This works fine . My mistake! Sorry.

 

 

 

I will integrate the third, it can be used also for the second. Will this be of any help for you?

 

I hope not only for me. I think you made a good choice. This third variant to get epg-content will be more useful than the other which grap all without respect of unwished channels or times.

 

 

erwinl

Link to comment
Guest Lars_MQ
I hope not only for me. I think you made a good choice. This third variant to get epg-content will be more useful than the other which grap all without respect of unwished channels or times.

Well it all started just as an experiment. I didn't expected it was that easy to integrate the COM stuff. And it's all a "by-product" of my work on the osd. So sometimes I may have overlooked some things. There are so many things to keep in mind :(

So if you have any ideas or wishes I'm happy to hear them and I will integrate them if possible and if they are of general use. :(

 

I've a question about this nice Plugin.

Is it possible to write a programme which control the "Audio Recorder-Plugin" for example start or stop a record?

Unfortunatly not. I tried the last two days to do at least a simple backport of the DVBViewer COM-server into the com-dll but it's not possible, the plugin-interface doesn't allow that kind of use.

 

I know, it doesn't help you now, but your request is possible with the upcomming version.

Although you can't control the audio-plugin directly, you can control it via the recording-engine of the DVBViewer, which will communicate with the plugin.

You simply create a recording-timer with the audiorecorder-plugin recording action.

By setting the startingtime to "now" it will start recording and if your done you can simply stop/disable/delete the timer and the recording will stop. of course all done via COM ;)

 

lars

Link to comment
By setting the startingtime to "now" it will start recording and if your done you can simply stop/disable/delete the timer and the recording will stop. of course all done via COM

 

start audiorec-plug: yes :(

stop audiorec-plug: Afaik no

 

afair the timer for VRP and ARP will be deleted at it's start (correct me if i'm wrong). the endtime will be send to the vrp's intern timer :(

Link to comment
Guest Lars_MQ
afair the timer for VRP and ARP will be deleted at it's start (correct me if i'm wrong). the endtime will be send to the vrp's intern timer

Well, you're wrong :( The timers are treated like internal recording timers. And Griga extended both plugins so you have some basic control over it. You can stop them at any time via the recording control of the DVBViewer.

 

And yes I'm quite sure of it.

 

Of course you have to use the most recent versions of both plugins :(

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...