So the problem wasn't with multiple shows on the same date not being ordered correctly, I understand the behaviors of MySQL when ordering by date and time and how it may decide to arbitrarily order two items that have the exact same date or time.
My problem was when I had group_artists set to no and all shows from my 3 musicians in 1 of 3 tours. Each tour was for each musician, such as this:
tour A - musician 1
tour B - musician 2
tour C - musician 3
It seems that Gigpress completely renders tour A before going on to render any of the shows in tour B. I am not complaining about this, in fact it is exactly how I would expect it to behave if I sit down and think about it.
So GigPress "appeared" to ordered the shows by artist, when in fact it grouped the shows by tour and ordered them by date. Here are the date ranges for each tour, as you can see tour 2 contains shows that happen before the last show in tour 1.
- tour 1 (feb - april)
- tour 2 (march - april)
- tour 3 (march - april)
My solution was to delete the tours, since they were not necessary for my client and voila! all the shows are no longer grouped by tour, just what they wanted.
Thanks for the awesome plugin!