DS4Windows -- yet another DualShock 4 driver! (No longer under active development)
(05-15-2014, 11:21 PM)crystalshadow7 Wrote: Any plans for sound output through the audio jack?

I think the biggest trick in that is determining the GUID of the BT audio function and weather or not its written into the firmware to allow this service to be active when paired with pc, if not it will require a custom driver other than windows default wireless controller one to trick it.

when you initially pair a DS4 you may notice if looking closely at available devices that a Bluetooth Audio Device shows up momentarily, Thats because PS uses normal BT stacks to connect to the DS4, but once the DS4 begins the pairing this service disappears making me think it may be hardcoded into the devices firmware to shut off this service when the controller determines its connecting to a PC rather than a PS, its sad because if it weren't for this it could actually be done very easily.

Its not impossible, but likely more time consuming than most volunteers can afford to put into the project, at least for now.
[Image: LogoBusiness3.png]
IM 2 Beta now supporting plugins and even more devices.

Website | Forum | Donate $2 and remove ads from the tool
Reply

Sponsored links

When I click the update I get a "unhandled exception has occurred..."
Reply
(05-16-2014, 12:06 AM)bola08 Wrote: When I click the update I get a "unhandled exception has occurred..."

I dont think the update functionality is ready yet, and the file not found may refer to a missing version.txt file

-Edit-
Correction, this looks like it may be a missing library, Jays2Kings may have forgot to set it to include with the build
[Image: LogoBusiness3.png]
IM 2 Beta now supporting plugins and even more devices.

Website | Forum | Donate $2 and remove ads from the tool
Reply
(05-15-2014, 09:57 PM)jhebbel Wrote: ahh ok so the updater itself is just a FTP getter/unpacker and not the process that actually checks if there IS an update, that works too.

Also you can get the version of an exe using FileVersionInfo.GetVersionInfo(system.path) so version.txt may not even be necessary so long as you update your exe version in the AssemblyInfo file prior to launching each build.

Exactly right, the ds4tool is what checks the update, and the updater only updates and runs when the ds4tool confirms a new update. Also it doesn't matter how I get the current version number as the version.txt exists to get the latest version via the internet (read: my Dropbox). I should upload the source code for the updater soon as it's not part of the ds4tool.

Anyway now the profiles and settings are now saved in appdata, for those that auto update there is an import option to move (well copy) your profiles to appdata. If you want to know where the profile folder is now, there is a link to it in the help window.

Note again if your on 6.5 (the first version with auto updates) you will need the new updater in 6.6 or 6.8. They are the same in those two versions so if you have either, you have the newest updater.

Ok now I think the confusion is gone. Thanks for putting up with it Tongue2


Attached Files
.zip   DS4Tool - J2K (v6.8).zip (Size: 632,95 KB / Downloads: 145)
Reply
(05-16-2014, 01:02 AM)Jays2Kings Wrote: Exactly right, the ds4tool is what checks the update, and the updater only updates and runs when the ds4tool confirms a new update. Also it doesn't matter how I get the current version number as the version.txt exists to get the latest version via the internet (read: my Dropbox). I should upload the source code for the updater soon as it's not part of the ds4tool.

Anyway now the profiles and settings are now saved in appdata, for those that auto update there is an import option to move (well copy) your profiles to appdata. If you want to know where the profile folder is now, there is a link to it in the help window.

Note again if your on 6.5 (the first version with auto updates) you will need the new updater in 6.6 or 6.8. They are the same in those two versions so if you have either, you have the newest updater.

Ok now I think the confusion is gone. Thanks for putting up with it Tongue2

Still appears to be a missing library (read other users post above) that throws an exception when trying to run updater.
[Image: LogoBusiness3.png]
IM 2 Beta now supporting plugins and even more devices.

Website | Forum | Donate $2 and remove ads from the tool
Reply
(05-16-2014, 12:06 AM)bola08 Wrote: When I click the update I get a "unhandled exception has occurred..."

Yeah I did forget that, well I'm away from my PC for now so now auto updating is broken. Sorry about this.

I'll fix it in a few hours but for now you'll have to manually update above.
Reply
(05-15-2014, 09:33 PM)jhebbel Wrote: I think this is corrected in J2Ks version above, at least it seemed ok

I've actually been trying it with J2K's builds; those are giving me issues, too. Sad I'm going to try the newest ones when I get home.
Reply
Does anyone mind testing updater if they have Windows 7. The tool runs on .NET 4.5 (It needs 4.5 to unzip the files, it can be done in 4.0, but it's far, far easier in 4.5). I want to see how Windows 7 handles a program with a newer version of .NET. This debug updater downloads v6.8 to wherever this exe is located. Please let me know if this works. I have a way to fix it, but I want to make sure if I have to.
Reply
(05-16-2014, 04:02 AM)pedrovay2003 Wrote: I've actually been trying it with J2K's builds; those are giving me issues, too. Sad I'm going to try the newest ones when I get home.
There was one that it seemed ok on, but now with the latest im having the same issue, seems the tool starts with the controllers in a connecting state even though both controllers are off and disconnected. It should be starting in a Disconnected state so they are listening for new connections.
[Image: LogoBusiness3.png]
IM 2 Beta now supporting plugins and even more devices.

Website | Forum | Donate $2 and remove ads from the tool
Reply
(05-16-2014, 05:48 AM)Jays2Kings Wrote: Does anyone mind testing updater if they have Windows 7. The tool runs on .NET 4.5 (It needs 4.5 to unzip the files, it can be done in 4.0, but it's far, far easier in 4.5). I want to see how Windows 7 handles a program with a newer version of .NET. This debug updater downloads v6.8 to wherever this exe is located. Please let me know if this works. I have a way to fix it, but I want to make sure if I have to.

ran it on a win 7 VM
Should do a process scan to make sure all instances of ds4tool are closed prior to running, firs time I ran it it seemed to download ok but didnt really give any indication that things were actually updated, perhaps should have a msgbox "Updated to vx.x" then self close.

2nd Time I ran t on a already up to date ver it just sits in "fetching download" state, not sure if this is the programs response if I am already up to date but if so it should signify this with a msgbox as well and again auto close.

The sitting in "fetching download" state appears to just be from network congestion your end, appears there is no internal version check to back up the one that happens inside DS4Tool, so if the Updater.exe is run independently it will download every time, this could add unneeded stress to your server. If your host has SQL capabilities it may be best to perform the version check using this to save further http get requests, these can really start to stack up if not careful and can lead to among other things suspended accounts from unhappy providers.

Slapping this in the constructor should do the trick
Code:
Process[] processes = Process.GetProcessesByName("DS4Tool"); //This may actually be "DS4 Tool" with space, not sure how it is identified.
            if (processes.Length > 0)
            {
                if (MessageBox.Show("All instances of DS4Tool must be closed prior to running update. Do you wish to close them and continue?", "Close DS4Tool to continue", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
                {
                    processes[0].CloseMainWindow();
                } else {
                    Application.Exit();
                }
            }

Also here is a snipit to get it to start with windows, just create this bool and bind a checkbox to it, rest should be automatic;
Code:
bool StartWithWindows {
            get {
                RegistryKey KeyLoc = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", false);
                if (KeyLoc.GetValue("DS4Tool") != null)
                { return true; }
                else
                { return false; }
            }
            set {
                RegistryKey KeyLoc = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",true);

                if (value)
                {
                    KeyLoc.SetValue("DS4Tool", "\"" + Application.ExecutablePath.ToString() + "\"");
                }
                else
                {
                    KeyLoc.DeleteSubKey("DS4Tool", false);
                }
            }
        }
[Image: LogoBusiness3.png]
IM 2 Beta now supporting plugins and even more devices.

Website | Forum | Donate $2 and remove ads from the tool
Reply




Users browsing this thread: 5 Guest(s)