T O P I C R E V I E W |
Tcalp |
Posted - 21 Mar 2007 : 08:30:52 Hey All,
I'm working on creating a custom movie card (will follow up with actor and tv series cards). Anyhow I'm having a problem with the field '_MOVIE_COVER_', I am trying to store into a javascript variable so that I can use a front/back cover switch script and a image zoom script. The problem is that the program outputs a logical path (eg. c:\whater\lala\moviecover.jpg) the problem is that the '\' character is an escape character in JavaScript and is ignoring the \'s. Does anyone know a work-around for this ? ...
I've put in support for HD-DVD , Blu-Ray, x264 formats and will include new dolby / dts logos aswell for audio types. ... it is a work in progress.
I do not plan on outputting 'every single' field but suggestions on what you guys would want is welcome. Currently the movie card will display 2 writers / 2 directors / 5 actors (may up actors to 8 or 10) and a 'full credits' link is there that will display a full studio credit via a IFRAME/div popup. I will most likely do the same sort of popup for file details. Feedback is welcome, suggestions welcome.
sample thus far:
~T |
7 L A T E S T R E P L I E S (Newest First) |
Tcalp |
Posted - 22 Mar 2007 : 05:16:26 here is some sample code:
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Private Const SW_SHOWNORMAL = 1 Public WithEvents htmdoc As HTMLDocument Attribute htmdoc.VB_VarHelpID = -1 Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Integer 'API used to get current cursor postion for popup menu when CTRL is down Private Declare Function GetCursorPos Lib "user32.dll" (ByRef lpPoint As POINTAPI) As Long Private Type POINTAPI X As Long Y As Long End Type Dim mPos As POINTAPI
'I don't think I ever implemented this but at one point I wanted "movie" & "actor" hrefs to allow local and web commands, eg. holding down control and clicking would allow the external link to be processed, this just let me know they current keystate. In retrospect it's probably too comlicated a concept to make use of. Private Function KeyDown(ByVal vKey As KeyCodeConstants) As Boolean KeyDown = GetAsyncKeyState(vKey) And &H8000 End Function
'this is where you would popup your own context menu instead of the standard IE one Private Function htmdoc_oncontextmenu() As Boolean PopupMenu mnuHTMLContext End Function
'assign the webbrowser document to a variable so that you can access it's methods and procedures. Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, Url As Variant) Set htmdoc = WebBrowser1.Document End Sub
Private Function htmdoc_onclick() As Boolean
Dim Key As String Dim ElementID As String Key = """" Dim MyTag As String 'I dont have a sample of the exact stuff I was sending through but if the href element had a ID with "Send*" in it it meant that the program was meant to handle the processing. As an example if the ID was set to "Send*:ACTOR_CARD:0024832" it would get split up to say I want app to create an actor card for actor with ID 0024832. There is really limitless possibilties, eg. "Send*:PLAY_FILE:_MOVIE_FILE1_" or whatever. At the same time, due to the fact that the program is now receiving the click events you need to check to see if it's just a normal link that is being processed -- mind you there is probably a way to just send the click event back to IE handling if the click event doesn't end up having stuff that doesn't require the applications attention.
If InStr(htmdoc.activeElement.ID, "Send*") Then Call Page_Click(htmdoc.activeElement.ID) ElseIf InStr(htmdoc.activeElement.ID, "javascript") Then 'Do Nothing let javascript work Else If htmdoc.activeElement.tagName = "A" Then MyTag = htmdoc.activeElement.getAttribute("href") ShellExecute hwnd, "open", MyTag, vbNullString, vbNullString, SW_SHOWNORMAL End If End If
End Function
Private Sub Page_Click(sID As String) Dim sKey As String Dim MovieID As Long Dim sElementID As String Dim sFileName As String
sKey = """" 'MsgBox htmdoc.activeElement.ID sElementID = sID
Select Case Split(sID, ":")(1) Case Is = "GOTO" sKey = """" & Split(sID, ":")(2) & vbLf & Split(sID, ":")(3) & """" Form1.TreeView1.Nodes(sKey).Selected = True Call Make_View
Case Is = "PAGE_CREDITS" Debug.Print GetKeyState(vbKeyControl) If KeyDown(vbKeyControl) Then 'GetKeyState(vbKeyControl) <> 1 Then GetCursorPos mPos PopupMenu Form1.mnuTreeview, , mPos.Y * Screen.TwipsPerPixelX, mPos.Y * Screen.TwipsPerPixelY Else MovieID = CLng(Split(sElementID, ":")(2)) WebBrowser1.Navigate FullCredits(MovieID) End If Case Is = "ACTORID" End Select End Sub
Anyhow I hope that helps, feel free to ask questions and such...
One thing that is currently *really* bugging me with your software, mind you I really love the fact that you've allowed for 'additional photography' for films and even wrote a program that extracts frames from movies. But at the same time, I feel that appropriate priority should be given to the first two image entries. One being Front Cover, and the other being back cover. I suppose it's mostly a data scripting thing, but IMO the first two image slots should be reserved (font/back), scripts should be welcome to store an image into one of those two slots as long as it knows that it is a front or back cover -- Anything else should be stored as 'additional photography' .. I hope that made sense in the way I meant it to.
~T |
Alessio Viti |
Posted - 21 Mar 2007 : 20:11:30 Hi,
XMM is coded in VB NET 2005, if you have some samples in VB6 send to me so I can better understand how can I code your requests.
Thank you!
Alessio |
Tcalp |
Posted - 21 Mar 2007 : 19:21:13 following domains will goto your site now: MAVEN-SOFTWARE.COM MAVEN-WARE.COM MDB-PROJECT.COM MOVIE-MAVEN.COM
~T |
Tcalp |
Posted - 21 Mar 2007 : 19:15:21 btw .. I'll also be forwarding traffic to you from the Movie Maven websites -- if you've never heard of it .. google it ;) ... I don't make/develop it anymore and have chosen your software as my replacement ... as such you'll get traffic for people who were looking for my software ;).
~T |
Tcalp |
Posted - 21 Mar 2007 : 19:12:01 Alessio,
don't worry I'll be sending it off for ya when it's done. Still a lot of work to do though.
I haven't even looked at doing the other cards for the set yet. It would be really nice if XMM supported multiple html pages per movie card ... say instead of looking at html files in the movie card directory you could look at folder names ... of course the main card file would require a static name so that the program would know which one to render but in that sub-folder it could grab a list of all the html files there and spit them all out. It would be a lot easier then me directly writing into an iframe's innerhtml to create sub-pages within the movie card.
Also, it would be really awesome if you started hooking the browser, eg. so you could have your own context menu on the pages and also support special linking so that one could create links to execute program stuff, eg. clicking on an actors name could bring up the actor card for that actor etc ... I don't know what language your coding in but I could supply you with some vb6 code that would allow for this.
here is a sample with the image zooming working--
~T |
Alessio Viti |
Posted - 21 Mar 2007 : 16:22:59 Hi Tcalp,
Your MovieCard looks good! If you want please send it to me, i will include it in the next release of XMM.
Thank you,
Alessio |
Tcalp |
Posted - 21 Mar 2007 : 12:05:13 fixed my problem with the images, I just created some hidden images in the document and use their source path instead of storing in a JS variable. :)
~T |
|
|