MSI Afterburner 2.3.0 (2012-11-19)

Discussion in 'MSI AfterBurner Application Development Forum' started by msi-afterburner, Nov 19, 2012.

  1. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    15,491
    Likes Received:
    2,833
    Independent audio track can be missing in resulting AVI in two cases: either if audio source device initialization fail or if audio sounce supplies no sound data during capture.

    It is not recommended to enable log for everyday usage, it contains detailed per-frame audio/video capture statistics, so it generates a lot of info for each video capture session, grows up pretty fast and slows down the system.
     
  2. Eluder

    Eluder Member

    Messages:
    41
    Likes Received:
    0
    GPU:
    MSI GTX 680 Lightning
    Yay, I hope this takes care of the lightning rounding issue, thanks for trying to resolve it, either way!
     
  3. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    15,491
    Likes Received:
    2,833
    No promises that it helps 680L, I no longer have it installed and use 7970L Boost Edition instead.
     
  4. elbubi

    elbubi Member Guru

    Messages:
    140
    Likes Received:
    0
    GPU:
    Gigabyte GTX980 Ti G1
    Thanks for trying! Do they share the same voltage generator?

    Kind Regards as always!
     

  5. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    15,491
    Likes Received:
    2,833
    No, it is not the same
     
  6. technoluddite

    technoluddite New Member

    Messages:
    6
    Likes Received:
    0
    GPU:
    3GB XFX Radeon R9 280X
    Improved HotKey Support

    I know cross posting is very bad form, but this thread seems to have much more traffic than the bug\suggestion thread:

    Please (please, please!) add support for using F13-F24 (VK Codes 0x7C to 0x87) as hotkeys to take screenshots and capture video. It's difficult finding a key binding that doesn't clash with something - and having keys available that I /know/ nothing else will use, but not being able to assign them is very frustrating!

    I've even tried editing the cfg file to manual set these keycodes as the screenshot\capture hotkeys but this doesn't work either. Which leads me to suspect that you're filtering out keycodes you don't think are legitimate. In which case this is a really easy fix\feature, as you'd just have to add 0x7C to 0x87 to your list of permitted keys.

    I live in hope....
     
  7. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    15,491
    Likes Received:
    2,833
    There is no any kind of filtering, hotkey editor allows you to set any hotkey OS thinking is valid and hotkey handler can use any hotkey supported by DirectInput, so you can redefine the CFG to bypas some OS hotkey editor limitations (e.g. assign PrintScreen hotkey). If editing CFG doesn't work, you're out of luck, sorry.
     
  8. technoluddite

    technoluddite New Member

    Messages:
    6
    Likes Received:
    0
    GPU:
    3GB XFX Radeon R9 280X
    Thanks for replying Alexey, and thanks for Afterburner as well, I should have said that to begin with before asking for things. It really is a great app, don't let the complainers get you down. : )

    I hadn't realised that DirectInput used a different set of keycodes to the usual Windows VK codes, sorry for jumping to the conclusion that what I asking for was easy! I haven't worked with DirectInput or DirectX in general, and having looked at the spec\SDK it seems disappointingly limiting in terms of keyboard support. But it does support F13-F15 (as DIK_F13, DIK_F14 and DIK_F15) at least. But I'm still not having any luck getting even those to work in afterburner.

    At the risk of making more incorrect assumptions about your code, the cfg file looks to be saving the hotkey as its VKcode (padded with modifiers?):a hotkey assignment of F1 results in 00000070h (rather than the DIK_F1 value: 0x3B) in the cfg file. And it is writing the correct VK for everything upto at least F20 even though it doesn't display anything in the UI. Which is confusing if it's not using the VK codes to read the keyboard.

    I've managed to get a simple DirectInput example app to respond to DIK_F13 (and DIK_F14,DIK_F15), so I think I'm confident that they can work, but I'm at a loss as to why afterburner won't respond to them. Is your code mapping the saved VK back to a DIK code at somepoint?

    I'd be happy to look over the code myself and try and figure out what's going on if you'd be willing to share it. No problems if not, but I realise that this is unlikely to be a high priority thing for you to consider changing!

    EDIT: Now that I think about, there must be a VK to DIK mapping happening somewhere. The afterburner UI can't be using DirectInput, as it's writing VK codes to the config file for keys that DirectInput doesn't know exist. From my limited reading, those saved VK codes are meaningless to DirectInput, so somewhere the hotkey definitions must be getting converted from VK to DIK codes. There is no pattern to how this should be done, so there has to be a hardcoded list of mappings somewhere in the code, and when this was written the extra keys got left off (probably because the DirectInput spec claims they only existed on Japanese NEC machines - which is mad). Am I right?

    : )
     
    Last edited: Dec 5, 2012
  9. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    15,491
    Likes Received:
    2,833
    The following DIK->VK LUT is being used, F13-F15 are not left off.

    Code:
    DWORD CHotkeyEmulatorThread::DIKToVK(DWORD dwCode)
    {
    	DWORD map[256] =
    	{
    		0                , //0x00 
    		0x1B             , //0x01 DIK_ESCAPE
    		0x31             , //0x02 DIK_1
    		0x32             , //0x03 DIK_2
    		0x33             , //0x04 DIK_3
    		0x34             , //0x05 DIK_4
    		0x35             , //0x06 DIK_5
    		0x36             , //0x07 DIK_6
    		0x37             , //0x08 DIK_7
    		0x38             , //0x09 DIK_8
    		0x39             , //0x0A DIK_9
    		0x30             , //0x0B DIK_0
    		0xBD             , //0x0C DIK_MINUS
    		0xBB             , //0x0D DIK_EQUALS
    		0x08             , //0x0E DIK_BACK
    		0x09             , //0x0F DIK_TAB
    		0x51             , //0x10 DIK_Q
    		0x57             , //0x11 DIK_W
    		0x45             , //0x12 DIK_E
    		0x52             , //0x13 DIK_R
    		0x54             , //0x14 DIK_T
    		0x59             , //0x15 DIK_Y
    		0x55             , //0x16 DIK_U
    		0x49             , //0x17 DIK_I
    		0x4F             , //0x18 DIK_O
    		0x50             , //0x19 DIK_P
    		0xDB             , //0x1A DIK_LBRACKET
    		0xDD             , //0x1B DIK_RBRACKET
    		0x0D             , //0x1C DIK_RETURN
    		0xA2             , //0x1D DIK_LCONTROL
    		0x41             , //0x1E DIK_A
    		0x53             , //0x1F DIK_S
    		0x44             , //0x20 DIK_D
    		0x46             , //0x21 DIK_F
    		0x47             , //0x22 DIK_G
    		0x48             , //0x23 DIK_H
    		0x4A             , //0x24 DIK_J
    		0x4B             , //0x25 DIK_K
    		0x4C             , //0x26 DIK_L
    		0xBA             , //0x27 DIK_SEMICOLON
    		0xDE             , //0x28 DIK_APOSTROPHE
    		0xC0             , //0x29 DIK_GRAVE
    		0xA0             , //0x2A DIK_LSHIFT
    		0xDC             , //0x2B DIK_BACKSLASH
    		0x5A             , //0x2C DIK_Z
    		0x58             , //0x2D DIK_X
    		0x43             , //0x2E DIK_C
    		0x56             , //0x2F DIK_V
    		0x42             , //0x30 DIK_B
    		0x4E             , //0x31 DIK_N
    		0x4D             , //0x32 DIK_M
    		0xBC             , //0x33 DIK_COMMA
    		0xBE             , //0x34 DIK_PERIOD
    		0xBF             , //0x35 DIK_SLASH
    		0xA1             , //0x36 DIK_RSHIFT
    		0x6A             , //0x37 DIK_MULTIPLY
    		0xA4             , //0x38 DIK_LMENU
    		0x20             , //0x39 DIK_SPACE
    		0x14             , //0x3A DIK_CAPITAL
    		0x70             , //0x3B DIK_F1
    		0x71             , //0x3C DIK_F2
    		0x72             , //0x3D DIK_F3
    		0x73             , //0x3E DIK_F4
    		0x74             , //0x3F DIK_F5
    		0x75             , //0x40 DIK_F6
    		0x76             , //0x41 DIK_F7
    		0x77             , //0x42 DIK_F8
    		0x78             , //0x43 DIK_F9
    		0x79             , //0x44 DIK_F10
    		0x90             , //0x45 DIK_NUMLOCK
    		0x91             , //0x46 DIK_SCROLL
    		0x24             , //0x47 DIK_NUMPAD7
    		0x26             , //0x48 DIK_NUMPAD8
    		0x21             , //0x49 DIK_NUMPAD9
    		0x6D             , //0x4A DIK_SUBTRACT
    		0x25             , //0x4B DIK_NUMPAD4
    		0x0C             , //0x4C DIK_NUMPAD5
    		0x27             , //0x4D DIK_NUMPAD6
    		0x6B             , //0x4E DIK_ADD
    		0x23             , //0x4F DIK_NUMPAD1
    		0x28             , //0x50 DIK_NUMPAD2
    		0x22             , //0x51 DIK_NUMPAD3
    		0x2D             , //0x52 DIK_NUMPAD0
    		0x2E             , //0x53 DIK_DECIMAL
    		0                , //0x54 
    		0                , //0x55 
    		0xE2             , //0x56 DIK_OEM_102
    		0x7A             , //0x57 DIK_F11
    		0x7B             , //0x58 DIK_F12
    		0                , //0x59 
    		0                , //0x5A 
    		0                , //0x5B 
    		0                , //0x5C 
    		0                , //0x5D 
    		0                , //0x5E 
    		0                , //0x5F 
    		0                , //0x60 
    		0                , //0x61 
    		0                , //0x62 
    		0                , //0x63 
    		0x7C             , //0x64 DIK_F13
    		0x7D             , //0x65 DIK_F14
    		0x7E             , //0x66 DIK_F15
    		0                , //0x67 
    		0                , //0x68 
    		0                , //0x69 
    		0                , //0x6A 
    		0                , //0x6B 
    		0                , //0x6C 
    		0                , //0x6D 
    		0                , //0x6E 
    		0                , //0x6F 
    		0                , //0x70 DIK_KANA
    		0                , //0x71 
    		0                , //0x72 
    		0xC1             , //0x73 DIK_ABNT_C1
    		0                , //0x74 
    		0                , //0x75 
    		0                , //0x76 
    		0                , //0x77 
    		0                , //0x78 
    		0                , //0x79 DIK_CONVERT
    		0                , //0x7A 
    		0xEB             , //0x7B DIK_NOCONVERT
    		0                , //0x7C 
    		0                , //0x7D DIK_YEN
    		0xC2             , //0x7E DIK_ABNT_C2
    		0                , //0x7F 
    		0                , //0x80 
    		0                , //0x81 
    		0                , //0x82 
    		0                , //0x83 
    		0                , //0x84 
    		0                , //0x85 
    		0                , //0x86 
    		0                , //0x87 
    		0                , //0x88 
    		0                , //0x89 
    		0                , //0x8A 
    		0                , //0x8B 
    		0                , //0x8C 
    		0                , //0x8D DIK_NUMPADEQUALS
    		0                , //0x8E 
    		0                , //0x8F 
    		0                , //0x90 DIK_PREVTRACK
    		0                , //0x91 DIK_AT
    		0                , //0x92 DIK_COLON
    		0                , //0x93 DIK_UNDERLINE
    		0                , //0x94 DIK_KANJI
    		0                , //0x95 DIK_STOP
    		0                , //0x96 DIK_AX
    		0                , //0x97 DIK_UNLABELED
    		0                , //0x98 
    		0                , //0x99 DIK_NEXTTRACK
    		0                , //0x9A 
    		0                , //0x9B 
    		0x8000D          , //0x9C DIK_NUMPADENTER
    		0xA3             , //0x9D DIK_RCONTROL
    		0                , //0x9E 
    		0                , //0x9F 
    		0                , //0xA0 DIK_MUTE
    		0                , //0xA1 DIK_CALCULATOR
    		0                , //0xA2 DIK_PLAYPAUSE
    		0                , //0xA3 
    		0                , //0xA4 DIK_MEDIASTOP
    		0                , //0xA5 
    		0                , //0xA6 
    		0                , //0xA7 
    		0                , //0xA8 
    		0                , //0xA9 
    		0                , //0xAA 
    		0                , //0xAB 
    		0                , //0xAC 
    		0                , //0xAD 
    		0                , //0xAE DIK_VOLUMEDOWN
    		0                , //0xAF 
    		0                , //0xB0 DIK_VOLUMEUP
    		0                , //0xB1 
    		0                , //0xB2 DIK_WEBHOME
    		0                , //0xB3 DIK_NUMPADCOMMA
    		0                , //0xB4 
    		0x8006F          , //0xB5 DIK_DIVIDE
    		0                , //0xB6 
    		0x8002C          , //0xB7 DIK_SYSRQ
    		0xA5             , //0xB8 DIK_RMENU
    		0                , //0xB9 
    		0                , //0xBA 
    		0                , //0xBB 
    		0                , //0xBC 
    		0                , //0xBD 
    		0                , //0xBE 
    		0                , //0xBF 
    		0                , //0xC0 
    		0                , //0xC1 
    		0                , //0xC2 
    		0                , //0xC3 
    		0                , //0xC4 
    		0x13             , //0xC5 DIK_PAUSE
    		0                , //0xC6 
    		0x80024          , //0xC7 DIK_HOME
    		0x80026          , //0xC8 DIK_UP
    		0x80021          , //0xC9 DIK_PRIOR
    		0                , //0xCA 
    		0x80025          , //0xCB DIK_LEFT
    		0                , //0xCC 
    		0x80027          , //0xCD DIK_RIGHT
    		0                , //0xCE 
    		0x80023          , //0xCF DIK_END
    		0x80028          , //0xD0 DIK_DOWN
    		0x80022          , //0xD1 DIK_NEXT
    		0x8002D          , //0xD2 DIK_INSERT
    		0x8002E          , //0xD3 DIK_DELETE
    		0                , //0xD4 
    		0                , //0xD5 
    		0                , //0xD6 
    		0                , //0xD7 
    		0                , //0xD8 
    		0                , //0xD9 
    		0                , //0xDA 
    		0x5B             , //0xDB DIK_LWIN
    		0x5C             , //0xDC DIK_RWIN
    		0x5D             , //0xDD DIK_APPS
    		0                , //0xDE DIK_POWER
    		0                , //0xDF DIK_SLEEP
    		0                , //0xE0 
    		0                , //0xE1 
    		0                , //0xE2 
    		0                , //0xE3 DIK_WAKE
    		0                , //0xE4 
    		0                , //0xE5 DIK_WEBSEARCH
    		0                , //0xE6 DIK_WEBFAVORITES
    		0                , //0xE7 DIK_WEBREFRESH
    		0                , //0xE8 DIK_WEBSTOP
    		0                , //0xE9 DIK_WEBFORWARD
    		0                , //0xEA DIK_WEBBACK
    		0                , //0xEB DIK_MYCOMPUTER
    		0                , //0xEC DIK_MAIL
    		0                , //0xED DIK_MEDIASELECT
    		0                , //0xEE 
    		0                , //0xEF 
    		0                , //0xF0 
    		0                , //0xF1 
    		0                , //0xF2 
    		0                , //0xF3 
    		0                , //0xF4 
    		0                , //0xF5 
    		0                , //0xF6 
    		0                , //0xF7 
    		0                , //0xF8 
    		0                , //0xF9 
    		0                , //0xFA 
    		0                , //0xFB 
    		0                , //0xFC 
    		0                , //0xFD 
    		0                , //0xFE 
    		0                  //0xFF 
    	};
    
    	return map[dwCode];
    }
    
     
  10. technoluddite

    technoluddite New Member

    Messages:
    6
    Likes Received:
    0
    GPU:
    3GB XFX Radeon R9 280X
    Well, assuming the code that does the mapping reverse mapping (VK to DIK) is using the same map, I'm all out of ideas - frustrating, it seems so close!

    Thanks for looking, anyway.
     

  11. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    15,491
    Likes Received:
    2,833
    There is no reverse mapping code. DirectInput handler is converting DIK scancodes to VK ones and pass them to hotkey engine, which works with VK only.
     
  12. technoluddite

    technoluddite New Member

    Messages:
    6
    Likes Received:
    0
    GPU:
    3GB XFX Radeon R9 280X
    Ah okay, I see what you're doing. But that does mean I'm completely out of ideas as to why it's not working; and as I can't step through the code in a debugger and you don't have an extended keyboard to test on it's a dead end. Shame, I guess I'll just have to live with Ctrl-Alt-Shift-F1/F2.

    Thanks all the same, and keep up the good work!
     
  13. Naxter

    Naxter New Member

    Messages:
    2
    Likes Received:
    0
    GPU:
    HD6850
    I have an issue with recording two audio source at the same time: the second audio input is not recorded if I uncheck "Mix multiple audio track". With "Mix multiple audio track" checked, both the audio source are recorder well.
    I will really appreciate to record two audio track without mixing them, in order to adjust the audio level for each track.
    It is a known issue or am I missing something?
    Thanks

    My actual settings:

    [​IMG]
     
  14. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    15,491
    Likes Received:
    2,833
    If you uncheck this option, the second audio soure is stored into separate audio track in AVI file. You won't hear it during playback, you have to use players and video editors supporting multiple audio tracks (e.g. KMPlayer, allows switching audio tracks via GUI, or Sony Vegas PRO).
     
  15. Cold Fussion

    Cold Fussion Master Guru

    Messages:
    883
    Likes Received:
    0
    GPU:
    Gigabyte 260 gtx (216sp)
    I have this problem as well, afterburner refuses to record anything from my usb microphone. Even if I set the only audio recording track to the microphone, it doesn't record an audio channel at all.
     

  16. Naxter

    Naxter New Member

    Messages:
    2
    Likes Received:
    0
    GPU:
    HD6850
    You are right.
    Thank you very much.
     
  17. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    15,491
    Likes Received:
    2,833
    That's absolutely not "this problem as well", reading the post you're quoting befofe jumping into it is really helpful. Learn how to configure application and your hardware.
     
  18. Cold Fussion

    Cold Fussion Master Guru

    Messages:
    883
    Likes Received:
    0
    GPU:
    Gigabyte 260 gtx (216sp)
    He had the same problem earlier in the thread. The hardware is configured correctly because I am able to record off of the microphone using other applications, and every combination of settings I've tried in afterburner results in no audio channel.
     
  19. CyberDemonVZ

    CyberDemonVZ Member

    Messages:
    38
    Likes Received:
    0
    GPU:
    MSI N570GTX M2D12D5
    Hey guys.
    You could visit MSI afterburner bug report & suggestion thread:
    http://forums.guru3d.com/showthread.php?t=305901
     
  20. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    15,491
    Likes Received:
    2,833
    2.3.1 has been submitted to MSI today, so public release can be expected soon.
     

Share This Page