iStripper Playlist Manager from Dorsai6

  Форум / Всё о iStripper

Dorsai6
Joined in Apr 2013

1023 Сообщения
10 February 2019 (edited)
This is a good example of the difference between collaborative development and solo work. I don't program for pay anymore. My data modeling and data analysis work is done in a collaborative environment. My programming is almost entirely solo. During the beta testing of the Playlist Generator I got some very useful feedback from the testers about new features, but everyone took the overall architecture for granted.

I should note that I only work part time now. This means that some weeks I only work 10 hours, but others I work 50. The Playlist Generator is not my top priority, but I'd like to make it better as I have time.
Dorsai6
Joined in Apr 2013

1023 Сообщения
10 February 2019
Here is another thought about improving the Playlist Generator:

I never saw models as a significant issue, so there is no capability for tagging models. The only thing a user can do now is mark a model as a favorite. Would adding a tagging capability for models in addition to cards and clips be useful? How would you use it?

When I created the application I thought that card tags would be enough. I thought you could find all the cards with some tag or tags (or with clips with some tags) and then find all the models who performed on those cards. Then you could find other cards by the same models. However, the list of found models would be temporary.
ArchFeral
Joined in Jun 2012

18 Сообщения
10 February 2019 (edited)
the image is kinda big, and it's not particularly refined .. this is just to show basic layout ideas and navigation between panes. I'll write down some use-cases when I have more time in the night. For now it's just some graphical aid to my previous ideas, buttons and things aren't all in the right places. The last pane is a comparison view between the clip manager and the overview concept, potentially they could just be merged into one thing?

EDIT:
@Dorsai6 the overview of selected clips could have slightly larger card images and therefore a bit more display space compared to the clip manager - considering its per card as opposed to displaying individual clips. And having them separate allows for clip details to be visible on the clip manager where on the overview it's just so the user has a general idea of what they currently have selected instead of adding to playlist and not knowing if it's all there. Thats what I was going for.
Dorsai6
Joined in Apr 2013

1023 Сообщения
10 February 2019
@ArchFeral

I'm not sure what you have in mind with the 4 screens. I think the first screen is what you refer to as the models screen. One entry for each model. How much information about each model should appear? There is a trade off between the number of models that can be seen at one time and the amount of information that can be seen. I have a personal preference to avoid large scrolling displays. That why the current design shows one model or card and the card tab has the option of a scrolling list of all clips or a more detailed clip-at-a-time view. I never considered a page that would show, say, 6 or 8 models or cards at one time from a much larger collection. I need to thing about this.
ArchFeral
Joined in Jun 2012

18 Сообщения
11 February 2019 (edited)
@Dorsai6
The idea is to simulate the current iStripper UI. This way people will know what to expect with regards to navigation. It would help if there was some feedback from others with regards to what sort of interface they prefer, and what features to use.

Yeah I forgot to label each screen, but top left is [Models], which leads to [Cards] which leads to [Clips], and finally [Selected Clips] / [Playlist Manager] comparison.

Current [Cards and Clips] Pane redesigned and now referred to as [Clips]
Current [Models] Pane redisgned and referred to as [Models]
The first new Pane will be referred to as [Cards]
The second new Pane will be referred to as [Selected Clips]

For Clarity I will use the word CHOOSE (CHOSEN) to refer to interactions, and SELECT to specifically refer to the checkbox that will be used to generate playlists.

[Models]
Pane to be similar to the iS layout, but cards combined into albums for each model.One card displayed for each Model (use a Favourite Card's appearance perhaps?) // Potentially more than one with an offset to 'look nice' but totally not necessary.It will have a [SELECT All Cards] checkbox, clicking on the card image will bring the user to the [Cards] Pane.
[Cards]
This is where someone will see all the cards of the CHOSEN Model.It will have a [SELECT All Clips] checkbox for each card, and clicking on a card will bring up the [Clips] Pane for that card.
[Clips]
This pane will show the clips of the CHOSEN card.It will also have navigation buttons to change the active card shown.It will also have a navigation button to access the [SELECTED Clips] Pane.
[Selected Clips]
It will show all cards that have clips selected from them. This will be similar to how the playlist manager appears when [Add Selected Clips to Playlist] appears, but compacted to only include one card even when multiple clips were selected.Full details on each clip would be shown in the playlist manager screen, as this is intended for a 'quick' overview of all currently selected clips.Clicking a card will move the user to the [Clips] screen again with the CHOSEN card active.

In terms of what data is shown, I think the [Models] page doesn't really need to display any info at all considering it's displayed on the individual card's page which is in this case called [Clips]. Perhaps a better name for the page would be [Card Details].

If it's a bit too much to manage such an overhaul, I am happy to instead focus on streamlining the current UI. This would mostly involve moving buttons around and improving the functionality of the search box.

EDIT:
Your personal preference to avoid large scrolling is fair enough, I would normally agree. However in this case the change to the models screen does two things. The first thing is it would improve the functionality of the search box, as it should be possible to display all models that match what is searched instead of it trying to match it to one. The second thing is to do with how people remember things, I for one use the card images more than model names because I remember faces much better. Alternatively, if the models could be organised differently then maybe it's not needed to have a visuall list. For example organising them alphabetically instead of by iStripper ID, if I search for a model's name and it gives me someone with the same name then it's at least not too far to scroll in one direction or another. What do you think?
Dorsai6
Joined in Apr 2013

1023 Сообщения
11 February 2019
Re: The idea is to simulate the current iStripper UI.

I understand your thinking, but I'm not sure this is a good idea in this case. One concern I have is that emulating the iStripper My Collection interface might create inappropriate expectations since I support much more complex queries. However, I really need to think more about this.

Re: as it should be possible to display all models that match

If the number of matches is small, yes. A big question is how many people wish to search first for models and then for cards.

Re: I for one use the card images more than model names because I remember faces much better.

That's a very good point.

Re: Alternatively, if the models could be organised differently then maybe it's not needed to have a visuall list.

Another good point. I sorted by iStripper ID so the newest models would appear first. This is because I wanted to review them very so often to decide which I wanted to add to me favorites. It is easy for me to provide alternate sort orders. With just one model per page that isn't very useful. With a scrolling list of models it could be much more valuable.

I generally use the Generator in two ways. Either I start with all cards or I start with all card of my favorite models. My favorites are about 25% of the models in my collection. Then I filter by card and clip characteristics. But that's just how i use it.

Anyone else following this discussion: How would you prefer to select cards and clips for a playlist? What would work best for you if you had a large (>200 cards) collection?

I'm intrigued enough that I'm going to try to create an alternative UI. It may take some weeks.

ArchFeral
Joined in Jun 2012

18 Сообщения
11 February 2019
@Dorsai6 Do you think it would be worth me getting MS Access myself so I can help with the design? I'm happy to do so, even though I have only used access once - I am generally a fast learner for this sort of thing. It would have to be the same version though right? I don't know how backwards compatible the software is, but I am assuming the newer version may be a little better with regards to usability and perhaps even UI design elements?

Otherwise, tell me how else I might be able to help (I can still write down some use-cases for your reference whilst you work on it over the next weeks / months)? I have a decent amount of free time at the moment :)

Also I would like to re-iterate what Dorsai6 said : Anyone who is reading and is interested, please give us your thoughts ! :D
Dorsai6
Joined in Apr 2013

1023 Сообщения
11 February 2019
Re: Access

Access is a costly product if you buy it directly for Microsoft. If you shop around you can probably find a reseller with a decent price.

I developed the Playlist Generator under Windows 7 using Access 2007. During beta testing I discovered and corrected a few lines of code that prevented it from running on Windows 10 and with Access 2010. I have since done some limited testing with Access 2016 under Windows 10 and found no problems.

I still work on the Playlist Generator under Windows 7 using Access 2007 because upgrading is a headache and I try to minimize my contact with Windows.

My best guess is that any version of Access should do. So far as I have seen the improvements since Access 2007 have been ***** from my perspective. I don't believe there have been any performance improvements. The main advantage of you having Access would be in describing and correcting program defects, that is problem reporting and debugging.

The main advantage of Access is that it is designed as a database tool and I see the problem of the Playlist Generator as primarily a database problem. However, my main view of the world is data so database is my favorite hammer. Since Access was designed to work with textual data in a database and later extended to support images and other things, it has some serious limitations with regard to UI design for something like the Playlist Generator. If I were an modern programmer, I'd probably have built the Playlist Generator with Java, but I don't know that language and I have a lot of experience working with Access.
Wyldanimal
MODERATOR
Joined in Mar 2008

3742 Сообщения
11 February 2019
have a look into using Visual Studio to design the user interface.
VB.net is almost identical to VBA
But much more friendly when it comes to designing the User Interface.

https://docs.microsoft.com/en-us/visualstudio/data-tools/connect-to-data-in-an-access-database-windows-forms?view=vs-2017

https://www.youtube.com/watch?v=vvzY0LsAUNE

There is an Express version which should still be free to use.

Dfner
Joined in Feb 2018

604 Сообщения
11 February 2019 (edited)
I have been using Dorsai6's tool now for many months, and it really does just about everything I can hope for, so I don't think I will be of much use bringing ideas to the table... :)

I, personally, don't need streamlining to its interface, but if any changes to that makes it more accessible to people, all the better!

I think the weighting selection of clips in the current tool might seem complicated at first, but I think it is a very clever solution to a complicated selection process where amount of combinations of desired clip types is so large. And as you can save these selection sets, it works very nicely.

Just to throw a couple of ideas, though, if you guys are planning on some developments:

A) User defined model level tags would be useful for many users I think, as you suggested yourselves above – to create ones own subsets of models such as "good dancer" or whatever tags user wants to specify models by... useful also when totem tags of body types/hair color etc. aren't exactly what you want or agree with. You can of course easily set these tags on card level by selecting first all cards of specific model, but you would need to remember to do that again for any new card she has released.

B) Some sort of handling of new cards that meet your pre-defined criteria so that the clips from them could be added to your existing playlists. I think this would require the capability to somehow save used criteria filterset for each generated playlist. Ideally this would work so that you would load your playlist into the Tool and there would be a button "Update this playlist with new clips": and the Tool would add all the clips that are not in that playlist yet, but meet the same criteria that was used when creating it.

However, I'm not a programmer and I have no idea what kind of obstacles these suggestions might present, especially B), but just my 2c on this.
Dorsai6
Joined in Apr 2013

1023 Сообщения
11 February 2019
Re: Visual Studio

I've been avoiding this for maybe 20 years. Up to this point Access has been sufficient for my limited professional needs. I will keep this possibility in mind. Part of my problem is that I prefer the Mac/OSX environment to Windows.

@Dfner,

Since the Playlist Generator started life as a personal tool, many features were what I could do with the least effort. Making it understandable to others wasn't much of an issue since I knew what was going on under the hood. When I decided to offer it to the public I cleaned things up but didn't consider a substantive redesign. Now I am.

The current weighting approach to filtering was a good example. It was powerful, easy to do and didn't require a lot of UI programming. However, I do complex data analytics all the time. I'm going to think about other approaches that will be easier to understand.

Adding model level tags should be relatively easy and I'll probably do that.

Right now, the ability to name and save filters gives you the ability to regenerate a playlist. If the playlist was created with a single filter (and most can be), the you can save the filter and rerun it as you wish. However, I can see the value of some additional capabilities. I need to think about this.

Don't worry about what can't be done, that's my concern. With software most anything can be done, but sometimes it isn't worth the effort. In 1985, I spent 3 months learning how to draw a particular kind of curve in PostScript on the original Apple Laser Printer from the original Mac. That was a lot of effort, but it was really important at that time.

Dorsai6
Joined in Apr 2013

1023 Сообщения
12 February 2019
@ArchFeral

What is your monitor's resolution? I need to size the prototype and I might as well make it fit your screen. Mine is a 43" 4K.
ArchFeral
Joined in Jun 2012

18 Сообщения
13 February 2019
@Dorsai6 I use a 27" 1080p monitor
KatzPaw
Joined in Apr 2015

395 Сообщения
14 February 2019
Does this work with Fullscreen? :o
Dorsai6
Joined in Apr 2013

1023 Сообщения
14 February 2019
@ArchFeral

I will size the prototype for 1080p which is the most limiting size.

@KatzPaw

Essentially this database lets you create playlists. It has great ability to select just those cards and clips you want to include in a playlist.

The Fullscreen mode will take the lead performer from a playlist, but if it supports more than one performer at a time all the others simply come from your active cards. Others have asked Totem to either allow the Fullscreen mode to use playlists to control all performers or to allow a playlist to activate/inactive cards in My Collection. So far Totem had not done this. It is possible to activate/inactivate cards by writing data to the model.lst file, but to this point I have not done this because that would be updating iStripper operational data.
FalconAF
Joined in Jan 2008

149 Сообщения
15 February 2019 (edited)
Others have asked Totem to either allow the Fullscreen mode to use playlists to control all performers or to allow a playlist to activate cards in My Collection. So far Totem had not done this.

Which is totally stupid on Totem's part in as much as it WAS a part of the older VG GUI to use a playlist to activate the cards in My Collection. Now, the only way a customer can "create a list" of model cards that are activated in My Collection is to use the absolutely rediculous "Press Control Key, Mouse Click a Model, Hold Control Key to Select Another Model or Hold the Shift Key to Select a Group of Models, Keep Doing This Moronic Action While Scrolling Through an Entire Collection of over 1000 Cards...OOPS! After Getting 2/3 Through my My Collection List I Accidently Mouse Clicked on a Card but WASN'T Holding the Control or Shift Key Anymore So Now I Have to START ALL OVER AGAIN!!!'

For God's Sake, find a programmer who can program the ability for the customer to use a Created Saved Playlist to ACTIVATE THOSE CARDS IN MY COLLECTION AGAIN. Multiple Activated Cards in My Collection is the ONLY WAY the Fullscreen will use more than ONE model at a time. Give us back the EASY WAY to do that by loading a perviously created Playlist.

EDIT: Sorry this got posted here. I thought I was still in the Survey thread from Totem.
TheEmu
Joined in Jul 2012

3309 Сообщения
15 February 2019 (edited)
@FalconAF

That is not the only way to build a playlist.

Firstly you can add the cards one or two at at time to a playlist - which seems to be what you want to do.

Secondly you can use the big green "selected" tick icon on each card to mark which cards you want to be part of the selection, then set the activation filter filter to only show "enabled" cards, use Control-A to select all of them and ***** them all to the playlist. Or you can do it in reverse and temporarily deselect the cards you want, have only them displayed and ***** them to the playlist. Other filters can help a lot as well.

There is much that could be done to improve playlist editing, but it is not nearly as bad as you say.

Your second point about being able to use a playlist to activate/deactivate cards is, however, correct and would be greatly appreciated - though personally I would prefer it if instead of directly affecting the enabled/disabled statuses this functionality was provided by using a playlist as an input to an improved filtering system. This would be more general and would avoid the large overhead that accompanies enabling or disabling a large number of cards (or at least there used to be a large overhead - it was so bad that I have avoided using it for a long time now)
spiderman1804
Joined in Feb 2008

439 Сообщения
15 February 2019 (edited)
@FalconAF and @TheEmu

The playlist in iStripper can be created with full shows or individual clips.

The playlist in VirtuaGirl could only be created with complete shows. When loading a playlist, all shows that existed in the playlist could be activated and the other shows were deactivated.

To achieve the same effect in iStripper, the user must perform the following steps.
Step 1: Disable all shows.
Step 2: Copy a search string into the search box to filter only these shows.
Step 3: Activate the filtered show.

To create this search string from a playlist, the CardID's must be read from the playlist.
The search string (not shortened representation) consists only of the CardID's and the Pipe symbol, whereby the Pipe symbol always stands between two CardID's.
There is a small program ( by @Wyldanimal ) that can create this search string.
TheEmu
Joined in Jul 2012

3309 Сообщения
15 February 2019
@spiderman1804 - I knew I can control what is used in multi-clip scenes that way, but I don't use it because with my collection of over 4000 cards it takes almost three minutes to toggle from all enabled to all selected and about two minutes to go back to all enabled when I am finished (tested just before composing this message). Totem seem to use a rather inefficient way to mark cards as enabled/disabled involving creating or deleting a file for each card to flag its state rather than just maintainng a list cards and their status (at least that was the method used some time ago when I last looked)
Dorsai6
Joined in Apr 2013

1023 Сообщения
15 February 2019
@spiderman1804

Thanks for that information about activating cards in iStripper. I once had an AppleScript on my Mac that used a different approach, but it required the modification of the models.lst file and that in turn required that iStripper be shut down. Here is how it worked:

1. Quit iStripper (changes to the models.lst file only matter when iStripper starts up)
2. Select playlist
3. Decode playlist and make a list of card numbers found
4. Sort the card numbers (the models.lst file is a binary file in card number sequence)
5. Create a temporary work file with the header data from the model.lst file
5. For each card in models.lst
6a. If card number was on the playlist
6b. Copy the card data to the temporary work file with the activated flag bit = 1
6c. else
6d. Copy the card data to the temporary work file with the activated flag bit = 0
7. Delete (or rename) the old models.lst file
8. Rename the temp file to models.lst
9. Restart iStripper

@TheEmu

Totem seem to use a rather inefficient way to mark cards as enabled/disabled involving creating or deleting a file for each card to flag its state

What file is this? I know about the inactive.txt file, but that is only used to enable/disable clips.

So far as I've discovered the only card level status is in the models.lst file.
TheEmu
Joined in Jul 2012

3309 Сообщения
15 February 2019 (edited)
@Dorsai6

If you disable a card, e.g. f0424, then iStripper will create a file in the corresponding sub-directory of its main data directory. In the case of f0424 this will be called data/f0424/f0424.vhddisabled. It gets deleted when the card is reenabled. Creating or deleteing more than 4000 files each in a different directory is a time consuming way to flag the state of the cards.
Dorsai6
Joined in Apr 2013

1023 Сообщения
15 February 2019
@TheEmu

If you disable a card, e.g. f0424, then iStripper will create a file in the corresponding sub-directory of its main data directory.

Ha! So it does. I never found this. To make matters more interesting, the models.lst status seems to take precedence over the presence of this file. With iStripper shut down, I tried deleting or adding this file, but when iStripper was restarted it had no effect. However, rebuilding my collection got iStripper to recognize the change. The rebuild took about a minute on my Mac.

reating or deleteing more than 4000 files each in a different directory is a time consuming way to flag the state of the cards.

Doing that with a program is probably no more time consuming than using a program to set bits in the models.lst file.
TheEmu
Joined in Jul 2012

3309 Сообщения
15 February 2019
@Dorsai6 - It takes a lot more time to create or delete 4000 files than it does to update 4000 entries in an in memory data structure that only needs to be written once all 4000 entries have been updated. By experience iStripper takes two or three minutes to create or delete the files but I would expect only a small fraction of a second to update the data structure.
Dorsai6
Joined in Apr 2013

1023 Сообщения
15 February 2019
@TheEmu

By experience iStripper takes two or three minutes to create or delete the files

I wasn't talking about iStripper doing this. I was talking about doing it with my own program. Creating 4000 empty files using an AppleScript on my Mac should take well under a minute. Rebuilding my collection in iStripper takes 1-2 minutes. From previous experience, modifying the models.lst file takes 1-2 minutes.
TheEmu
Joined in Jul 2012

3309 Сообщения
15 February 2019
@Dorsai6 - but you should not be updating the file 4000 times, you should read it into memory make all the modifications to the in memory copy and only then write anything out to disk.
spiderman1804
Joined in Feb 2008

439 Сообщения
15 February 2019
@Dorsai6

The iStripper program modifies the show's status in the models.lst file and creates / deletes the file f0424.vhddisabled (example).

Deleting the file f0424.vhddisabled in the folder does not activate the show after rebooting iStripper. This file is needed when a rebuild is performed.
However, a rebuild is necessary if the models.lst file is damaged.

If only one of the functions is performed, then it may be that in a later problem, not the last status of the shows is displayed but an outdated status.
Wyldanimal
MODERATOR
Joined in Mar 2008

3742 Сообщения
15 February 2019
Files in the folders are the backup, in case the Models.lst file becomes corrupted.
or deleted.
the rebuild will take place when iStripper is opened.

this can also be initiated by the manual rebuild collection, it takes an inventory of your stored collection, it will use the files, to sync and update the Models.lst file, and the in memory version.

the models.lst file is NOT updated till you QUIT.

if there is a crash of the GUI, then the Models.lst file will NOT have any of the changes made during the session prior to the crash.

Another File is the Inactive.txt file in the data folder
it contains a list of all the clips that have been unchecked.



Wyldanimal
MODERATOR
Joined in Mar 2008

3742 Сообщения
15 February 2019
File *****

your programs can ***** these files,
this should be done while iStripper is not running.
but the changes you make to the files will Not show up, Unless:

1) the models,lst file is deleted or renamed, and then iStripper is started. It will then automatically do a rebuild collection.
or
2) a Manual Rebuild Collection is started.


Dorsai6
Joined in Apr 2013

1023 Сообщения
15 February 2019
@TheEmu

Yes, I only need to write the models.lst file once, but I must parse that file with is variable length and correctly adjust 4000 bits. That takes about half as much time as it takes to create 4000 empty files.
Dorsai6
Joined in Apr 2013

1023 Сообщения
15 February 2019
@spiderman1804

If only one of the functions is performed, then it may be that in a later problem, not the last status of the shows is displayed but an outdated status.

True. This is one good reason why I don't try to change the models.lst file.

Вам ещё не разрешается участвовать

Будучи бесплатным пользователем iStripper, вам не разрешается отвечать на форуме или же создавать новую тему.
Но вы можете просмотреть основные категории форума или познакомиться с его участниками !