[ADB] proposte per nuove funzionalità

Il database che raccoglie tutte le informazioni sui giochi, video, screenshot e tanto altro ancora

Moderatore: Moderatore ADB

Avatar utente
Gothrek
Moderatore
Moderatore
Messaggi: 4847
Iscritto il: 13/07/2017, 13:30
Città: Roma
Grazie Inviati: 17 volte
Grazie Ricevuti: 272 volte

Re: [ADB] proposte per nuove funzionalità

Messaggio da Gothrek »

non ho capito come le combini, se non con una lista di condizioni
Avatar utente
motoschifo

Gold Medal Donatore
Progetto Arcade Database
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à

Messaggio da motoschifo »

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.
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Avatar utente
Gothrek
Moderatore
Moderatore
Messaggi: 4847
Iscritto il: 13/07/2017, 13:30
Città: Roma
Grazie Inviati: 17 volte
Grazie Ricevuti: 272 volte

Re: [ADB] proposte per nuove funzionalità

Messaggio da Gothrek »

ok chiaro, non mi entusiasma la ui con tutti questi checkbox però è l'ultimo dei problemi.
Avatar utente
pucci
Moderatore
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à

Messaggio da pucci »

pucci ha scritto: 26/04/2020, 9:24 stavo ripensando a questo parte
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...)
- 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)

- 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
ho trovato un software che faceva molte di queste cose e non me ne ero mai accorto!

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
Avatar utente
motoschifo

Gold Medal Donatore
Progetto Arcade Database
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à

Messaggio da motoschifo »

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.
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Rispondi

Torna a “Progetto Arcade Data Base”