The Tournament Director Forums

Main => Beta Testing => Topic started by: Corey Cooper on May 24, 2018, 02:44:19 PM

Title: 3.5 Progress
Post by: Corey Cooper on May 24, 2018, 02:44:19 PM
Many of you have seen my posts where I talk about the next version of the TD, which will be ported to a new framework.  In those posts I also mention that it's going to be a lot of work, and will be some time before the new version is ready.  That's turning out to be correct, but it's really exciting (from a nerd programmer perspective) because as I work through it so many of the past limitations of the application are gone.  There's a long way to go, but surprisingly I've made an amazing (to me) amount of progress.  Anyway, I wanted to share some details as work progresses.

So I started with a proof-of-concept, to make sure the TD would work under Electron (, and to familiarize myself with Electron and Node.js and modern Javascript (the TD is currently stuck way in the past - a years old version of JS).  There were several aspects of the TD that, if they weren't possible under Electron, the whole effort would have been pointless.  And happily I discovered they were possible, and so I dove in.  In a surprisingly short amount of time, I had all of the TD code loading (but not working) under Electron.  Over the past few weeks I've been neck deep just trying to make it kind of work, no real direction, just fixing anything that was preventing the application from just running.

At this point I've actually got the main window and the settings window up and most tabs displaying (but not yet working).  Here's a screenshot of the Settings window under Electron:


Not exciting because it doesn't look much different, but that's good!  My current goal is to get the TD working closest to its current form.  New features and taking advantage of the new framework will come later.

I just got the Game window sort-of functioning:


Not as pretty, but all the pieces are there and they actually update.

There's a huge amount of work ahead.  One major example is dialog windows.  They work differently in Electron and at last quick count, including alert dialogs and simple confirmation dialogs, the TD has nearly 1000, all of which will require some refactoring.

Anyway, I just wanted to let everyone know that this is really underway, and progress is being made, and it's actually going faster than I anticipated.  This is without a doubt going to be the largest overhaul the software has ever seen, and I'm really excited about the possibilities. Just thought I'd give everyone a peak at what's happening.
Title: Re: 3.5 Progress
Post by: efdenny on May 24, 2018, 03:06:25 PM
This is awesome Corey! Thanks for the update, and Iím looking forward to seeing the results of your efforts!
Title: Re: 3.5 Progress
Post by: Corey Cooper on May 24, 2018, 03:40:56 PM
I'll try to add updates as time goes by and work continues.  There will definitely be a beta test for this one.  :)

Here are some highlights:
* No more Internet Explorer required
* No more IE 11 memory leaks
* Full-screen mode no longer requires a restart.  Like a real browser, you can toggle between window and full-screen at any time
* Game window will actually have minimize/maximize buttons that work as other windows do
* Settings window will also have maximize button
* No longer need to configure the TD with info about your extended display, it can now get your display info from Windows
* No "Call was rejected by callee" errors because IE doesn't know how to work right when a sound is played
* No more Windows Media Player required
* System dialogs (open file, save file) work, for everyone (this is a problem for a lot of people now)
* Real context menus, not the ones I had to hack into the application which may open partially offscreen
* No more stupid X button in inputs that displays after you select the input and then text in the input moves
* No more administrator access required
* Good folder selection dialog (the one the TD uses is awful)
* Ability to use HTML5
* And for me, a real debugger, which has been a godsend in getting this working so quickly

This is just a short list of stuff I've thought of since starting ...
Title: Re: 3.5 Progress
Post by: Corey Cooper on May 24, 2018, 03:44:17 PM
Oh, and the main one, which we will definitely have to see once everything's done, but I expect it to run much faster and be more responsive.  We will see...
Title: Re: 3.5 Progress
Post by: efdenny on May 24, 2018, 05:21:41 PM
No more Internet Explorer required

Between this, updated JS, and HTML5, does this mean a possible Mac solution?? :)
Title: Re: 3.5 Progress
Post by: Corey Cooper on May 24, 2018, 05:27:41 PM
Actually, it does.  I most definitely will not make any promises, but theoretically it could run on Windows, Mac, and Linux.
Title: Re: 3.5 Progress
Post by: efdenny on May 24, 2018, 06:52:45 PM
Woot!! Fingers crossed, and good luck to you sir!
Title: Re: 3.5 Progress
Post by: Silver Owl on May 25, 2018, 08:17:40 AM
Great job Corey!!
Title: Re: 3.5 Progress
Post by: jodybingo on May 25, 2018, 06:49:52 PM
I got a ahlfie hearing this will work under Linux!!! Awesome!
Title: Re: 3.5 Progress
Post by: mcfrojd on May 29, 2018, 01:59:57 PM
Glad to hear about the progress, let us know and we will help you alpha/beta test the new version..
Title: Re: 3.5 Progress
Post by: shushs on June 01, 2018, 04:42:17 AM
As someone that lives everyday without MS Windows platforms, this is very exciting news.
As someone that lives as a SysAdmin/DevOPs role, that has Windows/Mac/multiple Linuxes at his disposal, I'd really enjoy Beta(Alpha) testing for you. 
Reach out to me if you'd like... or just post here. I'm happy to provide feedback/results.
Title: Re: 3.5 Progress
Post by: Corey Cooper on June 13, 2018, 04:27:39 PM
An update...

- Refactored all of the bootstrapping code.  Even though the app was able to get to the Settings dialog, most of the bootstrap code was not working.  Preferences weren't loading, other config files weren't loading, somehow the language files WERE loading (weird), other initializations were just not being done

- Sounds are working now

- Screen transitions are mostly working.  Probably double or more the frames per second, so they look better, too.  I have seen some weird artifacts when using the blend transition and built-in screens, so not perfect, but definitely a major improvement.

- Working on loading and saving.  Currently done with tournaments, layouts, rounds templates, prizes templates, and tables templates.  Loading now works more like the standard flow: press Load, get a file selection dialog, once a file is selected to load, if there are changes in the current tournament, ask to save it, don't save it, or cancel the operation.  Traditionally the TD prompts to save/don't save/cancel as soon as you press Load, before you're prompted to select a file to load.  So this is a little different, but more in line with the way other apps operate.

Something to note is that with this change layouts will almost certainly need tweaking or be redesigned completely.  This is due to moving to standard HTML and out of IE quirks mode.  It's a bit unfortunate, but the positives outweigh the negatives by light years.

I've also run into a few memory issues.  So it just might be that I can't blame Internet Explorer entirely.  Although it's mixed at this point: I've run for a long time and seen the memory growth, and other times I've run for a long time and seen no growth.  That's the bad news.  The good news is that the memory size can get much larger than IE ever could, and I don't see much if any degradation or side effects (although if it's a true leak, that can't go on forever, eventually it will crash).  The real good news is that there's a built-in memory profiler, so I have a vastly better chance of tracking down memory leaks.
Title: Re: 3.5 Progress
Post by: efdenny on June 13, 2018, 06:59:28 PM
Sounds like a lot of great progress! Appreciate the updates!!
Title: Re: 3.5 Progress
Post by: Corey Cooper on June 19, 2018, 06:00:02 PM
- Loading and saving of tournaments and templates is done.  Still have other related work to be done (importing players, exporting data, etc).

- All transitions now work, including with layout scaling enabled.

- Layout rendering has been vastly improved.  Most built-in layouts look almost the same now!  That's actually something I didn't think would be possible.  Here's the default (1024x768) layout:


The challenge now is that Chromium doesn't render table rows and columns with the same proportions as IE, so while the top and bottom rows look OK in this pic, when you resize the window to something more modern, like 1920x1080, it isn't quite as pretty:


Also the chips aren't centered, but that's another detail.

Anyway, looking better!
Title: Re: 3.5 Progress
Post by: ScottBroker on July 10, 2018, 02:19:37 PM
is there a public beta to download?????
Title: Re: 3.5 Progress
Post by: Corey Cooper on July 10, 2018, 05:49:59 PM
is there a public beta to download?????

There will be, but it's not ready yet.

Title: Re: 3.5 Progress
Post by: Corey Cooper on July 10, 2018, 06:05:27 PM
I was on vacation last week, but still made a bunch of progress:

- Languages now load properly.

- Added a hotkey and context menu for toggling full screen on the main window.

- Updated the off-screen check for the Settings window at startup.  Now the TD knows which displays are available and just moves the Settings window back on-screen if it's off-screen (if an extended display is no longer connected, for example).  This works for all windows now, and should work in real time.  That is, if you unplug a display on which the Settings window is currently displayed, you can close and re-open the Settings window using the ESC key and it will open on an actual display.  I think a future version will be able to detect a display change in real time and move any open windows, too.  But this is a good incremental improvement.

- Refactored the Game window context menu.  Now all player actions and screen selections are in sub-menus.  This makes the menu more compact and usable.

- Restyled the hotkeys dialog.

- Change the Game window update rate from twice a second to 10 times a second to see if this is feasible with new framework.  Didn't notice any change in CPU usage.  If this works out, it should reduce times when the clock seems to stay on the same time for longer than 1 second or where 1 second seems to last for a fraction of a second or get skipped entirely (the time is accurate, but the screen isn't updated enough).  Testing will bear this out, but it's very positive.

- Fixed drag-and-drop on the Tables tab.

- Basically fixed nearly the entire Rounds tab functionality.

- Fixed the column chooser/export dialogs common to most tabs.

- Got printing to work!  Printing now works without goofy header/footer that IE adds, printing can be done interactively or without intervention, "Auto Print" is no longer necessary, and selection of preferred printer is now possible.  There's also an option to print to PDF, since that is native to Chrome, which I can add later if there's interest.
Title: Re: 3.5 Progress
Post by: craigt78 on July 11, 2018, 08:29:00 PM
Very exciting - eagerly awaiting the next release!  This program is the sh1t and it can only get better.  ;D
Title: Re: 3.5 Progress
Post by: Corey Cooper on July 26, 2018, 04:10:09 PM
Two weeks have gone by and what has happened?  I'll tell you...

- Completed the entire Rounds tab.
- Completed the entire Prizes tab.
- Completed work on the Fee Profile dialogs on the Options tab.
- Completed the Fixed Rake dialog.
- Fixed a number of things on the Preferences tab.
- I had removed my custom Combo Box control (a text input that allows free text input, but also has a drop-down of preselected entries) because HTML5 now has this built-in.  After messing with it, realized it isn't as good as the Combo Box I had created, so I put mine back and fixed it to work in Chrome.  Much better.
- Started working on the Layout tab.  The preview now looks mostly correct and drag-and-drop arrangement of the layout works.
- Context menu on Layout tab works.
- Fixed a bunch of stuff on the Edit Cell dialog.
- Removed "Auto Print" and finished the printing code.  For those who actually use the printing functionality, it's now much simpler and more straightforward:


May not seem like a whole lot but it actually is.  Only two of the 17 tabs are complete, but because they share code and utilize the same patterns, finishing one means less work on the others has to be done.
Title: Re: 3.5 Progress
Post by: craigt78 on July 30, 2018, 03:15:11 PM
Very exciting!  Eagerly awaiting the next release.  Any ball park guesses as to when it will be ready for beta?  I'm interested in helping test it.
Title: Re: 3.5 Progress
Post by: Corey Cooper on July 30, 2018, 09:48:55 PM
Wish I could say but there's still too much at this point.
Title: Re: 3.5 Progress
Post by: MooseWizard on August 05, 2018, 01:46:48 PM
This is very exciting, as we've certainly experienced difficulties with TTD over the last couple of years.  However, this being a whole new build and major overhaul, why v3.5 instead of v4?
Title: Re: 3.5 Progress
Post by: Corey Cooper on August 05, 2018, 10:13:37 PM
A fair question.

While this is definitely a major change to the software, to be honest most of the change will be practically invisible to the average user.  It will necessitate some change that will result in new/different functionality, but mostly I'm just getting the existing functionality to work on top of a new framework.  One of the most important reasons for this migration is fixing issues with the existing framework: memory leaks being a huge one, as well as fixing the file dialogs, and trying to further immunize the application from Microsoft's changes.

Version 4.0 will contain new features, if/when it happens.  And as such, it's possible it will be an upgrade like 2 -> 3 was (meaning it may require a fee).  Right now I feel I just owe it to my current users to get the application back into a stable state.  Thus, version 3.5.  Your existing v3 licenses will work with it.
Title: Re: 3.5 Progress
Post by: Corey Cooper on August 21, 2018, 11:27:05 AM
It's been over 3 weeks, time for another update for those who are following along.

- Fixed dialogs: Quick Start, Add Players To Tournament, Table, Sort Tbales, Collapse Order, Compress Seating, Compress Single Table Seating, Locks, Tables Settings, Undo Buy-in Players, Unseat Player, Unseat Table, Toggle Show Player Images, Remove Player From Tournament, Remove Players From Tournament, Players Preferences, Suggest Rounds, Suggest Prizes, and Auto Prizes, Random Player.
- Got Stats to load and display.  Still some work to be done, but this is a good start.
- Fixed context-menu rename/arrange columns on Stats Tab.
- Fixed 'configure columns' and 'set column names' context menu items on Rounds, Prizes, and Stats pages.
- Tackled main dialog code.  Even though this works, it is a bit squirrely and has some issues.  I knew at some point I would have to dive in and just work on it until it's fixed.  Issues were things like:
  - sometimes a dialog just didn't open
  - sometimes the stylesheet isn't found and thus the font adjustment done to every dialog didn't happen, resulting in a dialog with a 6pt font
  - since windows open asynchronously, the "opener" dialog is still active until the child dialog opens allowing the user to click on something.  For example, a button that opens a dialog could be pressed over and over and many dialogs would open
  - window.closed isn't accurate, and thus a window could be opened using a window that is closing as its parent, resulting in weird behavior
  - hotkeys still work on disabled windows, so holding down the ESC key can cause the code to try to open/close the Settings window so fast it confuses the dialog code
- I spent the better part of a week working on the dialog code and now it all seems good.  <fingers crossed>
- Fixed the volume slider control.
- Fixed at least a hundred other things here and there.
- Spent some more time figuring out why dialog sizing works on some dialogs, not on others.  Turns out the dialog sizing code is working as expected, but I identified a number of common differences in Chrome.  This will make fixing the remaining dialogs much easier.  Fixed about a dozen other dialogs that had initial sizing problems.

For example, the Add Players to Tournament dialog looked like:


But now looks like:


Or the Screen Properties dialog, which opened like this:


But now looks like:


Lots more to do...
Title: Re: 3.5 Progress
Post by: efdenny on August 21, 2018, 04:40:53 PM
Thanks for the updates! Looking good...
Title: Re: 3.5 Progress
Post by: craigt78 on October 23, 2018, 05:14:20 PM
How are the updates going?
Title: Re: 3.5 Progress
Post by: Corey Cooper on October 24, 2018, 12:09:13 PM
I'm so glad you asked!  I've been a little bit derelict in my duty lately.  So, just running through my daily notes:

- Fixed some UI glitches.
- Fixed ScreenSets configuration.
- Made the decision to go back to using sync versions of file operations.  It makes the code less complicated.  Will have to refactor some stuff I've already done.
- Made more changes to ExportPlayers dialog and fixed Export Players on the Database tab.
- Fixed all of the operations on the Database Operations dialog (on the Players tab).
- Fixed various items on the Database tab.
- Came up with a new code technique which will reduce complexity of code where async methods are used (dialogs and file operations, but mostly just dialogs now).
- Used the code technique to fix areas that create receipts (all transactions).
- Fixed ALL major transaction dialogs: buy-in, add-on, rebuy, bust-out, all undo versions of those, and all non-player-tracking versions of those (30-ish in all).  These are all using the new technique, sync file operations, and proper error handling in async portions.  All seem to function, but haven't yet been fully tested.
- Fixed Dashboard scrolling.
- Fixed AdjustRankingsDialog.
- Fixed TransactionsDialog.
- Fixed the mini clock.
- Fixed next/previous level functions.
- Fixed the Countdown dialog.
- Fixed stylings in ALL built-in pages, including table blueprints.  With the exception of the Seating List page, all of the built-in screens are back to looking like they did and functioning properly.
- Fixed Player Details dialog.
- Started working on column arrangement.  This is one of those areas I shouldn't work on (because it isn't broken) but sometimes I get sidetracked and can't help myself.
- Fixed a hundred other small things all over the application.

Unfortunately this is a period of time at my "other" job where we are preparing for "peak operations".  It's hectic and I don't have as much time or energy to devote, so while I was making serious progress for a good while, it's tapered off a bit in the past two weeks.  Hopefully it will pick up again soon.

Here are the built-in screens so we have something to look at:






Title: Re: 3.5 Progress
Post by: CruiseLite on October 27, 2018, 01:16:14 PM
I was just reading this entire thread... Wow! Lots to look forward to!
I'm very excited about possibly being able to run TD under Linux.

My hat is off to you Corey for all the time and effort you've put into not only v3.5, but just in general.
For as long as I've used TD (~12 years), you've always been super accessible and extremely responsive.
In addition, a "Well done" to all the users in general. This forum has some of the best users I've ever encountered.
Of course, we are all poker players, and most of us nerds, so what else would you expect?!?! :)

Thanks again!
Title: Re: 3.5 Progress
Post by: shushs on October 29, 2018, 09:06:30 PM
I will echo the previous post. You have always been responsive and helpful. I've been using TD for (I think) over a decade as well. I will offer, again, to help test for you, if you are interested in getting feedback from others. I realize there are some things you don't want in the wild, I just want you to know you have people out here that are willing to help.

I can provide testing on most linux distros, Mac OS X, and Windows.
Title: Re: 3.5 Progress
Post by: pockey on November 25, 2018, 01:09:00 PM
Good job.

We hope it will be better because currently we have lots of problem (the clock sometimes freezes). It's very disturbing.
Title: Re: 3.5 Progress
Post by: Corey Cooper on November 27, 2018, 10:27:11 PM
Nov 27 update:

- Fixed a few Preferences tab items
- Polished up the built-in screens.  They are now 100% as far as I know.
- Fixed various Players tab items.  I think this tab is now 100%.
- Fixed file loading/saving in Game tab, Rounds tab, Players tab, Prizes tab, Tables tab, Events tab, Chips tab
- Fixed formula dialogs (Points for Playing, Events, Stats)
- Fixed Help tab, Links tab
- Fixed all Tournament exports
- At this point I think these tabs, with a very few exceptions, are 100% complete: Game, Rounds, Players, Prizes, Tables, Events, Chips, Help, Links
- Removed the hacky screen saver suppressor and updated the code to use an actual API that disables the Windows screen saver while the application is running.  Woohoo!  Removed the reminder to "Disable your screen saver".
- Fixed a few more internal incompatibilities with the latest version of JavaScript
- Fixed basic chip images
- Fixed a hundred other minor issues

Doesn't seem like a lot, but actually a lot more progress has been made.  I'm getting much closer to a point where I'll be able to step back and take inventory, and finally chart out a path to completion.

Things I know still need work (off the top of my head):
- Rules tab
- Summary tab
- Layout tab
- Database tab
- Stats tab
- Preferences tab
- Hotkeys tab
- Controls tab
- Dashboard

Most of these items are at least 50% complete already.

Finally, things I haven't touched on yet but know will need to be done:
- Licensing has to be refactored to remove it from the Windows registry.
- Evaluation will be completely overhauled (already know how I plan to do it, but haven't implemented anything yet).
- Need to create (or utilize) a color picker, because we no longer have access to the system color picker (not so bad, since it kind of sucks, and there are plenty built using web tech that are waaaay better).
- Still don't know how to allow the user to choose a font from installed system fonts.  Electron has no facility for this.
- Still need to figure out how it will be packaged for installation.
- Still having a few issues from time to time with dialog windows.  As I continue refining it gets better and better, and it's working very well now, but occasionally still have an issue, like a window doesn't open when it should.
Title: Re: 3.5 Progress
Post by: efdenny on November 28, 2018, 09:26:45 PM
Thanks for the update, Corey... keep 'em coming!! We really do appreciate your hard work...
Title: Re: 3.5 Progress
Post by: craigt78 on December 04, 2018, 10:55:03 AM
Great news - glad to see progress is being made!!  I look forward to the next update!
Title: Re: 3.5 Progress
Post by: Corey Cooper on February 17, 2019, 12:58:21 PM
Feb 17 update:

- Finished formula dialogs.
- Finished Hotkeys, Layout, Rules, Summary tabs.
- Discovered the zoom feature doesn't work on <iframe> objects, so layout scaling won't work on HTML screens or any layout using an iframe.  Luckily there's another mechanism, but this unfortunately shows some graphic artifacts on many layouts (little lines between cells).  I think the layout will have to be refactored.
- Finished Import Players functionality.
- Fixed file encoding.  I believe we can now load/save properly files that are UTF-8 or UTF-16 encoded.
- Finished Token Builder dialog.
- Finished backup and restore features.
- Finished seating chart tables images.
- Finished HTML screens in the game window.  Also fixed the Minimalist layout.  Much simplified and looks great.
- Added a few screen transitions.
- Tons of other fixes and refactors all over the application.

Currently working on the dialog code again, as the sizing part appears to have an issue.  Once I complete that, I'm going to refactor the layout using flexbox instead of tables and see how it goes.  After that is done, I plan to take a step back and reassess and see what is left.  From that I can determine what must be complete for a beta test to start, and begin working towards beta.
Title: Re: 3.5 Progress
Post by: Guzzler on February 17, 2019, 11:53:51 PM
Very impressive, sir.  I am stoked - can't wait.
Title: Re: 3.5 Progress
Post by: MooseWizard on February 28, 2019, 07:19:57 PM
Great update!  I appreciate your work!    :D
Title: Re: 3.5 Progress
Post by: Corey Cooper on March 20, 2019, 04:26:23 PM
- Added "hide cursor" preference.  This just causes the mouse pointer to disappear automatically after a few seconds when over the Game window, and reappear when moved (you'll see the same behavior when watching a YouTube video, for example).  This was actually a feature many years ago, but removed when it caused problems.  In all likelihood my code was buggy, but I removed it instead of chasing it down.
- Fixed a bug when player images are missing (from version 3.4).
- Removed some obsolete code and updated additional places where paths were being created using "/" or "\" instead of using proper os-specific methods (this will help should we ever get the TD to run on MacOS or Linux).
- Realized many places we show a file dialog were actually implemented incorrectly, and fixed them.
- Discovered that the loading of tournaments when running stats had slowed WAY down.  Figured this was due to me changing file I/O back to synchronous instead of asynchronous.  Returned this part to asynchronous and didn't see any improvement.  Finally realized the introduction of a package that allows for proper detection of file encodings (which is required since some files saved with the TD could be encoded with ASCII, UTF-8, or UTF-16) caused this.  Found a workaround to return it to normal speed and still use the encoding detection.
- Added 10 new screen transitions because I can't help myself.
- Started working on restyling the scrollbars on the built-in screens (Player Rankings, Seating Chart, etc), since we can now do this.
- Fixed the <timer> token, which previously used VML (no longer supported on any browser), to use SVG.

Most time was spent working on the layout.  I experimented using flexbox and it turns out the Chrome rendering issue I was trying to avoid is also present when using flexbox or grid layout.  So it doesn't help to retool the layout in this way.  I spent quite a bit of time experimenting, testing, and going back and forth between using "zoom" versus "scale" for layout scaling.  I found a new issue with "zoom" that ultimately pushed me to decide to move ahead using "scale".

zoom: actually looks good, but doesn't work on iframes.  I can probably work around the iframe issue.  But also noticed that using zoom can change the way the layout looks.  That is, a scaled down version of the screen using "zoom" may not look exactly like a smaller version, but may have spacing changes within the layout.

scale: Looks great, works with iframes, but introduces gaps between elements.

So to give you an idea of the "introduces gaps" issue with using "scale", here is the default layout scaled to 640x480:


Notice the line below the description?  That shouldn't be there.  Also, the lines below "No Limit Texas Hold 'Em", "Next Round: No Limit Texas Hold 'Em", and "Blinds $15/$30" shouldn't be there.

If I turn off borders, the issue is even more pronounced.  There should be NO white lines in this image:


I decided that I could probably modify the layouts to avoid this (mostly) and just live with it as a Chrome bug until they finally fix it.  Shortly after that I realized that having property sets be part of columns and rows would be required, which is not a simple change.  It might be the right thing to do eventually, but I don't want to make that kind of change yet.

But today through some additional google-fu I finally found that I am not the only person who has seen this issue.  It was submitted to Google in June of 2017, so I'm not holding my breath on it being fixed anytime soon.  However, the same search came with a workaround, which I *think* will work for us.  When I apply the workaround, the layout looks like this:


And with borders turned off:



I just got back from a vacation, so I've got to get my head back around where I'm at in this process.  Making progress every day and getting much closer.
Title: Re: 3.5 Progress
Post by: Silver Owl on March 21, 2019, 07:57:51 AM
Great job Corey and thank you for all your hard work so we can enjoy playing a game.
Title: Re: 3.5 Progress
Post by: Corey Cooper on April 29, 2019, 11:47:56 PM
- More cleanup of Game window (built-in screens and tournament screen)
- Fixed a few dialogs that didn't render quite correctly (Font dialog, Cell dialog, Screen Properties dialog)
- Fixed the status icons.  Using new icons and some animations now, it looks good.
- Fixed a handful of the remaining dialogs: Game Player dialog, Player Details dialog, Stats Player dialog, Stats Tournaments Information dialog, Stats Profiles dialog (and sub dialogs), Name Format dialog, Config Files dialog, Sort Order dialog, Chop dialog
- Finished up the Database and Stats tabs
- Added new options to player images to make images round, add background color and borders
- Fixed AutoSave
- Finished Status Messages
- Fixed a few rendering issues in the Settings window
- Updated to the latest version of Electron and in doing so completely broke drag-and-drop (Tables, Layout, and Dashboard)!  I have since refactored Tables tab drag-and-drop so it works again.  Still need to complete Layout and Dashboard.
- And finally, came up with a preliminary list of what is left (see below)

What's left to do?  In a semi-ordered list of the most important things:

Must complete before beta
- Refactor licensing
- Package the software for download and installation
- Complete drag-and-drop on Layout tab and Dashboard configuration
- Display Management
- Re-re-factor dialog code (still a few issues that need to be ironed out)
- Loading/saving of files that are not ANSI (UTF-8/UTF-16/etc).  This is still an issue unfortunately.

May need to complete before beta
- Various FIXMEs throughout the code
- A few bugs I am currently aware of

Can wait until beta
- Software patch feature
- Hand Timer
- Hotkeys dialog should be "modeless", but isn't
- Color selection dialog
- Font selection input/dialog (this is still a complete unknown, since Electron still doesn't provide this service)
- Update built-in layouts
- Other various tweaks and changes
Title: Re: 3.5 Progress
Post by: mcfrojd on May 03, 2019, 09:54:09 AM
Roadmap looks good, cant wait to be beta tesing this new version.
Keep up the great job.
Title: Re: 3.5 Progress
Post by: ThorstenP on May 24, 2019, 06:01:02 AM
Hey Corey.

Do have an idea for the schedule of finalizing 3.5?

Kind regards, Thorsten.

Title: Re: 3.5 Progress
Post by: Corey Cooper on May 27, 2019, 10:39:26 PM
I would like nothing more than to provide a schedule or even a single date, but I would likely just disappoint everyone by missing it.

Since my last update I have done a lot (2 pages of notes, in fact), but it distills down to only a few items:

- Fixed all the drag-and-drop stuff.  And everywhere else that was broken with the update of Electron.
- Fixed the dashboard and updated its icons.
- Fixed the Hand Timer (mostly)
- Removed Display Management
- Fixed about two dozen other small items around the application

Removing Display Management seemed fairly trivial, but turns out it was embedded in a lot of places I hadn't realized (or remembered).  That took a lot more time than I had anticipated.

On the positive side, when I have to fix something that used to work under IE that doesn't under Chromium, half the time I end up improving it.  Usually it's something small and possibly insignificant, probably something few others would even notice.  But it's nice that it is improved.

I'm going ahead with the licensing part now.  This will probably take a good deal of time, because much of it has to be refactored, and it has to be right.  And it has to be right the first time.  Once that's done, the install will need to be done.  I think then I can begin an "alpha" version, which will have known issues but at least I can get it into the hands of those of you brave enough to give it a try.
Title: Re: 3.5 Progress
Post by: ThorstenP on May 29, 2019, 07:40:30 AM
Sounds good!  :)
Title: Re: 3.5 Progress
Post by: The Meal on June 24, 2019, 03:52:57 PM
Glad to hear progress is being made.  Can't wait until we have something we can help test!  Good luck Corey.
Title: Re: 3.5 Progress
Post by: Corey Cooper on July 15, 2019, 08:02:05 PM
It's almost done!

Since my last update, I've fixed countless issues all around the application, including loading of files with respect to encoding (UTF-8/16, etc).  In addition I've gotten the licensing working.  I'm currently working on the installer.  Once that's done, I'll begin the process of general clean-up and prepping for beta testing.

The first beta will be open to licensed users only, simply because I have not completed the evaluation code update yet, and I don't want to hold back beta testing.
Title: Re: 3.5 Progress
Post by: TIMMER on July 15, 2019, 08:56:56 PM
Can't wait !!!!
Title: Re: 3.5 Progress
Post by: MotoguzziF91 on July 16, 2019, 04:23:22 AM
I'm excited like a little kid before Christmas :D :D
Title: Re: 3.5 Progress
Post by: Corey Cooper on September 02, 2019, 04:59:46 PM
Sorry for the lack of updates.  Just wanted to say it's in the "any day now" phase.  Installer done, windows code refactored and working much better, knocking out the FIXMEs and various other items that are left (or that I've found) that have to be done before beta.
Title: Re: 3.5 Progress
Post by: efdenny on September 02, 2019, 05:15:30 PM
Awesome, thanks again Corey... looking forward to it!
Title: Re: 3.5 Progress
Post by: Carlavatky on September 06, 2019, 08:10:27 PM
Looking forward to trying it out.
Title: Re: 3.5 Progress
Post by: shushs on September 09, 2019, 03:09:53 PM
Corey, Your work is impressive. It is really cool to see how many people enjoy your work and are rooting for you to finish. I do have a couple of questions...

Long ago, we had a dialog about being tied to Windows. At that time, yes, it was long ago, you mentioned you were interested in no longer being tied to Explorer/Windows frameworks. I see in your notes that you are still working on 'an installer'... does this mean it is still only for Windows? (cuz, I'm a Linux/MacOS guy and would love to get rid of my windows VM). If you do have ports to Linux/Mac, I will test them out. I run a monthly game, but I can certainly run some sample/test tournaments to try and get you some good stats.

I know that 3.5 beta (being a minor release and a beta) will be for testing and 'free'. Once this year+ of work is complete and beta is over, will you release it as a 4.x release and require upgrade fees? It seems that an entire framework overhaul is worthy of a major release.

Thanks for your efforts!
Title: Re: 3.5 Progress
Post by: Corey Cooper on September 09, 2019, 04:00:15 PM
Thanks!  When this new version is released (beta and final), it will be a free upgrade for anyone holding a version 3 license.  Because the current version 3 is performing so poorly for a lot of people, I feel I owe a fix, just like I would do for any other issue.  It just so happens that this time the fix is rather huge.  As far as feeling that an entire framework update is worth of a major release:  Yes, I couldn't agree more!  But I don't expect my customers to pay to fix a problem like this.

Because I'm trying to get this completed as quickly as possible (I know a year+ is a long time, but it's a huge change), I'm focusing on where the hurt is today, and today the software works for Windows only so that's what will be released.  I definitely would love to have the TD be available on other platforms, and Electron is designed for that purpose.  During this effort I have been making changes that would be necessary anyway to port to other platforms (for example, no longer using the registry, building paths using OS-specific delimeters and conventions, etc).  And I'm using electron-builder for packaging, which is also designed for multiple platforms.  So we're a good ways there already.  After this version is final, I will start to look more deeply into versions for Mac and Linux. 

I do have a short list of major new features I'd like to add for version 4.  I'm happy to hear suggestions, too.
Title: Re: 3.5 Progress
Post by: JCalamis on September 11, 2019, 01:26:30 PM
We've been playing with Big Blind Antes for a while now, but it appears we're looking to make a change in line with some of the changes being made in the casinos.  More specifically, when the final table is down to 5 players, we want to make the BB ante equal to the small blind rather than the big blind.  I haven't found a way in the current version to change the ante based upon the number of players at the table, but this would be a nice addition to the new version.
Title: Re: 3.5 Progress
Post by: Corey Cooper on September 11, 2019, 08:58:25 PM
I'll be honest, big blind ante is tough.  Use varies, and it can vary from table to table, making putting it into the display difficult to impossible.  But I would like to support it as best as the software can.  So please, discuss it at length.  That's the only way I can make good decisions on how to implement it.
Title: Re: 3.5 Progress
Post by: JCalamis on September 11, 2019, 11:16:36 PM
I run a 7 table Holdem tournament, 9 players per table.  We try to keep the tables balanced and move players if greater than a 1 player difference.  As such, we use a fixed BB Ante equal to the BB regardless of the number of players at the table.  The ante is the same for a 9 man table or a 7 man table.

The problem is at the final tables as players get eliminated.  By the time we're down to around 5-6 players at the final 2 tables, the BB antes are excessive.

What I'd like to do is to have the screen show the ante as a full BB as it does now using the <bigblind> token, until we're down to 12 players.  Once we hit 12 players, I'd like the ante to show in the amount of the small blind using the <smallblind> token.  I tried creating a new token by using an HTML script but can't get it to work.  Essentially, instead of showing the <ante> on the screen, I want the new token, <BBAnte> to display using the following conditions:

if <Players> <13, BBAnte = <smallblind>, else BBAnte = <bigblind>

As tables break down there are typically around 7 players, instead of 9, at each table before a table is broken, and that isn't too bad, but when we're down to 2 tables, we don't break to the final table until we're down to 9 players, allowing as few as 5 players per table.

Can you provide html code that would work with the new token?
Title: Re: 3.5 Progress
Post by: pockey on September 12, 2019, 03:07:17 PM
Just an idea.

Layout -> Screen sets
You change the screen when the players is inferior to X (condition).
In the new screen, you set the ante to "smallblind". 
Title: Re: 3.5 Progress
Post by: mcfrojd on September 12, 2019, 05:17:59 PM
At WSOP this summer there was a half bb ante (small blind) as soon as there was 6 players or less at the table, no matter if it was a new table early in the tournament or if it was unbalanced tables.
Title: Re: 3.5 Progress
Post by: Corey Cooper on September 12, 2019, 06:27:26 PM
JCalamis, I think you can do this today.  There are a couple of ways.  As pockey mentioned, you can use conditions to display a different screen which uses <smallblind> instead of <bigblind>.  Similarly, you can just use conditions to display a different property set in the cell which displays your blinds.  That's a bit simpler, but the same idea.

There's an even easier way, however, by using the <expression> token.  Here's the text from my Ante cell which uses BB ante as you've described:

<nobr>Ante: <expression text="if(playersLeft &lt;13, smallblind, bigblind)" format="chips"></nobr>

The expression token allows you to evaluate an expression using the same variables available to formulas.  The result (at this time) has to be numeric, but that's fine because that's what we want.  It also has a specifier for how you want it displayed.  This eliminates the need for another screen or even another property set.

It's nice that some of the BB ante methods can be handled without any changes, but it's only "simple" if you know what you're doing.  I'd love to make it much easier.
Title: Re: 3.5 Progress
Post by: Corey Cooper on September 12, 2019, 06:29:14 PM
At WSOP this summer there was a half bb ante (small blind) as soon as there was 6 players or less at the table, no matter if it was a new table early in the tournament or if it was unbalanced tables.

This is basically what I was referring to, since BB ante may be in use, or may not be, at different tables.  But I guess you could always put something in your layout specifying what the current BB ante is, and the conditions:

Ante: $100
Ante for tables with 6 or fewer players: $50
Title: Re: 3.5 Progress
Post by: JCalamis on September 12, 2019, 08:08:24 PM
Thanks, I'll try it.  The expression token appears to be just want I'm looking for.  I tried adding another conditional screen, but for some reason when I changed the ante to BB on the new screen, it also changed on the old (and vice-versa).  This looks much easier.
Title: Re: 3.5 Progress
Post by: JCalamis on September 12, 2019, 08:31:42 PM
Perfect!  Worked great and is just what I needed.  Thanks!!
Title: Re: 3.5 Progress
Post by: mcfrojd on September 13, 2019, 08:34:40 AM
One more thing to consider.
Big blind ante means that the person that have the big blind is the one that will post the ante.
The ante amount does not allways have to be the same amount as the big blind.
In WSOP there could be multiple levels with the same BBAnte amount even if the BB increased.
Title: Re: 3.5 Progress
Post by: Corey Cooper on September 30, 2019, 06:00:00 PM
Hopefully the final update before the beta: I am done with the beta version, except for one final task.  I'm not really sure how to solve it at this moment.  It's a task that could be easy, or hard, or I might decide it's not necessary.  But I don't have a solution yet, so at the moment I'm "letting it stew", which means I'm working on other things while I let this topic bubble around in the back of my brain.  Once I finish this task, I'll do some last minute testing and release it.

Any day now...
Title: Re: 3.5 Progress
Post by: Corey Cooper on October 12, 2019, 11:41:25 PM
The next [beta] version is finally ready.  Please check it out here: