Skip to content

Instantly share code, notes, and snippets.

@LenweSaralonde
LenweSaralonde / WoW-multi-monitor.ahk
Last active August 1, 2021 10:22
Expand the World of Warcraft window over multiple monitors
; Resize World of Warcraft window over multiple monitors
; ======================================================
;
; 1. Install AutoHotkey: https://www.autohotkey.com/
; 2. Set World of Warcraft to run in Windowed mode (Main menu > System > Graphics > Display > Display mode > Windowed then OK)
; 3. Set the Windows task bar to hide automatically (right click on the task bar > ⚙️ Task bar settings > Toggle Automatically hide the task bar in desktop mode to on)
; 4. Edit the values below accordingly to your monitor setup
; 5. Save the script
;
; Run the script to resize the WoW window
@LenweSaralonde
LenweSaralonde / SendAddonMessage_truncated_characters_bug.lua
Created December 21, 2019 14:55
String with special characters truncated when sent with C_ChatInfo.SendAddonMessage() over SAY and YELL
-- Reproduction steps
-- Each line can be entered in game with the /run command
-- https://github.com/Stanzilla/WoWUIBugs/issues/23
C_ChatInfo.RegisterAddonMessagePrefix("BlzBug");
local f = CreateFrame("Frame"); f:RegisterEvent("CHAT_MSG_ADDON"); f:SetScript("OnEvent", function(self, event, prefix, text, channel) print("Received", event, prefix, string.len(text), channel, text) end);
-- All characters from 1 to 255 allowed by SendAddonMessage()
ALL_MSG_ADDON_CHARS = ''; local i; for i=1,255 do ALL_MSG_ADDON_CHARS = ALL_MSG_ADDON_CHARS .. string.char(i) end
@LenweSaralonde
LenweSaralonde / SendAddonMessage_Unknown_Channel_bug.lua
Last active December 21, 2019 14:48
YELL and SAY chat channels identified as UNKNOWN on CHAT_MSG_ADDON
-- Reproduction steps
-- Each line can be entered in game with the /run command
-- https://github.com/Stanzilla/WoWUIBugs/issues/24
C_ChatInfo.RegisterAddonMessagePrefix("BlzBug");
local f = CreateFrame("Frame"); f:RegisterEvent("CHAT_MSG_ADDON"); f:SetScript("OnEvent", function(self, event, prefix, text, channel) print("Received", event, prefix, string.len(text), channel, text) end);
C_ChatInfo.SendAddonMessage("BlzBug", "Hello world!", "WHISPER", UnitName("player")) -- OK: WHISPER channel
C_ChatInfo.SendAddonMessage("BlzBug", "Hello world!", "YELL") -- KO: UNKNOWN channel
C_ChatInfo.SendAddonMessage("BlzBug", "Hello world!", "SAY") -- KO: UNKNOWN channel
@LenweSaralonde
LenweSaralonde / MSA_EasyMenu.lua
Last active May 31, 2019 17:26
EasyMenu to use with MSA-DropDownMenu
-- Simplified Menu Display System
-- This is a basic system for displaying a menu from a structure table.
--
-- See UIDropDownMenu.lua for the menuList details.
--
-- Args:
-- menuList - menu table
-- menuFrame - the UI frame to populate
-- anchor - where to anchor the frame (e.g. CURSOR)
-- x - x offset

OBSOLETE: This feature is now included in the addon.

See: https://github.com/LenweSaralonde/Musician#play-as-a-band

Synchro start macros

These macros allow party members to play as a band and start playing different parts of the same song at the same time.

Enable synchro start

~~This macro has to be run by all the party members of the band to enable synchro start. ~~ /run Musician.Comm:RegisterComm("MusicianGPlay", function(_, _, t) if t == "PARTY" then MusicianFrame.Play() end end); Musician.Utils.Print("Synchro start enabled !")

This tutorial is obsolete and quite complicated to set up. Check the dedicated MusicianMIDI add-on instead to achieve this easily.

Play live using a MIDI Keyboard

As you may expect, there is no native support for MIDI keyboards in WoW. The trick is to use an external software that emulates keyboard keystrokes from a MIDI keyboard.