PDA

View Full Version : OSDMenu 1.1



Ron
October 13th, 2002, 12:55 PM
I think delphi hardware plugins are possible.

Ron
October 13th, 2002, 12:55 PM
Jeff, the OSDMenu is Matt's, I'm only the girder guy :-)

Anyway, the scrolling that Matt is talking about is vertical(up,down) scrolling not horizontal scrolling,... are you expecting to see text move left and right ?

Ron
October 13th, 2002, 12:55 PM
I don't think that left-right scrolling is possible right now... without some programing that is.

Mark F
October 13th, 2002, 12:55 PM
This is probably not the problem but the new Command_execute_ex interface requires a return code that specifies if Girder should continue to process other commands or not. Do you explicitly return 0? Is your routine defined to return a value?

Just some ideas. :smile:

Mark F
October 13th, 2002, 12:55 PM
Have you thought of turning this into a dual mode or extended plugin? Then it could generate event strings for Girder directly. :smile:

worldrave
October 13th, 2002, 12:55 PM
Yeah, i also agree with the arrow idea. Great idea.

BTW- Is there a better example then the readme (/.ini) about how to actually execute a girder command when choosing a menu item? I'm interested, and understand how to have it execute a program and such, just don't understand from the instructions how to have it execute a Girder command. Like say when you choose a menu command, it could CLOSE a certain program, or start displaying volume control (ie-make a sub-tvcontrol type menu system or similar). Thanx

worldrave
October 13th, 2002, 12:55 PM
Thanx for that help. I'll have to read it a few times til i get it (just woke up)hehe.
But that sure does help out. Thanx again.

Ps- will it be possible to somehow control events or linking to events in the future without having to edit the .ini? (no biggie)

worldrave
October 13th, 2002, 12:55 PM
Awe common.. Please soon!???? Hehe-just kidding. I love the idea though, i've got some cool things i could do with the menu program. I tried the girder string command and it didn't work. How again would i do that?

jediperry
October 13th, 2002, 12:55 PM
I have a multigroup that launches OSDMenu as one of the commands. It seems that after starting the menu, girder stops at that command. Although it will respond as normal to any futher events. Obviously I can just move the osdmenu command to the end of the multigroup as a fix.

Great work by the way. I was going to request the menu start and end events.

Cheers,
Mike

jediperry
October 13th, 2002, 12:55 PM
Would it be possible to make it so that the eventstring sent to girder by osdmenu arrives before the menu exit command is run?

mattwire
October 13th, 2002, 12:55 PM
I've rewritten OSDMenu to use the latest API (V5). I've also fixed the transparency bug (menus on top of each other...), and added facility to execute a Girder command OnStart and OnEnd (aka. Alarmtimer etc.).
I'm not going to officially release it until the final release of Girder 3.1 but please download and test it, report any bugs etc. so I can release a nice stable version for G3.1
Download it here:
(removed) -see below

Note: This new version ONLY works with Girder 3.1+ since it uses the new plugin API.

<font size=-1>[ This Message was edited by: mattwire on 2002-03-13 18:25 ]</font>

mattwire
October 13th, 2002, 12:55 PM
-It does indeed stop processing when OSDMenu is executed. This was intentional, and is part of the new command_execute_ex function.
However, I can/will change it to retContinue instead so processing will continue after the menu is executed.
-I assume you are using 'girder -eventstring' to send the eventstring to girder from OSDMenu. Thus there is no way I can make it arrive before the MenuExit command. However, you could use a timer/wait command on the MenuExit command to get round this.

mattwire
October 13th, 2002, 12:55 PM
I hadn't thought of that one. Trouble is I'd have to convert it to C. Because hardware plugins won't work when programmed from Delphi? - Can't remember where I read that but I think that is the case.

mattwire
October 13th, 2002, 12:55 PM
Ok, I might have a go at converting it to a extended plugin. It'll probably be a couple of weeks though.

mattwire
October 13th, 2002, 12:55 PM
Should be fairly easy to do. I'll add it to my todo list!

mattwire
October 13th, 2002, 12:55 PM
Ok, I'll add the border function.
I have tried to get the menu to get focus but not succeeded. If anyone can suggest what I might be doing wrong I'd be most greatful - I've tried using SetFocus(handle of my window) but it doesn't seem to do anything.

mattwire
October 13th, 2002, 12:55 PM
That one's dead easy to implement. I'll see what I can do... :smile:
BTW. How do you fit 100 menuitems on your screen???

<font size=-1>[ This Message was edited by: mattwire on 2002-03-13 11:28 ]</font>

mattwire
October 13th, 2002, 12:55 PM
I guess I might introduce scrolling one day. Trouble is this would require some fairly major work since it is all directly drawn onto the window - it relies on a number of calculations to work out position etc.
Can't you just manage with the submenus?

mattwire
October 13th, 2002, 12:55 PM
Well I might implement scrolling sometime but it really would require rather a lot of work so don't expect it anytime soon.
What about if I made an option to autorun a submenu when it is selected - that way you would get pseudo fullpage scrolling.

<font size=-1>[ This Message was edited by: mattwire on 2002-03-13 17:33 ]</font>

mattwire
October 13th, 2002, 12:55 PM
Well, I might see what I can do with scrolling. But for now here is version 1.2 for you all to test:
-Default behaviour on command_execute_ex changed to retContinue.
-Menu start at item X.
-Reg saving of index/name.

( Removed - see below)

<font size=-1>[ This Message was edited by: mattwire on 2002-03-13 21:34 ]</font>

mattwire
October 13th, 2002, 12:55 PM
Just checked my code. It looks like I've filtered it to do nothing if the command string is null... Easily fixed:
http://homepage.ntlworld.com/graham.wire/osdmenu12b.zip

mattwire
October 13th, 2002, 12:55 PM
Just to let you know. I've started work on scrolling support - doesn't look like it'll be too difficult to implement after all -
The user is going to need some kind of indication that there are more items above/below the menu. What do you think would be the best way to do this?

Version 1.3 will include scrolling and border support. I'll probably release it in one or two weeks time.

mattwire
October 13th, 2002, 12:55 PM
It's quite simple really.
Type this for the menuitem file:
"c:program filesgirder31girder.exe" -eventstring [youreventstring]
Replace path to girder with your girder installation.
Set [youreventstring] to match any eventstring assigned to a command in girder.

mattwire
October 13th, 2002, 12:55 PM
I will probably write a 'Menu Creator' program sometime, which will give you a nice GUI for making menus. That way you won't have to edit the ini files manually.
However, it won't be for a while yet!

mattwire
October 13th, 2002, 12:55 PM
I've started work on a MenuBuilder but I've got exams to revise for!
If you're using Girder3.1 you need to learn each string as a 'Girder Event'. This will then get executed like so:
girderdirgirder.exe -eventstring youreventstring

mattwire
October 13th, 2002, 12:55 PM
Scrolling was implemented as of version 1.3.
Background color highlighting should be fairly easy to do.

mitko
October 13th, 2002, 12:55 PM
I think that a litle arrows in the upperright and lowerleft corner pointing up and down respectively will be just perfect. Also when the user reaches the top of the menu the upper arrow becomes dim (not sure of the word in English is should mean a litle bit darker). The same happens when he reaches the end of the menu.

SouthyPar
October 13th, 2002, 12:55 PM
BTW, now that the standalone OSDMenu has been converted to a Girder Plugin, it would cool if OSDMenu could simply return to Girder the title of the menu option that has been selected in a textreg, or its index number in a regular reg.

SouthyPar
October 13th, 2002, 12:55 PM
Another little feature request which I think would be very useful:
- Add the ability to start the OSDMenu with item X in focus, IE: If I have a menu of 100 songs and I want to specify that OSD Menu should start at item 50.

<font size=-1>[ This Message was edited by: SouthyPar on 2002-03-13 11:25 ]</font>

SouthyPar
October 13th, 2002, 12:55 PM
Wow, this brings up another problem I didn't know I would have: There's no scrolling of the menu list in OSDMenu. Do you ever intend to introduce scrolling?

The thing is, I'm trying to create a solution for people (like me) who want to use OSDMenu to control their Winamp PlayListAlbumList. But OSDMenu without scrolling would not be useable for these purposes.

SouthyPar
October 13th, 2002, 12:55 PM
Well since I'm trying to work out a more convenient way to use my Winamp PL, forcing the user to sort through submenus to get to the desires songs would be a cumbersome solution. I think that for now I'll just smallify (what an awesome word :smile: ) the font and hope it'll all fit onto the screen.

Thanks a lot for all of your help!

SouthyPar
October 13th, 2002, 12:55 PM
Well yeah, that could definitely work. You could, perhaps, introduce an "ItemsPerScreen" value in the ini file, and then make scrolling work without any actual sizeposition calculations; merely display the next or previous item once the user "went out of bounds". Is this possibleeasier to implement?

SouthyPar
October 13th, 2002, 12:55 PM
Thanks for the new version. I have one problem though: Why doesn't OSDMenu allow selection of items that don't have an executable linked to them (meaning, menu items that don't have "=file.exe" at the end)? What if I just want to get the index number of the menu item the user has selected, without running anything?

SouthyPar
October 13th, 2002, 12:55 PM
I agree on the idea of introducing cute little arrows. :smile: But their positionsizecolor should probably be customizable.

<font size=-1>[ This Message was edited by: SouthyPar on 2002-03-15 02:48 ]</font>

Huy Thach
October 13th, 2002, 12:55 PM
OSD menu is a great plugin. But can you add the check box that enable the plugin to focus to its menu when execute? Someone may need it. And can you add the draw border option to OSD menu (Like OSDPopup do)?

Snakebite
October 13th, 2002, 12:55 PM
May I suggest that you add outlining to the menu text. Just a thin (customizable) black (customizable) outlining around each letter.

I'm looking forward to the scroll feature. As for indicators, I'd suggest image files so we can customize appearance and size anyway we like.

Thanks for a very useful plugin!

Snakebite
October 13th, 2002, 12:55 PM
Oh, another suggestion. I don't know how much work this is, but how about expanding the RGB-triples with an 8-bit alpha-value (opacity/transparency). Then we could do things like semi-transparent backgrounds for our menus..!

Alternate background color for the highlighted menuitem would also be great. Personally I'd prefer that kind of highlighting over alternate text color.

Jeff Rhoades
October 13th, 2002, 12:55 PM
First of all Ron, KILLER program! I'm having a blast with it. I've tried to insert scrolling text into my OSD menus with zero success. I know it will be something simple that I am "vapor-locking of the brain" on. Any suggestions anyone? Thanks all!

Jeff Rhoades
October 13th, 2002, 12:55 PM
Ron, Thank you for the quick response! I was referring to the Girder program by the way. Outstanding! Matt is no slouch himself! Excellent work fellas! And yes, I am trying to have text scroll left to right (i.e. HTML). Is this a plugin not created yet, or can I insert a command into my "menu.ini"? I am a complete idiot when it comes to C++,(MUCH harder than I thought it would be).I created a HTML and tried to insert the body text into menu.ini, but did not take. Any suggestions? Thanks again Ron and Matt!!

Jeff Rhoades
October 13th, 2002, 12:55 PM
I was afraid of that. If I luck out and make it happen, I'll let you know. Thanks for your time!