Re: Java IDE Accessibility

2021-03-15 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Java IDE Accessibility

At #9, that is interesting. I just started working at JPMC a couple months ago, and everyone is using IntelliJ. I just kept having a number of problems using it, and eventually talked to an blind individual in India named Vinod, who told me that someone who used to work at JPMC created this addon, and it has helped him quite a bit. The addon seems to at least be working with my windows 10 corporate laptop with NVDA 2020.2, and IntelliJ ultimate. As I mentioned above, I was having different problems that the add on did not solve, but the add on definitely makes the experience much better. Thanks for the add on.I Personally have never used VS Code with Java, although the one thing that I always here is that you are restricted by java versions that are available for the VS Code extension.

URL: https://forum.audiogames.net/post/622952/#p622952




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: command line issues with unit tests java/node

2021-03-12 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: command line issues with unit tests java/node

Hi, #2 is correct. The way to handle this from the screen reader perspective is by changing the cursor you are using in your screen reader. IN NVDA, assuming you are on a laptop, and that you have the laptop keyboard layout set for NVDA, you need to make sure your running cursor is set on object review mode, do capslock page up/page down. This will let you toggle between the different cursor modes for NVDA. Once you have Object review selected, which is probably what is already selected, although sometimes it switches for some reason, you can use capslock and up and down arrow to read the command line window. This works in command prompt and powershell. It is a useful command to know for just reading dialogs as well.If you are using a desktop computer, you have to do similar commands but using the num pad. I don't rememver all of the commands for desktop, but could give it a shot if that is what you are working on.With jaws, you have to rout cursor to pc. So again assuming you are working on a laptop, you need to hold capslock and press left bracket, it is the key that is diagonal up to the right from your right pinky when on the home row. JAWS should read "jaws to pc", you should be able to just use the arrow keys normally now to read the window. To get back to the normal state of jaws, you have to switch back to the pc cursor by doing capslock semi colon. Similar to NVDA on a desktop you have to use the num pad.Now, In windows 10 there is actually another way you can do it. Press control m in the command prompt, and it will enable mark mode. this will allow NVDA or JAWS to read things normrally just by pressing the arrow keys without having to play with the cursor. You can also select things using your normal select text commands. Selecting is something you are supposed to be able to do, although for some reason my computer does not let me select by word. To get out of mark mode press escape, so that your arrow keys function as expected when typing commands.Note that when using a different cursor to read the window weather with JAWS or NVDA, ust pressing up when you hit the top of the window does not auomatically scroll. I think you can do something like page up or something, but I used to do exactly what you said, just copy the output into notepad when the output text went beyond the size of the window. I would also maximize the screen to maximize the amount of text that would fit on the screen. However mark mode when on will actually scroll for you just by pressing up arrow.Hope this helps,Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/622316/#p622316




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Java IDE Accessibility

2021-03-12 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Java IDE Accessibility

Hi, I agree, the synthisizer should not have any affect on accessibility. I actually suspect the increase in accessibility was from something else I did at the same time. The copy of NVDA I downloaded initially from my company's internal software repo just did not behave right, I ended up generating a portable copy from that installation, which seemed to fix my problems, and allowed me to install other synthesizers, where as before I could not.Anyways, The add on I posted above is correct. NVDA does seem to work pretty well out of the box, the add on above makes things a bit easier when navigating code though. For example, when alt up or down arrow is pressed to navigate by method, the current line is read out. There are a couple of other enhancements that make the experience a bit better. Honestly though, I still find eclipse to be easier to use, although it is not as bad as I initially thought. Not sure about the debugger, have not gotten that far yet.To enable the java access bridge, you have to go into your c drive, so you could dowindows r, to pull up the run dialog, and type c:, which should open file explorer in your c driveThen arrow around in there to find program files or program files x86. You will almost certainly have both folders, I expect that you installed the 64 bit version of java, so check in program files first, there should be a folder in there called java, in there should be jdk. the jdk folder will have some version after it.Inside the jdk folder, you should have a bin folder. Once inside the bin folder, do alt d to get to the address bar for file explorer and type in cmd to open the command prompt in that location.Now in the command prompt run the commandjabswitch.exe -enablewhich should return with something like "java access bridge enabled"I do not understand why this is just not enabled by default. Better yet, why it is not just baked in, and make it so that you can not turn it on or off.Anyways, I think there is actually a way to do this also through the control panel, I just have never done it that way.Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/622310/#p622310




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Java IDE Accessibility

2021-03-11 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Java IDE Accessibility

Hi, so yes from my understanding, with the right setup, IntelliJ is accessible. I am actually going to be learning how to setup NVDA to work with IntelliJ tomorrow. JAWS does not work well with IntelliJ, you have to use NVDA. I am working on transitioning from Eclipse to IntelliJ because Eclipse is becoming Divest internally in my company. There is a blind developer who works at my company who uses IntelliJ with NVDA, and is scheduled to meet with me tomorrow to talk about this.The jist of it is from my understanding is that you should first be using the NVDA Eloquence addon. I am not certain that this matters, although in my previous experience playing with IntelliJ, using IntelliJ with NVDA without Eloquence seems to raise a bunch of other accessibility issues.The second thing is you have to enable the java access bridge for the JDK that IntelliJ is using. If you have more questions about how to do this, let me know.The third thing is that there is an add on for IntelliJ, although I am not sure which yet. I think it is this:https://github.com/SamKacer/IntelliJ_NVDA_AddonThe add on I am talking about was built internally by an employee of my company, JPMorgan Chase, but I was told that the code was made publicly available. I can update this thread tomorrow when I know more for sure. I had tried an addon for IntelliJ, but had some issues with it, and it just did not seem to work. I am  not sure if the addon I linked to is the one I tried.As an alternative, you can use Eclipse for Java development. Both JAWS and NVDA work with Eclipse pretty well out of the box, although NVDA plus the NVDA eclipse addon is definitely the best experience. This is how I have been working. Here is the link to the NVDA Eclipse addon:https://github.com/albzan/eclipse-nvdaI have posted a couple times on this form about using eclipse with NVDA. Here is the last thread on this topic that I posted on:https://forum.audiogames.net/topic/3933 … ccessible/Hope this helps,Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/622123/#p622123




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: java ide that accessible

2021-02-18 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: java ide that accessible

At #11, unfortunately this is also a problem I have had on my personal computer. For some reason, NVDA reads those browse dialogs just fine on my work laptop though. It is a strange bug that I am not sure about. I am guessing that the version of Eclipse I have on my work computer is older just because my work takes forever to approve new software updates, but I am not sure. I should compare versions to see.Anyways, when I have this problem, I just load JAWS to get through the browse dialog, and then reload NVDA. It is the only work around I have found. Perhaps it is something that could be added to the eclipse add on for NVDA. Not sure, I have actually wanted to get ahold of a developer for the eclipse add on project to ask a couple questions about debugging, but have had problems finding contact information.

URL: https://forum.audiogames.net/post/616720/#p616720




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: reasons for learning typescript

2021-02-15 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: reasons for learning typescript

At #15  I have explored other backend technologies, although Java is just what I happened to land a job in, so that is what I am currently good at. Java is not my favorite language, although I prefer it over _javascript_.

URL: https://forum.audiogames.net/post/615947/#p615947




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: reasons for learning typescript

2021-02-15 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: reasons for learning typescript

Hi, so as someone who works with _javascript_ for front end development every day in my job, I will say that it is not my favorite language. part of what makes it bearable is typescript honestly. I prefer java, but as camlorn said, there is no other option when it comes to front end. I agree, as well, unless you have some fasination with node.js, I would not recommend putting to much time in to it. There are just more enjoyable languages you can write your backend in these days.The reallity though is that libraries and frameworks like react and angular are built on top of node js, at least the build tools are.Anyways, in terms of learning, yes you should be learning at minimum ES6 (ECMAScript 6). ES6 is the latest version of _javascript_ that has been adopted by most companies and browsers. The newer you get from there the less support you get in all browsers. There are ways of dealing with that so you can write any version of _javascript_ you like though once you get into using build tools. The other reality is that most people are not programming in just _javascript_ these days. Everyone is using one of the single page application libraries out there, the most popular being React or  Angular. I have worked with both, and personally prefer angular, although the nice part about learning react is that it sets you up for learning react native for mobile development. Angular forces you to use typescript, and in genral I just find it more enjoyable to look at angular code over react though. So, learn them both if you are feeling ambitious. Note, if you learn angular, when you google tutorials, you want at least angular 8. It is confusing, but the first 2 versions of angular were actually called angular JS. So if you see something refering to Angular JS, it is probably something you don't want to look at because it is from angular versions 1 or 2.You can use type script in react as well. Typescript is just meant to make the programmers life a bit easier. Yes you have transpile it, but we do that with just about every other language already, unless you are using something interpreted like python. Tehnicly, the npm build tools generally wrap up the transpiling and running of the application into one command, npm start, assuming it is setup correctly, so although it takes a little longer to start, it is still only one step for the programmer. If you are using React or angular, there is live reload as well, so you can modify the application while it is running and it will detect the change in one of the files, it will rebuild, and show the new changes. Personally I like the angular live reload over react, it just seems to work better, but to each there own.Hope that helps,Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/615906/#p615906




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: java ide that accessible

2021-02-15 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: java ide that accessible

Hi, I would definitely recommend eclipse when programming in java. It is just the most accessible way to do it that I have found that still lets you have access to all of the great development tools that everyone else gets to take advantage of. It feels like I am one of the only developers that checks this form that regularly uses Eclipse. I use VS Code as well, although I basicly use it for everything that is not java. In my job, that would mainly be angular (_javascript_). I do not use Java with VS Code for the reasons mentioned above. Besides, I have started to enjoy using eclipse, but it definitely took a while to get efficient, and I still will not claim to be an expert.One thing also to mention, you can also just use the commandline. If you are relatively new to java or programming in general, you might just want to start there. I made it through over half my computer science education using the commandline and ED Sharp. It is a lot more simple than trying to tackle learning a new development environment as a screen reader user while still learning the language. If you want more information on this let me know, or I am sure others here can help with that.There was a conversation about eclipse actually just occurred a couple weeks ago. At the bottom of the posts is my reply. I explain how I use eclipse, as well as  a lot of the common shortcuts you will need. I listed a couple more below that I forgot to mention on the first post.https://forum.audiogames.net/topic/3890 … periences/control f6 - navigate between multiple editors. Normally this keyboard is control tab, but eclipse wanted to be different. It confuses me regularly, and is one of the annoying parts about using eclipse. I am sure it is possible to remap the keys, just never got around to it.control f7 - navigates through the views that are open. It does not navigate through all views, you will have to do thealt shift q - to open a menu that gives you options for the other views. Views include things like the console, editor, JUnit,and errors. I personally use alt shift q, and have remembered the letter corresponding with the view I want since I find it is faster. So I will do alt shift q followed by p to jump to the package explorer rather than control f7 to navigate through all my open views.control f8 - navigates between perspectives such as java, debugger, or any other languages.The rest of the key commands I regularly use I mention in my other post linked to above. Remember that you can find a lot of this in the menu bar by just pressing alt and arrowing around in there. The one thing that I can not help with is debugging. I have always done the old fashion way of just dropping in print statements, but recently in my job I have had need of it and am in the process of learning.Hope that helps,Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/615898/#p615898




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Your Eclipse Experiences

2021-01-25 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Your Eclipse Experiences

Hi, I am a software engineer at JPMorgan Chase, and use Eclipse more or less every day. I personally like eclipse, although there is definitely a learning curve. I find that using Eclipse with NVDA using the NVDA eclipse add on works the best. The add on is here:https://github.com/albzan/eclipse-nvdaRemember to configure your eclipse with the correct settings as mentioned in the readme for the add on. I suppose it lags, although no more than any other IDE I would say. Perhaps less than Visual Studio. It is the price you pay for the tools. VS Code is the exception though, providing a lot of accessibility and great tooling, although in my experience that is not normally the case. I still prefer using Eclipse with java though. I personally like java, although clearly there are those who disagree.I have listed out some useful shortcuts for Eclipse to make it a little easier to get going with it.Note, Eclipse uses a workspace, so you have to import or create your projects in the workspace. This just means that to see the project you want to work on, it must be recognised by Eclipse. Eclipse has Perspectives, and Views. Perspectives are determined by the programming language or framework you are using, usually this is not something you have to deal with, the perspective is set for you based on the type of project. Views are things like project explorer, console, unit testing, errors, etc...In the project explorer, you might be a little confused at first. the treeview first layer is all of your projects in the workspace. Once you expand a project, you will see something different based on the type of project, although generally speaking, you should have src, perhaps followed by a couple of folders. If this is a maven project for something like a spring boot project like what I work with, it would be src.main.javaThis is where your source code is located. Eclipse has a strange way of handling packages which has grown on me, but takes some time to get used to. Rather than each entry in the tree view being a folder in which you can expand, Eclipse tries to simplify it a bit because java packaging can get a little crazy. So instead eclipse shows each entry in the tree view as a collection of folders write up to the folder that has your source code. So for example, the crazy standard in java is to setup your packaging structure something like:com.timothybreitenfeldt.lms.admin-serviceThat is four different folders, and there is nothing in any of those folders until you drill down into admin-service. So eclipse just combines all of that for you so that you don't have to drill down into these long folder structures.Also, you will want to disable package folding, it is really anoying, and if you don't know it is happening very confusing. open eclipse, do alt w and press up arrow to go to preferences. Type folding into the search box which should have the focus right away and press enter. It should move your cursor into the treeview, and folding should be selected. Tab over until you here a checkbox called folding, and uncheck it. Then tab to apply and close.Shortcuts:* alt shift q: pull up a list of views up. p will take you to project explorer, c will take you to the console, and e will take you to errors.* f12: jumps to the editor* control shift up/down arrow: moves through class, field, and method definitions when the editor is open. NVDA will read the name of the line jaws will not.* control ./, (control period/cama): jump to the next or previous error* f2: when on a definition, it will open a window with documentation on that definition. If you have an error selected, it will tell you about the error and provide you quick fixes if there are any.* control space: manually activates code assist, normally you do not have to do this.* control plus f11: runs your code, specifically will run the code based on the last successful run, and if there is not one yet, it will guess on how you want to run your project. To run your project the first time and insure that it is running correctly, go to package explorer, do applications/right click/shift f10, and press r for run as. Expand the run as sub menue and choose how to run your program. All subsequent runs you can use control f11 and it will run it the same way.note, code assist, which is the code completion system for Eclipse is pretty accessible, and works basicly the same way as Visual Studio. You can force code assist with control space bar as mentioned above.So my work flow looks something like this:open eclipse, press alt shift q followed by p to open package explorer. open the project I am working on using the arrow keys, and navigate to the class I am working on. Press enter to open the java file in the editor. Use control shift down arrow to navigate through the code. Write some code, and save. With the NVDA add on installed, I can press control plus s, and if there are errors, it will make a sound notifying there are syntax error

Re: Warning in Pyglet

2020-11-25 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Warning in Pyglet

Hi, thank  you for the reply. Should I always use this condition for imports used only for anotation typingif TYPE_CHECKINGI have not seen that before. If you are checking with the condition here, why do you still have quotes around the type in the statement? or was that a miss type? I know that you can put quotes around your type to avoid importing anything, it will just compile fine and work as expected, what is the benifit to using the import and check in this way?Thanks,Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/592749/#p592749




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Warning in Pyglet

2020-11-24 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Warning in Pyglet

Hi, for some reason when I run my pyglet project, I keep seeing this strange error in the console:C:\python3.8.6\lib\site-packages\pyglet\media\codecs\wmf.py:838: UserWarning: [WinError -2147417850] Cannot change thread mode after it is set  warnings.warn(str(err))I was able to finally figure out where the warning was coming from, it was these three lines:from pyglet.media import Sourcefrom pyglet.media import StaticSourcefrom pyglet.media import PlayerThese three objects are really not being used except to provide type anotation, for example:sound: StaticSource = pyglet.resource.media("test.wav", streaming=False)So I can fix this easily enough either by stripping out those imports and leaving off the annotation types, or putting quotes around the types.It is not a big deal, it does not seem to be a problem since my code runs just fine otherwise, but it would be nice to figure out why this is happening.Thanks,Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/592424/#p592424




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Accessible Coding Editor/Development Environment on Linux

2020-11-13 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Accessible Coding Editor/Development Environment on Linux

Hi, so I have never done much programming on linux, and when I have I just used Nano or jedit. I just tried Visual Studio Code, and found that orca did not respond at all when I opened the window. I actually thought that VS Code was supposed to be accessible on Linux though.Any suggestions for accessible code editors or development environments for Linux?Thanks,Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/589469/#p589469




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: VoiceOver error using accessible_output2

2020-11-06 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: VoiceOver error using accessible_output2

Hi, so first thing I will say is that it was a bit harsh to say that the code was a mess, it is not actually that bad once I got a grasp on what is going on.I tested my theory about filtering the class instances for the outputs array in auto down to just those screen readers that are available on that platform, you were right Camlorn, it had no effect on the delay. I did figure out the issue though.It seems that the is_active method for VoiceOver is causing the delay. I tested this just by creating an instance of VoiceOver in my little pyglet example, called v.is_active() followed by the playing of a sound, and I am definitely getting the delay that is observed when using the Auto class. This is the code I used to test with:import pygletfrom pyglet.window import Window, keyfrom accessible_output2.outputs.voiceover import VoiceOverwindow = Window(caption="Test")v = VoiceOver()sound = pyglet.media.load("d4.wav")@window.eventdef on_key_press(symbol, modifiers):    if symbol == key.V:        v.is_active()        sound.play()pyglet.app.run()It seems that there is some long process that is occurring when checking if VoiceOver is running using the apple script. I pasted in the method in question from above plus the minor sintax fix also mentioned above. I do not know apple script, so I am not exactly sure what is happening here beyond the obvious, perhaps there is a better way to check if a process is running that can be used. def is_active(self):  return self.runAppleScript('return (name of processes) contains "VoiceOver"', 'system events').startswith(b'true') and not self.runAppleScript('try\nreturn bounds of vo cursor\non error\nreturn false\nend try').startswith(b'false')Ideas?

URL: https://forum.audiogames.net/post/587320/#p587320




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: VoiceOver error using accessible_output2

2020-11-06 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: VoiceOver error using accessible_output2

Thank you Camlorn for the clarification. That is interesting, I am not that familiar with the low level accessibility APIs on Windows or Linux, so I appreciate the insite.The reality is that we are going to just have to continue moving forward with hackery libraries like accessibility_output2 to get our speech output unless like you mentioned someone who has enough knowledge cares to create a system that works better.Anyways, I had a chance to sit down and take a look at the Auto class for accessible_output2 and the first thing that jumps out at me is that it looks like Auto is collecting a list of all of the class instances found in the python modules in accessible_output2.outputs. This list is held in memory as a class level variable in Auto at instantiation time. This means that If you are on Windows, you are holding a reference for ESpeak, VoiceOver, and any other screen reader objects that are not relevant to that platform. This is important because when you go to call output, it is looping through that list of class instances and checking every single one if it is active or not. This just seems inefficient to me, to be checking for screen readers that are on other platforms. You might switch from JAWS to NVDA mid game, but it is impossible to switch platforms mid game, at least it would be so rediculus to do that it is not a case that should be checked for. I don't know if this is what is causing the delay on Mac, although I might see if I can fittle with the code to test this.If I am understanding this incorrectly please tell me. The other thing to mention here is that I believe that the class instances are being sorted, I think alphabetically, in which case VoiceOver is going to be last in the list every time. So you call output, and is_active is called on every screen reader class before it reaches VoiceOver. To maintain this design, we could just add an additional variable at the bottom of each output class  which declares the platform this screen reader runs on. Honestly it looks kind of messy, but I don't have a alternative design in mind right now. Any ideas on this?Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/587249/#p587249




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: VoiceOver error using accessible_output2

2020-11-06 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: VoiceOver error using accessible_output2

Thank you Camlorn for the clarification. That is interesting, I am not that familiar with the low level accessibility APIs on Windows or Linux, so I appreciate the insite.The reality is that we are going to just have to continue moving forward with hackery libraries like accessibility_output2 to get our speech output unless like you mentioned someone who has enough knowledge cares to create a system that works better.Anyways, I had a chance to sit down and take a look at the Auto class for accessible_output2 and the first thing that jumps out at me is that it looks like Auto is collecting a list of all of the class instances found in the python modules in accessible_output2.outputs. This list is held in memory as a class level variable in Auto at instantiation time. This means that If you are on Windows, you are holding a reference for ESpeak, VoiceOver, and any other screen reader objects that are not relevant to that platform. This is important because when you go to call output, it is looping through that list of class instances and checking every single one if it is active or not. This just seems inefficient to me, to be checking for screen readers that are on other platforms. You might switch from JAWS to NVDA mid game, but it is impossible to switch platforms mid game, at least it would be so rediculus to do that it is not a case that should be checked for. I don't know if this is what is causing the delay on Mac, although I might see if I can fittle with the code to test this.Any ideas on this?Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/587249/#p587249




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: VoiceOver error using accessible_output2

2020-11-04 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: VoiceOver error using accessible_output2

At Camlorn, what is a live region in this context?Also, when you say NSAccessibility, are you refering to NSSpeechSynthesizer? What do you mean by it lags behind?At least the apple script code is working, and perhaps refactoring the Auto class can help improve the performance. It seems crazy to me that the problem is in the fact that we are probably forking the process twice as mentioned by #13. There is probably a 3 or 4 second delay, and it is hard for me to imagine that forking is taking that long. I have not dug into the code, I need to wrap up another project I am working on, but I am going to confirm what the issue is.

URL: https://forum.audiogames.net/post/586609/#p586609




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: VoiceOver error using accessible_output2

2020-11-04 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: VoiceOver error using accessible_output2

Okay, so I did some research into existing libraries. From what I found, Camlorn is kind of right. However, most of the libraries out there that I could find are all using the say utility, which as mentioned before uses a separate instance  of VoiceOver for speech output not the running instance. I think that including the Say utility in accessible_output2 is benificial in the same way that having support for SAPI is benificial on Windows. I remember that accessible_output2 used to have support for the say utility, but it got stripped out for some reason. It is not ideal though, and really what I want is to be able to talk to the currently running instance of VoiceOver like what is done with JAWS and NVDA. I believe it is possible especially since that is what the apple script is doing.I took a second look at the previous posts, and took a look at the link that #14 posted:https://developer.apple.com/documentati … ynthesizerThis might be what we want. I looked into existing python libraries for this and found this link:https://python.hotexamples.com/examples … mples.htmllooks like the key library is AppKit, and python does have existing support for this. I found this stack overflow thread about installing it:https://stackoverflow.com/questions/472 … med-appkitI am not sure if NSSpeechSynthesizer will actually talk to the running instance of VoiceOver, but I think it is a start.I have not tried it yet, I just wanted to post my findings since I won't be able to get to this right away.Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/586538/#p586538




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: VoiceOver error using accessible_output2

2020-11-03 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: VoiceOver error using accessible_output2

That thought has crossed my mind. If we can just get a C library written that talks directly to VoiceOver, we should be able to improve efficiency, as well as future proof the accessible_output2. Unfortunately I do not have the expertise in C to feel comfortable doing this well myself. I hope that someone else does. I would be willing to learn, although it would take me time to refresh my C skills.

URL: https://forum.audiogames.net/post/586188/#p586188




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: java and packages in eclipse?

2020-11-03 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: java and packages in eclipse?

No worries, you got it right. It was confusing for me too. It took me a couple years using a basic editor before I ever picked up Eclipse. As you mentioned, in terms of packages being inside other packages,, your assessment is correct that empty packages, that is packages with no code files, just doesn't even show that package in the list at all. If you want to create a package inside a package, note that all you have to do is shift f10, or applications key, on the package you want to create your new package in, and go down to new package. From here it will give you the name of the package that you clicked on, but you can now edit the string of package names. Each package name must be sepparated by a period, obviously no spaces. You can edit that string to your hearts content, you are not bound to the package that you selected. the string of package names is what dictates where your new package ends up, not where you opened the applications menu. So, if you want to just add a new package to a new package, go to create new package in your menu, go to the end of the string, type a period followed by the name of your package and press enter. Note that you can just as easely do this in file explorer with no troubles. You might need to refresh the directory you stored the new package in by closing the package with left arrow and reopening it using right arrow in the tree view.

URL: https://forum.audiogames.net/post/586186/#p586186




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: java and packages in eclipse?

2020-11-03 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: java and packages in eclipse?

Hi, I think I understand your problem. It is the nature of how Eclipse interprets packages. rather than having to open each package like it is a folder, it gives you all of your packages in a list. So, your package tree view, the first list is your list of projects, then you expand that and it shows your list of top level folders such as src, if you are using maven src.main.java, etc... inside your code folder it will list all of your packages in a list, you will not need to expand multiple times from here, you just have to find the write package in the list, and expand it to see your code files. If there is any question, just open up your project in file explorer. I think the reason why eclipse does this is because when you start using tools like maven, and using standard java naming conventions for your packages, you tend to get several packages deep before you get to any code. It is very annoying to deal with in file explorer. for example, the standard naming convention for your packages in industry is something like com.business.project.package_names_for_projectso there is an aditional three layers of folders that have nothing in them but the next folder. On top of the maven folder structure, it is painful to drill down into your code in file explorer.I hope this answers your question, you should probably be fine, just take a look at how the folders are structured in file explorer, if they look right then don't worry about it. Eclipse is mirroring the folder structure in file explorer, it just is showing it in a bit different way.Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/586126/#p586126




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: VoiceOver error using accessible_output2

2020-11-02 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: VoiceOver error using accessible_output2

Okay, so I discovered a couple things, it seems that there is an issue with how Auto is working in accessible_output2 since it is causing the delay I mentioned. When I use the VoiceOver object there is no delay.So, I first setup a simple pyglet program like suggested, and just played a sound on key press. There is no issue there, the sound plays just fine with VoiceOver on without any delay.  so, I setup the accessible_output2  Auto object to speak on key press, and I got the delay that I was experiencing before. I also tried the VoiceOver object, and was surprised to find that I got no delay on speech. So, it seems that there is some delay that is occurring when Auto is used, my guess is the process of determining the running screen reader.This is the code I am using to test this:import pygletfrom pyglet.window import Window, keyfrom accessible_output2.outputs.auto import Autofrom accessible_output2.outputs.voiceover import VoiceOverwindow = Window(caption="Test")a = Auto()v = VoiceOver()@window.eventdef on_key_press(symbol, modifiers):    if symbol == key.A:        a.speak("This is auto speaking")    elif symbol == key.V:        v.speak("this is voice over speaking")pyglet.app.run()I am also getting some strange error when I run my pyglet programs on Mac, although I do not think it is related to accessible_output2 since I was getting it before I imported AO2.2020-11-02 18:37:58.898 Python[3461:81338] ApplePersistenceIgnoreState: Existing state will not be touched. New state will be written to (null)

URL: https://forum.audiogames.net/post/585837/#p585837




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: VoiceOver error using accessible_output2

2020-11-02 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: VoiceOver error using accessible_output2

Hi, thanks for the advice, I am going to give that a shot testing with just an audio file. Do you have any suggestions for alternatives to VoiceOver? I know that there is a say command, I know that there used to be a class in accessible_output2 to leverage the say command, which seems to use a separate instance of VoiceOver from what I remember? That way VoiceOver should not be causing problems with key events if that is what is going on.

URL: https://forum.audiogames.net/post/585821/#p585821




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: VoiceOver error using accessible_output2

2020-11-02 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: VoiceOver error using accessible_output2

Thanks #8, I did not know there was another Github repository for accessible_output2. I will see about opening an issue for this.I tried your suggestion with startsWith(b"true") etc... and it worked.The one issue I am having now is a a terrible delay when I go to run my application. To be more specific, I am working on a audio_ui library. Basicly, I want user interface components, but audio only. I got a pretty good working version on Windows working with NVDA and JAWS, just trying to make it work with VoiceOver.I am using pyglet, so I am not sure if the problem is that there is a delay in pyglet sending the keypresses to the OS, or if it is VoiceOver lagging for some reason. Otherwise, it is working perfectly.Any suggestions on the lag that I am experiencing?Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/585740/#p585740




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: VoiceOver error using accessible_output2

2020-11-02 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: VoiceOver error using accessible_output2

Hi, sorry to double post, although I just learned that that VoiceOver class with the embedded apple script only works when you are using it by itself, when you use auto, you get an error:```Python 3.8.6 (v3.8.6:db455296be, Sep 23 2020, 13:31:39) [Clang 6.0 (clang-600.0.57)] on darwinType "help", "copyright", "credits" or "license" for more information.>>> from accessible_output2.outputs.auto import Auto >>> s = Auto()>>> s.speak("hello world")Traceback (most recent call last):  File "", line 1, in   File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/accessible_output2/outputs/auto.py", line 25, in speak    output = self.get_first_available_output()  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/accessible_output2/outputs/auto.py", line 20, in get_first_available_output    if output.is_active():  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/accessible_output2/outputs/voiceover.py", line 31, in is_active    return self.runAppleScript('return (name of processes) contains "VoiceOver"', 'system events').startswith('true') and not self.runAppleScript('try\nreturn bounds of vo cursor\non error\nreturn false\nend try').startswith('false')TypeError: startswith first arg must be bytes or a tuple of bytes, not str>>> ```Looks like it is some apple script issue. I am not sure who wrote the apple script, I am having an issue trying to look at the commits for the accessible_output2 repository. I all I am seeing is the most recent commit. I know it was transferred fover from another versioning system, so perhaps we are missing the commit history .Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/585696/#p585696




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: VoiceOver error using accessible_output2

2020-11-02 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: VoiceOver error using accessible_output2

Hi, at #5, yes, I have the setting enabled to allow voiceover to be controlled by apple script. I posted all of my findings below.Well, this is interesting, although I don't think this would be a cause for the error that is being thrown. I did not know that Apple was looking at getting rid of the runtime scripting environmentshttps://tidbits.com/2019/06/25/apple-to … -of-macos/Oh, here we go, the first problem is this dependency appscript, which is being used to link into Voiceover is not supported any morehttp://appscript.sourceforge.net/Last time I looked at accessible_output2 in the VoiceOver class, apple script was embedded into the python code to control the output of VoiceOver, the problem I remember with that was you had to enable apple script control in the VoiceOver settings like #5 mentioned.I am guessing that someone refactored to using appscript to get around this issue, but either was not paying attention, or recently appscript is not supported.I feel like in the past year I was able to use accessible_output2 on Mac without much trouble, although I think to make it work I had to enable the apple script control in Voiceover settings like I mentioned.I suppose it is possible, actually likely that I was using an older version of AO2 though.for people's reference, the Github repository I believe is here:https://github.com/Accessiware/accessible_output2Well... looking at the code for the VoiceOver class, this is what we are looking at:```from __future__ import absolute_importfrom .base import Outputclass VoiceOver(Output):    """Speech output supporting the Apple VoiceOver screen reader."""    name = "VoiceOver"    def __init__(self, *args, **kwargs):        import appscript        self.app = appscript.app("voiceover")    def speak(self, text, interrupt=False):        self.app.output(text)    def silence(self):        self.app.output(u"")    def is_active(self):        return self.app.isrunning()output_class = VoiceOver```I found a fork of accessible_output2 by frastlin which has the original apple script code that I remember seeing before:https://github.com/frastlin/accessible_output2```import subprocess, osfrom base import Outputclass VoiceOver(Output): """Speech output supporting the Apple VoiceOver screen reader.""" def runAppleScript(self, command, process = 'voiceover'):  return subprocess.Popen(['osascript', '-e', 'tell application "' + process + '"\n' + command + '\nend tell'], stdout = subprocess.PIPE).communicate()[0] name = 'VoiceOver' def speak(self, text, interrupt=0):  if interrupt:   self.silence()  os.system('osascript -e \"tell application \\\"voiceover\\\" to output \\\"%s\\\"\" &' % text) def silence (self):  self.runAppleScript('output ""') def is_active(self):  return self.runAppleScript('return (name of processes) contains "VoiceOver"', 'system events').startswith('true') and not self.runAppleScript('try\nreturn bounds of vo cursor\non error\nreturn false\nend try').startswith('false')output_class = VoiceOver```It is a mess to look at, the result of embedding code in code, but if it works, then it might be worth for now rolling back to this until a better solution can be found.So, just tried it. I took the VoiceOver class from frastlin's fork, copied it into my outputs directory in my python 3.8.6 installation, and after fixing a single import statement, it works.Well, I guess for now I will use this. I suppose I could open a pull request in the github repo, but I am going to wait until I get some replies on what I found before I do anything.Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/585691/#p585691




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: VoiceOver error using accessible_output2

2020-11-02 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: VoiceOver error using accessible_output2

Hi, thank you for the fast replies. I have heard that accessible_output2 has not been updated in a few years, although I still prefer it because it is the only cross platform screen reader library solution in python that I know of. I mainly want Mac support, and care less about Linux honestly though.I might dig into the code myself and see what I can find. I was just hoping that someone who had worked on AO2 had an idea. I feel like I have seen this error before, and perhaps even posted here. I will do some digging and report back if I find anything.Thanks,Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/585677/#p585677




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: VoiceOver error using accessible_output2

2020-11-02 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: VoiceOver error using accessible_output2

Hi, thank you for the fast replies. I have heard that accessible_output2 has not been updated in a few years, although I still prefer it because it is the only cross platform screen reader library solution in python that I know of. I mainly want Mac support, and care less about Linux honestly though.I might dig into the code myself and see what I can find. I was just hoping that soemone who had worked on AO2 had an idea. I feel like I have seen this error before, and perhaps even posted here. I will do some digging and report back if I find anything.Thanks,Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/585677/#p585677




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


VoiceOver error using accessible_output2

2020-11-01 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


VoiceOver error using accessible_output2

Hi, I am trying to use accessible_output2 with VoiceOver on my Mac and get the following error:Python 3.8.6 (v3.8.6:db455296be, Sep 23 2020, 13:31:39) [Clang 6.0 (clang-600.0.57)] on darwinType "help", "copyright", "credits" or "license" for more information.>>> from accessible_output2.outputs.voiceover import VoiceOver >>> speech = VoiceOver()>>> speech.speak("ehllo world")Traceback (most recent call last):  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/aeosa/appscript/reference.py", line 599, in __getattr__    selectortype, code = self.AS_appdata.referencebyname()[name]KeyError: 'output'The above exception was the direct cause of the following exception:Traceback (most recent call last):  File "", line 1, in   File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/accessible_output2/outputs/voiceover.py", line 16, in speak    self.app.output(text)  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/aeosa/appscript/reference.py", line 601, in __getattr__    raise AttributeError("Unknown property, element or command: {!r}".format(name)) from eAttributeError: Unknown property, element or command: 'output'Not sure if there was an update that broke something or what. I am running Mac OS Catalina version 10.15.7. I am using python 3.8.6 . I just installed accessible_output2 from pip, so it should be up to date.Any ideas what is going on here?Thanks,Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/585536/#p585536




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Java Servlet, Apache Tomcat, and MySQL

2020-10-31 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Java Servlet, Apache Tomcat, and MySQL

Hum... well without knowing the full set of technologies you are using, not sure if I can help at all. To clarify, the subject  line of this thread applies to just about all java related web technologies. Are you using Spring MVC, EJB, etc... I really only have hands on familiarity with Spring Boot, but have passing knowledge in Spring MVC. I had to learn about EJB and other related older technologies a while a go. If anyone is to help, we have to know what you are actually using. JSP tells me that you are using older technologies, perhaps Spring MVC, although you have not mentioned Spring at all.Each framework is going to have a different way of handling security, at least in terms of what is built into the framework you are using.

URL: https://forum.audiogames.net/post/585060/#p585060




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Java Servlet, Apache Tomcat, and MySQL

2020-10-30 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Java Servlet, Apache Tomcat, and MySQL

Hi, the first question since it is not clear to me, are you writing your backend as a restful API using Spring Boot, and hitting it from the front end using AJAX, or are you using older technologies such as JSP (java server pages)?This matters in terms of how you are going to handle security. I have only worked with Spring Boot building restful APIs, and written several login systems for it. AS I think I mentioned, if you are going the rest API approach, then JWT (JSON Web Token) is what you want. There is a dependency called spring-security I think which will give you what you need for that. I believe that it will also provide functionality other than just JWT. I can give more description on how to handle setting up your Spring boot for JWT if that is what you are doing. It is a bit complicated to get all of the configurations setup just right the first time.

URL: https://forum.audiogames.net/post/584788/#p584788




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Software Engineer Interviewing

2020-10-30 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Software Engineer Interviewing

BIT stands for Blind Institute of Technology, which I talked about in my previous post.Sorry, I kept think ing you were a more entry level engineer. Personally, I have found that working my blindness into conversation naturally works the best, but only after I have had a chance to somehow prove that I am competent in the skills that the interviewer is looking for. So, I might not even the disclose that I am blind until the second or third round interview. If I am unable to work it into conversation naturally, then I would prefer the interviewer just does not know.That is my approach, I am sure other people have other ideas.

URL: https://forum.audiogames.net/post/584704/#p584704




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: How do you build Your web sites/projects?

2020-10-29 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: How do you build Your web sites/projects?

Hi, I suppose it just depends what you are talking about in terms of web development. Personally, I work in React or Angular to build single page applications using Spring boot for my backends. These technologies are overkill though if all you want is a simple little website.Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/584543/#p584543




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Software Engineer Interviewing

2020-10-29 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Software Engineer Interviewing

Hi, adding my experience and advice to the replies, in my experience interviewing, I would agree with camlorn. The reality is that unless you are interviewing with a big tech company, or the position you are interviewing for is algorithmic heavy, you will probably rarely be asked algorithm questions. I would say, choose the area of expertees you want to work in, and learn that very well. For example, if you want to work as a web developer in Java, then learn the java stack, and learn it well. Whatever the case, make sure you know the programming language well. For example, I actually just did an interview with JPMorgan Chase todayfor a backend java position, and got asked a lot of questions about java specifically. Such as: What are some of the new features in java 8? Can you talk more about the streem API in java 8? What is polymorphism? What are lambdas, and how are they implemented in java?Know your language of choice well.When I walked out of university, I was under the impression that I was going to have to regurgitate quick sort on the spot in an interview, although this is just not normally the case in my experience. You should no time complexity, understand hash tables, linked lists, arrays, etc... but you may not get asked about those things nearly as much as you might think. Camlorn summerized pretty well the basics of what you should know in terms of time complexity and data structures. Unless your plan is to get into one of the big tech companies, spend less time memorizing algorithms so that you can spit them out at a moments notice, and more time on knowing the technologies you want to work with. If your talking _javascript_, understand the event loop, asynchronous  programming, promises, async and await, etc... and the nuances of the _javascript_ library you are using weather it is React, Angular, or something else.A resource that I just learned about recently is the Blind Institute of Technology based out of Colorado. They are a non profit organization that helps people's with vission impairments who are developers find jobs as software engineers. They have helped other individuals with other disabilities, as well as assisting individuals get jobs in other industries, although working in the software development sphere is at their core since the CEO who is also blind, is also a developer. I just started working with them recently and have found them to be a great resource. No strings are attached, you have no obligation to BIT at all. If you get hired through BIT, there might be a contract to hire, although they have also done direct placements. I have not asked, although they would probably be able to set up a mock interview with you. There is a vetting process, so as long as you are competent in programming, and good enough getting through interviews, you should be fine.I will not claim to have the experience to do a mock interview myself, I am really still a junior developer, although I have had more experience than perhaps many other junior developers.I hope this helped,Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/584540/#p584540




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Developing with Swift.

2020-10-26 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Developing with Swift.

Hi, I can not speak of Swift specifically, although I have been working on developing in React Native for a few weeks for IOS, and have not found it to be to bad once you get used to it. I would recommend checking out this thread I started:https://forum.audiogames.net/topic/3715 … velopment/Although this thread was targeted at React Native, there is a lot of talk about XCode and how to use it. I am not sure if you can write Swift outside of XCode. I would imagine that similarly to React Native that there are commandline tools for compiling and running on an IPhone. As mentioned in the thread above, the simulator is not particularly accessible, so you will need to get into the process of running your app on your IPhone.I will admit, XCode is not intuitive to figure out the first time, but it is just a matter of learning the layout of the window, and how to navigate to everything using Voiceover. In that thread, there is a list of keyboard shortcuts for XCode that are very helpful.I can quickly explain the layout of XCode to help you better understand what is going on.At the top level of interaction, that is if you press V O shift up arrow as many times as possible, you will be able to see the project on the far right, and the sidebar which can be pretty useful for viewing a few different things in one place. IN the sidebar, you have run, an activities table and a few other things. If you interact with the activities table, this is where you will be able to watch the progress of your app building and running. When you are running the app on your IPhone, it will take a bit longer than perhaps normal. Getting out of the sidebar, go to the far right and interact with your project. You will have a navigator pane on the far left, and you may or may not see an editor pane on the far right. The navigator pane is the area where you will view your project files, errors, etc... If you play around in there it is not to hard to figure out. the project tab shows your files in a treeview. To create a file, select the project tab, and you should see a menu button to the right of the project file tree view. You will have various options for creating files and folders. Make sure that when creating a file that you choose the correct language. Note that it will ask you to create a bridge component after you create the file, it is just a file that is used to bridge Swift to Objective C if you need to do that for what ever reason. Just keep the defaults for the file settings. To open that file in an editor, go to the navigator, select the projects tab, interact with the project files tree view, and move the cursor to select the file you want to open. You can not just press enter, VO Space, command O, or any other command for opening a file, you have to uninteract a couple times until you are out of the navigator, scroll to the right and interact with the editor pane. The editor pane will have a couple things in there, but you want to interact with the thing that has the name of the file you are trying to edit, then scroll to the right and interact with the scroll pane which is the editor itself. You should be able to right code here. There is probably a faster way of getting to that editor, I just don't know it yet. Perhaps google some keyboard shortcuts for XCode. Fishing around in the menu bar can help quite a bit too.I hope this helped,Timothy Breitenfeldt`

URL: https://forum.audiogames.net/post/583678/#p583678




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Cannot get SQLCMD to work

2020-10-19 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Cannot get SQLCMD to work

HI, I have not used SQL Server much, and when I did I just used Management Studio. It is accessible enough, although not great. I have not used the commandline tool, although the first thing that comes to mind for me is passing your server address and port.Since it sounds like you are running your server locally, and with a quick google search I think the TCP port is 1433 try something likesqlcmd localhost:1433Take a look at the documentation for the command line tool and check how the arguments should be structured for passing the server port and perhaps database name. Not sure if you will need a username and password as well.Most of my experience is from using MySQL, and I would imagine that the argument structure  won't be to different.Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/581500/#p581500




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Question Regarding Linux

2020-10-17 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Question Regarding Linux

At #12, yeah I am still using WSL 1. I tend to use WSL with my windows file system because I keep everything in Google drive on Windows, so I do not really use the linux file system. I heard that WSL 2 although has fixed many of the problems that WSL 1 has, runs slower when accessing files from the windoes file system.

URL: https://forum.audiogames.net/post/581047/#p581047




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: IOS Development

2020-10-17 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: IOS Development

At #20, that is good to know.For anyone else who has any interest in IOS development, I am going to post what I have found out.It seems that the accessibilityTraits property allowsDirectInteraction is broken, and the documentation is inconsistent. I opened an issue for this on the React Native github repository.So, in the end, I figured out through a lot of pane how to integrate a Swift View with Direct Touch enabled into my react native project. It is not all that much code in the end, although setting your project up to handle this is not fun. As mentioned before, you cannot bridge native code into react native such as Swift using Expo. So, you must either eject, or just create a new project using the react-native-cli, and copy over your source code. The second is what I did since ejecting looked like it was just going to be harder in the end.When working with a react native project without Expo, you have to use the native tools, such as XCode to run and deploy onto a IPhone. Learning how to actually use XCode gave me a bit of trouble since it is not exactly intuitive on how to modify project properties, or how to open an editor for a code file. you have to get to the navigator pane, command 1 will do it, select the file you want to open, and then uninteract twice, scroll to the right to select editor, interact with editor, followed by the area that has speaks the name of the file you are opening, and then you can scroll to the right and interact with the scroll pane which is the editor itself. I am sure that there is an easier way to get to the editor, although I found the most frustrating part that I could not just do VO space or command o to open the file. The other thing that drove me nuts for a long time was the error that is given when you try to run your project in XCode something to the affect of "missing developer team". After a lot of Googling, I figured out that I had to modify the project properties, and the properties file had an extention of .xcodeproj. Problem is that when you go to the file navigator, there is no file with an extention of .xcodeprj. It was confusing especially since I am used to Eclipse where to modify project properties, you right clikc and go to the wnative windows property screen. In XCode, you have to select the name of your project, to be clear, you have to first expand your project name once and down arrow to the second iteration of your project name, then uninteract twice and go to the editor. The editor pane does not actually give you a tex editor to manipulate text, it gives you a UI for modifying properties. Selecting the signing tab, and then setting the developer team to your developer accounts signing certificate, you can fix the error. Note that you have to do this twice for both the main project and test targets. There is a button that mentions targets that you have to select which target you are changing properties for.The short of it is that for every new project you create, you have to make sure that your main project and tests have a developer team assigned to them. These are called targets, and the developer team is the developer account you linked to XCode.To explain everything I did would take a while, especially since most of my troubles came from installing the native packages for react navigation, which has a tun of dependencies. As long as you follow the react navigation getting started page carefully unlike me, you should be fine.In terms of running the project, there are a couple things to do. The simulator is not very accessible. Well, to clarify, you can run the simulator, Voiceover will read controls for the virtual IPhone such as volume buttons or home button, but I could never figure out how to actually interact with the screen itself. Either way, the simulator lags pretty bad, and constantly is saying it is busy. so, you can relatively easily just run your app on your phone and even get a similar process as Expo as long as your phone is plugged into your Mac. The first thing you have to do is set the developer teams for your project and tests in XCode. Not sure if this can be done via the command line, probably, although it is not hard to do once you figured it out in XCode. Once that is done, you might be tempted to run your project using command r in XCode, just don't. It is very frustrating to deal with errors since react native has like 400 warnings that are generated, and the issue navigator just becomes unwieldy often causing Voiceover to freeze up. Instead, you will need to open 2 different terminal windows in your project directory. in the first, run npm startto start the metro server, andin the second, runreact-native run-ios --device "iPhone Timothy"replace iPhone Timothy with your device name. after you run this command once, you may not need to include the device name.It will build and deploy to the phone. Note that your phone has to be plugged into your computer. When you try to open the app the fi

Re: Question Regarding Linux

2020-10-17 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Question Regarding Linux

Hi, for completeness I will add WSL to this list of suggestions. WSL, or Windows Subsystem for Linux, is a great tool for running a linux shell on Windows. If you want to get familiar with Linux file structure, using Linux commands, or just want to take advantage of specific Linux packages, WSL is great. I personally use it all the time as a full stack web developer.It integrates with Windows very well, such that you can even mix windows and Linux commands, such as my favorite, piping linux command output to a windows clipboard. WSL is just a mini virtual machine that gets spun up for you when you start WSL. It does not have or need a virtual machine manager like VMWare Player, so you do not have to worry about switching from VM to host. It is my favorite way of using Linux on a Windows machine. Just remember that you do not get a GUI with WSL. I have heard that it might be possible to install some GUI programs, and perhaps even a native linux screenreader on WSL2, although I am not sure, and you should not need to. JAWS and NVDA work well with WSL, there are a few work arounds though in terms of scrolling and copying and pasting, and there is a thread on this here:https://forum.audiogames.net/post/539100/#p539100Hoep this helps,Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/580955/#p580955




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Question Regarding Linux

2020-10-16 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Question Regarding Linux

I agree with #4, and will just reiterate a little. I personally find VMWhare Player to be very accessible. I think that the one problem with VMWare Player is that due to its free nature, you can only run one virtual machine at a time. I have actually not tried this for a while so I am not certain if that is still true.The ins and outs of VMWare Player are simple enough, the most important commands are:control + g to grab keyboard input, putting focus inside the Virtual machine, and press control plus alt in the virtual machine to switch back to your host machine. To power off your virtual machine, or see other properties about your VM, while it is running, and you have focus in your hoste machine, press alt + m to pull up a menu with everything you need.VMWare Player as far as I know only runs free on Windows. I am pretty sure it is not free on Mac, and I do not know about Linux.I have not had audio problems with VMWare Player other than the volume tends to be pretty quiet initially. This is easily fixed, just get focus back to your host machine, and go change the volume for VmWare Player in your Volume Mixer.I will mention quickly that I have tried orical box, and found it to not be very accessible, as well as several issues setting up audio output from the Virtual Machine. Not sure if that has changed since the last time I looked at it.In terms of Linux, #4 is right, there are a lot of distros. Some are meant for specific tasks such as Kali linux is used for Pen testing and security related things. Perhaps the most common go to is Ubuntu. I used Vinux once a couple years ago, it definitely works on a virtual machine, although I found it to be slow. I think that this is because of the default desktop that is installed which I cannot remember the name of off the top of my head. I am sure that can be changed. Honestly, I don't remember what Vinux provides out of the box that a distro like Ubunto does not. I believe that Vinux is built on top of Ubunto if I remember correctly.If you go to install Ubunto, installation is very accessible, just run through the setup wizard in VMWare Player, and power on the VM. Give it a moment, the virtual machine will probably make an auditory beep. After a minute or so, press s followed by enter. This will start speech in the command line driven setup. It is pretty intuitive from there. Remember what I mentioned about the volume if the speech is to quiet.This setup process for getting a speech driven installer is the same I believe on Debian, Kali, Ubunto, Vinux, and probably others that are related to these distros.Hope this helped,Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/580739/#p580739




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: IOS Development

2020-10-14 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: IOS Development

Okay, well I tried gesture responder, well... actually I installed a wrapper called gesture handler which had much better docs and examples. It gave me the fine grane control over taps and gestures, as well as the states. It seems that Voiceover is intercepting the activated state of any component, although the end, cancel states are not, and so you can execute  a callback on those states on direct touch, although it is very sensitive, Understandably so. Those events are not meant for what I want. I am not sure if there is a way around this issue since Voiceover is intercepting that activated state, and forcing its own double tap behavior upon the user to activate.At #17, have you done this before using gesture responder? Do you have code you could share?I am guessing that you just have to get into Voiceover and enable direct touch, which allows those activate states through immediately without interception. Which goes back to my previous post about perhaps needing to write a simple little Swift view to enable direct touch for, that I could use in react native and dump my own react components into.

URL: https://forum.audiogames.net/post/580230/#p580230




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: IOS Development

2020-10-14 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: IOS Development

Okay, well I tried gesture responder, well... actually I installed a wrapper called gesture handler which had much better docs and examples. It gave me the fine grane control over taps and gestures, as well as the states. It seems that Voiceover is intercepting the activated state of any component, although the end, cancel states are not, and so you can execute  a callback on those states on direct touch, although it is very sensitive, Understandably so. Those events are not meant for what I want. I am not sure if there is a way around this issue since Voiceover is intercepting that activated state, and forcing its own double tap behavior upon the user to activate.At #17, have you done this before using gesture responder? Do you have code you could share?I am guessing that you just have to get into Voiceover and enable direct touch, which allows those activate states through immediately without interception.

URL: https://forum.audiogames.net/post/580230/#p580230




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: IOS Development

2020-10-14 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: IOS Development

Hi, thank you, I think that the gesture responder should work. I was thinking that react native might have a way around the issue and looked into TouchOpacity, touchables, etc... but I did not find this API page on the gesture responder.I am new to working with react native, although not new to working with react. That is the main reason why I picked up react native for this project rather than Swift.Correct me if I am wrong, won't I have to eject the project to get it sideloaded onto a phone eventually anyways? which would mean any additional updates would have to be done without Expo right?

URL: https://forum.audiogames.net/post/580191/#p580191




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: IOS Development

2020-10-13 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: IOS Development

That is great news. I hoep Microsoft can figure out what is wrong and get a update pushed out.  Thanks for initiating that conversation.I actually have another problem I am tackling now, and perhaps I should just start a new thread for this, but here we go.I am working on a app for my sister for playing the Kalimba on the phone. There are tuns of piano apps out there, and at least one that is accessible here:https://www.applevis.com/apps/ios/music/pianoI have already built up the foundations of the app in react native, I am trying to implement the Kalimba itself now though and running into a problem. I need to enable Voiceover to bypass the normal double tap activation feature for everything, and get direct touch working so that when you press a key on the kalimba on the screen, it will make a sound immediately rather than forcing you to double tap.So, to clarify a couple things, my sister is also blind and uses Voiceover, so I would rather build this for Voiceover users rather than just say, turn Voiceover off to use this app. There are other reasons for future features that I would like Voiceover to still be enabled.So, after spending a to much time trying to figure out what the actual problem was, I started digging into the react native accessibility API. There is surprisingly quite a few options, although, nothing that talks about enabling direct touch, at least from this documentation page:https://reactnative.dev/docs/accessibilityHowever, if you type something like "direct touch accessibility react native" into google, you can find this github documentation for react native:https://github.com/equinor/react-native … ibility.mdin this page, it mentions an attribute that is not mentioned in the other documentation "accessibilityTraits" which does have a property for enabling direct touch. However, I could not get it to work. I am not sure what components become direct touch, and how to get my callback to exicute, but my guess is that everything becomes direct touch including buttons, so that a simple onPress callback should work right? Well no matter what I tried, buttons, clickable text onPress, onPressIn, and even the accessibilityActions atribute for performing actions on a component. None of it worked for me.Now, when I kept digging, trying to look for examples using accessibleTraits, I was not able to find anything, although I found this page, which says that accessibilityTraits is going to be deprecated soon for accessibilityRole, and accessibilityStates:http://man.hubwiz.com/docset/React_Nati … ility.htmlI am actually not sure how reliable a source this is, I am not sure what hubwiz.com is, although, given that it is not working, I might believe that accessibilityTraits is depercated now, hense why the first documentation page I linked to, which seems the most reliable, did not mention the accessibilityTraits attribute at all.So, does react native support direct touch in its accessibility API or not? Is there another way of handling this issue I am having? If not, then I have aditional questions about perhaps dropping down into Swift to implement a View which has direct touch enabled, that I could use in React native. From my understanding from the docs, Expo won't allow me to intigrate native code into react native, I have to first eject the project and "there is no going back" says the docs, and then I have to import into XCode, write up my swift class, and then I can continue on my way with react native, although without expo sigh... So my questions would be how to use react native without expo?Here is another resource I found, although using objective C, goes over the accessibility API, specifically providing the code to enable direct touch for a view:https://www.applevis.com/guides/tips-ta … r-your-appSorry about the long post, this problem  has been driving me nuts though.

URL: https://forum.audiogames.net/post/579949/#p579949




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: IOS Development

2020-10-12 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: IOS Development

Hi, thank you for the responses. I have gotten my hands dirty now. I got Expo installed on my phone and the Cli installed on my mac. You don't actually have to scan a QR code. As long as you have the Expo app, on your phone, all you have to do is start your project with expo startit will open up a browser, find the link that says "publish or Republish" and activate it. On your expo app on your phone, select the projects tab, and it should automatically load the project for you as long as you are connected to the same wireless network as your computer. Click on the project on your phone, and it just opens your app and works, well... on a good day when there are no errors. You can just start coding from there, and it will automatically refresh on your IPhone on save. It seems like it is not always refreshing on save, so sometimes you have to go to your phone, shake it to get back into the Expo menu, and click reload, which rebuilds the project as you can observe on your terminal on your computer. note: I am actually not sure if the auto refresh behavior on save is occuring because it is built into Expo, or if it is because I installed watchman. Some tutorial told me to install watchman, and did not explain much what it would do for me. I have been using Visual Studio code, and have set it up to auto format on save using the prettier _javascript_ extension, so managing indentation is not a problem. I do have a couple things to say about Visual Studio on a Mac though. If you have used VS Code on Windows, then it is pretty much the same on Mac, just replace all of your commands you would normally use control for, with command. Now, there seems to be two main Voiceover bugs I have noticed, the first is pretty easy to deal with, Voiceover is not reading tabs at all even though in text edit it is giving me the behavior I described above, where Voiceover reads the tab and space characters individually. This is not a big deal since Voiceover wasn't reading indentation anyways, and like I mentioned, format on save fixes this issue.The second problem is a bit more frustrating. I find that The VS Code editor does not track the Voiceover cursor well, or vise-versa. If you right arrow over a few characters, and then left arrow, Voiceover seems to skip over characters. It is very strange. I have not pin pointed the exact behavior, weather Voiceover is just reading the character, even though the cursor is in the correct spot, or if the cursor is completely jumping characters. I believe that it is the latter, where the cursor is jumping based on my experience with backspacing when this happens. You can fix this by just left arrowing a few more characters and right arrowing back, and it should read just fine now. So perhaps it has to do with the left arrow navigation? I am not sure. This is perhaps something that should be mentioned to the VS Code devs if other people are having this problem.

URL: https://forum.audiogames.net/post/579700/#p579700




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: IOS Development

2020-10-12 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: IOS Development

Hi, thank you for the responses. I have gotten my hands dirty now. I got Expo installed on my phone and the Cli installed on my mac. You don't actually have to scan a QR code. As long as you have the Expo app, on your phone, all you have to do is start your project with expo startit will open up a browser, find the link that says "publish or Republish" and activate it. On your expo app on your phone, select the projects tab, and it should automatically load the project for you as long as you are connected to the same wireless network as your computer. Click on the project on your phone, and it just opens your app and works, well... on a good day when there are no errors.I have been using Visual Studio code, and have set it up to auto format on save using the prettier _javascript_ extension, so managing indentation is not a problem. I do have a couple things to say about Visual Studio on a Mac though. If you have used VS Code on Windows, then it is pretty much the same on Mac, just replace all of your commands you would normally use control for, with command. Now, there seems to be two main Voiceover bugs I have noticed, the first is pretty easy to deal with, Voiceover is not reading tabs at all even though in text edit it is giving me the behavior I described above, where Voiceover reads the tab and space characters individually. This is not a big deal since Voiceover wasn't reading indentation anyways, and like I mentioned, format on save fixes this issue.The second problem is a bit more frustrating. I find that The VS Code editor does not track the Voiceover cursor well, or vise-versa. If you right arrow over a few characters, and then left arrow, Voiceover seems to skip over characters. It is very strange. I have not pin pointed the exact behavior, weather Voiceover is just reading the character, even though the cursor is in the correct spot, or if the cursor is completely jumping characters. I believe that it is the latter, where the cursor is jumping based on my experience with backspacing when this happens. You can fix this by just left arrowing a few more characters and right arrowing back, and it should read just fine now. So perhaps it has to do with the left arrow navigation? I am not sure. This is perhaps something that should be mentioned to the VS Code devs if other people are having this problem.

URL: https://forum.audiogames.net/post/579700/#p579700




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Java Servlet, Apache Tomcat, and MySQL

2020-10-10 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Java Servlet, Apache Tomcat, and MySQL

Hi, I use the Java stack with MySQL and React/Angular a lot for work.In terms of the technology you will probably want, it will be Spring Boot. Spring boot is mainly meant for creating RESTFul APIs. So if you are looking for something that will handle a view as well, you will have to use an older technology. Spring Boot is the modern way of creating Java backends, although there is also Spring MVC, which uses the MVC pattern to push java server pages (jsp), which is an html like sintax, to the browser. I don't recommend this though if you are starting a new project.The modern web stack is something like I mentioned above, creating a Spring Boot REST API hitting the database of your choice, then using a single page application (SPA) technology like React.js or Angular to manage your front end. You mentioned you are using JDBC, that works, although personally I like using object relational mappers (ORM), specifically spring data JPA/Hibernate. If you are not familiar with ORMs, the idea is that you map every table in your database to a java class that is anotated with the JPA annotations. This simplifys accessing your database significantly.Also, I will advise using the design architecture of splitting your application up into a few different packages. You will have a folder for controllers, services, Ddao/repositories, and entities. Each of these layers perform a specific task, where the controller layer manages the entry points into your API, mapping all of your endpoints to methods. The service layer is called on from the controller layer, managing all of the business logic, such as validation or any other hard logic. The service layer will then call a database access object (dao) to hit the database. The DAO layer is where your JDBC code belongs, and this is the layer that is simplified down to just a couple lines of code if you use an ORM. The Entities are used by the database access objects, and if you are using an ORM, you would mark up your entities with JPA annotations.You mentioned sessions, is that for security? When using these modern technologies, we tend to use JSON Web Token (JWT) for authentication. Most of the time you will just store what you need in the browser, but Spring boot does support different types of beans such as session beans for special cases.Hope this was helpful,Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/579244/#p579244




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: IOS Development

2020-10-10 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: IOS Development

Thank you for the responses. If you are using Expo on Windows, it sounds like you could build your app, but how would you transfer it to a IOS phone?

URL: https://forum.audiogames.net/post/579141/#p579141




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: IOS Development

2020-10-09 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: IOS Development

So, I have been trying to get started, and one of the first things I learned is that Xcode, as far as I can tell does not support writing _javascript_. So, I had to download VS Code, which  is pretty much the same as on Windows, just replace all of your keyboard commands that use control with command, and it functions the same. I have not ran into any accessibility issues yet. I also learned that there is a react native extension for VS Code that provides support for running your React Native project in an emulator from inside  VS Code . I think it even provides support for deploying to a phone. It must interface with the Xcode API.

URL: https://forum.audiogames.net/post/578927/#p578927




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: IOS Development

2020-10-09 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: IOS Development

Thank you for the input, I posted a similar question on the blind programmers mailing list, and learned a couple things. I would definitely still appreciate the advice of someone who knows more though.From my understanding, Eclipse and VS Code are pretty accessible on Mac with Voiceover. The big one being XCode, which is definitely accessible now.The first things you have to do is configure Voiceover. I have seen many posts about Voiceover not reading indentation on this form, and that was my initial experience as well, although Voiceover can do more, at least more than I thought. If you open Voiceover utilities (function plus control + options plus 8), and select the verbosity tab, you can crank the verbosity to high. You will also need to go into the speech tab and set Voiceover to read all symbols. For whatever reason, all symbols, is not actually all symbols, which is why you have to crank up the verbosity. The second part is to go into verbosity and click on the text subtab, go over to "when text attributes change" and pull that menu down and select do nothing. This turns off the rather irritating side affect of cranking up the verbosity to high, which is that Voiceover reads text color, style, font, etc... However, Voiceover is still not reading indentation. You have to go back to the main Verbosity tab, insuring that the speech subtab is selected, and go over to customize your verbosity. You can then get into the table, and select the text row. You want to change text from default to high. This will force Voiceover to start reading indentation. Now, it is not great, rather than quantifying spaces or tabs, it reads them individually. So, 3 tabs reads as, tab tab taband 4 spaces read as space space space space Someone mentioned that they were able to force Voiceover to recognise 4 spaces as tab, which reduces some of the chatter, but it is definitely not great. I don't recommend trying to program in Python on Mac with this. Although, this is far better than anything I have heard from anyone else so far.I did hear that supposedly the next version of the Mac OS might include a feature for Voiceover to read indentation. It was on some podcast someone heard. We can only hope. I will paste in the shortcuts that were given to me for XCode, as well as the description on how to sideload apps. I have not gotten as far as to try everything, I have been trying to get home brew, NVM, NPM, and React installed first.However, the one thing I still have not gotten an answer on is if XCode supports auto formatting either through a key command, or ideally on save. I started thinking, when programming on Windows, most of the time when I am not programming in Python, I just let the IDE, either VS Code or Eclipse, manage my indentation for me when I do control plus s. It auto formats my code which includes fixing indentation for me. If that can be set up in XCode, then I would have to say there is no problem programming on Mac, at least standing on this side of the fence. We will see how I feel once I get going. XCode Commands:command 1 to go to project navigatorcommand 5 to issue navigatorcommand J to jump to the selected file/sectioncommand T to create a new tab, to have multiple files openup and down arrows to navigate auto suggestions, and VO space to accept a suggestionVO J will jump from region to region allowing you to explore without memorizing the commands abovecommand r to run a project, it will open a simulator by default, which is workable but much more laggy than using an iOS device, although enough for small testsSideloading:To run apps on the device you have to create a developer account in the site, there is a free variant and you can use your Apple id. You have to use it on your XCode preferences and use it on the projects you create.To side load into the iPhone you connect the iPhone using a cable and go to the Product menu - destination and chose your iPhone from the list of devices. Then you run and it will try to run on the iPhone.On the iPhone it loads the app but won't open it until you go to an option that appears on settings - general (device management I think) and authorize your development profile.Than it will run, but you can't have more than 3 apps on each device with the free account. You will have to uninstall one of the 3 apps you have sideloaded before you can sideload another. This does not include just updating an app though, you can do that all day from my understanding.If anyone can add to this that would be great. I hope this helps someone else too. I am going to get started today working on learning XCode.Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/578857/#p578857




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


IOS Development

2020-10-07 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


IOS Development

Hi, I did some searching, and could not find answers to all of my questions, so I suppose I will create a new topic.I am looking at starting IOS development. I have a mac, and am familiar enough with Voiceover. I am also aware of the limitations of Voiceover, the big one being it does not read indentation. Although, I know that there are blind programmers using a Mac. So I would like to get an idea of what is the toolchain that people are using for developing on a Mac. What is accessible and what is not. Specifically, Eclipse, VS Code, and the big one being XCode.I am thinking of learning React Native specifically mainly because of my existing knowledge in using _javascript_. I know that building games would just be not a good idea because of the limitations of React Native vursus Swift. This is mainly for building apps that are not games, so I suppose this topic could go more in the off topic room.Is there anyone who has experience programming on a Mac and even better building IOS apps on a Mac using React Native who could share the tools they use and processes for compiling, running, and then sideloading apps using a free Apple developer account. At the moment I do not intend on paying the $100 for the ability to post apps in the app store, this is mainly for educational purposes.Thanks,timothy Breitenfeldt

URL: https://forum.audiogames.net/post/578257/#p578257




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: JUnit accessible?

2020-10-07 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: JUnit accessible?

Oh, I see. Well, I determine weather there is a test that fails by tabbing twice from the treeview, which is where the output for test errrors will go. If there is a test that failed, there will be output in this window. Otherwise, assume that your test is passing. I think that there is some color marking the tests that failedand passed, but NVDA does not read them. Remember that you can run individual tests, if you go to the treeview and expand the class, you can right click on any of your methods and click run to just run that test.

URL: https://forum.audiogames.net/post/578137/#p578137




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: JUnit accessible?

2020-10-06 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: JUnit accessible?

Yes, I use Eclipse for my job writing Java Spring Boot code, and I have definitely ran tests just fine. It took me a little bit to figure it out too.Of course, like #2 said, you can just run your test in the command line using maven or gradle, but to use eclipse, see below.First make sure your in the package explorer, you can get there by doing alt+shift+q and arrowing down to the package view or just pressing p. Then arrow down to your project and select your test that you would like to run. Do a right click/shift f10/application key, and press r, or down arrow to the run as submenu. Press right arrow and scroll down to run as j unit test. Now, to se your test results, you need to get to the java j unit test view. So do alt+shift+q again, which pulls up a list of all of your quick views. For some reason, the j unit test view is not here for me, so you will need to choose the first option, "show views", which will open a dialog with all of the views, down arrow to java, expand it with the right arrow, then down arrow to j unit and press enter. this will ad j unit to your open views. to get back to the package view, you can press control+f7 and control+shift+f7 to toggle your views. The JUnit view is now open, so you can toggle through the views to jump back and fourth between JUnit and package, or whatever view you want. I am sure you know, but f12 will jump to the open editor too.Hope this helps,Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/577909/#p577909




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Earwax

2020-10-06 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Earwax

At #74, I actually just had a conversation through email with Chris about this very same error accept it was with one of the other examples. Earwax was written in the most recent version of Python at the time of writing which was version 3.8.6. I am using 3.7.6, and got the same error about dist not being in the Math library. must be something that was introduced in 3.8. I have not updated yet, but I might just do that now.Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/577882/#p577882




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Handling Input in Pyglet

2020-08-11 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Handling Input in Pyglet

Hi, sorry for all of the questions in the same thread, they are just all related to pyglet input handling.Anyways, I was wondering about the event handler on_text_motion_selectI have a text box that I created using the on_text_motion, and on_text handlers, but I did not realize there was one for selecting text. My text box is currently using on_key_press for selection commands, which obviously is not cross platform friendly. Mac users would have to use windows commands to select things.So I started looking into on_text_motion_select once I read about it somewhere, and I am a bit confused since the events for the on_text_motion_select are the same in the docs as for on_text_motion. IF this is true, and you are using both handlers, how do you know if you are navigating or selecting text if the same event is passed to both at the same time. Is there some other prerequisite for something to be considered to be selected that I am missing in the docs?

URL: https://forum.audiogames.net/post/560551/#p560551




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Handling Input in Pyglet

2020-08-10 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Handling Input in Pyglet

Got it, that worked for me.Thank you.

URL: https://forum.audiogames.net/post/560199/#p560199




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Handling Input in Pyglet

2020-08-10 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Handling Input in Pyglet

Thanks for the reply camlorn. I have put some thought into what you said, and started trying to write up something that would extract modifiers for me. In the process I started thinking more about the bitwise operations that are occurring. After some testing and research into how bitwise operations work, since it has been a long time for me, I came up with something.Firstly, as far as I can tell, the modifiers value in pyglet is just each modifier key value using bitwise or with each other.I found that the bitwise or operation converted to decimal, is just addition, at least so it appears. so I just added two lines at the bottom of my Key constructor,         if self.modifiers & key.MOD_CAPSLOCK:            self.modifiers -= key.MOD_CAPSLOCKSo I check if capslock is present in the modifiers using bitwise and, and if it is, then in decimal, subtract the value of capslock from the modifiers.It seems to be working perfectly, all of my normal key strokes are working when capslock is turned on or off, but does anyone see a glaring problem in this that I am missing?ThanksTimothy Breitenfeldt

URL: https://forum.audiogames.net/post/560182/#p560182




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Handling Input in Pyglet

2020-08-09 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Handling Input in Pyglet

Hi, so I finally came up with a way of handling key input that I like that works with my state machine. One thing that was mentioned before about pyglet is that capslock is a modifier key when it is turned on, which means that all of my other key board commands don't work while capslock is on. It is not a big thing, but it does bother me. Any suggestions for handling this? I would like it to ignore the capslock key, or at least simulate ignoring the capslock key. It is kind of an irritating problem because the modifiers are calculated in a bitwise fashion, and I am not very familiar with bitwise operators.The way I see it is I have two options, either add capslock to the modifiers for the keys I am expecting if the first comparison fails, or strip out the capslock modifier out of the modifiers for the keys that were just pressed if capslock is present. The first way looks the easiest, although, my comparison looks something like this:    def on_key_press(self, symbol, modifiers) -> bool:        ...            pressed_key: Key = Key(symbol, modifiers)            if pressed_key in self.registered_key_presses:        ...where Key is just a custom object I created for storing symbols and modifiers. It allowed me to override the equals operator to make comparisons easier, and for storing keys in a dictionary. Basically the way this class works is that if you want key input, create a KeyHandler object, calladd_key_press(symbol: int, modifiers: List[int], callback: Callable, *args, **kwargs)then add the key handler to the pyglet event stack using window.push_handlers(...)Anyways, so I have a dictionary of registered Key objects and Callbacks that the user provided. So all I have to do is create a new Key object with the provided symbol and modifiers and check if it is in the dictionary of registered keys using the in operator. Given this, with out losing efficiency, I am not sure how to add capslock to the expected key modifiers without adding it to all of the keys.I suppose that is an option as well, just add capslock as a modifier for all keys by default that are registered and if I compare the pressed keys to the expected keys, I can run to comparisons one without capslock and one with capslock added to the pressed keys. Hum... not sure if I like that option though.The second option I see is removing the capslock modifier from the modifiers it it is present. I could use the "&" bitwise operator to see if it is in the modifiers, although I have no idea how to remove a modifier with bitwise operations. I did some google searches, and if what I am reading is correct, you can't really without sacrificing efficiency, but I am not sure.Any suggestions?

URL: https://forum.audiogames.net/post/559968/#p559968




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Accessible_output2 and Pyglet Title Issue

2020-08-09 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Accessible_output2 and Pyglet Title Issue

Thank you for the replies. I figured it out. It turns out that when I was trying to silence the screenreader right after the constructor was called, I was not interrupting.

URL: https://forum.audiogames.net/post/559898/#p559898




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Accessible_output2 and Pyglet Title Issue

2020-08-09 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Accessible_output2 and Pyglet Title Issue

Thanks for the replies, I tried Hijacker's suggestion of changing the extention of my main file to pyw, and running it using pythonw, but it did not change anything.I just realized something. I was passing None into output because it seemed to be silencing NVDA, but it turns out it was not doing what I thought. Passing an empty string reads blank for NVDA at least, how can I silence NVDA using accessible_output2?Part of the issue is that It is trying to read the name of the file for the window title as soon as the window constructor is  called, and I am not speaking the inro text until a bit further down in my code. I am Trying to build an environment that I can use for other projects, so I am trying to make my code as extendable as possible. Anyways, so there is a cycle or two that occurs before the actual title is read, followed by the intro text. I would prefer to just have silence until my title is read.

URL: https://forum.audiogames.net/post/559891/#p559891




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Accessible_output2 and Pyglet Title Issue

2020-08-08 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Accessible_output2 and Pyglet Title Issue

At Pyglet devs, does anyone else have an issue when the pyglet window opens, NVDA tries to speak the name of the executed python file, but it is interrupted by the title you set for the caption.For example if you run:py main.pyNVDA starts to say main, but cuts off and speaks the caption. Does anyone else have this issue, and does anyone have any suggestions to fix it. I have already tried to fix it by using aauto.output(None, interrupt=True)call, called immediately after my call to the super class constructor for window.        super().__init__(640, 480, resizable=False, fullscreen=False, caption="example")auto.output(None, interrupt=True)I also tried using schedule_once to fix my issue, like before, but no matter the delay I seem to give, it just keeps trying to speak that file name.

URL: https://forum.audiogames.net/post/559684/#p559684




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Accessible_output2 and Pyglet Title Issue

2020-08-07 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Accessible_output2 and Pyglet Title Issue

Hi, thank you for the replies. That did it, although it took some tweaking to get just right with both JAWS and NVDA.I leveraged pyglet.clock.schedule_once(callback, 0.2)I just setup in my callback here to speak the title of the window as interrupted, and my intro text following not interrupting.I had to add a call to silence the screenreader as soon as the window was being created, well right after I called pyglet.window.Window.__init__(...)There was some bug some of the time that was fixed when I did this where it was trying to speak the name of the module the main program is running from and then being interrupted very quickly.Anyways, this way I am controlling when and how the title is spoken, and it works with JAWS and NVDA.Thank you for the tips on delaying the screen reader.

URL: https://forum.audiogames.net/post/559247/#p559247




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Accessible_output2 and Pyglet Title Issue

2020-08-06 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Accessible_output2 and Pyglet Title Issue

Hi, I am working with acccessible_output2 and pyglet, and am having a rather irritating experience, where when you run the program opens, NVDA reads out the title of the pyglet window, but completely ignores any messages I wanted to be spoken at initial start up. Of course because working with screenreaders is never easy, when I use jaws, the text I want spoken is read, but the title of the pyglet window is not. I am not sure if there is anything that can be done here, but thought I would throw it out for those pyglet developers and see what people had to say.Thanks,Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/558934/#p558934




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Handling Input in Pyglet

2020-08-03 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Handling Input in Pyglet

Thank you for the responses. I have one more question about pyglet input handling. Based on everything I have seen, you can either use the on_key_press and on_key_release methods for event capturing, or do event pulling in the update method such as what magurp244 is doing or using the pyglet KeyStateHandler. Pulling is not my first choice, I would rather handle key handling in the on_key_press and on_key_release methods so that key logic is only ran once the key event is fired. My problem is key repeating, I am having a tough time coming up with a way to use on_key_press and on_key_release and leveraging key repeating functionality.It seems that pyglet does not provide a built in way to handle key repeating like pygame, you have to throw flags based on key release and pressed events, which most people seem to jump strait event pulling in the update method. Besides, if you are getting key events for typing into a custom built screenreader based textbox, from my limited understanding of game design, it is not recommended to collect key input pulling. I am mainly basing that observation from pygames documentation.So, is there a way to get key repeating functionality without pulling in pyglet?

URL: https://forum.audiogames.net/post/557996/#p557996




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Handling Input in Pyglet

2020-08-03 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Handling Input in Pyglet

Thank you for the responses. I have one more question about pyglet input handling. Based on everything I have seen, you can either use the on_key_press and on_key_release methods for event capturing, or do event pulling in the update method such as what magurp244 is doing or using the pyglet KeyStateHandler. Pulling is not my first choice, I would rather handle key handling in the on_key_press and on_key_release methods so that key logic is only ran once the key event is fired. My problem is key repeating, I am having a tough time coming up with a way to use on_key_press and on_key_release and leveraging key repeating functionality.It seems that pyglet does not provide a built in way to handle key repeating like pygame, you have to throw flags based on key release and pressed events, which most people seem to jump strait event pulling in the update method. So, is there a way to get key repeating functionality without pulling in pyglet?

URL: https://forum.audiogames.net/post/557996/#p557996




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Multiple State Menus?

2020-07-29 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Multiple State Menus?

I agree with camlorn, I did not really get a good grasp on state machines until recently, and it has driven me nuts, and I did not really feel like I could design a game with out that understanding. That is definitely not true, I just enjoy code design, and a state machine is a excellent way of handling the issue of event handling when working within a single game loop.It sounds like you have the right idea, I recommend looking at the resource I posted in post 13, that is what helped my break through with understanding state machines. As camlorn said, you probably won't use state machines for everything, but they definitely help in the overall working peaces, main menu, options menu maybe, the game etc... and anyone of those states may have their own state machine that it manages, such as a menu. If you use a menu for state machines versus just a list of strings, it allows you to add other types of elements to your menu than just text, such as a toggle button or text box. I set up my menu to take a string or an IState object, and I just created a BasicMenuItem class that takes a string as an argument. This way I can create a menu like normal menu.add("start game")and behind the scenes it is actually just creating a dummy state, passing the text in, and that text is read on focus. I could also say menu.add(ToggleButton())which will ad a toggle button to my menu which is just another state object.

URL: https://forum.audiogames.net/post/556648/#p556648




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Multiple State Menus?

2020-07-27 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Multiple State Menus?

Hi, this is the implementation I am using for my state machine. I am using this for python, but it does not have to be.I took my implementation of my state machine from here:http://howtomakeanrpg.com/a/state-machines.htmlIt is still a bit of a work in progress as I continue working on my environment, but this has been working great for me so far.I modified it a bit, but it is the same idea, here is my implementation:here is my state.py from abc import ABC, abstractmethodfrom typing import Callablefrom pygame.event import Eventclass IState(ABC):    @abstractmethod    def setup(self, *args, **kwargs) -> bool:        """This method is called once when the state changes to initialize the  state before the state starts running. False is returned if this state can not be entered."""    @abstractmethod    def update(self, delta_time: float) -> bool:        """This gets called every frame when the state is active, used to update the innerworkings of the state. This method also returns a boolean to signify it is time to shutdown the system if False."""    @abstractmethod    def handle_input(self, event: Event, change_state: Callable[[str, any], None]) -> bool:        """This gets called every frame when the state is active, checking for keyboard input, and switching states as needed. True is returned if the event has been handled, false if not."""    @abstractmethod    def exit(self) -> bool:        """This method is called once when the state changes, just before the new state is initialized, before the state switch. False is returned if this state cannot be exited."""Here is my state_machine.py it includes an empty state class, which is just a filler to act as a default state to avoid some conditional complexityfrom typing import Callablefrom pygame.event import Eventfrom state import IStateclass EmptyState(IState):    def setup(self) -> bool:        return True    def update(self, delta_time: float) -> bool:        return True    def handle_input(self, event: Event, change_state: Callable[[str, any], None]) -> bool:        return True    def exit(self) -> bool:        return Truefrom typing import Dictfrom pygame.event import Eventfrom state import IStatefrom empty_state import EmptyStateclass StateMachine:    def __init__(self) -> None:        self.states: Dict[str, IState] = {}        self.current_state: IState = EmptyState()    def add(self, key: str, state: IState) -> None:        self.states[key] = state    def remove(self, key: str) -> None:        del self.states[key]    def clear(self) -> None:        self.states.clear()    def change(self, key: str, *args: any, **kwargs: any) -> None:        if self.current_state.exit():            next_state: IState = self.states[key]            if next_state.setup(*args, **kwargs):                self.current_state = next_state    def update(self, delta_time: float) -> bool:        return self.current_state.update(delta_time)    def handle_input(self, event: Event) -> bool:        return self.current_state.handle_input(event, self.change)And here is an example of my main loop using this state machineI have a helper module I am using to wrap my input handling to make some things easier to deal with.import pygamefrom pygame import Surfacefrom pygame.time import Clockfrom state_machine import StateMachinefrom utils import input_managerfrom ui import MainMenuWINDOW_TITLE: str = "My Game"WIDTH: int = 360HEIGHT: int = 480FRAMES_PER_SECOND: int = 30pygame.init()pygame.mixer.init()screen: Surface = pygame.display.set_mode((WIDTH, HEIGHT))pygame.display.set_caption(WINDOW_TITLE)clock: Clock = pygame.time.Clock()def main() -> None:    state_machine: StateMachine = StateMachine()    setup(state_machine)    run_main_loop(state_machine)    pygame.quit()def setup(state_machine: StateMachine) -> None:    input_manager.set_key_repeat()    audio_manager.auto_load_sounds()    state_machine.add("main_menu", MainMenu())    state_machine.change("main_menu")def run_main_loop(state_machine: StateMachine) -> None:    is_running: bool = True    while is_running:        milliseconds: float = clock.tick(FRAMES_PER_SECOND)        is_running = state_machine.update(milliseconds)        for event in pygame.event.get():            if event.type == pygame.QUIT:                is_running = False            elif input_manager.is_key_pressed(event, pygame.K_w) and input_manager.is_modifier_pressed(pygame.KMOD_CTRL):                is_running = False            elif input_manager.is_key_pressed(event, pygame.K_F4) and input_manager.is_modifier_pressed(pygame.KMOD_ALT):                is_running = False            if input_manager.is_key_pressed(event) or input_manager.is_key_released(event):                state_machine.handle_input(event)        pygame.time.wait(5)if __name__ == "__main__":    main()I can throw up an example of a concrete menu example if you want. The idea is that just about everything extends from IState, which must implement the methods: setup, update

Handling Input in Pyglet

2020-07-23 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Handling Input in Pyglet

Hi, I had some questions about how I have seen input handling done in pyglet, although I don't think this is specific to pyglet for the most part. I have been doing some searches to look at code snippets of pyglet to help get my feet wet now that I have written more or less the hello world of pyglet, and I keep seeing a particular design pattern for handling input.you have a class with a member variable called key_input in which keys are stored, so the on_key_press and on_key_release are just adding events to the array, not sure when they are removed though, and input is then handled with in the update function, passing along the key and delta_time to your states. Not sure if I quite got that write, I was looking at some examples that I found on the form, but lost them. My question is why push the key handling into the update function. I know it is called every frame, but on_key_pressed is called when the key pressed event fires, and it seems that any key handling logic belongs in the key handling functions.I am probably showing my ignorance of game design, but it just doesn't make any sense. Another way I saw of how to handle key presses was rather interesting. I pulled these examples from this site:https://pyglet.readthedocs.io/en/latest … egame.htmlThe basic idea is this, setting up a key dictionary{up: False, down: False, left: False, right: False}checking for up, down, left, and right respectively, in on_key_pressed and on_key_released, and setting the corresponding boolean. Then again in update, the key checks occur, checking the key dictionary if the arrow keys are pressed.Any object that uses the on_key_pressed and on_key_released can then be added to the event stack as a event handler using push_handlers.Looks like there is a simple way to implement the key dictionary using the pyglet.window.key.KeyStateHandlerso that you can completely remove having to ever write a on_key_pressed and on_key_released function.This just seems strange to me to push the key handling off into the update function, and not sure if this causes problems with checking modifiers, such as checking for control plus s.In my experience, I have just written state machines in pygame, using a handle_input function for key logic, and update function for updating state for the object. I suppose these things could intersect, and that is what I am seeing in the examples, but some clarification would be great.Thanks

URL: https://forum.audiogames.net/post/555032/#p555032




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Reviewing Pyglet

2020-07-23 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Reviewing Pyglet

Thank you for the helpful information. This clarifies a lot for me. Thanks for the tips chrisnorman7, I will keep that in mind. At magurp244, since it sounds like the wrapper you have you regularly use, I would be interested in getting an up to date version of that script. Can you post it, or throw it up on github? or if you know of any alternative wrappers for open AL in python that would be great.

URL: https://forum.audiogames.net/post/554939/#p554939




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Reviewing Pyglet

2020-07-22 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Reviewing Pyglet

Thanks for the replies.Actually right now I am using WX for my project. The issue is that right now I am doing some things that I am not happy with, mixing visual components, and screenreader only output to get it to do what I want. What i am doing just feels hackery, and I am looking at switching user interfaces. I would rather just go all in on audio only, with screenreader output than deel with WX anymore.I was working on a system in pygame, which works great. I got a state machine up and rolling with my own game loop, but one of the things I did really like about what I currently have in WX is the ability to create new windows. I could get around that using the same window, change state to the new window I want focus to, and use something like control plus tab to switch back. That is an idea I have been toying with. It just seemed that I was better off making a educated decision now on weather to keep working with pygame, or switch to a different game engine like pyglet before I get in to deep. Honestly, for this particular project spacial audio is really not impoartant unless I wanted to get crazy with sound effects. It is just a card game. I am more looking at something I can use for future projects for spacial audio. At Camlern, why should I not use one of the open AL wrappers? When I was digging around on the form here, I came across this post talking about audio wrappers, and magurp244 provided a zip folder for a wrapper I believe he wrote. Have not seen a github for it, but I am sure there are plenty of wrappers like this floating around. All I need is one that can at least give me 2d spacial audio, and yeah, being able to tell if an object is behind me is very useful.https://forum.audiogames.net/topic/3436 … or-python/I am glad to here about the lag issue not being true. I guess the question is, do most people just use pygame because that is usually the go to basic game engine in python?

URL: https://forum.audiogames.net/post/554792/#p554792




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Reviewing Pyglet

2020-07-22 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Reviewing Pyglet

Hi, I have used pygame for a long time for anything I have worked on, but am looking at pyglet mainly because of the project I am working on needs to be able to open separate windows, and doing it in pygame is not impossible from my understanding, but not worth the headache. I have looked into Pyglet and done some searches on this form about what people have said. I have played with pyglet once, and all I remember is that you don't have to manage  the game loop yourself anymore like in pygame, it is abstracted away for you. I understand pyglet handles 3 different drivers, openAL being I think the best option, for cross platform compatibility and 3d audio support.I am not really concerned about 3d audio support, I know there is a lot that can be said on that topic, and from other threads I have seen, people are trying to create libraries to help access to 3d audio code. 2d is fine for me for now, but having the option of 3d is great.I have seen some people mention that pyglet is a bit laggy, can someone expand upon that? Are there any disadvantages that I should know about using Pyglet?Thanks

URL: https://forum.audiogames.net/post/554764/#p554764




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: WSL2 and bash - select all feature?

2020-06-11 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: WSL2 and bash - select all feature?

Well, one thing I will add to this conversation is that you can also pipe things from a WSL terminal into the Windows clipboard. WSL has access to all of the same executables that are available in your Windows environment path, just remember that WSL does not automatically determine the extention if it is .bat, .exe, etc...anyways, you can do command | clip.exeand it will pipe the output of your command into your clipboard. Just in case you want to skip the process of directing to a file and you want to paste the output somewhere specific.

URL: https://forum.audiogames.net/post/540082/#p540082




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: WSL2 and bash - select all feature?

2020-06-09 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: WSL2 and bash - select all feature?

Wow, I did not know about tmux. Is it completely accessible?

URL: https://forum.audiogames.net/post/539158/#p539158




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: WSL2 and bash - select all feature?

2020-06-09 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: WSL2 and bash - select all feature?

Also, I may switch to WSL2 for just the reason of being able to run docker, rather than what I have to do now, which is install docker desktop on my host windows machine, and connect to that docker daemon remotely from WSl. It works, but it took forever to setup and I have to turn on hyperV to use docker desktop which means I cannot use VMWare, which is my favorite virtual machine software.

URL: https://forum.audiogames.net/post/539105/#p539105




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: WSL2 and bash - select all feature?

2020-06-09 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: WSL2 and bash - select all feature?

Hi, I have started using WSL in the past few months, I am a full stack web developer, and use Windows. As I am sure you learned like me, it can be rather frustrating to deal with a Windows environment when everything else is running in Unix. I have not updated to WSL2 yet, when I first picked up WSL, people were saying it was still a bit unstable at the time. It sounds like the devs got the bugs worked out, I might have to look into updating.This might get a bit long to explain everything though, sorry about that.As far as copying and pasting, yes this is something that drove me nuts too. I was determined to come up with a solution, and I finally did, although it is not great. The first problem is that WSL was not capturing control+c, or control+v to paste. Especially since control+c is generally for stopping a process. However, I have found that the Windows command prompt is very accessible, honestly the most accessible shell I have seen on Windows, at least now on Windows 10, so what I did is setup WSL to run in the command prompt AKA, opening the command prompt and typing wsl. This provides the command prompt environment running WSL, which sounds good at first, but WSL seems to swallow almost all keyboard shorcuts including control+v and control+c. So, you can enable a secondary way to copy and paste in the command prompt by opening the command prompt and doing alt+space and scrolling down to properties. If you check the box for "Use control plus shift for copy and paste", you should now be able to use control+shift+c and control+shift+v in the command prompt and in WSL running in the command prompt. For what ever reason, WSl does not swallow the commands when using shift. This now means you can paste commands into WSL as long as you are running it in the command prompt, although irritatingly, you still cannot select, so your copy command does not help much yet. However, in the command prompt you can manully get to the select all option through control+space and going to edit, although of course WSL swallows the control+space command, so I have found a work around using the NVDA feature for reading what the mouse hovers over. If you take your mouse and move it up into the top left corner of the screen, NVDA should read "System", if you left click on that,  it will open up the same menu you accessed using control+space. I discovered this through a lot of trial and error, but once you get that menu open, you can scroll down to edit and select all. you can either reopen that menu to copy, or just to control++shift+c to get it into your clipboard.I am guessing one of the reasons you want to copy and paste everything is to get around the fact that neither NVDA or JAWS can read beyond what is shown on the screen, and scrolling tends to be a pane. In the command prompt you can do control+m to turn on mark mode which will automatically scroll, allowing you to just use the arrow keys whith out changing your cursor to read the screen. Of course this does not work in WSL, so I just maximize the screen to get as much text visible as possible, and copy and paste all output into notepad as needed.I don't know how different WSL 2 is, perhaps some of these issues have been resolved, but that is how I am handling copying and pasting in WSL. I setup a batch script that I just placed in my C drive calling it lsh for (linux shell), and have a have the command to launch the command prompt executing WSL in a maximized window. I just added this batch script to my environment path, so that I can just type lsh from anywhere, and it will open up WSL for me in the command prompt.Here is what my batch script looks like:@echo offstart /max cmd /c C:\Windows\System32\wsl.exeHope this helps,Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/539100/#p539100




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Mac Pyinstaller error with accessible_output2

2020-04-13 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Mac Pyinstaller error with accessible_output2

I have looked into this error a bit more, and my biggest confusion is why pyinstaller has a problem at all with DLLs that I am not providing at all in the binaries array. I have tried completely stripping out my reference to the dlls, and just passing an empty array, and it is still trying to load the dlls for some reason, and throwing an error. On Windows, it creates the executable if you dont' provide the dlls, the executable just doesn't work. That is the behavior I would expect since I don't believe python performs a lookup on a file for a peace of code that has not executed yet that is not an import, such as a text file that is being read from and does not exist. Perhaps I am just not understanding something about how python on a Mac loads dll files. I always thought that dll files were windows specific libraries though.

URL: https://forum.audiogames.net/post/519116/#p519116




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Github and Git

2020-04-13 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Github and Git

Hi, I believe that most of the individuals on this forum are going to tell you that the commandline tool is the best way to use git with a screenreader. I would provide a link, but I don't know what platform your on, but it should be pretty easy for you to google "download git commandline client" The commands are pretty strait forward, although it is a bit confusing at the beginning because there are so many. You really only need a handful of commands most of the time, and you can look up commands as you need them. I don't know any resources specifically, but you should be able to google something like "getting started with git commandline" and you should find some good starting points.I will try and summarize git and the commands you will likely regularly use.Git is a client to connect to a versioning system like Github which will store every commit of your source code in branches. Think of branches like a tree structure. The master branch is the apex of the tree, and you can create as many branches as you want from master, in addition to being able to create branches off of those subbranches. You push code to github through the git client to a specific branch, and Github will keep track of all of your commits so that you can rollback to any commit you want at any point in time. Note that the git client will create a mirrored local repository on your computer that is supposed to reflect what is on Github. So, the commands to push require you to stage your changes, commit them to your local repository, then push to your remote github repository.So, for pushing the commands are:git add .git commit -m "type some message here"git push origin masterThere is still a lot to unpack here, but this is the basics. in git add, the period at the end signifies the everything in the current directory that the command line is working in. In the commit command notice the -m flag which allows you to define a message for the commit, it is important to provide a revealing message for the commit so that you can know what that commit is for later. You can also write more lengthy commit messages in a text editor, if you do just git commit.The last command, git push origin master is a bit self-explanatory, but to clarify, you are pushing to the remote repository into the master branch. You can put any branch you want instead of master to push to that branch instead.to pull from github:git pull origin masterThis will pull from the remote repository from the master branch, as mentioned, you can replace master with any branch name.to create a new branch:git checkout -b branchNameThis is the easiest way I have found to create a branch because it will create a new branch with the -b flag with the name provided, and switch to that branch.To get information about what branch you are working on, or if you have staged files to be commited, etc... Use either:git branchWhich will give you a list of the branches in your repository, with an asterisk nexct to the branch you are currently using.or you can use git statusto get information about the branch you are working on right now.Use this command to switch to a new branch:git checkout branchNameThis is similar to the command to create a branch minus the -b flag. Rather than attempting to create a new branch, it just switches to an existing branch assuming that you provided a correct branch name.There are some other commands that you will pick up over time to move back to previous commits, deleting branches, etc... but these are probably the most commonly used commands. I would be happy to go into more detail if you would like, but this post is already getting lengthy, and I am not sure what you don't already know.I hope that this was helpful,Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/519110/#p519110




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Mac Pyinstaller error with accessible_output2

2020-04-12 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Mac Pyinstaller error with accessible_output2

Thanks for the response. I actually did see that post you mentioned on pyinstaller. That was just about the only thing I could find that was even close to this error. I would rather not switch compilers if I can avoid it. I have my build scrips written for pyinstaller.Thanks,Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/518849/#p518849




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Mac Pyinstaller error with accessible_output2

2020-04-11 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Mac Pyinstaller error with accessible_output2

Hi, so I have been working on making a application cross platform for Windows and Mac. I have everything working on Windows and Mac now, except when I went to go package program up using pyinstaller on Mac, I am getting an error that I have never seen before. I am using python 3.7.6 using accessible_output2. On windows I am able to create the executable just fine adding the dlls as binaries to pyinstaller and packaging it up as a single file (one file). When I tried to run this same code to build my executable on Mac, I am getting an error.The stack trace is below:Traceback (most recent call last):  File "/Library/Frameworks/Python.framework/Versions/3.7/bin/pyinstaller", line 8, in     sys.exit(run())  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/PyInstaller/__main__.py", line 114, in run    run_build(pyi_config, spec_file, **vars(args))  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/PyInstaller/__main__.py", line 65, in run_build    PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/PyInstaller/building/build_main.py", line 734, in main    build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/PyInstaller/building/build_main.py", line 681, in build    exec(code, spec_namespace)  File "src/mtg.spec", line 25, in     noarchive=False)  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/PyInstaller/building/build_main.py", line 244, in __init__    self.__postinit__()  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/PyInstaller/building/datastruct.py", line 160, in __postinit__    self.assemble()  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/PyInstaller/building/build_main.py", line 470, in assemble    redirects=self.binding_redirects))  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/PyInstaller/depend/bindepend.py", line 230, in Dependencies    for lib, npth in selectImports(pth, xtrapath):  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/PyInstaller/depend/bindepend.py", line 501, in selectImports    dlls = getImports(pth)  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/PyInstaller/depend/bindepend.py", line 742, in getImports    return _getImports_macholib(pth)  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/PyInstaller/depend/bindepend.py", line 625, in _getImports_macholib    m = MachO(pth)  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/macholib/MachO.py", line 118, in __init__    self.load(fp)  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/macholib/MachO.py", line 133, in load    self.load_header(fh, 0, size)  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/macholib/MachO.py", line 167, in load_header    raise ValueError("Unknown Mach-O header: 0x%08x in %r" % (header, fh))ValueError: Unknown Mach-O header: 0x4d5a9000 in <_io.BufferedReader name='/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/accessible_output2/lib/nvdaControllerClient64.dll'>It seems to be trying to find the dlls which I added to the binaries as I mentioned, so I tried just not building with the dlls at all since they are not important for Mac anyways, but I got the same error.the spec file look like this:# -*- mode: python ; coding: utf-8 -*-import osimport platformblock_cipher = Nonebinaries = []if platform.system() == "Windows":    binaries = [(os.path.join('accessible_output2', 'lib', 'nvdaControllerClient32.dll'), '.'), (os.path.join('accessible_output2', 'lib', 'nvdaControllerClient64.dll'), '.'),                (os.path.join('accessible_output2', 'lib', 'dolapi.dll'), '.'), (os.path.join('accessible_output2', 'lib', 'PCTKUSR.dll'), '.'), (os.path.join('accessible_output2', 'lib', 'PCTKUSR64.dll'), '.'),                (os.path.join('accessible_output2', 'lib', 'SAAPI32.dll'), '.')]a = Analysis(['mtg.py'],             pathex=[SPECPATH],             binaries= binaries,             datas=[],             hiddenimports=[],             hookspath=[],             runtime_hooks=[],             excludes=[],             win_no_prefer_redirects=False,             win_private_assemblies=False,             cipher=block_cipher,             noarchive=False)pyz = PYZ(a.pure, a.zipped_data,             cipher=block_cipher)exe = EXE(pyz,          a.scripts,          a.binaries,          a.zipfiles,          a.datas,          [],          name='mtg',          debug=False,          bootloader_ignore_signals=False,        

Re: Automatic Updater in Python

2020-04-05 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Automatic Updater in Python

Thank you for the replies. I have almost finished implementing Hijackers method for handling this, and so far it is working great. However, I have been having problems finding the write code for creating a new process that is independent of the process that started it. In otherwords, I want to be able to run the updater, reach the end, the user presses enter, then right before closing it launches my main application. The code I am using seems to create a child process, and the parent process is waiting until the child process has closed. I am using subprocess right now, here is the line I am using for starting a new process for windows, my mac code is slightly different:                subprocess.check_output(["start", "upgrader.exe"], shell=True, stderr=subprocess.PIPE, stdin=subprocess.PIPE)As I mentioned I have two lines of code to do this, one for windows and one for unix. Is there a better way of doing this, and how can I create an independent process rather than a child process.Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/516377/#p516377




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Automatic Updater in Python

2020-04-03 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Automatic Updater in Python

Hi, I am trying to create a platform independent automatic updater in python 3.7.6. I had it working successfully for a while, but only on windows. This is kind of a confusing thing I am trying to do, and perhaps someone can tell me if I am just nuts, and need to suck it up that I can't update my updater.Anyways, so what it was doing was checking my web server for version.txt using a HTTP GET request, and comparing it against the version number in the program. If the user chooses to update, it makes an HTTP request to pull the zip file from the server into the temp directory, unzip it, and starts moving files over replacing the old  files. This is where my problem is. So, I have the main exicutable that was created using pyinstaller --onefile, a second exicutable that is my updater, plus other files and folders.I would like the ability to update the updater as well, which seems paradoxical, but if I make changes to the updater, I would like those changes to be pushed and downloaded by the updater also. The main problem is on windows, although I have not looked much into Mac yet, you cannot delete a file of a running process. This means that when I start moving files from the new version in temp to the location of the installed program, I can not replace the updater executable because it is running. I don't think Linux has this restriction, not sure about Mac yet. So, I solved this before, by using a hackery batch command. My updater wrote a batch script to kill the process of my updater, move the files, and at the end I used this command, (goto) 2> NUL & del \"%~f0\" & pause & exitwhich performs a goto instruction that I don't quite understand, but allows me to self delete the script so the user doesn't have a batch script just hanging around, and pauses just before exiting.It is pretty terrible, but it worked. I was able to update the updater and push the new update. Users  would pull the update if the user chose to update using the updater, and the updater would generate the batch script that handled moving files, and would self delete. To my problem, I want this functionality platform independent, well at least working on Mac also. So, am I crazy to try and create a self updating updater, or is there a better solution.The option I have been pondering is, using the same solution for windows, and just doing a operating system check to perform a different set of tasks for Mac. I don't like this though for reasons that I am sure most can guess.I am guessing that most people are going to tell me to just except that the updater won't get updated, it is just a utility program to update the main application, and that I need to just write the code well the first time and not touch it again. I am curious though if what people's thoughts are on this.Thanks,Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/515767/#p515767




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: accessible_output2 Error on Mac (Python3.7.6)

2020-04-02 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: accessible_output2 Error on Mac (Python3.7.6)

Hi, thank you for the replys. I am glad that I could bring up an issue that has not been addressed. Thank you for the work around by enabling Voiceover access by apple script, that worked for me. I wish I could help in resolving this issue, but I would need to do a lot of learning on the Mac before I could speak intelligently about a problem like this. My intention is to keep working with the Mac and eventually pick up objective C/Swift and apple script, but I need to feel comfortable using Voiceover first.Thank you to the developers who end up tackling this issue,Timothy Breitenfeldt

URL: https://forum.audiogames.net/post/515393/#p515393




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


accessible_output2 Error on Mac (Python3.7.6)

2020-04-01 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


accessible_output2 Error on Mac (Python3.7.6)

Hi, I am working on a cross platform game. I Wrote the code on my Windows computer using python 3.7.6 and accessible_output2. It runs fine on Windows, however when I went to go test it on my Mac, I installed python 3.7.6 and accessible_output2 first to make sure that was working, and I am getting an error.Is anyone else having an issue with accessible_output2 on Mac using python 3?This is my terminal output in the interactive shell:Python 3.7.6 (v3.7.6:43364a7ae0, Dec 18 2019, 14:18:50) [Clang 6.0 (clang-600.0.57)] on darwinType "help", "copyright", "credits" or "license" for more information.>>> from accessible_output2.outputs.auto import Auto>>> screenreader = Auto()>>> screenreader.output("Hello world")Traceback (most recent call last):  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/aeosa/appscript/reference.py", line 599, in __getattr__    selectortype, code = self.AS_appdata.referencebyname()[name]KeyError: 'output'The above exception was the direct cause of the following exception:Traceback (most recent call last):  File "", line 1, in   File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/accessible_output2/outputs/auto.py", line 37, in output    output.speak(*args, **kwargs)  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/accessible_output2/outputs/voiceover.py", line 16, in speak    self.app.output(text)  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/aeosa/appscript/reference.py", line 601, in __getattr__    raise AttributeError("Unknown property, element or command: {!r}".format(name)) from eAttributeError: Unknown property, element or command: 'output'Thanks,Timothy

URL: https://forum.audiogames.net/post/514927/#p514927




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: getting started with Mac OS or IOS development

2019-03-20 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: getting started with Mac OS or IOS development

Hi, I have wanted to do IOS development for a while as well. I have learned a couple things after spending some time doing research with not a lot to show for my efforts. I had to set it down because of school.I can tell you what I learned concerning IOS development. If I get anything wrong I hope someone can correct me.You can sideload IOS apps onto your phone with XCode without paying for the $100 development membership. The $100 is specifically for being able to upload apps to the app store from what I can tell. Apple created a way in recent years for people to be able to transfer apps from your computer to your phone for free using XCode, it is called sideloading. I was never able to successfully do it myself though.From everything I have read, XCode is pretty accessible with Voiceover. I believe that XCode is the best way to develop apps for IOS, however, I was struggling learning how to use XCode with Voiceover. I am not a strong Mac user to begin with, which may have been part of my problem. I would imagine that it is possible to run everything through the terminal, and develop in a different IDE to get around the confusing interface for XCode, but I am not sure, and I have yet to find a simple nice code editor for Mac such as Notepad++ or ED Sharp to use instead of XCode. I suppose there is always text edit.I don't know much about swift, when I was trying to learn IOS development, I was trying to use phonegap, which is a _javascript_ library for creating mobile apps. The idea is that you can create android, IOS, and Windows mobile apps using _javascript_, HTML, and CSS, all with more or less the same code. Based on my research, _javascript_ libraries like that are great for more simple apps, although insuring accessibility in all platforms is challenging from what I was reading. There are also a lot of limitations, so I don't know if this is something that someone would want to use for audio game development.I hope that that was a little helpful. hopefully someone with more experience can provide more information.TJ Breitenfeldt

URL: https://forum.audiogames.net/post/420838/#p420838




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Downloading accessible_output2

2018-03-30 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Downloading accessible_output2

Okay, I got it working on my mac, but not exactly how I want. I am using accessible_output2 as supplemental output with wx python, so I want the currently used screen reader to just read the text output. However, what is happening on my mac is that a new instance of voiceover is used to speak the text, rather than the currently running instance. As a result, I get two instances of voiceover talking at the same time.Is there a way to send speech output to directly to the currently running instance of voiceover, such as with NVDA or Jaws?Thanks

URL: http://forum.audiogames.net/viewtopic.php?pid=357562#p357562




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Downloading accessible_output2

2018-03-30 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Downloading accessible_output2

Hi, It looks like you just gave the link to the homepage of the python package index. Am I missing something? I can't find a download to accessible_output2 and its dependencies.

URL: http://forum.audiogames.net/viewtopic.php?pid=357540#p357540




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Downloading accessible_output2

2018-03-30 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Downloading accessible_output2

Hi, I am working on a game, and I am using accessible_output2 for python 3.4. I was trying to test it on my mac, but accessible_output2 was throwing an error.The error is:File "/Users/timothybreitenfeldt/Documents/game/accessible_output2/outputs/auto.py", line 33, in output    output = self.get_first_available_output()  File "/Users/timothybreitenfeldt/Documents/game/accessible_output2/outputs/auto.py", line 18, in get_first_available_output    if output.is_active():  File "/Users/timothybreitenfeldt/Documents/game/accessible_output2/outputs/voiceover.py", line 33, in is_active    return self.runAppleScript('return (name of processes) contains "VoiceOver"', 'system events').startswith('true') and not self.runAppleScript('try\nreturn bounds of vo cursor\non error\nreturn false\nend try').startswith('false')TypeError: startswith first arg must be bytes or a tuple of bytes, not strI did some searching, and from what I could find, this problem was addressed herehttp://forum.audiogames.net/viewtopic.php?id=21258My problem is that I can't seem to find a working link for accessible_output2. The link is  giving me an 502 gateway error when I click on them.The link I am using is:http://hg.q-continuum.net/accessible_ou … c3f1ca3048Thanks

URL: http://forum.audiogames.net/viewtopic.php?pid=357492#p357492




-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector


Re: Using Python to Populate sqlite3 database with mtgsdk

2017-08-10 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Using Python to Populate sqlite3 database with mtgsdk

At Ethin, thank you for the reply, I have tried setting all of my datatypes to text already, and I was getting an error, once I changed the datatypes to match the python datatypes, it seemed to function better. I am not sure why. I tried changing everything to blob, but I got some other error, so I changed it back. I figured out the error I was having though.I was using filter() to filter out all of the None values from my tuple, but as a result it was returning an iterator not a tuple, and the execute() function only takes tuples as an argument. So, I casted the iterator to a tuple and I am now getting a new error.Traceback (most recent call last):  File "mtgsdkTester.py", line 90, in     main()  File "mtgsdkTester.py", line 16, in main    insertCard(connection, cardProperties)  File "mtgsdkTester.py", line 86, in insertCard    cur
 .execute(sql, temp)sqlite3.OperationalError: table Cards has 19 columns but 20 values were suppliedI have counted the number of elements in the insert statement, number of items in the tuple (temp), and the number of columns in my sql, but I keep getting 20 for everything. Does anyone see the problem?Here is my updated code for my sql and python:note: I change the loyalty from text to int, didn't seem to make a difference since I am testing a non planeswalker, but I tested the value of the variable with a planeswalker, and it is an int.sql:CREATE TABLE Cards(
  "id" int
  "name" TEXT,
  "multiverse_id" INT,
  "names" TEXT,
  "mana_cost" TEXT,
  "cmc" INT,
  "colors" TEXT,
  "color_identity" TEXT,
  "type" TEXT,
  "supertypes" TEXT,
  "subtypes" TEXT,
  "rarity" TEXT,
  "text" TEXT,
  "flavor" TEXT,
  "power" TEXT,
  "toughness" TEXT,
  "loyalty" INT,
  "rulings" TEXT,
  "legalities" TEXT,
  "set_name" TEXT
);python:import sqlite3

from mtgsdk import Card

def main():
dbFile = "cards.db"
connection = createConnection(dbFile)
cards = Card.where(name="The Great Aurora").all()
cardProperties = getCardProperties(cards[0])
insertCard(connection, cardProperties)


def getCardProperties(card):
names = joinList(card.names)
colors = joinList(card.colors)
color_identity = joinList(card.color_identity)
supertypes = joinList(card.supertypes)
subtypes = joinList(card.subtypes)
legalities = formatLegalities(card.legalities)

return (1, card.name, card.multiverse_id, names, card.mana_cost, card.cmc, colors, color_identity, card.type, supertypes, subtypes, card.rarity, card.text, card.flavor, card.power,
card.toughness,card.loyalty, card.rulings, legalities,card.set_name)


def joinList(cardProperty):
if cardProperty != None:
return "|".join(cardProperty)

return cardProperty


def formatLegalities(legalities):
if legalities == None:
return legalities

legalitiesStr = ""
legalitiesLength = len(legalities)

for index in range(0, legalitiesLength):
legalitiesStr += legalities[index]["format"] + ": "
legalitiesStr += legalities[index]["legality"]

if (index + 1) != legalitiesLength:
legalitiesStr += "|"

return legalitiesStr


def createConnection(dbFile):
try:
connection = sqlite3.connect(dbFile)
return connection
except Error as e:
print(e)

return None


def insertCard(connection, cardProperties):
sql = "INSERT INTO Cards VALUES("
cur = connection.cursor()
cardPropertiesLength = len(cardProperties)

for index in range(cardPropertiesLength):
if cardProperties[index] == None:
sql += "NULL"
else:
sql += "?"

if (index + 1) != cardPropertiesLength:
sql += ","


sql += ");"
temp = filter(None, cardProperties)
temp = tuple(temp)
cur.execute(sql, temp)


main()Thanks,TJ Breitenfeldt

URL: http://forum.audiogames.net/viewtopic.php?pid=323770#p323770





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Using Python to Populate sqlite3 database with mtgsdk

2017-08-09 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Using Python to Populate sqlite3 database with mtgsdk

Hi, I am working on trying to pull in data from the magic the gathering database into my local sqlite3 database, and I am using python 3.4 with mtgsdk. you can get mtgsdk from pip install mtgsdk. I believe I have mostly gotten the program set up, but I am getting an error that I can't figure out.I am just testing with 1 card right now to make sure it is working.Part of my problem is that I am not certain what python data types I can use to pass into the insert into statement. I am under the assumption that only ints, floats ,and strings work ,but I don't know, I can't find anything on this to confirm this. Also, I am assuming that None does not work as sql NULL.So, a lot of my code is joining lists and dictionaries, and accounting for None's.The error I am getting is:Traceback (most recent call last):  File "mtgsdkTester.py", line 89, in     main()  File "mtgsdkT
 ester.py", line 15, in main    insertCard(connection, cardProperties)  File "mtgsdkTester.py", line 86, in insertCard    cur.execute(sql, temp)ValueError: parameters are of unsupported typehere is my sql and python.SQL:CREATE TABLE Cards (
  "id" INT,
  "name" TEXT,
  "multiverse_id" INT,
  "names" TEXT,
  "mana_cost" TEXT,
  "cmc" INT,
  "colors" TEXT,
  "color_identity" TEXT,
  "type" TEXT,
  "supertypes" TEXT,
  "subtypes" TEXT,
  "rarity" TEXT,
  "text" TEXT,
  "flavor" TEXT,
  "power" TEXT,
  "toughness" TEXT,
  "loyalty" TEXT,
  "rulings" TEXT,
  "legalities" TEXT,
  "set_name" TEXT
);python:import sqlite3

from mtgsdk import Card

def main():
dbFile = "cards.db"
connection = createConnection(dbFile)
cards = Card.where(name="The Great Aurora").all()
cardProperties = getCardProperties(cards[0])
insertCard(connection, cardProperties)


def getCardProperties(card):
names = joinList(card.names)
colors = joinList(card.colors)
color_identity = joinList(card.color_identity)
supertypes = joinList(card.supertypes)
subtypes = joinList(card.subtypes)
legalities = formatLegalities(card.legalities)

return (1, card.name, card.multiverse_id, names, card.mana_cost, card.cmc, colors, color_identity, card.type, supertypes, subtypes, card.rarity, card.text, card.flavor, card.power,
card.toughness,card.loyalty, card.rulings, legalities,card.set_name)


def joinList(cardProperty):
if cardProperty != None:
return "|".join(cardProperty)

return cardProperty


def formatLegalities(legalities):
if legalities == None:
return legalities

legalitiesStr = ""
legalitiesLength = len(legalities)

for index in range(0, legalitiesLength):
legalitiesStr += legalities[index]["format"] + ": "
legalitiesStr += legalities[index]["legality"]

if (index + 1) != legalitiesLength:
legalitiesStr += "|"

return legalitiesStr


def createConnection(dbFile):
try:
connection = sqlite3.connect(dbFile)
return connection
except Error as e:
print(e)

return None


def insertCard(connection, cardProperties):
sql = "INSERT INTO Cards VALUES("
cur = connection.cursor()
cardPropertiesLength = len(cardProperties)

for index in range(cardPropertiesLength):
if cardProperties[index] == None:
sql += "NULL"
else:
sql += "?"

if (index + 1) != cardPropertiesLength:
sql += ","

sql += ");"
temp = filter(None, cardProperties)
cur.execute(sql, temp)


main()Thanks,TJ Breitenfeldt

URL: http://forum.audiogames.net/viewtopic.php?pid=323501#p323501





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: Using Python to Populate sqlite3 database with mtgsdk

2017-08-09 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Using Python to Populate sqlite3 database with mtgsdk

Thanks Zersiax for letting me know, I edited my original post. For some reason the site cut out most of my post, and stripped out new lines. Someone else on a different thread had the same problem. I think there is some bug in the audiogames site.TJ Breitenfeldt

URL: http://forum.audiogames.net/viewtopic.php?pid=323575#p323575





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Using Python to Populate sqlite3 database with mtgsdk

2017-08-08 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Using Python to Populate sqlite3 database with mtgsdk

Hi, I am working on trying to pull in data from the magic the gathering database into my local sqlite3 database, and I am using python 3.4 with mtgsdk. you can get mtgsdk from pip install mtgsdk.I believe I have mostly gotten the program set up, but I am getting an error that I can't figure out.I am just testing with 1 card right now to make sure it is working.Part of my problem is that I am not certain what python data types I can use to pass into the insert into statement. I am under the assumption that only ints, floats ,and strings work ,but I don't know, I can't find anything on this to confirm this. Also, I am assuming that None does not work as sql NULL.So, a lot of my code is joining lists and dictionaries, and accounting for None's.The error I am getting is:Traceback (most recent call last):  File

URL: http://forum.audiogames.net/viewtopic.php?pid=323501#p323501





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: Accessing SQL lite database with BGT

2017-07-20 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Accessing SQL lite database with BGT

Oh well, thank you for the replies. I think I figured out a solution to my problem. I was going to use java, but I was trying to find an accessible output library, finally found one for java that supports jaws, NVDA, and other windows screen readers. BGT was just the fallback if I couldn't find the libraries I needed, but looks like I found what I needed. It would be nice to have voice over support, but I will worry about that later.Just so people know, there is a library called tolk, that seems to work pretty well so far, that has support for a number of different languages.Back on topic, java should be able to give me everything I need now.

URL: http://forum.audiogames.net/viewtopic.php?pid=320360#p320360





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Accessing SQL lite database with BGT

2017-07-19 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Accessing SQL lite database with BGT

Hi, I probably overlooked it, but isn't it possible to access databases with BGT, specifically SQL lite?Thanks,TJ Breitenfeldt

URL: http://forum.audiogames.net/viewtopic.php?pid=320155#p320155





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: Creating Accessible Magic the Gathering

2017-07-16 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Creating Accessible Magic the Gathering

This looks exactly like what I need.I did speak with Wizards of the Coast, and I asked permission for building the table top based magic the gathering game that vcaparica suggested, but unfortunately they denied me privilege in building a audio game of this. I did tell them that the products they are providing are not accessible, and to consider building accessibility features into their app or online games that already exist. I was told that my feedback did get passed on to the development team.A side note, I also found out that screen reader users can not create accounts on their website, because they do not provide accessibility features for getting passed the captcha to submit your user account information. I mentioned that as well to them.So, I may work on the tabletop version as a side project, but not necessarily release it to the public. However, it looks like XMage has been around for quite a while, is open source,  and has a pretty strong followi
 ng. I would feel better about contributing toward that project, because regardless of weather they got permission or not from Wizards, the project is still up and being developed, even if the original developer got a cease and desist letter.Which raises the next question, how to go about making this accessible, I think that providing some add on of some sort would be ideal so that people can take advantages of the new updates people put out on git hub, rather than building a completely different version that is stuck at the version that I built in accessibility, but I am not sure where to start with this. I may turn this into a project for school, we will see. Does anyone have any suggestions of where to start?TJ Breitenfeldt

URL: http://forum.audiogames.net/viewtopic.php?pid=319726#p319726





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: Few ideas about fully accessible ide

2017-07-06 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Few ideas about fully accessible ide

Not sure if ED sharp is what you want, but it is very accessible. If you have used notepad ++ before, think of it like that, but built to be accessible to screen readers.Here is the link, I put the executable up on my personal server, you can find ED sharp here:ED Sharp DownloadTJ Breitenfeldt

URL: http://forum.audiogames.net/viewtopic.php?pid=318238#p318238





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: Few ideas about fully accessible ide

2017-07-05 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Few ideas about fully accessible ide

Hi, so first I will say, I use ED sharp, which was built for screen readers, and does use a lot of the things you are talking about. I primarily use ED sharp for programming in java now, but I did quite a bit of python programming for a while as well.it does provide auto indentation, which I use all the time. This feature can be turned on and off with a shortcut key, and you can change the level of indentations simply by tabbing or shift + tabbing regardless of where you are on the line.It also provides the feature of jumping by indentation blocks, which is especially useful for python, but other languages too, as long as you are good about formatting your code. It can also jump by braces, for other languages that use braces to mark code blocks. It also provides a feature to compile your code, and if there is an error, it does move your coursor to the line of the error, and it allows you to see the error output in ED sharp itself, providing a temp text file for you to 
 review the errors in. This does seem to have limitations that I haven't figured out how to get around yet, such as once you are compiling packages, but it works pretty well if you are just working with a few files and you aren't having to pass any additional command line arguments.I use ED sharp, and like it a lot, but it does lack a lot of the features of more mainstream IDEs, which is fine for the most part, but IDEs can make certain things a lot easier to develop. I can't say I have experience with a project that I could not write using a basic text editor and the command line though, but my programming instructors have more or less told me that certain things like GUI development at least using java, it is recommended to use IDEs such as eclipse.Anyways, ED sharp is not maintained anymore, and it is very hard to find, if you want it let me know. The Quorum project also provides a add on to netbeans, which is slower, such as what you were talki
 ng about, but sodbeans, the add on for netbeans, does have a lot of code navigation features, at least last time I used it. It was also built to work with screen readers, and it provides a lot of features to make programming easier, however, it is a project still in work with a lot of bugs last time I used it, but the quorum team has made great progress. I haven't looked at quorum in about a year or so, so I don't know what new updates they have for sodbeans.So, some programs already exist that have a lot of what you suggest, but nothing that is is light weight, and that is still maintained, ED sharp sounds like a lt like what you want, assuming you are using windows but it is not maintained anymore.hope this helps,TJ Breitenfeldt

URL: http://forum.audiogames.net/viewtopic.php?pid=318112#p318112





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: How to Handle Sounds in BGT

2017-07-04 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: How to Handle Sounds in BGT

Sorry about that, I should have thought of that.I knew about the dynamic_menu class, I just wanted to practice using the language, and building a menu seemed like a simple place to start and give me the basics I will need for actually working on the game itself.What exactly do you mean by "enhance it with callbacks quite easily"?Thanks,TJ Breitenfeldt

URL: http://forum.audiogames.net/viewtopic.php?pid=318002#p318002





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: How to Handle Sounds in BGT

2017-07-04 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: How to Handle Sounds in BGT

Okay, that makes a lot of sense now, thank you very much for all of the responses.TJ Breitenfeldt

URL: http://forum.audiogames.net/viewtopic.php?pid=317973#p317973





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: How to Handle Sounds in BGT

2017-07-03 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: How to Handle Sounds in BGT

Thank you for the very detailed responses. So, I just want to make sure I understand this correctly, if I preload my sounds, when I pass the file name to the sound_pool methods, such as play_1d, it will first check if the sound is already loaded in memory, if so, it proceeds to play the sound, if not, it will load the sound, and then play it. preloading allows me to load all the sounds before the game starts, or at the beginning of each level, so that the sound_pool does not have to load the sounds later when it tries to play a specific sound. If this is true, does sound_pool just some how know that if that sound has already been instantiated, even though the sound_pool isn't given a handle to the preloaded sounds?TJ Breitenfeldt

URL: http://forum.audiogames.net/viewtopic.php?pid=317883#p317883





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: How to Handle Sounds in BGT

2017-07-03 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: How to Handle Sounds in BGT

Thank you for the very detailed responses. So, I just want to make sure I understand this correctly, if I preload my sounds, when I pass the file name to the sound_pool methods, such as play_1d, it will first check if the sound is already loaded in memory, if so, it proceeds to play the sound, if not, it will load the sound, and then play it. preloading allows me to load all the sounds before the game starts, or at the beginning of each level, so that the sound_pool does not have to load the sounds later when it tries to play a specific sound.TJ Breitenfeldt

URL: http://forum.audiogames.net/viewtopic.php?pid=317883#p317883





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

Re: Questions on BGT

2017-07-03 Thread AudioGames . net ForumDevelopers room : TJ . Breitenfeldt via Audiogames-reflector


  


Re: Questions on BGT

Okay, I thought that this probably wasn't possible, or else it would have already been done, but I thought I would ask to see why for myself. Yes, I would agree that manual scrolling is better in most cases, it would just be a nice tool to have. Oh well, there are clearly other ways of handling this issue.Thanks,TJ Breitenfeldt

URL: http://forum.audiogames.net/viewtopic.php?pid=317879#p317879





___
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector

  1   2   >