Forum Replies Created
-
AuthorPosts
-
November 29, 2021 at 4:16 pm #104182cyberpunkMember
Aside from the issue I began with, I have most of the pieces needed working I am just trying to allow for as much custom configuration so that users can set the default times and behaviors and enable or disable features. I’m also still trying to decide how I want it to look overall. But if I get to the point of releasing the project can I host it on your site? or will it just need to be shared word of mouth?
November 29, 2021 at 3:53 pm #104181cyberpunkMemberShort answer is yes, because I would like it to dot those that refuse to get off the mic when certain triggers are tripped. But I think the Timer app could even be ran without Admin rights just with less features available.
Being able to re-enter the room would be a useful way to fix one of my major obstacles in releasing a version because it is just useless to me otherwise since ethernet connection on the machine I run Paltalk on is not an option for me. My wifi often is disrupted enough to bump me out of the room and back in without disconnecting from Paltalk though it kills the audio channel connection.
If I understood how to traverse the windows better I might be able to figure out how to access the syslist32 lists within the Paltalk Room Browser. Any help in how to open it and select a category would be greatly appreciated.
I suspect I know why you are asking about admin rights and it has to do with a change Paltalk made in their later version, am I correct?
November 26, 2021 at 9:13 am #103781cyberpunkMemberHi Loco,
I could’ve started another thread but this one seemed related enough to jump in on. I’m interested in how i might go about setting up your old vb.net code to “re-join” a room on Classic (i.e. if Paltalk boots you and disconnects the audio server you can no longer monitor the list for who is on the mic. This basically makes an unattended mic timer glitchy af despite the best of code.) The idea is if one is running the timer unattended or simply letting it actively monitor the room’s mic usage on its own, it would be better if it could detect a paltalk disconnect and reconnect to the room and resume timingAny thoughts or help in the right direction would be appreciated. I am savvy enough to use an API spy but so far I have not been able to figure out how to get return codes on Menu options. I’m not sure how you and Autopilot, String and Departure got the return codes for the Pal Commands in PalInfo module and I can’t replicate the codes that are coded in the module. (not sure if this is due to some change in the Paltalk program itself like when they changed the Read and Send Indexes. Or when they changed how the NicList is referenced ( I’d like to revisit the NicList reference issue with you later and see if you have found a way around it)
I am able to fairly accurately, detect when I need to refresh the room if no mic activity yet the queue continues to change or just by receiving a command from an admin. My issue is how best to open up a room when the title is known. I suppose as a last resort I could use SendKeys to open menus and select it but it seems the proper way would be getting the timer re-enter the room it is monitoring without relying on it being on the Favorites list would be preferred. Any ideas?
March 2, 2014 at 8:29 pm #186585cyberpunkMemberOkay Chike, thanks anyway. I am using the latest version of code I have access to and I see what seems to be talk about you adding those corrections in that same thread I downloaded it from. i downloaded the ZIP file you offered to Johnny5 in this thread.
It is cool. I know how to make my timer work for me, was just hoping to upload the executable for others to use.
I appreciate you taking the time to respond.March 2, 2014 at 2:42 am #186587cyberpunkMemberThis is exactly what it does, and have been tested with latest paltalk back to even non-working versions (that force upgrade).
Excellent, I just didn’t want to waste your time if I misunderstood what the code was supposed to do or if Paltalk had somehow prevented it from working. So that just leaves me clearly doing something wrong. To simplify things I have added your code to the declaration area of loco’s Admin Bot code that is available in this forum, then copied over code that builds a listbox of all the users names from my app and added it to the On Click event of a button. When I run the Admin bot the read text works just fine as does the send text, but I can’t get the list of users. Like I said I am intentionally not updating the ATL: xxxxxxx info that has changed from the update because it is my understanding this will no longer be necessary with your code. My question is should I have edited the NicListClass in some way ( it still has the previous ATL info from the last version I was using) or perhaps Remove the NicListClass entirely now? I doubt removal is the answer, and I realize doing that would require editing any place that NicListClass was called as well. I just have to assume I am not doing something that someone with more knowledge would intuitively know to do.
That is due privilige issues, pal runs under different account, make your program run as admin or highest available in manifest
I am running my app as Administrator. I suspect, the issue lies in my lack of understanding of exactly what goes on during this process. I mean I can see how we are supplying Class and Handle info but the truth is I am still not sure how it is all collected. I was hoping working with your code things would become more clear to me, but so much is clearly going on to find the Window information than I even imagined. How you guys figured this stuff out amazes me.
March 1, 2014 at 12:44 am #186589cyberpunkMemberChike,
Does this work on the latest build? And before I waste your time trying to figure out what I might be doing wrong, does this code allow automatic enumeration of control handles (read Text, send Text, and userlist?) I recently updated Paltalk and naturally my program is having trouble accessing the userlist but has no issue accessing the Read Text and Send Text controls. I know I can run APISpy and get the new handle and edit my code, but I would like to offer my Mic Timer program for others to use real soon. So I decided now is the time to try and learn how to enumerate Windows and I stumbled on this thread. Obviously, if my program “breaks” everytime Paltalk is updated it will not be very useful to anyone but me.
February 6, 2014 at 1:00 am #185995cyberpunkMemberActually this project works well on the new version of Paltalk, I even added a new feature that will lower or raise speaker volume based on a preset setting for those ppl that have really loud mics or really low mic. I got tired of adjusting it myself. Unfortunately I have to do this auto-adjustment using the main windows volume control which can effect my alarm if I had to lower the volume too much. The only good thing is I decided early on to also flash the window when alarm was triggered and display the amount of time the speaker has gone over time. But this feature would work better if the volume adjustment were done using the Paltalk Room volume controls. Any idea how I can find the handles of the the room volume control? I tried API SPY but since I have to press the speaker icon to bring up the volume control I can;t get the yellow dot thing to work on the actual volume control.
At any rate, what I have works but I know it would be wiser to adjust the Paltalk volume instead of the main Windows volume.
I want to thank Chike for all his patience, and Auto and Departure for all there suggestions and teaching me the basic rule is to break the task into really small steps, and loco for making the all of this possible. Without all of your help I would have had no chance at getting this timer working and learning VB. I have a lot to learn like enumerating windows bu I still want to thank you guys for all you have done!
February 6, 2014 at 12:48 am #185996cyberpunkMemberFor the record, I am still using the timer with the new version, and even added an automatic volume control feature for those with really loud mics or really low mics. Unfortunately I was only able to interact with the main windows volume which if lowered too much for a loud mic it effects the audio alarm for my timer. But I had decided to flash the window when the alarm goes off as well so it is not the end of the world. I couldn’t figure out how to interact with the Paltalk room volume control. Any ideas on how to interact with the Paltalk Chat Room volume would be appreciated. I couldn’t get the handles of the volume control with API SPY as that you have to click on the icon before the control box is shown.
Anyway, I want to thank Chike, and Auto, and Departure, and loco for all the help they gave to get me this far. I learned a great deal but still have a long way to go.
July 23, 2013 at 2:08 am #185999cyberpunkMemberSo we can add to the list of things I learned today:
That bugs will more than likely occur in our codes no matter how good the IDE are or how much we try to keep them out. thanks again Chike, learned a lot.
July 23, 2013 at 1:17 am #186001cyberpunkMember@Chike wrote:
If the S in the original code it was not noticed so far because this code is seldom used, only when a bounce or reddot is needed.
The S was there originally but yeah I suspected that if I were to set it up to highlight someone every second the samething would happen but was no real need to test that theory out.
@Chike wrote:
LOL the hex tip might have saved you some time but I need to inflict some hard time on you too 😛
Yeah, I half suspected that too lol. And I understand most ppl come in here expecting you to do it all for them. I wanted to learn VB all along this was a means to that end, but yes i had a need for a mic timer too but I definitely learned more doing it sorta by myself granted not from scratch but still, I really value the lessons learned more than having a timer. but I do have fun coming up with ideas and making them work.
@Chike wrote:
I suggest changing flash to be UInteger ,
You would get compilation error when the high bit is set (negative number) so just add UI (like &H80000000UI)You totally lost me here. Flash? is that as in the list refresh flash?
July 23, 2013 at 12:17 am #186003cyberpunkMemberAh! Very well explained. I totally get what you trying to show me and there is no way I would have figured that out on my own which is why a good foundation is important and I will always lack that. I wish I could go to school for it but for now my foundation is dirt and I swear they got it from a cow pasture lol
Thanks for all the time and for laying things out in an easy to follow manner Chike. I did learn a great deal not only about how to debug, and thanks for the hex tip, i did not know that, but I also have learned more about this memory hooking process works, clearly i have a lot to learn but now with my newly discovered debug tools I can play around. For now I really want to get my features coded, and then work on getting some of the data attached to an SQL server. it started out as just wanting to query admin lists and some of the other filters i have set up for room text on a per room basis, and a database would mean one table and an assortment of queries to get the lists for each room. Plus I want to use active filter that only runs the filters on users that are in the room. But I also want to archive room logs. Not consistently, but I want it dumping to a database and then i will decide if there was anything worth saving. But I also want to track mic events as well for statistical reasons and well mainly just cuz I can lol
The entire project was always intended as more than just getting a much needed mic timer but to also be more fun than the “Hello World” projects.The next feature will be remote control of the program from room text and I already have ideas on that. Then I hope to start that Fantasy Football app, but that will be a massive undertaking, this is more my speed for now. And as noted I have plenty of features left to implement. Thanks again Chike for everything.
So, it is just a relief to have this issue off my plate.
July 22, 2013 at 10:25 pm #186005cyberpunkMemberWithout the S in MEM_RELEASE
'**************************************************
(1) result = VirtualFreeEx(pHandle, pStrBufferMemory, 0, MEM_DECOMMIT)
(1) result = VirtualFreeEx(pHandle, pStrBufferMemory, 0, MEM_RELEASE)
If result = 0 Then
() result = Marshal.GetLastWin32Error
'result = GetLastError()
End If
(0) result = VirtualFreeEx(pHandle, pStrBufferMemory, 0, MEM_RELEASE)
If result = 0 Then
(487) result = Marshal.GetLastWin32Error
'result = GetLastError()
End IfWith S in MEM_RELEASE
**************************************************
(1) result = VirtualFreeEx(pHandle, pStrBufferMemory, 0, MEM_DECOMMIT)
(0) result = VirtualFreeEx(pHandle, pStrBufferMemory, 0, MEM_RELEASE)
If result = 0 Then
(87) result = Marshal.GetLastWin32Error
'result = GetLastError()
End If
(0) result = VirtualFreeEx(pHandle, pStrBufferMemory, 0, MEM_RELEASE)
If result = 0 Then
(87) result = Marshal.GetLastWin32Error
'result = GetLastError()
End IfErgo, 😀
When the S is used I cannot use MEM_RELEASE at all but I CAN use MEM_DECOMMIT
Without the S I can use either MEM_RELEASE or MEM_DECOMMIT, but I think MEM_DECOMMIT is the better choice.July 22, 2013 at 9:52 pm #186006cyberpunkMemberlol good thing we didn’t shake on that bet then, huh?
I will look at exactly what that S is doing and it helps that I have a nice overview from your earlier posts.
But you had mentioned that the S should not have been there. the S is after all the other MEM_* statements, and they seem to work just fine.Chike, I appreciate your patience in dragging this out. I hope I did not make it too tedious lol
July 22, 2013 at 9:39 pm #186008cyberpunkMember@Chike wrote:
I thought we put the S behind us already.
These are results with S though.Betcha $100.00 lol
Seriously dude, That is the fix, I have full control of the issue i can recreate it at will have twice now.The error 87’s ONLY come WITH the S in the MEM_RELEASE Const
i get no error at all without the SDo I get that A+ now?
Cool we have two solutions, but dude seriously I could not have done it without your help. I really had no idea how to troubleshoot once using a breakpoint, i got it now, still lacking a boatload of experience though.
The memory usage is better, I see more memory releases..the baseline is 4K memory set change deltas with a lot of 4K releases that I did not have…proof again of MEM-RELEASE functioning w/o the S
But MEM_DECOMMIT is my choice I think, I like the idea of having the memory reserved for my LVITEM
July 22, 2013 at 9:26 pm #186010cyberpunkMemberFYI Adding the S back brings back the error 87’s
ANd I am only removing the S from the MEM_RELEASE Const
-
AuthorPosts