Results 1 to 6 of 6

Thread: VB.Net Plugin with new concepts

  1. #1
    Constant Bitrate
    Join Date
    Mar 2005
    Location
    Wiesbaden/Germany
    Posts
    214

    VB.Net Plugin with new concepts

    Centrafuse is the best frontend ever - because of the plugin interface - easy to program (i have looked inside the sdk.chtm just once) and powerful.

    Centrafuse will also get stronger and better as there much more developers developing for it (they are able to do this -> plugin interface)...

    So I have started coding something I hope you will have a look at it.
    My main dislike (as plugin/developer) at all frontends (not only CF) is the crippeled "Windows Form Designer" and crippeled "Microsoft ActiveX concept" - this gives you (for example) codelogic for a buttons in the form itself.

    So I reintroduced the ActiveX concept for CarFrontends - but this time skinnable !

    You press a button - it draws itself "pressed" and raises an event for the form. The buttons itself is my own ActiveX Control as the Windows Command Button is not suitable for car usage (IMHO).
    To be able to draw "round buttons" I am doing some "magic" stuff with transparency...

    the skin-file (text-file) looks like that:

    Code:
            mySkin.SuspendLayout()
            '
            'CfButton1
            '
            mySkin.CfButton1.Image = New System.Drawing.Bitmap("plugins\CFRadio\rd-darkglass-6-u.gif")
            mySkin.CfButton1.ImageDown = New System.Drawing.Bitmap("plugins\CFRadio\rd-darkglass-6-d.gif")
            mySkin.CfButton1.Location = New System.Drawing.Point(8, 80)
            mySkin.CfButton1.Name = "CfButton1"
            mySkin.CfButton1.Size = New System.Drawing.Size(120, 43)
            mySkin.CfButton1.TabIndex = 1
            mySkin.CfButton1.Tekst = "Tune +"
            '
            'CfButton2
            '
            mySkin.CfButton2.Image = New System.Drawing.Bitmap("plugins\CFRadio\rd-darkglass-6-u.gif")
            mySkin.CfButton2.ImageDown = New System.Drawing.Bitmap("plugins\CFRadio\rd-darkglass-6-d.gif")
            mySkin.CfButton2.Location = New System.Drawing.Point(8, 136)
            mySkin.CfButton2.Name = "CfButton2"
            mySkin.CfButton2.Size = New System.Drawing.Size(120, 43)
            mySkin.CfButton2.TabIndex = 1
            mySkin.CfButton2.Tekst = "Tune -"
            '
            'Cflcd1
            '
            mySkin.Cflcd1.Image = New System.Drawing.Bitmap("plugins\CFRadio\Display_LCD.jpg")
            mySkin.Cflcd1.Location = New System.Drawing.Point(136, 80)
            mySkin.Cflcd1.Name = "Cflcd1"
            mySkin.Cflcd1.Size = New System.Drawing.Size(528, 213)
            mySkin.Cflcd1.TabIndex = 2
            mySkin.Cflcd1.Tekst = Nothing
            '
            'CFRadio
            '
            mySkin.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
    	mySkin.BackgroundImage = New System.Drawing.Bitmap("plugins\CFRadio\blank.jpg")        
    	mySkin.CF_pluginIsGUI = True
            mySkin.CF_pluginName = "CFRADIO"
            mySkin.ClientSize = New System.Drawing.Size(677, 310)
            mySkin.Controls.Add(mySkin.Cflcd1)
            mySkin.Controls.Add(mySkin.CfButton1)
            mySkin.Controls.Add(mySkin.CfButton2)
            mySkin.Name = "CFRadio"
            mySkin.Controls.SetChildIndex(mySkin.CfButton2, 0)
            mySkin.Controls.SetChildIndex(mySkin.clickShield, 0)
            mySkin.Controls.SetChildIndex(mySkin.CfButton1, 0)
            mySkin.Controls.SetChildIndex(mySkin.Cflcd1, 0)
            mySkin.ResumeLayout(False)
    You will notice that this is the InitializeComponent() from the Windows Form Designer - I am loading this file at runtime, compile and execute it (instead of the InitializeComponent() )
    The "skinner" could certainly also replace the controls with his own versions ! Adding flash or animation or whatever.

    My ActiveX controls are placed inside CF not-my own frontend - this shows again the power and flexibility of CF - only a black-painting of the Plugin-form-space in the OnPaint() Event disturbes this (please remove Veetid )

    I have designed a radio plugin because I want to implement a RDS text and want to show you my HAL (seperating driver from application (you are sooo faaaast Veetid - you have realized that in 1.6 )).
    This also raises the question why i can't replace the Radiopart inside CF - so please be consistently and make *every* part of CF a plugin (with a different interface as it is much easier IMHO).
    ...and please document the interface of the radiomodules in 1.6 - i am sure that you can't buy every radiohardware to develop a driver for it.

    And finally keep up the good work veetid (and you others) !


    Grab my ideas here:
    http://netsh88.hades.net-build.de/fm...dio_plugin.zip
    http://netsh88.hades.net-build.de/fm...dio_source.zip

  2. #2
    VENDOR - Centrafuse veetid's Avatar
    Join Date
    Apr 2004
    Posts
    5,040
    Quote Originally Posted by FMode View Post
    Centrafuse is the best frontend ever - because of the plugin interface - easy to program (i have looked inside the sdk.chtm just once) and powerful.

    Centrafuse will also get stronger and better as there much more developers developing for it (they are able to do this -> plugin interface)...

    So I have started coding something I hope you will have a look at it.
    My main dislike (as plugin/developer) at all frontends (not only CF) is the crippeled "Windows Form Designer" and crippeled "Microsoft ActiveX concept" - this gives you (for example) codelogic for a buttons in the form itself.

    So I reintroduced the ActiveX concept for CarFrontends - but this time skinnable !

    You press a button - it draws itself "pressed" and raises an event for the form. The buttons itself is my own ActiveX Control as the Windows Command Button is not suitable for car usage (IMHO).
    To be able to draw "round buttons" I am doing some "magic" stuff with transparency...

    the skin-file (text-file) looks like that:

    Code:
            mySkin.SuspendLayout()
            '
            'CfButton1
            '
            mySkin.CfButton1.Image = New System.Drawing.Bitmap("plugins\CFRadio\rd-darkglass-6-u.gif")
            mySkin.CfButton1.ImageDown = New System.Drawing.Bitmap("plugins\CFRadio\rd-darkglass-6-d.gif")
            mySkin.CfButton1.Location = New System.Drawing.Point(8, 80)
            mySkin.CfButton1.Name = "CfButton1"
            mySkin.CfButton1.Size = New System.Drawing.Size(120, 43)
            mySkin.CfButton1.TabIndex = 1
            mySkin.CfButton1.Tekst = "Tune +"
            '
            'CfButton2
            '
            mySkin.CfButton2.Image = New System.Drawing.Bitmap("plugins\CFRadio\rd-darkglass-6-u.gif")
            mySkin.CfButton2.ImageDown = New System.Drawing.Bitmap("plugins\CFRadio\rd-darkglass-6-d.gif")
            mySkin.CfButton2.Location = New System.Drawing.Point(8, 136)
            mySkin.CfButton2.Name = "CfButton2"
            mySkin.CfButton2.Size = New System.Drawing.Size(120, 43)
            mySkin.CfButton2.TabIndex = 1
            mySkin.CfButton2.Tekst = "Tune -"
            '
            'Cflcd1
            '
            mySkin.Cflcd1.Image = New System.Drawing.Bitmap("plugins\CFRadio\Display_LCD.jpg")
            mySkin.Cflcd1.Location = New System.Drawing.Point(136, 80)
            mySkin.Cflcd1.Name = "Cflcd1"
            mySkin.Cflcd1.Size = New System.Drawing.Size(528, 213)
            mySkin.Cflcd1.TabIndex = 2
            mySkin.Cflcd1.Tekst = Nothing
            '
            'CFRadio
            '
            mySkin.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
    	mySkin.BackgroundImage = New System.Drawing.Bitmap("plugins\CFRadio\blank.jpg")        
    	mySkin.CF_pluginIsGUI = True
            mySkin.CF_pluginName = "CFRADIO"
            mySkin.ClientSize = New System.Drawing.Size(677, 310)
            mySkin.Controls.Add(mySkin.Cflcd1)
            mySkin.Controls.Add(mySkin.CfButton1)
            mySkin.Controls.Add(mySkin.CfButton2)
            mySkin.Name = "CFRadio"
            mySkin.Controls.SetChildIndex(mySkin.CfButton2, 0)
            mySkin.Controls.SetChildIndex(mySkin.clickShield, 0)
            mySkin.Controls.SetChildIndex(mySkin.CfButton1, 0)
            mySkin.Controls.SetChildIndex(mySkin.Cflcd1, 0)
            mySkin.ResumeLayout(False)
    You will notice that this is the InitializeComponent() from the Windows Form Designer - I am loading this file at runtime, compile and execute it (instead of the InitializeComponent() )
    The "skinner" could certainly also replace the controls with his own versions ! Adding flash or animation or whatever.

    My ActiveX controls are placed inside CF not-my own frontend - this shows again the power and flexibility of CF - only a black-painting of the Plugin-form-space in the OnPaint() Event disturbes this (please remove Veetid )

    I have designed a radio plugin because I want to implement a RDS text and want to show you my HAL (seperating driver from application (you are sooo faaaast Veetid - you have realized that in 1.6 )).
    This also raises the question why i can't replace the Radiopart inside CF - so please be consistently and make *every* part of CF a plugin (with a different interface as it is much easier IMHO).
    ...and please document the interface of the radiomodules in 1.6 - i am sure that you can't buy every radiohardware to develop a driver for it.

    And finally keep up the good work veetid (and you others) !


    Grab my ideas here:
    http://netsh88.hades.net-build.de/fm...dio_plugin.zip
    http://netsh88.hades.net-build.de/fm...dio_source.zip
    Great work, I will have to look through it to completly understand the use of non-CF controls within CF, but if you have it working then great... I tried to make things as flexible as possible...

    A radio plugin could be created seperate, the only features that are not exposed in the SDK are the ability for the Tivo functionality, which would take some time...

    not sure about the black painting in the OnPaint event, I will have to look into this, but you should be able to modify this.... I believe I made it a property, if not I will...

    It was always meant to have flat graphic backgrounds, but I generally don't hard code anything...

    david
    __________________
    CENTRAFUSE http://www.centrafuse.com
    01 Jeep Cherokee Sport 4x4 Installed
    M10000/512Mb/20GB, Lilliput 7", Holux GM-210

  3. #3
    VENDOR - Centrafuse veetid's Avatar
    Join Date
    Apr 2004
    Posts
    5,040
    Just checked and I do not paint black backgrounds, but I do override OnPaint and OnBackgroundPaint methods, but I don't paint anything black...

    It could be because I do not call their base methods at the end explicity, but that shouldn't be a problem because I have added an override to a plugin and it was called just fine...

    you should be able to change your background colors, not sure why that isn't working...

    if you download the SDK the example Radio Modules and interface are documented in the example Radio Module plugins...

    david
    __________________
    CENTRAFUSE http://www.centrafuse.com
    01 Jeep Cherokee Sport 4x4 Installed
    M10000/512Mb/20GB, Lilliput 7", Holux GM-210

  4. #4
    Constant Bitrate
    Join Date
    Mar 2005
    Location
    Wiesbaden/Germany
    Posts
    214
    hmmm... please look at the date of my initial posting....
    imageshack removed the CF picture (showing that its really working!) and the downloads are "void" now... and its was written for CF1.5 !

    so I will try to reorganize them...

    ...at editing time I just remove "Implements Centrafuse.cfplugin" and the black overrideing of my controls disappeared (in 1.5!)... for compilation I put it back...

    The problem is noone (skinner) have a clue what possibilies this would offer to them (I don't have time to create a breathtaking example)... I am speaking of adding flashanimated buttons and stuff...


    Quote Originally Posted by veetid View Post
    ...

    if you download the SDK the example Radio Modules and interface are documented in the example Radio Module plugins...

    david
    but not in CF1.5
    with "Radio Module" you mean Radio Drivers not GUI ? or is the GUI moved to an offical plugin (like the common plugins) and I didn't catch this ?

  5. #5
    VENDOR - Centrafuse veetid's Avatar
    Join Date
    Apr 2004
    Posts
    5,040
    I didn't realize this was so old, I was confused...

    I thought this was a new post, so most of what I said was completly out of context

    Radio isn't a complete plugin yet, but it was built on the same exact SDK base... The only thing the SDK does not expose is the ability to override the previous/play/next buttons and implement the Tivo functionality...

    I plan to expand the Radio Module interface instead of exposing the Radio as a plugin... This is a better method to getting more radios added, not having a bunch of different Radio plugins, but Radio Modules that work with one plugin...

    I know the interface needs some work, but it's a start and it works if you implement the methods...

    david
    __________________
    CENTRAFUSE http://www.centrafuse.com
    01 Jeep Cherokee Sport 4x4 Installed
    M10000/512Mb/20GB, Lilliput 7", Holux GM-210

  6. #6
    Constant Bitrate
    Join Date
    Mar 2005
    Location
    Wiesbaden/Germany
    Posts
    214
    nearly forget this thread...

    some pics are missing :/ ...
    Attached Files Attached Files

Similar Threads

  1. Garo's Extra POI Plugin 1.0 beta 1
    By garo in forum Map Monkey
    Replies: 63
    Last Post: 01-18-2007, 12:32 PM
  2. can't get plugin to work. help please
    By binh in forum DragonBTV's CarPC Plugins
    Replies: 2
    Last Post: 06-05-2005, 04:48 AM
  3. Help with winXP/hibernate/LCD plugin
    By dave123456 in forum Software & Software Development
    Replies: 0
    Last Post: 10-17-2002, 08:17 PM
  4. Winamp LCD display plugin / IRMan plugin - together?
    By Jarrod in forum Software & Software Development
    Replies: 9
    Last Post: 06-03-2002, 05:39 AM
  5. Resumer Winamp plugin..works with MPC, too
    By Tony S in forum Software & Software Development
    Replies: 7
    Last Post: 03-30-2002, 05:10 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •