Close
Page 1 of 2 1 2 LastLast
Showing results 1 to 10 of 20
  1. #1

    Default Mojo build 3 is ready to test ** Testing Closed **

    This is a "revise" build instead of a "new features" build. It contains some changes that were suggested by conversations in other threads here.

    1. You can now turn broadcasting off from the Actions menu. (Later there will be more convenient ways.)

    2. Error messages and tracing have been added to both log files to try to diagnose the reported bug that makes the program fail to start.

    3. A new item, "Debug," has been added to the main menu. It allows you to look at various things.

    4. The installer''s security checking was disabled to see if this will have any effect on firewall messages (it probably won't).

    5. Broadcasting was changed slightly to ensure that when Mojo broadcasts automatic repeated keypresses that are generated by a keyboard, WoW receives *exactly* the same signals that it would receive from the keyboard itself. As part of this change, Mojo now displays "prev state" in "Your last action." This means "previous key state," i.e., the state of the key before your last action.

    6. The scrolling code from the main window was rewritten to try to eliminate reported flicker. You can select "Test" under "Debug" on the main menu if you want to see the window scroll indefinitely at 33 messages per second.
    Last edited by Svpernova09 : 12-01-2009 at 09:31 PM
    �Author of HotkeyNet and Mojo

  2. #2

    Default

    On second thought, I'd like to ask people to test something.

    Start Mojo on two PC's.

    Load a bunch of WoW windows on both PCs. Leave them at the account name screen and put the cursor in "account name" so you can see your typing.

    Edit: You don't need WoW accounts for this. You can just launch WoW many times and leave it at the account name screen.

    Select Debug : Test on both Mojos. This will put them under artificial stress.

    Bring WoW to the foreground on one PC.

    Spam keys as fast as you can on that PC.

    See if the broadcast keeps up in all WoWs.

    Thanks a lot!
    Last edited by Freddie : 12-01-2009 at 11:13 AM
    �Author of HotkeyNet and Mojo

  3. #3

    Default

    Minor note, my XP machines computer names are truncating the last char. Ex:
    fullgames.FULL.loca
    fullvideo.FULL.loca
    My Win 7 machine shows as full name on all machines.
    Not a big deal, just thought I would mention it.

  4. #4

    Default

    Thanks, I'll look into it.
    �Author of HotkeyNet and Mojo

  5. #5

    Default

    Quote Originally Posted by ElectronDF View Post
    Minor note, my XP machines computer names are truncating the last char. Ex:
    fullgames.FULL.loca
    fullvideo.FULL.loca
    My Win 7 machine shows as full name on all machines.
    Not a big deal, just thought I would mention it.
    I can't duplicate this, so I made a test build (number 4). Could you do me a big favor:

    1. Run build 4 simultaneously on both machines.

    2. Let it run for about 30 seconds on both machines.

    3. On both machines, go to "Debug" on the menu and select "Show engine log."

    (The reason for running only 30 seconds is that the engine log will very rapidly fill with repeated lines that we don't need.)

    Could you either email me or paste here the engine logs from both PCs? .

    Thanks a lot.
    Last edited by Freddie : 12-01-2009 at 12:25 PM
    �Author of HotkeyNet and Mojo

  6. #6

    Default

    Running the test as stated in your post, I had 10 WoW clients running on each computer. The broadcasting of keys seemed to keep up quite nicely, with no noticeable lag at all.

    The one thing I did see while taking advantage of the keyrepeating (hold a key down in this case Backspace) was that the computer with the keyboard being pressed it would fall behind the second comp. For example I could type 50 characters into the name box, on all of the clients (remote and local), and then hold backspace till all the characters were gone on the remote machine and the local machine would have a few characters left to delete.
    I know you mentioned it somewhere but shifted keys did not send to the remote clients, ( @ ? ! < > etc. )

    The download and install was phenomenal with no issues. Broadcasting worked only when "a" WoW window had focus, anything other than WoW would stop broadcasting. Broadcasting stopped when using the option in the menu as would be expected. Broadcasting even worked while using HKN2 and moused over to the remote machine, with no strange double key type stuff. (by double key I mean the local machine kb broadcasting the keys and the remote machine being controlled by the local kb sending a key. )

    There is no way to stop the test other than to close the mojo window???

    Anyway it's coming along pretty nicely by the looks of it, let me know if you need more details, or any other help...I'm usually around and bored


    Edit: Wow it got better while i was testing it, I feel so outdated now, these dang computer machines are getting too fast for me :P
    Last edited by Bettysue : 12-01-2009 at 12:28 PM Reason: I tested using the first post info :P

  7. #7

    Default

    Quote Originally Posted by Bettysue View Post
    Running the test as stated in your post, I had 10 WoW clients running on each computer. The broadcasting of keys seemed to keep up quite nicely, with no noticeable lag at all.
    I'm glad to hear that!

    The one thing I did see while taking advantage of the keyrepeating (hold a key down in this case Backspace) was that the computer with the keyboard being pressed it would fall behind the second comp. For example I could type 50 characters into the name box, on all of the clients (remote and local), and then hold backspace till all the characters were gone on the remote machine and the local machine would have a few characters left to delete.
    Hmm, I wonder if that's due to an error. . Maybe, while you typed, some characters failed to reach the remote, so there were more characters to delete on the local. Do you think that might be the reason?

    I know you mentioned it somewhere but shifted keys did not send to the remote clients, ( @ ? ! < > etc. )
    Right, that's not done yet.

    The download and install was phenomenal with no issues.
    Great.

    Broadcasting worked only when "a" WoW window had focus, anything other than WoW would stop broadcasting. Broadcasting stopped when using the option in the menu as would be expected. Broadcasting even worked while using HKN2 and moused over to the remote machine, with no strange double key type stuff. (by double key I mean the local machine kb broadcasting the keys and the remote machine being controlled by the local kb sending a key. )
    Great. That's all as intended at this early stage. It's just a barebones implementation of broadcasting to make sure the basic code works right. I like to do things one step at a time and try to get each step right before the next.

    There is no way to stop the test other than to close the mojo window???
    Right, I just added it to the program temporarily to see if the new scroll code works properly. I wasn't even planning to mention it here. But then it occurred to me, after posting the build, that it's a decent stress test. Maybe I'll add an off switch and keep it in the program for the rest of the alpha/beta test.

    Anyway it's coming along pretty nicely by the looks of it, let me know if you need more details, or any other help...I'm usually around and bored
    That's a great offer. I'll take you up on it. If you're interested, it would probably help me to work interactively with somebody, maybe even talk on the phone.

    Edit: Wow it got better while i was testing it, I feel so outdated now, these dang computer machines are getting to fast for me :P
    It's incredible isn't? It just amazes me how fast my slow crappy code is running!
    �Author of HotkeyNet and Mojo

  8. #8

    Default

    Quote Originally Posted by Freddie View Post
    Hmm, I wonder if that's due to an error. . Maybe, while you typed, some characters failed to reach the remote, so there were more characters to delete on the local. Do you think that might be the reason?
    Yes now that I think about it, it is most likely my computer, it was running an AV scan in the background trying again it doesn't seem to be duplicating the lost keys thing it was doing before.

    Great. That's all as intended at this early stage. It's just a barebones implementation of broadcasting to make sure the basic code works right. I like to do things one step at a time and try to get each step right before the next.
    Seems like a very good plan there's no point to building towers in quicksand.


    That's a great offer. I'll take you up on it. If you're interested, it would probably help me to work interactively with somebody, maybe even talk on the phone.
    That may be quite an expensive endeavor unless you have a VoIP phone or something along the lines of free telephony, as I currently reside in Korea...and they just so happen to have the same outrageous long distance bills the rest of the world does...damn capitalism

  9. #9

    Default

    This is from Win 7 machine (ElectronDF)
    -------------------------------------------------------------------------------------
    mojo_engine Log File
    -------------------------------------------------------------------------------------
    mojo_engine 0.0.1 build 4
    File opened at 09:55:40 on Tuesday, December 1, 2009
    net_stuff.cpp 66: In get_full_dns_name(); GetComputerNameExe returned ElectronDF.FULL.local
    net_stuff.cpp 67: Still in get_full_dns_name(); pRet == ElectronDF.FULL.local
    DNS name: ElectronDF.FULL.local
    OS version: Microsoft Windows 7 (build 7600), 64-bit
    -------------------------------------------------------------------------------------
    net_stuff.cpp 66: In get_full_dns_name(); GetComputerNameExe returned ElectronDF.FULL.local
    net_stuff.cpp 67: Still in get_full_dns_name(); pRet == ElectronDF.FULL.local
    cScribPack.cpp 108: Unable to find DlgMonitor.InputEventsHead in multimap.
    cScribPack.cpp 108: Unable to find DlgMonitor.MemosHead in multimap.
    cScribPack.cpp 108: Unable to find DlgMonitor.ConnectionsHead in multimap.
    initialize_engine.cpp 92: About to load default scribs.
    cScribMgr.cpp 128: Scribs loaded from memory: 25 scribs.
    initialize_engine.cpp 94: Just loaded engine's compiled scribs; qty = 25
    initialize_engine.cpp 122: About to call cInputEvent::load_scribs()
    initialize_engine.cpp 129: About to start messenger thread.
    initialize_engine.cpp 137: About to check versions.
    initialize_engine.cpp 169: About to start hooks thread.
    initialize_engine.cpp 177: About to start g_Pool.
    net_stuff.cpp 66: In get_full_dns_name(); GetComputerNameExe returned ElectronDF.FULL.local
    net_stuff.cpp 67: Still in get_full_dns_name(); pRet == ElectronDF.FULL.local
    cSignature.cpp 50: In cSignature::cSignature; get_full_dns_name() returned ElectronDF.FULL.local
    initialize_engine.cpp 185: About to start g_Finder.
    net_stuff.cpp 66: In get_full_dns_name(); GetComputerNameExe returned ElectronDF.FULL.local
    net_stuff.cpp 67: Still in get_full_dns_name(); pRet == ElectronDF.FULL.local
    cSignature.cpp 50: In cSignature::cSignature; get_full_dns_name() returned ElectronDF.FULL.local
    net_stuff.cpp 66: In get_full_dns_name(); GetComputerNameExe returned ElectronDF.FULL.local
    net_stuff.cpp 67: Still in get_full_dns_name(); pRet == ElectronDF.FULL.local
    cScribMgr.cpp 128: Scribs loaded from memory: 46 scribs.
    cSignature.cpp 115: In cSignature:: parse(); *ppRetHostName == ElectronDF.FULL.local
    cSignature.cpp 115: In cSignature:: parse(); *ppRetHostName == fullgames.FULL.loca
    cSignature.cpp 115: In cSignature:: parse(); *ppRetHostName == fullvideo.FULL.loca
    cSignature.cpp 115: In cSignature:: parse(); *ppRetHostName == fullgames.FULL.loca
    cSignature.cpp 115: In cSignature:: parse(); *ppRetHostName == fullvideo.FULL.loca
    cSignature.cpp 115: In cSignature:: parse(); *ppRetHostName == ElectronDF.FULL.local
    cSignature.cpp 115: In cSignature:: parse(); *ppRetHostName == fullgames.FULL.loca
    cSignature.cpp 115: In cSignature:: parse(); *ppRetHostName == fullvideo.FULL.loca
    cSignature.cpp 115: In cSignature:: parse(); *ppRetHostName == ElectronDF.FULL.local
    cSignature.cpp 115: In cSignature:: parse(); *ppRetHostName == fullgames.FULL.loca
    cSignature.cpp 115: In cSignature:: parse(); *ppRetHostName == fullvideo.FULL.loca
    cSignature.cpp 115: In cSignature:: parse(); *ppRetHostName == ElectronDF.FULL.local
    cSignature.cpp 115: In cSignature:: parse(); *ppRetHostName == fullgames.FULL.loca
    cSignature.cpp 115: In cSignature:: parse(); *ppRetHostName == fullvideo.FULL.loca
    cSignature.cpp 115: In cSignature:: parse(); *ppRetHostName == ElectronDF.FULL.local
    cSignature.cpp 115: In cSignature:: parse(); *ppRetHostName == fullgames.FULL.loca
    cSignature.cpp 115: In cSignature:: parse(); *ppRetHostName == fullvideo.FULL.loca


    XP (FullVideo)
    -------------------------------------------------------------------------------------
    mojo_engine Log File
    -------------------------------------------------------------------------------------
    mojo_engine 0.0.1 build 4
    File opened at 09:54:59 on Tuesday, December 1, 2009
    net_stuff.cpp 66: In get_full_dns_name(); GetComputerNameExe returned fullvideo.FULL.local
    net_stuff.cpp 67: Still in get_full_dns_name(); pRet == fullvideo.FULL.local
    DNS name: fullvideo.FULL.local
    OS version: Microsoft Windows XP Professional Service Pack 3 (build 2600)
    -------------------------------------------------------------------------------------
    net_stuff.cpp 66: In get_full_dns_name(); GetComputerNameExe returned fullvideo.FULL.local
    net_stuff.cpp 67: Still in get_full_dns_name(); pRet == fullvideo.FULL.local
    cScribPack.cpp 108: Unable to find DlgMonitor.InputEventsHead in multimap.
    cScribPack.cpp 108: Unable to find DlgMonitor.MemosHead in multimap.
    cScribPack.cpp 108: Unable to find DlgMonitor.ConnectionsHead in multimap.
    initialize_engine.cpp 92: About to load default scribs.
    cScribMgr.cpp 128: Scribs loaded from memory: 25 scribs.
    initialize_engine.cpp 94: Just loaded engine's compiled scribs; qty = 25
    initialize_engine.cpp 122: About to call cInputEvent::load_scribs()
    initialize_engine.cpp 129: About to start messenger thread.
    initialize_engine.cpp 137: About to check versions.
    initialize_engine.cpp 169: About to start hooks thread.
    initialize_engine.cpp 177: About to start g_Pool.
    net_stuff.cpp 66: In get_full_dns_name(); GetComputerNameExe returned fullvideo.FULL.local
    net_stuff.cpp 67: Still in get_full_dns_name(); pRet == fullvideo.FULL.local
    cSignature.cpp 50: In cSignature::cSignature; get_full_dns_name() returned fullvideo.FULL.local
    initialize_engine.cpp 185: About to start g_Finder.
    net_stuff.cpp 66: In get_full_dns_name(); GetComputerNameExe returned fullvideo.FULL.local
    net_stuff.cpp 67: Still in get_full_dns_name(); pRet == fullvideo.FULL.local
    cSignature.cpp 50: In cSignature::cSignature; get_full_dns_name() returned fullvideo.FULL.local
    net_stuff.cpp 66: In get_full_dns_name(); GetComputerNameExe returned fullvideo.FULL.local
    net_stuff.cpp 67: Still in get_full_dns_name(); pRet == fullvideo.FULL.local
    cSignature.cpp 115: In cSignature:arse(); *ppRetHostName == fullvideo.FULL.loca
    cScribMgr.cpp 128: Scribs loaded from memory: 46 scribs.
    cSignature.cpp 115: In cSignature:: parse(); *ppRetHostName == ElectronDF.FULL.local
    cSignature.cpp 115: In cSignature:: parse(); *ppRetHostName == fullvideo.FULL.loca
    cSignature.cpp 115: In cSignature:: parse(); *ppRetHostName == ElectronDF.FULL.local
    cSignature.cpp 115: In cSignature:: parse(); *ppRetHostName == fullvideo.FULL.loca
    cSignature.cpp 115: In cSignature:: parse(); *ppRetHostName == ElectronDF.FULL.local
    cSignature.cpp 115: In cSignature:: parse(); *ppRetHostName == fullvideo.FULL.loca
    cSignature.cpp 115: In cSignature:: parse(); *ppRetHostName == ElectronDF.FULL.local
    cSignature.cpp 115: In cSignature:: parse(); *ppRetHostName == fullvideo.FULL.loca
    cSignature.cpp 115: In cSignature:: parse(); *ppRetHostName == ElectronDF.FULL.local
    cSignature.cpp 115: In cSignature:: parse(); *ppRetHostName == fullgames.FULL.loca
    cSignature.cpp 115: In cSignature:: parse(); *ppRetHostName == fullvideo.FULL.loca
    cSignature.cpp 115: In cSignature:: parse(); *ppRetHostName == fullgames.FULL.loca
    cSignature.cpp 115: In cSignature:: parse(); *ppRetHostName == ElectronDF.FULL.local


  10. #10

    Default

    Electron, thanks a lot. This is fixed (I think) in build 5 which can be downloaded now.

    This turned out to be a very bad bug and I'm glad you reported it. Depending on some random factors, it could easily crash the program.
    �Author of HotkeyNet and Mojo

Posting Rules

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