Compare commits

...

3 Commits
1.1 ... master

Author SHA1 Message Date
Lamp bfba6943ea add sound 2024-01-01 23:30:02 -08:00
Lamp d9af0db860 Update 'README.md' 2023-06-04 02:22:52 -05:00
Lamp 54f7a8dca6 Update 'README.md' 2023-05-30 15:01:13 -05:00
3 changed files with 11 additions and 6 deletions

View File

@ -47,6 +47,7 @@ namespace VRChatboxApp {
private string pendingMessage; private string pendingMessage;
//private string lastMessage; //private string lastMessage;
//private DateTime lastMessageTime; //private DateTime lastMessageTime;
public bool soundOnNextSend = false;
public VRChatboxSender(string ip_address, int dstport, int srcport) { public VRChatboxSender(string ip_address, int dstport, int srcport) {
osc = new OscSender(System.Net.IPAddress.Parse(ip_address), srcport, dstport); osc = new OscSender(System.Net.IPAddress.Parse(ip_address), srcport, dstport);
@ -68,7 +69,8 @@ namespace VRChatboxApp {
} else { } else {
Console.WriteLine("send: " + message); Console.WriteLine("send: " + message);
OnSend(this, new EventArgs<string>(message)); OnSend(this, new EventArgs<string>(message));
osc.Send(new OscMessage("/chatbox/input", message, true)); osc.Send(new OscMessage("/chatbox/input", message, true, soundOnNextSend));
soundOnNextSend = false;
quota--; quota--;
if (quotaResetTimer == null) { if (quotaResetTimer == null) {
quotaResetTimer = new System.Timers.Timer(QUOTA_TIME); quotaResetTimer = new System.Timers.Timer(QUOTA_TIME);
@ -140,7 +142,10 @@ namespace VRChatboxApp {
public static void SendChatMessage(string message) { public static void SendChatMessage(string message) {
if (message.Length > 144) message = message.Substring(0, 144); if (message.Length > 144) message = message.Substring(0, 144);
if (String.IsNullOrEmpty(message)) chats.Clear(); if (String.IsNullOrEmpty(message)) chats.Clear();
else chats.Add(message); else {
chats.Add(message);
chatbox.soundOnNextSend = true;
}
RenderChatbox(); RenderChatbox();
} }

View File

@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("lamp")] [assembly: AssemblyCompany("lamp")]
[assembly: AssemblyProduct("VRChatboxApp")] [assembly: AssemblyProduct("VRChatboxApp")]
[assembly: AssemblyCopyright("Copyright © 2022")] [assembly: AssemblyCopyright("Copyright © 2024")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers // You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below: // by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.1")] [assembly: AssemblyVersion("1.2")]
[assembly: AssemblyFileVersion("1.1")] [assembly: AssemblyFileVersion("1.2")]

View File

@ -4,7 +4,6 @@
- Shows the active application if it's not VRChat (useful when chilling on desktop while alt-tabbing to other things) - Shows the active application if it's not VRChat (useful when chilling on desktop while alt-tabbing to other things)
- Input chat with external window - Input chat with external window
- Allows you to **continue chatting on desktop after taking off your headset and loosing control of VRChat** - Allows you to **continue chatting on desktop after taking off your headset and loosing control of VRChat**
- Alt-tabbing might be easier than finding the in-game input
- Chat persists until cleared - Chat persists until cleared
- Chat messages are appended so you have some **chat history** - Chat messages are appended so you have some **chat history**
- Able to update chatbox instantly while avoiding spam timeout - Able to update chatbox instantly while avoiding spam timeout
@ -15,6 +14,7 @@ Download latest build from [releases](https://gitea.moe/lamp/VRChatboxApp/releas
### Notes ### Notes
- If it doesn't work, run it as administrator, or add your user to the "Performance Log Users" group: open "Computer Management", find your user, type in this exact group name, then log out and back in.
- This app uses VRChat OSC; make sure to [enable it](https://docs.vrchat.com/docs/osc-overview#enabling-it). - This app uses VRChat OSC; make sure to [enable it](https://docs.vrchat.com/docs/osc-overview#enabling-it).
- You cannot use in-game chatbox input, hence the external window. - You cannot use in-game chatbox input, hence the external window.
- Anti-spam-timeout isn't foolproof apparently; you might trigger it if you spam chat input of this app. - Anti-spam-timeout isn't foolproof apparently; you might trigger it if you spam chat input of this app.