[ADB] proposte per nuove funzionalità
Moderatore: Moderatore ADB
-
motoschifo
- Progetto Arcade Database
- Messaggi: 3271
- Iscritto il: 12/07/2013, 20:29
- Medaglie: 2
- Città: Parma
- Località: Parma
- Grazie Inviati: 32 volte
- Grazie Ricevuti: 31 volte
- Contatta:
Re: [ADB] proposte per nuove funzionalità
La lista che vedi non è combinabile, o meglio lo sarà con gli insiemi che di fatto sono unioni di più combinazioni di filtri.
In questo caso specifico posso aggiungere un elenco di cose molto particolari senza dover modificare continuamente le query, dato che l'opzione 1 includerà un certo set di specifiche, l'opzione 2 un altro set e così via.
In pratica è come avere dei checkbox in cui scegli la condizione speciale, o meglio oggi le vedi come una lista ma potrebbero essere anche loro dei checkbox per eventualmente combinare più funzioni insieme.
Però in questo caso non devo modificare la GUI, quindi l'automatismo è quello di poter avere ricerce mirate. Ovviamente devo crearle io, ma un conto è cambiare tutti i file correlati ed un altro conto aggiungere una condizione in tabella.
In questo caso specifico posso aggiungere un elenco di cose molto particolari senza dover modificare continuamente le query, dato che l'opzione 1 includerà un certo set di specifiche, l'opzione 2 un altro set e così via.
In pratica è come avere dei checkbox in cui scegli la condizione speciale, o meglio oggi le vedi come una lista ma potrebbero essere anche loro dei checkbox per eventualmente combinare più funzioni insieme.
Però in questo caso non devo modificare la GUI, quindi l'automatismo è quello di poter avere ricerce mirate. Ovviamente devo crearle io, ma un conto è cambiare tutti i file correlati ed un altro conto aggiungere una condizione in tabella.
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 Web ›ArcadeDatabase
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 Web ›ArcadeDatabase
- pucci
- Moderatore
- Messaggi: 4747
- Iscritto il: 19/07/2005, 18:52
- Città: San Clemente (RN)
- Località: Rimini
- Grazie Ricevuti: 62 volte
Re: [ADB] proposte per nuove funzionalità
ho trovato un software che faceva molte di queste cose e non me ne ero mai accorto!pucci ha scritto: ↑26/04/2020, 9:24 stavo ripensando a questo parte
- ogni lista, ricerca, ecc restituisce un elenco di giochi, quindi un "insieme" i cui elementi devono essere identificati in modo univoco (MAME usa il nome della roma, ADB usa i tuoi ID che hai dovuto creare per tenere conto delle stesse rom che magari hanno cambiato nome da una versione all'altra. per ADB una rom che cambia nome "rimane la stessa", per MAME no)come lo farei io?
una tabella dove inserisco i vari ricerca/lista pubbliche/utente e dove con dei pulsanti possono spostarli prima o dopo di altri
a metà di ognuno di questi c'è un pulsante che fa scegliere l'operazione (unione, differenza, in, not in, ecc...)
- sugli insiemi si possono eseguire una serie di operazioni previste dalla matematica, queste operazioni nel caso di 2 insiemi possono essere 4
operazioni_insieme.jpg
la quarta "differenza" si può spezzare in 2 essendo possibile una differenza tra A e B oppure tra B e A
andrebbe anche aggiunta una quinta operazione che opera su un unico insieme: il complementare rispetto all'insieme universo (l'insieme universo nel nostro caso è la lista di tutti i giochi del MAME) ES: i complementare dell'insieme "cloni" sono "parent+device+BIOS"
questa operazione in realtà si può vedere come una operazione DIFFERENZA B - A (con B=lista tutti giochi del MAME e A=nostra lista attuale)
combinando in modo grafico questi "blocchi" direi che puoi fare tutto ed arrivare ad un insieme finale che contenga ciò che volevamo estrarre dal database del MAME (cioè la nostra lista perfetta)
ESEMPIO:
- lista parent
DIFFERENZA
- lista not working
UNIONE
- lista cloni working di parent not working
UNIONE
- lista dei giochi in italiano
DIFFERENZA
- lista dei parent dei giochi in italiano selezionati al punto precedente
DIFFERENZA
- lista dei giochi che appartengono a categorie non adatte ai MAME cab
DIFFERENZA
- lista dei giochi che funzionano con volante (perchè magari il mio cab non ha volante)
DIFFERENZA
- lista dei giochi che funzionano con lightgun (perchè magari il mio cab non ha lightgun)
tutto questo con javascript direi che è gestibile con dei blocchi grafici che rappresentano gli insiemi e altri blocchi grafici che rappresentano le operazioni, se si possono postare graficamente con il mouse o con dei pulsanti
uniche regole:
- la sequenza deve iniziare con un INSIEME e finire con un INSIEME
- dopo ogni INSIEME deve esserci una OPERAZIONE (salvo che l'INSIEME non sia l'ultimo della sequenza)
- prima e dopo ogni OPERAZIONE deve esserci un INSIEME
sarebbe bello che a fianco di ogni insieme venisse riportato anche il numero di elementi che lo compongono in modo da comprendere anche graficamente gli effetti delle nostre operazioni
MFM - MAME File Manager
https://github.com/phweda/MFM
ListEditor: Multi-select to add to or remove from a Working List. Add a list to the current Working List. Intersection (machines in both) of this list with current Working List entries. Subtract a list from the current Working List
purtroppo non più sviluppato da tempo, ma con sorgente disponibile e secondo me ben studiato
mi dite la vostra opinione?
qui c'è una guida per farsi una idea: https://usermanual.wiki/Document/MAME20 ... 71351/html
-
motoschifo
- Progetto Arcade Database
- Messaggi: 3271
- Iscritto il: 12/07/2013, 20:29
- Medaglie: 2
- Città: Parma
- Località: Parma
- Grazie Inviati: 32 volte
- Grazie Ricevuti: 31 volte
- Contatta:
Re: [ADB] proposte per nuove funzionalità
Ricordo di averlo visto diverso tempo fa, ma poi non l'ho mai aperto e probabilmente dopo me ne sono proprio dimenticato.
Intersecare le liste non è un problema, anzi è la parte più facile, il vero problema è permettere di lavorarle nello stesso modo in cui lavori la lista singola.
In altre parole, il vero lavoro è fornire un input di facile comprensione/modifica e permettere di confrontarlo con un secondo input, anche lui riconoscibile e modificabile con facilità.
Se ti bastano liste statiche, risolvi con la gestione di una lista personalizzata e poi confronti tramite gli operatori che ci sono già (IN LIST e NOT IN LIST) creando o modificando la lista stessa in step successivi.
Intersecare le liste non è un problema, anzi è la parte più facile, il vero problema è permettere di lavorarle nello stesso modo in cui lavori la lista singola.
In altre parole, il vero lavoro è fornire un input di facile comprensione/modifica e permettere di confrontarlo con un secondo input, anche lui riconoscibile e modificabile con facilità.
Se ti bastano liste statiche, risolvi con la gestione di una lista personalizzata e poi confronti tramite gli operatori che ci sono già (IN LIST e NOT IN LIST) creando o modificando la lista stessa in step successivi.
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 Web ›ArcadeDatabase
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 Web ›ArcadeDatabase