Page 1 of 1

Discogs (API use)

Posted: Fri Aug 29, 2025 1:09 am
by Olli
Copy of a source code I did not test, and I do not understand.
Author : boddhi
Source : https://www.purebasic.fr/french/viewtopic.php?t=19011
Source code split in 5 parts :

Code: Select all

EnableExplicit

; ╔═════════════════════════════════════════════════════════════════════════════╗
; ║ STRUCTURES - ENUMERATIONS - CONSTANTES - MACROS - MAPS - VARIABLES GLOBALES ║
; ╚═════════════════════════════════════════════════════════════════════════════╝
;{ ════  PLUGINS              ════
;- ════  PLUGINS
UseJPEGImageDecoder()
UsePNGImageDecoder()
;}
;{ ════  STRUCTURES           ════
;- ════  STRUCTURES           ════
; Structures JSON DISCOGS globales/récurrentes 
Structure JSONDISCOGS_URLSPAGINATION        ;{
  first.s
  prev.s
  Next.s
  last.s
EndStructure ;}
Structure JSONDISCOGS_DONNEESPAGINATION     ;{ 
  pages.u
  per_page.u
  items.u
  page.u
  urls.JSONDISCOGS_URLSPAGINATION
EndStructure ;}
Structure JSONDISCOGS_PAGINATION            ;{
  pagination.JSONDISCOGS_DONNEESPAGINATION
EndStructure ;}
Structure JSONDISCOGS_ARTIST                ;{
  id.l
  name.s
  anv.s
  join.s
  role.s
  tracks.s
  resource_url.s
EndStructure ;}
Structure JSONDISCOGS_TRACK                 ;{
  position.s
  type_.s
  title.s
  duration.s
EndStructure ;}
Structure JSONDISCOGS_IMAGE                 ;{
  type.s
  uri.s
  resource_url.s
  uri150.s
  width.u
  height.u
EndStructure ;}
Structure JSONDISCOGS_VIDEO                 ;{
  uri.s
  title.s
  description.s
  duration.u
  embed.s
EndStructure ;}
Structure JSONDISCOGS_SUBMITTERCONTRIBUTOR  ;{
  username.s
  resource_url.s
EndStructure ;}
Structure JSONDISCOGS_IDENTIFIER            ;{
  type.s
  value.s
  description.s
EndStructure ;}
Structure JSONDISCOGS_RATING                ;{
  count.l
  average.f
EndStructure ;}
Structure JSONDISCOGS_COMMUNITY             ;{
  have.l
  want.l
  data_quality.s
  status.s
  submitter.JSONDISCOGS_SUBMITTERCONTRIBUTOR
  rating.JSONDISCOGS_RATING
  List contributors.JSONDISCOGS_SUBMITTERCONTRIBUTOR()
EndStructure ;}
Structure JSONDISCOGS_STAT                  ;{
  in_wantlist.l
  in_collection.l
EndStructure ;}
Structure JSONDISCOGS_STATS                 ;{
  user.JSONDISCOGS_STAT
  community.JSONDISCOGS_STAT
EndStructure ;}
Structure JSONDISCOGS_FILTERVALUE           ;{
  title.s
  value.s
  count.l
EndStructure ;}
Structure JSONDISCOGS_FILTER                ;{
  title.s
  id.s
  allows_multiple_values.a
  List values.JSONDISCOGS_FILTERVALUE()
EndStructure ;}
; Structures JSON DISCOGS liées aux recherches
Structure JSONDISCOGS_ARTIST2 ;{ inutilisée
  ;master_url.s
  ;master_id.s
  uri.s
  cover_image.s
  thumb.s
  title.s
  ;type.s
  id.l
  resource_url.s
EndStructure ;}
Structure JSONDISCOGS_ARTISTS ;{ inutilisée
  List results.JSONDISCOGS_ARTIST()
EndStructure ;}
;
Structure JSONDISCOGS_GROUPSARTISTBYID      ;{
  id.l
  name.s
  resource_url.s
  active.s
EndStructure ;}
Structure JSONDISCOGS_ARTISTBYID            ;{
  id.l
  name.s
  realname.s
  resource_url.s
  uri.s
  releases_url.s
  profile.s
  cover_image.s
  thumb.s
  title.s
  data_quality.s
  List images.JSONDISCOGS_IMAGE()
  List urls.s()
  List namevariations.s()
  List aliases.JSONDISCOGS_GROUPSARTISTBYID()
  List groups.JSONDISCOGS_GROUPSARTISTBYID()
  List members.JSONDISCOGS_GROUPSARTISTBYID()
EndStructure ;}
Structure JSONDISCOGS_ARTISTRELEASEBYID     ;{
  id.l
  title.s
  type.s
  main_release.l
  artist.s
  role.s
  resource_url.s
  year.u
  thumb.s
  status.s
  label.s
  format.s
  ;stats()/community()/in_wantlist.l
  ;stats()/community()/in_collection.l
EndStructure ;}
Structure JSONDISCOGS_ARTISTRELEASESBYID    ;{
  List releases.JSONDISCOGS_ARTISTRELEASEBYID()
EndStructure
;}
Structure JSONDISCOGS_RELEASELABELCOMPANY   ;{
  id.l
  name.s
  catno.s
  entity_type.s
  entity_type_name.s
  resource_url.s
  ;list series.?
EndStructure ;}
Structure JSONDISCOGS_RELEASEFORMAT         ;{
  name.s
  qty.s
  List descriptions.s()
EndStructure ;}
Structure JSONDISCOGS_RELEASEBYID           ;{
  id.l
  status.s
  year.u
  resource_url.s
  uri.s
  title.s
  artists_sort.s
  country.s
  released.s
  released_formatted.s
  notes.s
  thumb.s
  format_quantity.l
  date_added.s
  date_changed.s
  num_for_sale.l
  lowest_price.f
  estimated_weight.u
  blocked_from_sale.s
  community.JSONDISCOGS_COMMUNITY
  List genres.s()
  List styles.s()
  List artists.JSONDISCOGS_ARTIST()
  List extraartists.JSONDISCOGS_ARTIST()
  List formats.JSONDISCOGS_RELEASEFORMAT()
  List labels.JSONDISCOGS_RELEASELABELCOMPANY()
  List companies.JSONDISCOGS_RELEASELABELCOMPANY()
  List identifiers.JSONDISCOGS_IDENTIFIER()
  List videos.JSONDISCOGS_VIDEO()
  List tracklist.JSONDISCOGS_TRACK()
  List images.JSONDISCOGS_IMAGE()
EndStructure ;}
Structure JSONDISCOGS_MASTERBYID            ;{
  id.l
  title.s
  main_release.l
  most_recent_release.l
  resource_url.s
  uri.s
  versions_url.s
  main_release_url.s
  most_recent_release_url.s
  num_for_sale.l
  lowest_price.f
  year.u
  data_quality.s
  List genres.s()
  List styles.s()
  List artists.JSONDISCOGS_ARTIST()
  List images.JSONDISCOGS_IMAGE()
  List tracklist.JSONDISCOGS_TRACK()
  List videos.JSONDISCOGS_VIDEO()
EndStructure ;}
Structure JSONDISCOGS_FILTERS               ;{
  Map format.s()
  Map label.u()
  Map country.u()
  Map released.u()
EndStructure ;}
Structure JSONDISCOGS_AVAILABLEFILTERS      ;{
  applied.JSONDISCOGS_FILTERS
  available.JSONDISCOGS_FILTERS
EndStructure ;}
Structure JSONDISCOGS_MASTERVERSION         ;{
  id.l
  label.s
  country.s
  title.s
  format.s
  catno.s
  released.s
  status.s
  resource_url.s
  thumb.s
  stats.JSONDISCOGS_STATS
  List major_formats.s()
EndStructure ;}
Structure JSONDISCOGS_MASTERVERSIONSBYID    ;{
  filters.JSONDISCOGS_AVAILABLEFILTERS
  List filter_facets.JSONDISCOGS_FILTER()
  List versions.JSONDISCOGS_MASTERVERSION()
EndStructure ;}
Structure JSONDISCOGS_SEARCHRESULTS         ;{
  id.l
  type.s
  title.s
  year.s
  country.s
  master_id.l
  master_url.s
  catno.s
  uri.s
  thumb.s
  cover_image.s
  resource_url.s
  List format.s()
  List label.s()
  List genre.s()
  List style.s()
  List barcode.s()
  ;Map community.l()
  ;format_quantity.l
EndStructure ;}
Structure JSONDISCOGS_SEARCH                ;{
  List results.JSONDISCOGS_SEARCHRESULTS()
EndStructure ;}

;}
;{ ════  ENUMERATIONS         ════
;- ════  ENUMERATIONS ════
Runtime Enumeration Fenetres  ;{
  #FEN_RECHERCHEDB
  #FEN_RESULTATS
EndEnumeration ;}
Runtime Enumeration Gadgets   ;{ Gadgets fenêtre principale
  #GAD_FP_CD_TYPERECHERCHE
  #GAD_FP_LS_TYPESRECHERCHE
  #GAD_FP_CD_PARAMETRESRECHERCHE
  #GAD_FP_BM_PARAMETRES
  #GAD_FP_CT_PARAMETRESARTISTE
  #GAD_FP_BG_PARAMETRESARTISTE
  #GAD_FP_LIB_PARAMARTISTE_IDARTISTE
  #GAD_FP_CP_PARAMARTISTE_IDARTISTE
  #GAD_FP_CT_PARAMETRESPARUTIONSARTISTE
  #GAD_FP_BG_PARAMETRESPARUTIONSARTISTE
  #GAD_FP_LIB_PARAMPARUTIONSARTISTE_IDARTISTE
  #GAD_FP_CP_PARAMPARUTIONSARTISTE_IDARTISTE
  #GAD_FP_LIB_PARAMPARUTIONSARTISTE_TRI
  #GAD_FP_LS_PARAMPARUTIONSARTISTE_TRI
  #GAD_FP_LIB_PARAMPARUTIONSARTISTE_ORDRETRI
  #GAD_FP_LS_PARAMPARUTIONSARTISTE_ORDRETRI
  #GAD_FP_LIB_PARAMPARUTIONSARTISTE_ITEMSPAGE
  #GAD_FP_LS_PARAMPARUTIONSARTISTE_ITEMSPAGE
  #GAD_FP_CT_PARAMETRESPARUTION
  #GAD_FP_BG_PARAMETRESPARUTION
  #GAD_FP_LIB_PARAMPARUTION_IDPARUTION
  #GAD_FP_CP_PARAMPARUTION_IDPARUTION
  #GAD_FP_LIB_PARAMPARUTION_MONNAIE
  #GAD_FP_LS_PARAMPARUTION_MONNAIE
  #GAD_FP_CT_PARAMETRESMASTER
  #GAD_FP_BG_PARAMETRESMASTER
  #GAD_FP_LIB_PARAMMASTER_IDMASTER
  #GAD_FP_CP_PARAMMASTER_IDMASTER
  #GAD_FP_CT_PARAMETRESVERSIONSMASTER
  #GAD_FP_BG_PARAMETRESVERSIONSMASTER
  #GAD_FP_LIB_PARAMVERSIONSMASTER_IDMASTER
  #GAD_FP_CP_PARAMVERSIONSMASTER_IDMASTER
  #GAD_FP_LIB_PARAMVERSIONSMASTER_FORMAT
  #GAD_FP_CP_PARAMVERSIONSMASTER_FORMAT
  #GAD_FP_LIB_PARAMVERSIONSMASTER_ANNEE
  #GAD_FP_CP_PARAMVERSIONSMASTER_ANNEE
  #GAD_FP_LIB_PARAMVERSIONSMASTER_LABEL
  #GAD_FP_CP_PARAMVERSIONSMASTER_LABEL
  #GAD_FP_LIB_PARAMVERSIONSMASTER_PAYS
  #GAD_FP_CP_PARAMVERSIONSMASTER_PAYS
  #GAD_FP_LIB_PARAMVERSIONSMASTER_TRI
  #GAD_FP_LS_PARAMVERSIONSMASTER_TRI
  #GAD_FP_LIB_PARAMVERSIONSMASTER_ORDRETRI
  #GAD_FP_LS_PARAMVERSIONSMASTER_ORDRETRI
  #GAD_FP_LIB_PARAMVERSIONSMASTER_ITEMSPAGE
  #GAD_FP_LS_PARAMVERSIONSMASTER_ITEMSPAGE
  #GAD_FP_CT_PARAMETRESRECHERCHEGENERALE
  #GAD_FP_BG_PARAMETRESRECHERCHEGENERALE
  #GAD_FP_LIB_PARAMRECHERCHEGALE_TEXTE
  #GAD_FP_CP_PARAMRECHERCHEGALE_TEXTE
  #GAD_FP_LIB_PARAMRECHERCHEGALE_TYPE
  #GAD_FP_LS_PARAMRECHERCHEGALE_TYPE
  #GAD_FP_LIB_PARAMRECHERCHEGALE_ARTISTETITRE
  #GAD_FP_CP_PARAMRECHERCHEGALE_ARTISTETITRE
  #GAD_FP_LIB_PARAMRECHERCHEGALE_TITREPARUTION
  #GAD_FP_CP_PARAMRECHERCHEGALE_TITREPARUTION
  #GAD_FP_LIB_PARAMRECHERCHEGALE_ARTISTE
  #GAD_FP_CP_PARAMRECHERCHEGALE_ARTISTE
  #GAD_FP_LIB_PARAMRECHERCHEGALE_ARTISTEVARIATION
  #GAD_FP_CP_PARAMRECHERCHEGALE_ARTISTEVARIATION
  #GAD_FP_LIB_PARAMRECHERCHEGALE_TITREPISTE
  #GAD_FP_CP_PARAMRECHERCHEGALE_TITREPISTE
  #GAD_FP_LIB_PARAMRECHERCHEGALE_CREDIT
  #GAD_FP_CP_PARAMRECHERCHEGALE_CREDIT
  #GAD_FP_LIB_PARAMRECHERCHEGALE_FORMAT
  #GAD_FP_CP_PARAMRECHERCHEGALE_FORMAT
  #GAD_FP_LIB_PARAMRECHERCHEGALE_ANNEE
  #GAD_FP_CP_PARAMRECHERCHEGALE_ANNEE
  #GAD_FP_LIB_PARAMRECHERCHEGALE_GENRE
  #GAD_FP_CP_PARAMRECHERCHEGALE_GENRE
  #GAD_FP_LIB_PARAMRECHERCHEGALE_STYLE
  #GAD_FP_CP_PARAMRECHERCHEGALE_STYLE
  #GAD_FP_LIB_PARAMRECHERCHEGALE_LABEL
  #GAD_FP_CP_PARAMRECHERCHEGALE_LABEL
  #GAD_FP_LIB_PARAMRECHERCHEGALE_PAYS
  #GAD_FP_CP_PARAMRECHERCHEGALE_PAYS
  #GAD_FP_LIB_PARAMRECHERCHEGALE_NOCATALOGUE
  #GAD_FP_CP_PARAMRECHERCHEGALE_NOCATALOGUE
  #GAD_FP_LIB_PARAMRECHERCHEGALE_CODEBARRE
  #GAD_FP_CP_PARAMRECHERCHEGALE_CODEBARRE
  #GAD_FP_LIB_PARAMRECHERCHEGALE_DEPOSANT
  #GAD_FP_CP_PARAMRECHERCHEGALE_DEPOSANT
  #GAD_FP_LIB_PARAMRECHERCHEGALE_CONTRIBUTEUR
  #GAD_FP_CP_PARAMRECHERCHEGALE_CONTRIBUTEUR
  #GAD_FR_CC_RECHERCHEEXACTE
  #GAD_FP_LIB_PARAMRECHERCHEGALE_ITEMSPAGE
  #GAD_FP_LS_PARAMRECHERCHEGALE_ITEMSPAGE
  #GAD_FP_LIB_ELEMENTS
  #GAD_FP_LIB_NBELEMENTS
  #GAD_FP_LIB_PAGE
  #GAD_FP_LIB_NBPAGES
  #GAD_FP_BT_RECHERCHER
  #GAD_FP_BP_JAUGE
EndEnumeration ;}
Runtime Enumeration Gadgets   ;{ Gadgets fenêtre résultats
  #GAD_FR_BG_RESULTATS
  #GAD_FR_BG_GRILLE1
  #GAD_FR_BG_GRILLE2
  #GAD_FR_BG_GRILLE3
  #GAD_FR_LIB_IDOBJET
  #GAD_FR_CP_IDOBJET
  #GAD_FR_LIB_LIENURI
  #GAD_FR_CP_LIENURI
  #GAD_FR_BT_LIENURI
  #GAD_FR_LIB_LIENURL
  #GAD_FR_CP_LIENURL
  #GAD_FR_BT_LIENURL
  #GAD_FR_LS_IMAGES
  #GAD_FR_BT_LIENIMAGE
  #GAD_FR_LIB_LIBELLE01
  #GAD_FR_LIB_LIBELLE02
  #GAD_FR_LIB_LIBELLE03
  #GAD_FR_LIB_LIBELLE04
  #GAD_FR_LIB_LIBELLE05
  #GAD_FR_LIB_LIBELLE06
  #GAD_FR_LIB_LIBELLE07
  #GAD_FR_LIB_LIBELLE08
  #GAD_FR_LIB_LIBELLE09
  #GAD_FR_LIB_LIBELLE10
  #GAD_FR_LIB_LIBELLE11
  #GAD_FR_LIB_LIBELLE12
  #GAD_FR_LIB_LIBELLE13
  #GAD_FR_LIB_LIBELLE14
  #GAD_FR_LIB_LIBELLE15
  #GAD_FR_LIB_LIBELLE16
  #GAD_FR_LIB_LIBELLE17
  #GAD_FR_LIB_LIBELLE18
  #GAD_FR_LIB_LIBELLE19
  #GAD_FR_LIB_LIBELLE20
  #GAD_FR_CP_CHAMP01
  #GAD_FR_CP_CHAMP02
  #GAD_FR_CP_CHAMP03
  #GAD_FR_CP_CHAMP04
  #GAD_FR_CP_CHAMP05
  #GAD_FR_CP_CHAMP06
  #GAD_FR_CP_CHAMP07
  #GAD_FR_CP_CHAMP08
  #GAD_FR_CP_CHAMP09
  #GAD_FR_CP_CHAMP10
  #GAD_FR_BT_BOUTON01
  #GAD_FR_BT_BOUTON02
  #GAD_FR_BT_BOUTON03
  #GAD_FR_BT_BOUTON04
  #GAD_FR_BT_BOUTON05
  #GAD_FR_BT_BOUTON06
  #GAD_FR_LS_LISTEVUE01
  #GAD_FR_LS_LISTEVUE02
  #GAD_FR_LS_LISTEVUE03
  #GAD_FR_LS_LISTEVUE04
  #GAD_FR_LS_LISTEVUE05
  #GAD_FR_LS_LISTEICONES01
  #GAD_FR_LS_LISTEICONES02
  #GAD_FR_LS_LISTEICONES03
  #GAD_FR_LS_LISTEICONES04
  #GAD_FR_LS_LISTEICONES05
  #GAD_FR_LS_LISTEICONES06
  #GAD_FR_LS_LISTEICONES07
  #GAD_FR_LS_LISTEICONES08  
  #GAD_FR_ED_EDITEUR01
  #GAD_FR_IMG_IMAGE01
  #GAD_FR_IMG_IMAGE02
EndEnumeration ;}
Enumeration XML               ;{
  #ARBRE_XML
EndEnumeration ;}
Enumeration DialoguesXML      ;{
  #XML_FENPRINCIPALE
  #XML_FENRESULTATS
EndEnumeration ;}
Enumeration JSON              ;{
  #JSON
EndEnumeration ;}
Enumeration Images            ;{
  #IMG_MINIATURE
  #IMG_POCHETTE
  #IMG_DISCOGS
  #IMG_LECTUREVIDEO
EndEnumeration ;}
;}
;{ ════  CONSTANTES           ════
;- ════  CONSTANTES           ════
#DISCOGSCHEMINHTTP="https://www.discogs.com/"
#DISCOGSCHEMINAPI="https://api.discogs.com/"
#DISCOGSCHEMINBASEAPI=#DISCOGSCHEMINAPI+"database/"
#DISCOGSCLE=""
#DISCOGSCLESECRETE=""
#SEPCHAMPS=" | "
#TITREBOITEDIALOGUE="Recherche de données DISCOGS"
#TITREFENETRERESULTATS="Résultats de la recherche DISCOGS"
CompilerIf #DISCOGSCHEMINHTTP="" Or #DISCOGSCHEMINAPI=""
  CompilerError "Vous devez définir vos clés DISCOGS !"
  End
CompilerEndIf
;}
;{ ════  MACROS               ════
; -════  MACROS               ════
Macro Mc_ClesDISCOGS()
  "&key="+#DISCOGSCLE+"&secret="+#DISCOGSCLESECRETE
EndMacro
Macro Mc_FormatageXML(ArgChaine)
  EscapeString(ArgChaine,#PB_String_EscapeXML)
EndMacro
Macro Mc_DeformatageXML(ArgChaine)
  UnescapeString(ArgChaine,#PB_String_EscapeXML)
EndMacro
Macro Mc_FormatageChaineRecherche(ArgChaine)
  ReplaceString(Trim(ArgChaine),Chr(32),"+")
EndMacro
Macro Mc_FormatageMessage(ArgChaine)
  StringField(StringField(ArgChaine,2,"message"+Chr(34)+": "),1,"}")
EndMacro
;}

Re: Discogs (API use)

Posted: Fri Aug 29, 2025 1:11 am
by Olli

Code: Select all

; ╔═════════════════════════════════════════╗
; ║ DECLARATIONS - FICHIERS INCLUS - IMAGES ║
; ╚═════════════════════════════════════════╝
;{ ════  DECLARATIONS         ════
;- ════  DECLARATIONS         ════
Declare.a Fc_FenResultats_Affichage(ArgTypeRecherche.a)
;}
;-══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
; ╔════════════╗
; ║ PROCEDURES ║
; ╚════════════╝
; ╔══════════════════════╗
; ║ PROCEDURES GENERALES ║
; ╚══════════════════════╝
Procedure.s Fc_Conversion_DureeNombre(ArgDuree.u)
  Protected.s ValeurRetour
  
  If ArgDuree>3600
    ValeurRetour=RSet(Str(ArgDuree/3600),2,"0")+":"
  EndIf
  ValeurRetour+RSet(Str(Mod((ArgDuree-Mod(ArgDuree,60))/60,60)),2,"0")+":"+RSet(Str(Mod(ArgDuree,60)),2,"0")
  ProcedureReturn ValeurRetour
EndProcedure
Procedure   Pc_Ouverture_LienInternet(ArgNoGadget.u)
  Protected.u NoGadget=GetGadgetData(ArgNoGadget)
  Protected.s LienInternet
  
  Select GadgetType(NoGadget)
    Case #PB_GadgetType_ListIcon
      If GetGadgetState(NoGadget)>=0
        LienInternet=GetGadgetItemText(NoGadget,GetGadgetState(NoGadget),GetGadgetData(NoGadget))
      EndIf
    Case #PB_GadgetType_String
      LienInternet=GetGadgetText(NoGadget)
  EndSelect
  If LienInternet
    RunProgram(LienInternet)
  EndIf
EndProcedure
Procedure.l Fc_Telechargement_Image(ArgURLImage.s,ArgNoImage.u)
  Protected *TamponImage
  Protected.l IDImage
  
  If ArgURLImage
    *TamponImage=ReceiveHTTPMemory(ArgURLImage)
    If *TamponImage
      If CatchImage(ArgNoImage,*TamponImage)
        IDImage=ImageID(ArgNoImage)
      EndIf
      FreeMemory(*TamponImage)
    EndIf
  EndIf
  ProcedureReturn IDImage
EndProcedure
Procedure   Pc_Affichage_Image(ArgNoGadget.u)
  Protected *TamponImage
  Protected.l NoItem,IDImage
  Protected.a TypeRequete=GetWindowData(#FEN_RESULTATS)
  Protected.s URLImage
  
  If IsImage(#IMG_POCHETTE)
    FreeImage(#IMG_POCHETTE)
    SetGadgetState(#GAD_FR_IMG_IMAGE01,0)
  EndIf
  Select TypeRequete
    Case 1,4,5 ; Recherche Parutions par ID Artiste / Recherche Versions Master par ID Master / Recherche générale
      URLImage=GetGadgetText(ArgNoGadget)
    Case 3 ; Recherche Master par ID
      NoItem=GetGadgetState(#GAD_FR_LS_IMAGES)
      If NoItem>=0
        URLImage=GetGadgetItemText(#GAD_FR_LS_IMAGES,NoItem,4)
      EndIf
  EndSelect
  SetGadgetState(#GAD_FR_IMG_IMAGE01,Fc_Telechargement_Image(URLImage,#IMG_POCHETTE))
EndProcedure
Procedure   Pc_Affichage_DonneesListe()
  Protected *TamponImage
  Protected.l NoItem
  Protected.u NoGadget,NbItems,Compteur2
  Protected.a TypeRequete=GetWindowData(#FEN_RESULTATS),Compteur1
  Protected.s Chaine
  
  If TypeRequete<>1 And TypeRequete<>4 And TypeRequete<>5:ProcedureReturn:EndIf
  NoItem=GetGadgetState(#GAD_FR_LS_LISTEICONES01)
  SetGadgetText(#GAD_FR_CP_IDOBJET,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,0))
  SetGadgetText(#GAD_FR_CP_CHAMP01,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,1))
  SetGadgetText(#GAD_FR_CP_CHAMP02,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,2))
  SetGadgetText(#GAD_FR_CP_CHAMP03,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,3))
  SetGadgetText(#GAD_FR_CP_CHAMP04,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,4))
  SetGadgetText(#GAD_FR_CP_CHAMP05,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,5))
  SetGadgetText(#GAD_FR_CP_CHAMP06,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,6))
  SetGadgetText(#GAD_FR_CP_CHAMP07,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,7))
  SetGadgetText(#GAD_FR_CP_CHAMP08,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,8))
  Select TypeRequete
    Case 1 ; Recherche Parutions par ID Artiste
      SetGadgetText(#GAD_FR_CP_CHAMP09,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,9))
      SetGadgetText(#GAD_FR_CP_CHAMP10,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,10))
      SetGadgetText(#GAD_FR_CP_LIENURL,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,11))
      NoGadget=#GAD_FR_CP_CHAMP10
    Case 4 ; Recherche Versions Master par ID Master
      SetGadgetText(#GAD_FR_CP_CHAMP09,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,9))
      SetGadgetText(#GAD_FR_CP_LIENURL,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,10))
      NoGadget=#GAD_FR_CP_CHAMP09
    Case 5
      SetGadgetText(#GAD_FR_CP_LIENURI,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,15))
      SetGadgetText(#GAD_FR_CP_CHAMP09,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,14))
      SetGadgetText(#GAD_FR_CP_LIENURL,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,16))
      For Compteur1=0 To 4
        ClearGadgetItems(#GAD_FR_LS_LISTEVUE01+Compteur1)
        Chaine=GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,9+Compteur1)
        If Chaine
          NbItems=CountString(Chaine,#SEPCHAMPS)+1
          For Compteur2=1 To NbItems
            AddGadgetItem(#GAD_FR_LS_LISTEVUE01+Compteur1,-1,StringField(Chaine,Compteur2,#SEPCHAMPS))
          Next
        EndIf
      Next
      NoGadget=#GAD_FR_CP_CHAMP09
  EndSelect
  Pc_Affichage_Image(NoGadget)
EndProcedure

Procedure   Pc_Reinitialisation_GadgetsFenetreResultats()
  If IsGadget(#GAD_FR_CP_IDOBJET):SetGadgetText(#GAD_FR_CP_IDOBJET,""):EndIf
  If IsGadget(#GAD_FR_CP_LIENURI):SetGadgetText(#GAD_FR_CP_LIENURI,""):EndIf
  If IsGadget(#GAD_FR_CP_LIENURL):SetGadgetText(#GAD_FR_CP_LIENURL,""):EndIf
  If IsGadget(#GAD_FR_CP_CHAMP01):SetGadgetText(#GAD_FR_CP_CHAMP01,""):EndIf
  If IsGadget(#GAD_FR_CP_CHAMP02):SetGadgetText(#GAD_FR_CP_CHAMP02,""):EndIf
  If IsGadget(#GAD_FR_CP_CHAMP03):SetGadgetText(#GAD_FR_CP_CHAMP03,""):EndIf
  If IsGadget(#GAD_FR_CP_CHAMP04):SetGadgetText(#GAD_FR_CP_CHAMP04,""):EndIf
  If IsGadget(#GAD_FR_CP_CHAMP05):SetGadgetText(#GAD_FR_CP_CHAMP05,""):EndIf
  If IsGadget(#GAD_FR_CP_CHAMP06):SetGadgetText(#GAD_FR_CP_CHAMP06,""):EndIf
  If IsGadget(#GAD_FR_CP_CHAMP07):SetGadgetText(#GAD_FR_CP_CHAMP07,""):EndIf
  If IsGadget(#GAD_FR_CP_CHAMP08):SetGadgetText(#GAD_FR_CP_CHAMP08,""):EndIf
  If IsGadget(#GAD_FR_CP_CHAMP09):SetGadgetText(#GAD_FR_CP_CHAMP09,""):EndIf
  If IsGadget(#GAD_FR_CP_CHAMP10):SetGadgetText(#GAD_FR_CP_CHAMP10,""):EndIf
  If IsGadget(#GAD_FR_LS_IMAGES):ClearGadgetItems(#GAD_FR_LS_IMAGES):EndIf
  If IsGadget(#GAD_FR_LS_LISTEVUE01):ClearGadgetItems(#GAD_FR_LS_LISTEVUE01):EndIf
  If IsGadget(#GAD_FR_LS_LISTEVUE02):ClearGadgetItems(#GAD_FR_LS_LISTEVUE02):EndIf
  If IsGadget(#GAD_FR_LS_LISTEVUE03):ClearGadgetItems(#GAD_FR_LS_LISTEVUE03):EndIf
  If IsGadget(#GAD_FR_LS_LISTEVUE04):ClearGadgetItems(#GAD_FR_LS_LISTEVUE04):EndIf
  If IsGadget(#GAD_FR_LS_LISTEVUE05):ClearGadgetItems(#GAD_FR_LS_LISTEVUE05):EndIf
  If IsGadget(#GAD_FR_LS_LISTEICONES01):ClearGadgetItems(#GAD_FR_LS_LISTEICONES01):EndIf
  If IsGadget(#GAD_FR_LS_LISTEICONES02):ClearGadgetItems(#GAD_FR_LS_LISTEICONES02):EndIf
  If IsGadget(#GAD_FR_LS_LISTEICONES03):ClearGadgetItems(#GAD_FR_LS_LISTEICONES03):EndIf
  If IsGadget(#GAD_FR_LS_LISTEICONES04):ClearGadgetItems(#GAD_FR_LS_LISTEICONES04):EndIf
  If IsGadget(#GAD_FR_LS_LISTEICONES05):ClearGadgetItems(#GAD_FR_LS_LISTEICONES05):EndIf
  If IsGadget(#GAD_FR_LS_LISTEICONES06):ClearGadgetItems(#GAD_FR_LS_LISTEICONES06):EndIf
  If IsGadget(#GAD_FR_LS_LISTEICONES07):ClearGadgetItems(#GAD_FR_LS_LISTEICONES07):EndIf
  If IsGadget(#GAD_FR_LS_LISTEICONES08):ClearGadgetItems(#GAD_FR_LS_LISTEICONES08):EndIf
  If IsGadget(#GAD_FR_ED_EDITEUR01):ClearGadgetItems(#GAD_FR_ED_EDITEUR01):EndIf
  If IsGadget(#GAD_FR_IMG_IMAGE01):SetGadgetState(#GAD_FR_IMG_IMAGE01,0):EndIf
  If IsGadget(#GAD_FR_IMG_IMAGE02):SetGadgetState(#GAD_FR_IMG_IMAGE02,0):EndIf
EndProcedure
Procedure   Pc_AffichageResultats_ArtisteParID(*ArgDonnees.JSONDISCOGS_ARTISTBYID)
  Protected.l NbElements,Compteur
  
  With *ArgDonnees
    SetGadgetText(#GAD_FR_CP_IDOBJET,Str(\id))
    SetGadgetText(#GAD_FR_CP_CHAMP01,\name)
    SetGadgetText(#GAD_FR_CP_CHAMP02,\realname)
    ClearGadgetItems(#GAD_FR_LS_LISTEVUE01)
    ForEach \namevariations()
      AddGadgetItem(#GAD_FR_LS_LISTEVUE01,-1,\namevariations())
    Next
    SetGadgetText(#GAD_FR_CP_LIENURI,\uri)
    SetGadgetText(#GAD_FR_CP_LIENURL,\resource_url)
    SetGadgetText(#GAD_FR_CP_CHAMP03,\releases_url)
    ClearGadgetItems(#GAD_FR_ED_EDITEUR01)
    SetGadgetText(#GAD_FR_ED_EDITEUR01,\profile)
    ClearGadgetItems(#GAD_FR_LS_LISTEICONES01)
    ForEach \aliases()
      AddGadgetItem(#GAD_FR_LS_LISTEICONES01,-1,Str(\aliases()\id)+Chr(10)+\aliases()\name+Chr(10)+\aliases()\resource_url)
    Next
    ClearGadgetItems(#GAD_FR_LS_LISTEICONES02)
    ForEach \members()
      AddGadgetItem(#GAD_FR_LS_LISTEICONES02,-1,Str(\members()\id)+Chr(10)+\members()\name+Chr(10)+\members()\resource_url)
    Next
    ClearGadgetItems(#GAD_FR_LS_LISTEICONES03)
    ForEach \groups()
      AddGadgetItem(#GAD_FR_LS_LISTEICONES03,-1,Str(\groups()\id)+Chr(10)+\groups()\name+Chr(10)+\groups()\resource_url)
    Next
  EndWith
EndProcedure
Procedure   Pc_AffichageResultats_ParutionParID(*ArgDonnees.JSONDISCOGS_RELEASEBYID)
  Protected *TamponImage
  Protected.l IDImage
  Protected.s Chaine
  
  With *ArgDonnees
    SetGadgetText(#GAD_FR_CP_IDOBJET,Str(\id))
    SetGadgetText(#GAD_FR_CP_CHAMP01,\title)
    SetGadgetText(#GAD_FR_CP_CHAMP02,Str(\year))
    SetGadgetText(#GAD_FR_CP_CHAMP03,\released)
    SetGadgetText(#GAD_FR_CP_CHAMP04,\country)
    SetGadgetText(#GAD_FR_CP_LIENURI,\uri)
    SetGadgetText(#GAD_FR_CP_LIENURL,\resource_url)
    SetGadgetText(#GAD_FR_CP_CHAMP05,\date_added)
    SetGadgetText(#GAD_FR_CP_CHAMP06,\date_changed)
    If GetFilePart(\thumb)="spacer.gif":\thumb="":EndIf ; "spacer.gif" = image inexistante
    SetGadgetText(#GAD_FR_CP_CHAMP07,\thumb)
    SetGadgetText(#GAD_FR_ED_EDITEUR01,\notes)
    SetGadgetState(#GAD_FR_IMG_IMAGE02,Fc_Telechargement_Image(\thumb,#IMG_MINIATURE))
    ClearGadgetItems(#GAD_FR_LS_IMAGES)
    ForEach \images()
      AddGadgetItem(#GAD_FR_LS_IMAGES,-1,\images()\type+Chr(10)+Str(\images()\width)+"x"+Str(\images()\height)+Chr(10)+EscapeString(\images()\uri)+Chr(10)+EscapeString(\images()\resource_url)+Chr(10)+EscapeString(\images()\uri150))
    Next
    SetGadgetState(#GAD_FR_IMG_IMAGE01,0)
    ClearGadgetItems(#GAD_FR_LS_LISTEVUE01)
    ForEach \genres()
      AddGadgetItem(#GAD_FR_LS_LISTEVUE01,-1,\genres())
    Next
    ClearGadgetItems(#GAD_FR_LS_LISTEVUE02)
    ForEach \styles()
      AddGadgetItem(#GAD_FR_LS_LISTEVUE02,-1,\styles())
    Next
    ClearGadgetItems(#GAD_FR_LS_LISTEICONES01)
    ForEach \formats()
      Chaine=\formats()\name+Chr(10)+\formats()\qty+Chr(10)
      ForEach \formats()\descriptions()
        Chaine+\formats()\descriptions()+" - "
      Next
      Chaine=Left(Chaine,Len(Chaine)-3)
      AddGadgetItem(#GAD_FR_LS_LISTEICONES01,-1,Chaine)
    Next
    ClearGadgetItems(#GAD_FR_LS_LISTEICONES02)
    ForEach \labels()
      AddGadgetItem(#GAD_FR_LS_LISTEICONES02,-1,Str(\labels()\id)+Chr(10)+\labels()\name+Chr(10)+\labels()\catno+Chr(10)+\labels()\entity_type+Chr(10)+\labels()\entity_type_name+Chr(10)+\labels()\resource_url)
    Next
    ClearGadgetItems(#GAD_FR_LS_LISTEICONES03)
    ForEach \companies()
      AddGadgetItem(#GAD_FR_LS_LISTEICONES03,-1,Str(\companies()\id)+Chr(10)+\companies()\name+Chr(10)+\companies()\catno+Chr(10)+\companies()\entity_type+Chr(10)+\companies()\entity_type_name+Chr(10)+\companies()\resource_url)
    Next
    ClearGadgetItems(#GAD_FR_LS_LISTEICONES04)
    ForEach \identifiers()
      AddGadgetItem(#GAD_FR_LS_LISTEICONES04,-1,\identifiers()\type+Chr(10)+\identifiers()\value+Chr(10)+\identifiers()\description)
    Next
    ClearGadgetItems(#GAD_FR_LS_LISTEICONES05)
    ForEach \artists()
      AddGadgetItem(#GAD_FR_LS_LISTEICONES05,-1,Str(\artists()\id)+Chr(10)+\artists()\name+Chr(10)+\artists()\anv+Chr(10)+\artists()\join+Chr(10)+\artists()\role+Chr(10)+\artists()\tracks+Chr(10)+\artists()\resource_url)
    Next
    SetGadgetText(#GAD_FR_CP_CHAMP08,\artists_sort)
    ClearGadgetItems(#GAD_FR_LS_LISTEICONES06)
    ForEach \extraartists()
      AddGadgetItem(#GAD_FR_LS_LISTEICONES06,-1,Str(\extraartists()\id)+Chr(10)+\extraartists()\name+Chr(10)+\extraartists()\anv+Chr(10)+\extraartists()\join+Chr(10)+\extraartists()\role+Chr(10)+\extraartists()\tracks+Chr(10)+\extraartists()\resource_url)
    Next
    ClearGadgetItems(#GAD_FR_LS_LISTEICONES07)
    ForEach \tracklist()
      AddGadgetItem(#GAD_FR_LS_LISTEICONES07,-1,\tracklist()\type_+Chr(10)+\tracklist()\position+Chr(10)+\tracklist()\title+Chr(10)+\tracklist()\duration)
    Next
    SetGadgetState(#IMG_POCHETTE,0)
    ClearGadgetItems(#GAD_FR_LS_LISTEICONES08)
    ForEach \videos()
      AddGadgetItem(#GAD_FR_LS_LISTEICONES08,-1,\videos()\title+Chr(10)+Fc_Conversion_DureeNombre(\videos()\duration)+Chr(10)+EscapeString(\videos()\description)+Chr(10)+\videos()\uri)
    Next
  EndWith
EndProcedure
Procedure   Pc_AffichageResultats_MasterParID(*ArgDonnees.JSONDISCOGS_MASTERBYID)
  With *ArgDonnees
    SetGadgetText(#GAD_FR_CP_IDOBJET,Str(\id))
    SetGadgetText(#GAD_FR_CP_CHAMP01,\title)
    SetGadgetText(#GAD_FR_CP_CHAMP02,Str(\year))
    SetGadgetText(#GAD_FR_CP_LIENURI,\uri)
    SetGadgetText(#GAD_FR_CP_LIENURL,\resource_url)
    SetGadgetText(#GAD_FR_CP_CHAMP03,\versions_url)
    SetGadgetText(#GAD_FR_CP_CHAMP04,Str(\main_release))
    SetGadgetText(#GAD_FR_CP_CHAMP05,\main_release_url)
    SetGadgetText(#GAD_FR_CP_CHAMP06,Str(\most_recent_release))
    SetGadgetText(#GAD_FR_CP_CHAMP07,\most_recent_release_url)
    ClearGadgetItems(#GAD_FR_LS_LISTEVUE01)
    ForEach \genres()
      AddGadgetItem(#GAD_FR_LS_LISTEVUE01,-1,\genres())
    Next
    ClearGadgetItems(#GAD_FR_LS_LISTEVUE02)
    ForEach \styles()
      AddGadgetItem(#GAD_FR_LS_LISTEVUE02,-1,\styles())
    Next
    ClearGadgetItems(#GAD_FR_LS_LISTEICONES01)
    ForEach \artists()
      AddGadgetItem(#GAD_FR_LS_LISTEICONES01,-1,Str(\artists()\id)+Chr(10)+\artists()\name+Chr(10)+\artists()\anv+Chr(10)+\artists()\join+Chr(10)+\artists()\role+Chr(10)+\artists()\tracks+Chr(10)+\artists()\resource_url)
    Next
    ClearGadgetItems(#GAD_FR_LS_LISTEICONES02)
    ForEach \tracklist()
      AddGadgetItem(#GAD_FR_LS_LISTEICONES02,-1,\tracklist()\type_+Chr(10)+\tracklist()\position+Chr(10)+\tracklist()\title+Chr(10)+\tracklist()\duration)
    Next
    SetGadgetState(#IMG_POCHETTE,0)
    ClearGadgetItems(#GAD_FR_LS_IMAGES)
    ForEach \images()
      AddGadgetItem(#GAD_FR_LS_IMAGES,-1,\images()\type+Chr(10)+Str(\images()\width)+"x"+Str(\images()\height)+Chr(10)+EscapeString(\images()\uri)+Chr(10)+EscapeString(\images()\resource_url)+Chr(10)+EscapeString(\images()\uri150))
    Next
    ClearGadgetItems(#GAD_FR_LS_LISTEICONES03)
    ForEach \videos()
      AddGadgetItem(#GAD_FR_LS_LISTEICONES03,-1,\videos()\title+Chr(10)+Fc_Conversion_DureeNombre(\videos()\duration)+Chr(10)+EscapeString(\videos()\description)+Chr(10)+\videos()\uri)
    Next
  EndWith
EndProcedure
Procedure   Pc_AffichageResultats_ParutionsArtiste(*ArgDonnees.JSONDISCOGS_ARTISTRELEASESBYID)
  Protected.s Chaine
  
  With *ArgDonnees
    ForEach \releases()
      Chaine=Str(\releases()\id)+Chr(10)+\releases()\title+Chr(10)
      If \releases()\main_release
        Chaine+Str(\releases()\main_release)
      EndIf
      Chaine+Chr(10)+\releases()\status+Chr(10)+\releases()\type+Chr(10)+\releases()\artist+Chr(10)+\releases()\role+Chr(10)
      If \releases()\year
        Chaine+Str(\releases()\year)
      EndIf
      Chaine+Chr(10)+\releases()\label+Chr(10)+\releases()\format+Chr(10)
      If GetFilePart(\releases()\thumb)="spacer.gif":\releases()\thumb="":EndIf ; "spacer.gif" = image inexistante
      Chaine+\releases()\thumb+Chr(10)+\releases()\resource_url
      AddGadgetItem(#GAD_FR_LS_LISTEICONES01,-1,Chaine)
    Next
  EndWith
EndProcedure
Procedure   Pc_AffichageResultats_VersionsMaster(*ArgDonnees.JSONDISCOGS_MASTERVERSIONSBYID)
  Protected.s Chaine
  
  Pc_Reinitialisation_GadgetsFenetreResultats()
  With *ArgDonnees
    ForEach \versions()
      Chaine=Str(\versions()\id)+Chr(10)+\versions()\title+Chr(10)+\versions()\status+Chr(10)+\versions()\released+Chr(10)
      ForEach \versions()\major_formats()
        Chaine+\versions()\major_formats()+" - "
      Next
      Chaine=Left(Chaine,Len(Chaine)-3)+Chr(10)+\versions()\format+Chr(10)+\versions()\label+Chr(10)+\versions()\country+Chr(10)+\versions()\catno+Chr(10)
      If GetFilePart(\versions()\thumb)="spacer.gif":\versions()\thumb="":EndIf ; "spacer.gif" = image inexistante
      Chaine+\versions()\thumb+Chr(10)+\versions()\resource_url
      AddGadgetItem(#GAD_FR_LS_LISTEICONES01,-1,Chaine)
    Next
  EndWith
EndProcedure
Procedure   Pc_AffichageResultats_RechercheGenerale(*ArgDonnees.JSONDISCOGS_SEARCH)
  Protected.s Chaine
  
  Pc_Reinitialisation_GadgetsFenetreResultats()
  With *ArgDonnees
    ForEach \results()
      Chaine=Str(\results()\id)+Chr(10)+\results()\type+Chr(10)+\results()\title+Chr(10)+\results()\year+Chr(10)+\results()\country+Chr(10)
      If \results()\master_id
        Chaine+Str(\results()\master_id)
      EndIf
      Chaine+Chr(10)+\results()\master_url+Chr(10)+\results()\catno+Chr(10)+\results()\cover_image+Chr(10)
      ForEach \results()\format()
        Chaine+\results()\format()+#SEPCHAMPS
      Next
      If Right(Chaine,1)=" ":Chaine=Left(Chaine,Len(Chaine)-3):EndIf:Chaine+Chr(10)
      ForEach \results()\label()
        Chaine+\results()\label()+#SEPCHAMPS
      Next
      If Right(Chaine,1)=" ":Chaine=Left(Chaine,Len(Chaine)-3):EndIf:Chaine+Chr(10)
      ForEach \results()\barcode()
        Chaine+\results()\barcode()+#SEPCHAMPS
      Next
      If Right(Chaine,1)=" ":Chaine=Left(Chaine,Len(Chaine)-3):EndIf:Chaine+Chr(10)
      ForEach \results()\genre()
        Chaine+\results()\genre()+#SEPCHAMPS
      Next
      If Right(Chaine,1)=" ":Chaine=Left(Chaine,Len(Chaine)-3):EndIf:Chaine+Chr(10)
      ForEach \results()\style()
        Chaine+\results()\style()+#SEPCHAMPS
      Next
      If Right(Chaine,1)=" ":Chaine=Left(Chaine,Len(Chaine)-3):EndIf:Chaine+Chr(10)
      If GetFilePart(\results()\thumb)="spacer.gif":\results()\thumb="":EndIf ; "spacer.gif" = image inexistante:EndIf
      Chaine+\results()\thumb+Chr(10)
      If \results()\uri:\results()\uri=#DISCOGSCHEMINHTTP+\results()\uri:EndIf
      Chaine+\results()\uri+Chr(10)+\results()\resource_url
      AddGadgetItem(#GAD_FR_LS_LISTEICONES01,-1,Chaine)
    Next
  EndWith
EndProcedure

Procedure.q Fc_Requete_SiteInternet(ArgRequeteHTTP.s)
  Protected *RetourRequeteHTTP
  Protected.q IDRequeteHTTP
  Protected.s MessageErreur
  
  IDRequeteHTTP=HTTPRequest(#PB_HTTP_Get,ArgRequeteHTTP)
  If IDRequeteHTTP
    If HTTPInfo(IDRequeteHTTP,#PB_HTTP_StatusCode)="200"
      *RetourRequeteHTTP=ReceiveHTTPMemory(ArgRequeteHTTP)
      ProcedureReturn *RetourRequeteHTTP
    Else
      If HTTPInfo(IDRequeteHTTP,#PB_HTTP_StatusCode)<>"0":MessageErreur="Erreur : "+HTTPInfo(IDRequeteHTTP,#PB_HTTP_StatusCode):EndIf
      If HTTPInfo(IDRequeteHTTP,#PB_HTTP_ErrorMessage)<>""
        If MessageErreur:MessageErreur+"\n":EndIf
        MessageErreur+"Message : "+HTTPInfo(IDRequeteHTTP,#PB_HTTP_ErrorMessage,#PB_UTF8)
      EndIf
      If HTTPInfo(IDRequeteHTTP,#PB_HTTP_Response)<>""
        If MessageErreur:MessageErreur+"\n":EndIf
        MessageErreur+"Réponse : "+Mc_FormatageMessage(HTTPInfo(IDRequeteHTTP,#PB_HTTP_Response,#PB_UTF8))
      EndIf
      MessageRequester("Requête HTTP",ArgRequeteHTTP+UnescapeString("\n\n"+MessageErreur),#PB_MessageRequester_Error)
    EndIf
  Else
    MessageRequester("Requête HTTP",ArgRequeteHTTP+"\n\nLa requête a échoué !",#PB_MessageRequester_Error)
  EndIf
EndProcedure
Procedure   Pc_DISCOGS_RechercheObjetParID(ArgTypeRecherche.a,ArgID.s)
  Protected *RetourDISCOGS
  Protected.JSONDISCOGS_ARTISTBYID DonneesJSONDISCOGSArtiste
  Protected.JSONDISCOGS_RELEASEBYID DonneesJSONDISCOGSParution
  Protected.JSONDISCOGS_MASTERBYID DonneesJSONDISCOGSMaster
  Protected.i IDJSON
  Protected.s RequeteHTTP
  Protected.a AffichageResultats,OuvertureFenetre=#True,FenetreOuverte
  
  Select ArgTypeRecherche
    Case 0:RequeteHTTP="artists/ArgID?"
    Case 2
      If GetGadgetState(#GAD_FP_LS_PARAMPARUTION_MONNAIE)>0
        RequeteHTTP="&curr_abbr="+StringField(StringField(GetGadgetText(#GAD_FP_LS_PARAMPARUTION_MONNAIE),2,"("),1,")")
      EndIf
      RequeteHTTP="releases/ArgID?"+RequeteHTTP
    Case 3:RequeteHTTP="masters/ArgID?"
  EndSelect
  RequeteHTTP=#DISCOGSCHEMINAPI+ReplaceString(RequeteHTTP,"ArgID",ArgID)+Mc_ClesDISCOGS()
  *RetourDISCOGS=Fc_Requete_SiteInternet(RequeteHTTP)
  SetGadgetState(#GAD_FP_BP_JAUGE,50)
  If *RetourDISCOGS
    IDJSON=CatchJSON(#JSON,*RetourDISCOGS,MemorySize(*RetourDISCOGS),#PB_JSON_NoCase)
    SetGadgetState(#GAD_FP_BP_JAUGE,75)
    If IDJSON
      Select ArgTypeRecherche
        Case 0:ExtractJSONStructure(JSONValue(#JSON),@DonneesJSONDISCOGSArtiste,JSONDISCOGS_ARTISTBYID):AffichageResultats=Bool(DonneesJSONDISCOGSArtiste\id)
        Case 2:ExtractJSONStructure(JSONValue(#JSON),@DonneesJSONDISCOGSParution,JSONDISCOGS_RELEASEBYID):AffichageResultats=Bool(DonneesJSONDISCOGSParution\id)
        Case 3:ExtractJSONStructure(JSONValue(#JSON),@DonneesJSONDISCOGSMaster,JSONDISCOGS_MASTERBYID):AffichageResultats=Bool(DonneesJSONDISCOGSMaster\id)
      EndSelect
      SetGadgetText(#GAD_FP_LIB_NBELEMENTS,"1")
	    FreeJSON(#JSON)
  	EndIf
    FreeMemory(*RetourDISCOGS)
  EndIf
  SetGadgetState(#GAD_FP_BP_JAUGE,100)
  If AffichageResultats
    If IsWindow(#FEN_RESULTATS)
      If GetWindowData(#FEN_RESULTATS)<>ArgTypeRecherche
        CloseWindow(#FEN_RESULTATS)
      Else
        OuvertureFenetre=#False:FenetreOuverte=#True
      EndIf
    EndIf
    If OuvertureFenetre
      FenetreOuverte=Fc_FenResultats_Affichage(ArgTypeRecherche)
    EndIf
    If FenetreOuverte
      Select ArgTypeRecherche
        Case 0:Pc_AffichageResultats_ArtisteParID(@DonneesJSONDISCOGSArtiste)
        Case 2:Pc_AffichageResultats_ParutionParID(@DonneesJSONDISCOGSParution)
        Case 3:Pc_AffichageResultats_MasterParID(@DonneesJSONDISCOGSMaster)
      EndSelect
      HideWindow(#FEN_RESULTATS,#False)
    EndIf
  EndIf
EndProcedure
Procedure   Pc_DISCOGS_RechercheObjetParIDAvecPagination(ArgTypeRecherche.a,ArgID.s="")
  Protected *RetourDISCOGS
  Protected.JSONDISCOGS_PAGINATION DonneesJSONDISCOGSPagination
  Protected.JSONDISCOGS_ARTISTRELEASESBYID JeuDonneesJSONDISCOGSParutions
  Protected.JSONDISCOGS_MASTERVERSIONSBYID JeuDonneesJSONDISCOGSMasters
  Protected.i IDJSON
  Protected.u NoGadgetTri,NoGadgetOrdreTri,NoGadgetPages,Annee
  Static.JSONDISCOGS_ARTISTRELEASESBYID DonneesJSONDISCOGSParutions
  Static.JSONDISCOGS_MASTERVERSIONSBYID DonneesJSONDISCOGSMasters
  Static.f Ratio
  Static.s RequeteHTTP,ParametresRequete
  Static.a AnalyseComplete,AffichageResultats,OuvertureFenetre=#True,FenetreOuverte
  
  If ArgID<>""
    AnalyseComplete=#False:AffichageResultats=#False:OuvertureFenetre=#True:FenetreOuverte=#False:Ratio=0
    Select ArgTypeRecherche
      Case 1
        InitializeStructure(@DonneesJSONDISCOGSParutions,JSONDISCOGS_ARTISTRELEASESBYID)
        NoGadgetTri=#GAD_FP_LS_PARAMPARUTIONSARTISTE_TRI
        NoGadgetOrdreTri=#GAD_FP_LS_PARAMPARUTIONSARTISTE_ORDRETRI
        NoGadgetPages=#GAD_FP_LS_PARAMPARUTIONSARTISTE_ITEMSPAGE
      Case 4
        ParametresRequete=""
        InitializeStructure(@DonneesJSONDISCOGSMasters,JSONDISCOGS_MASTERVERSIONSBYID)
        If GetGadgetText(#GAD_FP_CP_PARAMVERSIONSMASTER_ANNEE)
          Annee=Val(GetGadgetText(#GAD_FP_CP_PARAMVERSIONSMASTER_ANNEE))
          If Annee<1900 Or Annee>Year(Date())
            MessageRequester(#TITREBOITEDIALOGUE,"L'année saisie ne semble pas valide !",#PB_MessageRequester_Error)
            ProcedureReturn
          EndIf
          ParametresRequete+"&released="+Str(Annee)
        EndIf
        If GetGadgetText(#GAD_FP_CP_PARAMVERSIONSMASTER_FORMAT)
          ParametresRequete+"&format="+GetGadgetText(#GAD_FP_CP_PARAMVERSIONSMASTER_FORMAT)
        EndIf
        If GetGadgetText(#GAD_FP_CP_PARAMVERSIONSMASTER_LABEL)
          ParametresRequete+"&label="+GetGadgetText(#GAD_FP_CP_PARAMVERSIONSMASTER_LABEL)
        EndIf
        If GetGadgetText(#GAD_FP_CP_PARAMVERSIONSMASTER_PAYS)
          ParametresRequete+"&country="+GetGadgetText(#GAD_FP_CP_PARAMVERSIONSMASTER_PAYS)
        EndIf
        NoGadgetTri=#GAD_FP_LS_PARAMVERSIONSMASTER_TRI
        NoGadgetOrdreTri=#GAD_FP_LS_PARAMVERSIONSMASTER_ORDRETRI
        NoGadgetPages=#GAD_FP_LS_PARAMVERSIONSMASTER_ITEMSPAGE
    EndSelect
    Select GetGadgetState(NoGadgetTri)
      Case 1:ParametresRequete+"&sort=title"
      Case 2:ParametresRequete+"&sort=format"
      Case 3
        Select ArgTypeRecherche
          Case 1:ParametresRequete+"&sort=year"
          Case 4:ParametresRequete+"&sort=released"
        EndSelect
      Case 4:ParametresRequete+"&sort=country"
      Case 5:ParametresRequete+"&sort=label"
      Case 6:ParametresRequete+"&sort=label"
    EndSelect
    If ParametresRequete
      Select GetGadgetState(NoGadgetOrdreTri)
        Case 1:ParametresRequete+"&sort_order=asc"
        Case 2:ParametresRequete+"&sort_order=desc"
      EndSelect
    EndIf
    Select GetGadgetState(NoGadgetPages)
      Case 0,2:ParametresRequete+"&per_page="+GetGadgetText(NoGadgetPages)
    EndSelect
    Select ArgTypeRecherche
      Case 1:RequeteHTTP="artists/ArgID/releases"
      Case 4:RequeteHTTP="masters/ArgID/versions"
    EndSelect
    RequeteHTTP=#DISCOGSCHEMINAPI+ReplaceString(RequeteHTTP,"ArgID",ArgID)+"?"+ParametresRequete+Mc_ClesDISCOGS()
    Ratio=0
    HideGadget(#GAD_FP_LIB_PAGE,#False)
    HideGadget(#GAD_FP_LIB_NBPAGES,#False)
  EndIf
  *RetourDISCOGS=Fc_Requete_SiteInternet(RequeteHTTP)
  If *RetourDISCOGS
    IDJSON=CatchJSON(#JSON,*RetourDISCOGS,MemorySize(*RetourDISCOGS),#PB_JSON_NoCase)
  	If IDJSON
  	  ExtractJSONStructure(JSONValue(#JSON),@DonneesJSONDISCOGSPagination,JSONDISCOGS_PAGINATION)
  	  If DonneesJSONDISCOGSPagination\pagination\page=1
  	    SetGadgetText(#GAD_FP_LIB_NBELEMENTS,Str(DonneesJSONDISCOGSPagination\pagination\items))
  	    Ratio=100/DonneesJSONDISCOGSPagination\pagination\pages
  	  EndIf
	    SetGadgetText(#GAD_FP_LIB_NBPAGES,Str(DonneesJSONDISCOGSPagination\pagination\page)+"/"+Str(DonneesJSONDISCOGSPagination\pagination\pages))
	    If DonneesJSONDISCOGSPagination\pagination\items
        Select ArgTypeRecherche
          Case 1
            ExtractJSONStructure(JSONValue(#JSON),@JeuDonneesJSONDISCOGSParutions,JSONDISCOGS_ARTISTRELEASESBYID)
            ForEach JeuDonneesJSONDISCOGSParutions\releases()
              AddElement(DonneesJSONDISCOGSParutions\releases())
              DonneesJSONDISCOGSParutions\releases()=JeuDonneesJSONDISCOGSParutions\releases()
            Next
          Case 4
            ExtractJSONStructure(JSONValue(#JSON),@JeuDonneesJSONDISCOGSMasters,JSONDISCOGS_MASTERVERSIONSBYID)
            ForEach JeuDonneesJSONDISCOGSMasters\versions()
              AddElement(DonneesJSONDISCOGSMasters\versions())
              DonneesJSONDISCOGSMasters\versions()=JeuDonneesJSONDISCOGSMasters\versions()
            Next
        EndSelect
      Else
        MessageRequester(#TITREBOITEDIALOGUE,"Aucune donnée récupérée !",#PB_MessageRequester_Warning)
	    EndIf
	    FreeJSON(#JSON)
		EndIf
		FreeMemory(*RetourDISCOGS)
		SetGadgetState(#GAD_FP_BP_JAUGE,DonneesJSONDISCOGSPagination\pagination\page*Ratio)
		While WindowEvent():Wend
		If DonneesJSONDISCOGSPagination\pagination\page<DonneesJSONDISCOGSPagination\pagination\pages
		  If DonneesJSONDISCOGSPagination\pagination\page=1
		    AnalyseComplete=Bool(MessageRequester(#TITREBOITEDIALOGUE,"Il reste "+Str(DonneesJSONDISCOGSPagination\pagination\pages-1)+UnescapeString(" page(s) à examiner !\n\nAnalyser aussi cette/ces page(s) ?"),#PB_MessageRequester_YesNo)=#PB_MessageRequester_Yes)
		  EndIf
		  If AnalyseComplete
	      RequeteHTTP=DonneesJSONDISCOGSPagination\pagination\urls\next
	      Pc_DISCOGS_RechercheObjetParIDAvecPagination(ArgTypeRecherche)
		  EndIf
		EndIf
		If (DonneesJSONDISCOGSPagination\pagination\page=DonneesJSONDISCOGSPagination\pagination\pages Or Not AnalyseComplete) And DonneesJSONDISCOGSPagination\pagination\items
      Select ArgTypeRecherche
        Case 1:AffichageResultats=Bool(ListSize(DonneesJSONDISCOGSParutions\releases()))
        Case 4
          DonneesJSONDISCOGSMasters\filters=JeuDonneesJSONDISCOGSMasters\filters
          ForEach JeuDonneesJSONDISCOGSMasters\filter_facets()
            AddElement(DonneesJSONDISCOGSMasters\filter_facets())
            DonneesJSONDISCOGSMasters\filter_facets()=JeuDonneesJSONDISCOGSMasters\filter_facets()
          Next
          AffichageResultats=Bool(ListSize(DonneesJSONDISCOGSMasters\versions()))
      EndSelect
      If AffichageResultats
        If IsWindow(#FEN_RESULTATS)
          If GetWindowData(#FEN_RESULTATS)<>ArgTypeRecherche
            CloseWindow(#FEN_RESULTATS)
          Else
            OuvertureFenetre=#False:FenetreOuverte=#True
          EndIf
        EndIf
        If OuvertureFenetre
          FenetreOuverte=Fc_FenResultats_Affichage(ArgTypeRecherche)
        EndIf
        If FenetreOuverte
          Select ArgTypeRecherche
            Case 1:Pc_AffichageResultats_ParutionsArtiste(@DonneesJSONDISCOGSParutions)
            Case 4:Pc_AffichageResultats_VersionsMaster(@DonneesJSONDISCOGSMasters)
          EndSelect
          HideWindow(#FEN_RESULTATS,#False)
          SetWindowTitle(#FEN_RESULTATS,#TITREFENETRERESULTATS+" ("+Str(DonneesJSONDISCOGSPagination\pagination\items)+" élément(s))")
          SetActiveGadget(#GAD_FR_LS_LISTEICONES01)
      EndIf
      EndIf
      ClearStructure(@DonneesJSONDISCOGSParutions,JSONDISCOGS_ARTISTRELEASESBYID)
      ClearStructure(@DonneesJSONDISCOGSMasters,JSONDISCOGS_MASTERVERSIONSBYID)
  	EndIf
  EndIf
  HideGadget(#GAD_FP_LIB_PAGE,#True)
  HideGadget(#GAD_FP_LIB_NBPAGES,#True)
EndProcedure

Procedure   Pc_DISCOGS_RechercheParID()
  Protected.u NoGadget
  Protected.a NoItem=GetGadgetState(#GAD_FP_LS_TYPESRECHERCHE)
  Protected.s ChaineID,Chaine
  
  Select NoItem
    Case 0:NoGadget=#GAD_FP_CP_PARAMARTISTE_IDARTISTE:Chaine="ID artiste"
    Case 1:NoGadget=#GAD_FP_CP_PARAMPARUTIONSARTISTE_IDARTISTE:Chaine="ID artiste"
    Case 2:NoGadget=#GAD_FP_CP_PARAMPARUTION_IDPARUTION:Chaine="ID parution"
    Case 3:NoGadget=#GAD_FP_CP_PARAMMASTER_IDMASTER:Chaine="ID master"
    Case 4:NoGadget=#GAD_FP_CP_PARAMVERSIONSMASTER_IDMASTER:Chaine="ID master"
  EndSelect
  ChaineID=Trim(GetGadgetText(NoGadget))
  If ChaineID=""
    MessageRequester(#TITREBOITEDIALOGUE,"Le champ "+Chaine+" doit être saisi !",#PB_MessageRequester_Warning)
    ProcedureReturn
  EndIf
  SetGadgetText(#GAD_FP_LIB_NBELEMENTS,"")
  HideGadget(#GAD_FP_BP_JAUGE,#False)
  Select NoItem
    Case 0,2,3:Pc_DISCOGS_RechercheObjetParID(NoItem,ChaineID)
    Case 1,4:Pc_DISCOGS_RechercheObjetParIDAvecPagination(NoItem,ChaineID)
  EndSelect
  SetGadgetState(#GAD_FP_BP_JAUGE,0)
  HideGadget(#GAD_FP_BP_JAUGE,#True)
EndProcedure
Procedure   Pc_DISCOGS_RechercheGenerale()
  Protected *RetourDISCOGS
  Protected.JSONDISCOGS_PAGINATION DonneesJSONDISCOGSPagination
  Protected.JSONDISCOGS_SEARCH JeuDonneesJSONDISCOGS
  Protected.i IDJSON
  Protected.s Chaine
  Static.JSONDISCOGS_SEARCH DonneesJSONDISCOGS
  Static.f Ratio
  Static.a AnalyseComplete,AffichageResultats,OuvertureFenetre=#True,FenetreOuverte
  Static.s RequeteHTTP,ParametresRequete
  
  If RequeteHTTP=""
    InitializeStructure(@DonneesJSONDISCOGS,JSONDISCOGS_SEARCH)
    ParametresRequete=""
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_TEXTE))
    If Chaine:ParametresRequete="q="+Chaine:EndIf
    Select GetGadgetState(#GAD_FP_LS_PARAMRECHERCHEGALE_TYPE)
      Case 1:Chaine="artist"
      Case 2:Chaine="release"
      Case 3:Chaine="master"
      Case 4:Chaine="label"
      Default:Chaine=""
    EndSelect
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"type="+Chaine:EndIf
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_ARTISTETITRE))
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"title="+Chaine:EndIf
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_TITREPARUTION))
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"release_title="+Chaine:EndIf
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_ARTISTE))
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"artist="+Chaine:EndIf
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_ARTISTEVARIATION))
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"anv="+Chaine:EndIf
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_TITREPISTE))
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"track="+Chaine:EndIf
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_CREDIT))
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"credit="+Chaine:EndIf
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_FORMAT))
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"format="+Chaine:EndIf
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_ANNEE))
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"year="+Chaine:EndIf
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_GENRE))
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"genre="+Chaine:EndIf
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_STYLE))
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"style="+Chaine:EndIf
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_LABEL))
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"label="+Chaine:EndIf
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_PAYS))
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"country="+Chaine:EndIf
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_NOCATALOGUE))
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"catno="+Chaine:EndIf
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_CODEBARRE))
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"barcode="+Chaine:EndIf
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_DEPOSANT))
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"submitter="+Chaine:EndIf
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_CONTRIBUTEUR))
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"contributor="+Chaine:EndIf
    If ParametresRequete
      If GetGadgetState(#GAD_FR_CC_RECHERCHEEXACTE):Chaine+"&strict=true":EndIf
      Select GetGadgetState(#GAD_FP_LS_PARAMRECHERCHEGALE_ITEMSPAGE)
        Case 0,2:ParametresRequete+"&per_page="+GetGadgetText(#GAD_FP_LS_PARAMRECHERCHEGALE_ITEMSPAGE)
      EndSelect
      RequeteHTTP=#DISCOGSCHEMINBASEAPI+"search?"+ParametresRequete+Mc_ClesDISCOGS()
    EndIf
    Ratio=0
    SetGadgetText(#GAD_FP_LIB_NBELEMENTS,"")
    HideGadget(#GAD_FP_BP_JAUGE,#False)
    HideGadget(#GAD_FP_LIB_PAGE,#False)
    HideGadget(#GAD_FP_LIB_NBPAGES,#False)
  EndIf
  If RequeteHTTP
    *RetourDISCOGS=Fc_Requete_SiteInternet(RequeteHTTP)
    If *RetourDISCOGS
      IDJSON=CatchJSON(#JSON,*RetourDISCOGS,MemorySize(*RetourDISCOGS),#PB_JSON_NoCase)
    	If IDJSON
  	    ExtractJSONStructure(JSONValue(#JSON),@DonneesJSONDISCOGSPagination,JSONDISCOGS_PAGINATION)
    	  If DonneesJSONDISCOGSPagination\pagination\page=1
    	    SetGadgetText(#GAD_FP_LIB_NBELEMENTS,Str(DonneesJSONDISCOGSPagination\pagination\items))
    	    Ratio=100/DonneesJSONDISCOGSPagination\pagination\pages
    	  EndIf
        SetGadgetText(#GAD_FP_LIB_NBPAGES,Str(DonneesJSONDISCOGSPagination\pagination\page)+"/"+Str(DonneesJSONDISCOGSPagination\pagination\pages))
        If DonneesJSONDISCOGSPagination\pagination\items
          ExtractJSONStructure(JSONValue(#JSON),@JeuDonneesJSONDISCOGS,JSONDISCOGS_SEARCH)
          ForEach JeuDonneesJSONDISCOGS\results()
            AddElement(DonneesJSONDISCOGS\results())

Re: Discogs (API use)

Posted: Fri Aug 29, 2025 1:12 am
by Olli

Code: Select all

DonneesJSONDISCOGS\results()=JeuDonneesJSONDISCOGS\results()
          Next
        Else
          MessageRequester(#TITREBOITEDIALOGUE,"Aucune donnée récupérée !",#PB_MessageRequester_Warning)
        EndIf
        FreeJSON(#JSON)
      EndIf
		  FreeMemory(*RetourDISCOGS)
  		SetGadgetState(#GAD_FP_BP_JAUGE,DonneesJSONDISCOGSPagination\pagination\page*Ratio)
  		While WindowEvent():Wend
  		If DonneesJSONDISCOGSPagination\pagination\page<DonneesJSONDISCOGSPagination\pagination\pages
  		  If DonneesJSONDISCOGSPagination\pagination\page=1
  		    AnalyseComplete=Bool(MessageRequester(#TITREBOITEDIALOGUE,"Il reste "+Str(DonneesJSONDISCOGSPagination\pagination\pages-1)+UnescapeString(" page(s) à examiner !\n\nAnalyser aussi cette/ces page(s) ?"),#PB_MessageRequester_YesNo)=#PB_MessageRequester_Yes)
  		  EndIf
  		  If AnalyseComplete
  	      RequeteHTTP=DonneesJSONDISCOGSPagination\pagination\urls\next
  	      Pc_DISCOGS_RechercheGenerale()
  		  EndIf
  		EndIf
  		If (DonneesJSONDISCOGSPagination\pagination\page=DonneesJSONDISCOGSPagination\pagination\pages Or Not AnalyseComplete) And DonneesJSONDISCOGSPagination\pagination\items
        AffichageResultats=Bool(ListSize(DonneesJSONDISCOGS\results()))
        If AffichageResultats
          If IsWindow(#FEN_RESULTATS)
            If GetWindowData(#FEN_RESULTATS)<>5
              CloseWindow(#FEN_RESULTATS)
            Else
              OuvertureFenetre=#False:FenetreOuverte=#True
            EndIf
          EndIf
          If OuvertureFenetre
            FenetreOuverte=Fc_FenResultats_Affichage(5)
          EndIf
          If FenetreOuverte
            Pc_AffichageResultats_RechercheGenerale(@DonneesJSONDISCOGS)
            HideWindow(#FEN_RESULTATS,#False)
            SetWindowTitle(#FEN_RESULTATS,#TITREFENETRERESULTATS+" ("+Str(DonneesJSONDISCOGSPagination\pagination\items)+" élément(s))")
            SetActiveGadget(#GAD_FR_LS_LISTEICONES01)
          EndIf
        EndIf
        ClearStructure(@DonneesJSONDISCOGS,JSONDISCOGS_SEARCH)
    	EndIf
    EndIf
  EndIf
  RequeteHTTP=""
  HideGadget(#GAD_FP_LIB_PAGE,#True)
  HideGadget(#GAD_FP_LIB_NBPAGES,#True)
  SetGadgetState(#GAD_FP_BP_JAUGE,0)
  HideGadget(#GAD_FP_BP_JAUGE,#True)
EndProcedure
Procedure   Pc_DISCOGS_LancementRecherche()
  Protected.a NoItem=GetGadgetState(#GAD_FP_LS_TYPESRECHERCHE)
  
  Select NoItem
    Case 0 To 4:Pc_DISCOGS_RechercheParID()
    Case 5:Pc_DISCOGS_RechercheGenerale()
  EndSelect
EndProcedure
;-══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
; ╔═════════════════════════╗
; ║ PROCEDURES FENETRES XML ║
; ╚═════════════════════════╝
Procedure.a Fc_Fenetres_OuvertureDialogueXML(ArgArbreXML.u,ArgDialogueXML.u,ArgChaineXML.s,ArgNomFenetre.s,ArgIdFenetreParente.i=0)
  Protected.i NoDialogue
  Protected.a TypeErreur
  Protected.s MsgErreur

  If ArgChaineXML
    If ParseXML(ArgArbreXML,ArgChaineXML)
      If XMLStatus(ArgArbreXML)=#PB_XML_Success
        If CreateDialog(ArgDialogueXML)
          If ArgIdFenetreParente<>0
            NoDialogue=OpenXMLDialog(ArgDialogueXML,ArgArbreXML,ArgNomFenetre,0,0,0,0,ArgIdFenetreParente)
          Else
            NoDialogue=OpenXMLDialog(ArgDialogueXML,ArgArbreXML,ArgNomFenetre,0,0,0,0)
          EndIf
          If NoDialogue
            FreeXML(ArgArbreXML)
            ProcedureReturn #True
          Else
            TypeErreur=3
          EndIf
          FreeDialog(ArgDialogueXML)
        Else
          TypeErreur=2
        EndIf
        FreeXML(ArgArbreXML)
      Else
        TypeErreur=1
        MsgErreur="Erreur durant l'interprétation du dialogue XML !"
      EndIf
    Else
      TypeErreur=1
      MsgErreur="Erreur durant la lecture des données du dialogue XML !"
    EndIf
  EndIf
  Select TypeErreur
    Case 1:MsgErreur+"\n\n  No erreur : "+XMLStatus(ArgArbreXML)+" - "+XMLError(ArgArbreXML)+"\n  Ligne : "+Str(XMLErrorLine(ArgArbreXML))+" - Colonne : "+Str(XMLErrorPosition(ArgArbreXML))
    Case 2:MsgErreur="Erreur durant la création de la fenêtre de dialogue !"
    Case 3:MsgErreur="Erreur durant l'ouverture de la fenêtre de dialogue !\n\nErreur : "+DialogError(ArgDialogueXML)
  EndSelect
  MessageRequester(#TITREBOITEDIALOGUE,UnescapeString(MsgErreur),#PB_MessageRequester_Error)
EndProcedure
; ╔══════════════════════════════╗
; ║ PROCEDURES FENETRE RESULTATS ║
; ╚══════════════════════════════╝
Procedure.a Fc_FenResultats_Affichage(ArgTypeRecherche.a)
  Protected.a ValeurRetour
  Protected.s ChaineXML
  
  If Not IsImage(#IMG_DISCOGS)
    CatchImage(#IMG_DISCOGS,?ImageDiscogs_Debut,?ImageDiscogs_Fin-?ImageDiscogs_Debut)
  EndIf
  If Not IsImage(#IMG_LECTUREVIDEO)
    CatchImage(#IMG_LECTUREVIDEO,?ImageLectureVideo_Debut,?ImageLectureVideo_Fin-?ImageLectureVideo_Debut)
  EndIf
  Select ArgTypeRecherche
    Case 0 ; Recherche Artiste par ID
      ChaineXML="<?xml version='1.0' encoding='UTF-16'?>"+Chr(10)+ ;{
                "<dialogs>"+Chr(10)+
                "  <window id='"+Str(#FEN_RESULTATS)+"' name='FEN_RESULTATS' text='"+Mc_FormatageXML(#TITREFENETRERESULTATS)+"' xpos='0' ypos='0' minwidth='600' minheight='auto' margin='top:16,bottom:8,horizontal:16' flags='#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_SizeGadget|#PB_Window_ScreenCentered'>"+Chr(10)+
                "    <vbox>"+Chr(10)+
                "      <gridbox id='"+Str(#GAD_FR_BG_RESULTATS)+"' name='GAD_FR_BG_RESULTATS' disabled='yes' columns='2' colspacing='4' colexpand='item:2'>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_IDOBJET)+"' name='GAD_FR_LIB_IDOBJET' text='"+Mc_FormatageXML("ID Artiste :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_IDOBJET)+"' name='GAD_FR_CP_IDOBJET' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <empty height='4'/>"+Chr(10)+
                "        <empty/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE01)+"' name='GAD_FR_LIB_LIBELLE01' text='"+Mc_FormatageXML("Nom artiste :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP01)+"' name='GAD_FR_CP_CHAMP01' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE02)+"' name='GAD_FR_LIB_LIBELLE02' text='"+Mc_FormatageXML("Nom complet :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP02)+"' name='GAD_FR_CP_CHAMP02' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE03)+"' name='GAD_FR_LIB_LIBELLE03' text='"+Mc_FormatageXML("Autres noms :")+"'/>"+Chr(10)+
                "        <listview id='"+Str(#GAD_FR_LS_LISTEVUE01)+"' name='GAD_FR_LS_LISTEVUE01' height='80'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIENURI)+"' name='GAD_FR_LIB_LIENURI' text='"+Mc_FormatageXML("Identifiant URI :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <string id='"+Str(#GAD_FR_CP_LIENURI)+"' name='GAD_FR_CP_LIENURI' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "          <buttonimage id='"+Str(#GAD_FR_BT_LIENURI)+"' name='GAD_FR_BT_LIENURI'/>"+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIENURL)+"' name='GAD_FR_LIB_LIENURL' text='"+Mc_FormatageXML("Lien URL : ")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <string id='"+Str(#GAD_FR_CP_LIENURL)+"' name='GAD_FR_CP_LIENURL' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "          <buttonimage id='"+Str(#GAD_FR_BT_LIENURL)+"' name='GAD_FR_BT_LIENURL'/>"+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE04)+"' name='GAD_FR_LIB_LIBELLE04' text='"+Mc_FormatageXML("Parutions :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <string id='"+Str(#GAD_FR_CP_CHAMP03)+"' name='GAD_FR_CP_CHAMP03' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "          <buttonimage id='"+Str(#GAD_FR_BT_BOUTON01)+"' name='GAD_FR_BT_BOUTON01'/>"+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE05)+"' name='GAD_FR_LIB_LIBELLE05' text='"+Mc_FormatageXML("Profil :")+"'/>"+Chr(10)+
                "        <editor id='"+Str(#GAD_FR_ED_EDITEUR01)+"' name='GAD_FR_ED_EDITEUR01' height='80' flags='#PB_Editor_ReadOnly|#PB_Editor_WordWrap'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE06)+"' name='GAD_FR_LIB_LIBELLE06' text='"+Mc_FormatageXML("Alias :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <listicon id='"+Str(#GAD_FR_LS_LISTEICONES01)+"' name='GAD_FR_LS_LISTEICONES01' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/>"+Chr(10)+
                "          <vbox expand='no' align='center' spacing='0'>"+Chr(10)+
                "            <buttonimage id='"+Str(#GAD_FR_BT_BOUTON02)+"' name='GAD_FR_BT_BOUTON02'/> "+Chr(10)+
                "          </vbox> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE07)+"' name='GAD_FR_LIB_LIBELLE07' text='"+Mc_FormatageXML("Membres :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <listicon id='"+Str(#GAD_FR_LS_LISTEICONES02)+"' name='GAD_FR_LS_LISTEICONES02' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/>"+Chr(10)+
                "          <vbox expand='no' align='center' spacing='0'>"+Chr(10)+
                "            <buttonimage id='"+Str(#GAD_FR_BT_BOUTON03)+"' name='GAD_FR_BT_BOUTON03'/> "+Chr(10)+
                "          </vbox> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE08)+"' name='GAD_FR_LIB_LIBELLE08' text='"+Mc_FormatageXML("Groupes :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <listicon id='"+Str(#GAD_FR_LS_LISTEICONES03)+"' name='GAD_FR_LS_LISTEICONES03' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/>"+Chr(10)+
                "          <vbox expand='no' align='center' spacing='0'>"+Chr(10)+
                "            <buttonimage id='"+Str(#GAD_FR_BT_BOUTON04)+"' name='GAD_FR_BT_BOUTON04'/> "+Chr(10)+
                "          </vbox> "+Chr(10)+
                "        </hbox> "+Chr(10)+
                "      </gridbox>"+Chr(10)+
                "    </vbox> "+Chr(10)+
                "  </window>"+Chr(10)+
                "</dialogs>" ;}
    Case 1 ; Recherche Parutions par ID Artiste
      ChaineXML="<?xml version='1.0' encoding='UTF-16'?>"+Chr(10)+ ;{
                "<dialogs>"+Chr(10)+
                "  <window id='"+Str(#FEN_RESULTATS)+"' name='FEN_RESULTATS' text='"+Mc_FormatageXML(#TITREFENETRERESULTATS)+"' xpos='0' ypos='0' minwidth='600' minheight='auto' margin='top:16,bottom:8,horizontal:16' flags='#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_SizeGadget|#PB_Window_ScreenCentered'>"+Chr(10)+
                "    <vbox expand='item:1' spacing='8'>"+Chr(10)+
                "      <listicon id='"+Str(#GAD_FR_LS_LISTEICONES01)+"' name='GAD_FR_LS_LISTEICONES01' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/>"+Chr(10)+
                "      <gridbox id='"+Str(#GAD_FR_BG_RESULTATS)+"' name='GAD_FR_BG_RESULTATS' disabled='yes' columns='2' colspacing='4' colexpand='item:2'>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_IDOBJET)+"' name='GAD_FR_LIB_IDOBJET' text='"+Mc_FormatageXML("ID Parution :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_IDOBJET)+"' name='GAD_FR_CP_IDOBJET' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE01)+"' name='GAD_FR_LIB_LIBELLE01' text='"+Mc_FormatageXML("Titre :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP01)+"' name='GAD_FR_CP_CHAMP01' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE02)+"' name='GAD_FR_LIB_LIBELLE02' text='"+Mc_FormatageXML("Parution principale :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP02)+"' name='GAD_FR_CP_CHAMP02' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE03)+"' name='GAD_FR_LIB_LIBELLE03' text='"+Mc_FormatageXML("Statut : ")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP03)+"' name='GAD_FR_CP_CHAMP03' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE04)+"' name='GAD_FR_LIB_LIBELLE04' text='"+Mc_FormatageXML("Type :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP04)+"' name='GAD_FR_CP_CHAMP04' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE05)+"' name='GAD_FR_LIB_LIBELLE05' text='"+Mc_FormatageXML("Artiste :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP05)+"' name='GAD_FR_CP_CHAMP05' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE06)+"' name='GAD_FR_LIB_LIBELLE06' text='"+Mc_FormatageXML("Rôle :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP06)+"' name='GAD_FR_CP_CHAMP06' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE07)+"' name='GAD_FR_LIB_LIBELLE07' text='"+Mc_FormatageXML("Année :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP07)+"' name='GAD_FR_CP_CHAMP07' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE08)+"' name='GAD_FR_LIB_LIBELLE08' text='"+Mc_FormatageXML("Label :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP08)+"' name='GAD_FR_CP_CHAMP08' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE09)+"' name='GAD_FR_LIB_LIBELLE09' text='"+Mc_FormatageXML("Format :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP09)+"' name='GAD_FR_CP_CHAMP09' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE10)+"' name='GAD_FR_LIB_LIBELLE10' text='"+Mc_FormatageXML("Miniature :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP10)+"' name='GAD_FR_CP_CHAMP10' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <empty/>"+Chr(10)+
                "        <hbox expand='no' align='center'>"+Chr(10)+
                "          <image id='"+Str(#GAD_FR_IMG_IMAGE01)+"' name='GAD_FR_IMG_IMAGE01' width='150' height='150'/> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIENURL)+"' name='GAD_FR_LIB_LIENURL' text='"+Mc_FormatageXML("Lien URL : ")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <string id='"+Str(#GAD_FR_CP_LIENURL)+"' name='GAD_FR_CP_LIENURL' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "          <vbox expand='no' align='center' spacing='0'>"+Chr(10)+
                "            <buttonimage id='"+Str(#GAD_FR_BT_LIENURL)+"' name='GAD_FR_BT_LIENURL'/> "+Chr(10)+
                "          </vbox> "+Chr(10)+
                "        </hbox> "+Chr(10)+
                "      </gridbox> "+Chr(10)+
                "    </vbox> "+Chr(10)+
                "  </window>"+Chr(10)+
                "</dialogs>" ;}
    Case 2 ; Recherche Parution par ID
      ChaineXML="<?xml version='1.0' encoding='UTF-16'?>"+Chr(10)+ ;{
                "<dialogs>"+Chr(10)+
                "  <window id='"+Str(#FEN_RESULTATS)+"' name='FEN_RESULTATS' text='"+Mc_FormatageXML(#TITREFENETRERESULTATS)+"' xpos='0' ypos='0' minwidth='1000' minheight='auto' margin='top:16,bottom:8,horizontal:16' flags='#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_SizeGadget|#PB_Window_ScreenCentered'>"+Chr(10)+
                "    <gridbox id='"+Str(#GAD_FR_BG_RESULTATS)+"' name='GAD_FR_BG_RESULTATS' disabled='yes' columns='3' colspacing='8' colexpand='equal'>"+Chr(10)+
                "      <gridbox id='"+Str(#GAD_FR_BG_GRILLE1)+"' name='GAD_FR_BG_GRILLE1' disabled='yes' columns='2' colspacing='4' colexpand='item:2'>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_IDOBJET)+"' name='GAD_FR_LIB_IDOBJET' text='"+Mc_FormatageXML("ID Parution :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_IDOBJET)+"' name='GAD_FR_CP_IDOBJET' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <empty height='4'/>"+Chr(10)+
                "        <empty/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE01)+"' name='GAD_FR_LIB_LIBELLE01' text='"+Mc_FormatageXML("Titre :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP01)+"' name='GAD_FR_CP_CHAMP01' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE02)+"' name='GAD_FR_LIB_LIBELLE02' text='"+Mc_FormatageXML("Année :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP02)+"' name='GAD_FR_CP_CHAMP02' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE03)+"' name='GAD_FR_LIB_LIBELLE03' text='"+Mc_FormatageXML("Date de parution : ")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP03)+"' name='GAD_FR_CP_CHAMP03' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE04)+"' name='GAD_FR_LIB_LIBELLE04' text='"+Mc_FormatageXML("Pays :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP04)+"' name='GAD_FR_CP_CHAMP04' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIENURI)+"' name='GAD_FR_LIB_LIENURI' text='"+Mc_FormatageXML("Identifiant URI :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <string id='"+Str(#GAD_FR_CP_LIENURI)+"' name='GAD_FR_CP_LIENURI' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "          <buttonimage id='"+Str(#GAD_FR_BT_LIENURI)+"' name='GAD_FR_BT_LIENURI'/>"+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIENURL)+"' name='GAD_FR_LIB_LIENURL' text='"+Mc_FormatageXML("Lien URL : ")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <string id='"+Str(#GAD_FR_CP_LIENURL)+"' name='GAD_FR_CP_LIENURL' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "          <buttonimage id='"+Str(#GAD_FR_BT_LIENURL)+"' name='GAD_FR_BT_LIENURL'/>"+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE05)+"' name='GAD_FR_LIB_LIBELLE05' text='"+Mc_FormatageXML("Date ajout :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP05)+"' name='GAD_FR_CP_CHAMP05' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE06)+"' name='GAD_FR_LIB_LIBELLE06' text='"+Mc_FormatageXML("Date modification :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP06)+"' name='GAD_FR_CP_CHAMP06' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE07)+"' name='GAD_FR_LIB_LIBELLE07' text='"+Mc_FormatageXML("Note :")+"'/>"+Chr(10)+
                "        <editor id='"+Str(#GAD_FR_ED_EDITEUR01)+"' name='GAD_FR_ED_EDITEUR01' height='80' flags='#PB_Editor_ReadOnly|#PB_Editor_WordWrap'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE08)+"' name='GAD_FR_LIB_LIBELLE08' text='"+Mc_FormatageXML("Miniature :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP07)+"' name='GAD_FR_CP_CHAMP07' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <empty/>"+Chr(10)+
                "        <hbox expand='no' align='center'>"+Chr(10)+
                "          <image id='"+Str(#GAD_FR_IMG_IMAGE02)+"' name='GAD_FR_IMG_IMAGE02' width='150' height='150'/> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE09)+"' name='GAD_FR_LIB_LIBELLE09' text='"+Mc_FormatageXML("Images :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <listicon id='"+Str(#GAD_FR_LS_IMAGES)+"' name='GAD_FR_LS_IMAGES' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/>"+Chr(10)+
                "          <vbox expand='no' align='center' spacing='0'>"+Chr(10)+
                "            <buttonimage id='"+Str(#GAD_FR_BT_LIENIMAGE)+"' name='GAD_FR_BT_LIENIMAGE'/> "+Chr(10)+
                "          </vbox> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <empty/>"+Chr(10)+
                "        <hbox expand='no' align='center'>"+Chr(10)+
                "          <image id='"+Str(#GAD_FR_IMG_IMAGE01)+"' name='GAD_FR_IMG_IMAGE01' width='150' height='150'/> "+Chr(10)+
                "        </hbox> "+Chr(10)+
                "      </gridbox>"+Chr(10)+
                "      <gridbox id='"+Str(#GAD_FR_BG_GRILLE2)+"' name='GAD_FR_BG_GRILLE2' columns='2' colspacing='4' rowspacing='16' colexpand='item:2'>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE10)+"' name='GAD_FR_LIB_LIBELLE10' text='"+Mc_FormatageXML("Genres :")+"'/>"+Chr(10)+
                "        <listview id='"+Str(#GAD_FR_LS_LISTEVUE01)+"' name='GAD_FR_LS_LISTEVUE01' height='64'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE11)+"' name='GAD_FR_LIB_LIBELLE11' text='"+Mc_FormatageXML("Styles :")+"'/>"+Chr(10)+
                "        <listview id='"+Str(#GAD_FR_LS_LISTEVUE02)+"' name='GAD_FR_LS_LISTEVUE02' height='64'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE12)+"' name='#GAD_FR_LIB_LIBELLE12' text='"+Mc_FormatageXML("Formats :")+"'/>"+Chr(10)+
                "        <listicon id='"+Str(#GAD_FR_LS_LISTEICONES01)+"' name='GAD_FR_LS_LISTEICONES01' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE13)+"' name='GAD_FR_LIB_LIBELLE13' text='"+Mc_FormatageXML("Labels :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <listicon id='"+Str(#GAD_FR_LS_LISTEICONES02)+"' name='GAD_FR_LS_LISTEICONES02' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/>"+Chr(10)+
                "          <vbox expand='no' align='center' spacing='0'>"+Chr(10)+
                "            <buttonimage id='"+Str(#GAD_FR_BT_BOUTON01)+"' name='GAD_FR_BT_BOUTON01'/> "+Chr(10)+
                "          </vbox> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE14)+"' name='GAD_FR_LIB_LIBELLE14' text='"+Mc_FormatageXML("Compagnies :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <listicon id='"+Str(#GAD_FR_LS_LISTEICONES03)+"' name='GAD_FR_LS_LISTEICONES03' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/>"+Chr(10)+
                "          <vbox expand='no' align='center' spacing='0'>"+Chr(10)+
                "            <buttonimage id='"+Str(#GAD_FR_BT_BOUTON02)+"' name='GAD_FR_BT_BOUTON02'/> "+Chr(10)+
                "          </vbox> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE15)+"' name='GAD_FR_LIB_LIBELLE15' text='"+Mc_FormatageXML("Identifiants :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <listicon id='"+Str(#GAD_FR_LS_LISTEICONES04)+"' name='GAD_FR_LS_LISTEICONES04' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/> "+Chr(10)+
                "        </hbox> "+Chr(10)+
                "      </gridbox>"+Chr(10)+
                "      <gridbox id='"+Str(#GAD_FR_BG_GRILLE3)+"' name='GAD_FR_BG_GRILLE3' columns='2' colspacing='4' rowspacing='16' colexpand='item:2'>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE16)+"' name='GAD_FR_LIB_LIBELLE16' text='"+Mc_FormatageXML("Artistes :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <listicon id='"+Str(#GAD_FR_LS_LISTEICONES05)+"' name='GAD_FR_LS_LISTEICONES05' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/>"+Chr(10)+
                "          <vbox expand='no' align='center' spacing='0'>"+Chr(10)+
                "            <buttonimage id='"+Str(#GAD_FR_BT_BOUTON03)+"' name='GAD_FR_BT_BOUTON03'/> "+Chr(10)+
                "          </vbox> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE17)+"' name='GAD_FR_LIB_LIBELLE17' text='"+Mc_FormatageXML("Tri artiste :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP08)+"' name='GAD_FR_CP_CHAMP08' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE18)+"' name='GAD_FR_LIB_LIBELLE18' text='"+Mc_FormatageXML("Autres artistes :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <listicon id='"+Str(#GAD_FR_LS_LISTEICONES06)+"' name='GAD_FR_LS_LISTEICONES06' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/>"+Chr(10)+
                "          <vbox expand='no' align='center' spacing='0'>"+Chr(10)+
                "            <buttonimage id='"+Str(#GAD_FR_BT_BOUTON04)+"' name='GAD_FR_BT_BOUTON04'/> "+Chr(10)+
                "          </vbox> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE19)+"' name='GAD_FR_LIB_LIBELLE19' text='"+Mc_FormatageXML("Pistes :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <listicon id='"+Str(#GAD_FR_LS_LISTEICONES07)+"' name='GAD_FR_LS_LISTEICONES07' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE20)+"' name='GAD_FR_LIB_LIBELLE20' text='"+Mc_FormatageXML("Vidéos :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <listicon 

Re: Discogs (API use)

Posted: Fri Aug 29, 2025 1:13 am
by Olli

Code: Select all

id='"+Str(#GAD_FR_LS_LISTEICONES08)+"' name='GAD_FR_LS_LISTEICONES08' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/>"+Chr(10)+
                "          <vbox expand='no' align='center' spacing='0'>"+Chr(10)+
                "            <buttonimage id='"+Str(#GAD_FR_BT_BOUTON05)+"' name='GAD_FR_BT_BOUTON05'/> "+Chr(10)+
                "          </vbox> "+Chr(10)+
                "        </hbox> "+Chr(10)+
                "      </gridbox> "+Chr(10)+
                "    </gridbox> "+Chr(10)+
                "  </window>"+Chr(10)+
                "</dialogs>" ;}
    Case 3 ; Recherche Master par ID
      ChaineXML="<?xml version='1.0' encoding='UTF-16'?>"+Chr(10)+ ;{
                "<dialogs>"+Chr(10)+
                "  <window id='"+Str(#FEN_RESULTATS)+"' name='FEN_RESULTATS' text='"+Mc_FormatageXML(#TITREFENETRERESULTATS)+"' xpos='0' ypos='0' minwidth='1000' minheight='auto' margin='top:16,bottom:8,horizontal:16' flags='#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_SizeGadget|#PB_Window_ScreenCentered'>"+Chr(10)+
                "    <gridbox id='"+Str(#GAD_FR_BG_RESULTATS)+"' name='GAD_FR_BG_RESULTATS' disabled='yes' columns='2' colspacing='8' colexpand='equal'>"+Chr(10)+
                "      <gridbox id='"+Str(#GAD_FR_BG_GRILLE1)+"' name='GAD_FR_BG_GRILLE1' disabled='yes' columns='2' colspacing='4' colexpand='item:2'>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_IDOBJET)+"' name='GAD_FR_LIB_IDOBJET' text='"+Mc_FormatageXML("ID Master :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_IDOBJET)+"' name='GAD_FR_CP_IDOBJET' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <empty height='4'/>"+Chr(10)+
                "        <empty/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE01)+"' name='GAD_FR_LIB_LIBELLE01' text='"+Mc_FormatageXML("Titre :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP01)+"' name='GAD_FR_CP_CHAMP01' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE02)+"' name='GAD_FR_LIB_LIBELLE02' text='"+Mc_FormatageXML("Année :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP02)+"' name='GAD_FR_CP_CHAMP02' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIENURI)+"' name='GAD_FR_LIB_LIENURI' text='"+Mc_FormatageXML("Identifiant URI :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <string id='"+Str(#GAD_FR_CP_LIENURI)+"' name='GAD_FR_CP_LIENURI' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "          <buttonimage id='"+Str(#GAD_FR_BT_LIENURI)+"' name='GAD_FR_BT_LIENURI'/>"+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIENURL)+"' name='GAD_FR_LIB_LIENURL' text='"+Mc_FormatageXML("Lien URL : ")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <string id='"+Str(#GAD_FR_CP_LIENURL)+"' name='GAD_FR_CP_LIENURL' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "          <buttonimage id='"+Str(#GAD_FR_BT_LIENURL)+"' name='GAD_FR_BT_LIENURL'/>"+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE03)+"' name='GAD_FR_LIB_LIBELLE03' text='"+Mc_FormatageXML("URL versions : ")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <string id='"+Str(#GAD_FR_CP_CHAMP03)+"' name='GAD_FR_CP_CHAMP03' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "          <buttonimage id='"+Str(#GAD_FR_BT_BOUTON01)+"' name='GAD_FR_BT_BOUTON01'/>"+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE04)+"' name='GAD_FR_LIB_LIBELLE04' text='"+Mc_FormatageXML("Parution principale :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP04)+"' name='GAD_FR_CP_CHAMP04' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE05)+"' name='GAD_FR_LIB_LIBELLE05' text='"+Mc_FormatageXML("URL Parution principale :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <string id='"+Str(#GAD_FR_CP_CHAMP05)+"' name='GAD_FR_CP_CHAMP05' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "          <buttonimage id='"+Str(#GAD_FR_BT_BOUTON02)+"' name='GAD_FR_BT_BOUTON02'/>"+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE06)+"' name='GAD_FR_LIB_LIBELLE06' text='"+Mc_FormatageXML("Parution + récente :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP06)+"' name='GAD_FR_CP_CHAMP06' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE07)+"' name='GAD_FR_LIB_LIBELLE07' text='"+Mc_FormatageXML("URL Parution + récente :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <string id='"+Str(#GAD_FR_CP_CHAMP07)+"' name='GAD_FR_CP_CHAMP07' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "          <buttonimage id='"+Str(#GAD_FR_BT_BOUTON03)+"' name='GAD_FR_BT_BOUTON03'/>"+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE08)+"' name='GAD_FR_LIB_LIBELLE08' text='"+Mc_FormatageXML("Genres :")+"'/>"+Chr(10)+
                "        <listview id='"+Str(#GAD_FR_LS_LISTEVUE01)+"' name='GAD_FR_LS_LISTEVUE01' height='100'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE09)+"' name='GAD_FR_LIB_LIBELLE09' text='"+Mc_FormatageXML("Styles :")+"'/>"+Chr(10)+
                "        <listview id='"+Str(#GAD_FR_LS_LISTEVUE02)+"' name='GAD_FR_LS_LISTEVUE02' height='100'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE10)+"' name='#GAD_FR_LIB_LIBELLE10' text='"+Mc_FormatageXML("Artistes :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <listicon id='"+Str(#GAD_FR_LS_LISTEICONES01)+"' name='GAD_FR_LS_LISTEICONES01' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/>"+Chr(10)+
                "          <vbox expand='no' align='center' spacing='0'>"+Chr(10)+
                "            <buttonimage id='"+Str(#GAD_FR_BT_BOUTON04)+"' name='GAD_FR_BT_BOUTON04'/> "+Chr(10)+
                "          </vbox> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE11)+"' name='GAD_FR_LIB_LIBELLE11' text='"+Mc_FormatageXML("Pistes :")+"'/>"+Chr(10)+
                "        <listicon id='"+Str(#GAD_FR_LS_LISTEICONES02)+"' name='GAD_FR_LS_LISTEICONES02' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/> "+Chr(10)+
                "      </gridbox>"+Chr(10)+
                "      <gridbox id='"+Str(#GAD_FR_BG_GRILLE2)+"' name='GAD_FR_BG_GRILLE2' columns='2' colspacing='4' rowspacing='16' colexpand='item:2'>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE12)+"' name='GAD_FR_LIB_LIBELLE12' text='"+Mc_FormatageXML("Images :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <listicon id='"+Str(#GAD_FR_LS_IMAGES)+"' name='GAD_FR_LS_IMAGES' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/>"+Chr(10)+
                "          <vbox expand='no' align='center' spacing='0'>"+Chr(10)+
                "            <buttonimage id='"+Str(#GAD_FR_BT_BOUTON05)+"' name='GAD_FR_BT_BOUTON05'/> "+Chr(10)+
                "          </vbox> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <empty/>"+Chr(10)+
                "        <hbox expand='no' align='center'>"+Chr(10)+
                "          <image id='"+Str(#GAD_FR_IMG_IMAGE01)+"' name='GAD_FR_IMG_IMAGE01' width='150' height='150'/> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE13)+"' name='GAD_FR_LIB_LIBELLE13' text='"+Mc_FormatageXML("Vidéos :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <listicon id='"+Str(#GAD_FR_LS_LISTEICONES03)+"' name='GAD_FR_LS_LISTEICONES03' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/>"+Chr(10)+
                "          <vbox expand='no' align='center' spacing='0'>"+Chr(10)+
                "            <buttonimage id='"+Str(#GAD_FR_BT_BOUTON06)+"' name='GAD_FR_BT_BOUTON06'/> "+Chr(10)+
                "          </vbox> "+Chr(10)+
                "        </hbox> "+Chr(10)+
                "      </gridbox> "+Chr(10)+
                "    </gridbox> "+Chr(10)+
                "  </window>"+Chr(10)+
                "</dialogs>" ;}
    Case 4
      ChaineXML="<?xml version='1.0' encoding='UTF-16'?>"+Chr(10)+ ;{
                "<dialogs>"+Chr(10)+
                "  <window id='"+Str(#FEN_RESULTATS)+"' name='FEN_RESULTATS' text='"+Mc_FormatageXML(#TITREFENETRERESULTATS)+"' xpos='0' ypos='0' minwidth='600' minheight='auto' margin='top:16,bottom:8,horizontal:16' flags='#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_SizeGadget|#PB_Window_ScreenCentered'>"+Chr(10)+
                "    <vbox expand='item:1' spacing='8'>"+Chr(10)+
                "      <listicon id='"+Str(#GAD_FR_LS_LISTEICONES01)+"' name='GAD_FR_LS_LISTEICONES01' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/>"+Chr(10)+
                "      <gridbox id='"+Str(#GAD_FR_BG_RESULTATS)+"' name='GAD_FR_BG_RESULTATS' disabled='yes' columns='2' colspacing='4' colexpand='item:2'>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_IDOBJET)+"' name='GAD_FR_LIB_IDOBJET' text='"+Mc_FormatageXML("ID Parution :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_IDOBJET)+"' name='GAD_FR_CP_IDOBJET' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE01)+"' name='GAD_FR_LIB_LIBELLE01' text='"+Mc_FormatageXML("Titre :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP01)+"' name='GAD_FR_CP_CHAMP01' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE02)+"' name='GAD_FR_LIB_LIBELLE02' text='"+Mc_FormatageXML("Statut :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP02)+"' name='GAD_FR_CP_CHAMP02' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE03)+"' name='GAD_FR_LIB_LIBELLE03' text='"+Mc_FormatageXML("Date parution : ")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP03)+"' name='GAD_FR_CP_CHAMP03' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE04)+"' name='GAD_FR_LIB_LIBELLE04' text='"+Mc_FormatageXML("Formats principaux :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP04)+"' name='GAD_FR_CP_CHAMP04' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE05)+"' name='GAD_FR_LIB_LIBELLE05' text='"+Mc_FormatageXML("Format :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP05)+"' name='GAD_FR_CP_CHAMP05' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE06)+"' name='GAD_FR_LIB_LIBELLE06' text='"+Mc_FormatageXML("Label :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP06)+"' name='GAD_FR_CP_CHAMP06' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE07)+"' name='GAD_FR_LIB_LIBELLE07' text='"+Mc_FormatageXML("Pays :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP07)+"' name='GAD_FR_CP_CHAMP07' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE08)+"' name='GAD_FR_LIB_LIBELLE08' text='"+Mc_FormatageXML("No catalogue :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP08)+"' name='GAD_FR_CP_CHAMP08' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE09)+"' name='GAD_FR_LIB_LIBELLE09' text='"+Mc_FormatageXML("Miniature :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP09)+"' name='GAD_FR_CP_CHAMP09' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <empty/>"+Chr(10)+
                "        <hbox expand='no' align='center'>"+Chr(10)+
                "          <image id='"+Str(#GAD_FR_IMG_IMAGE01)+"' name='GAD_FR_IMG_IMAGE01' width='150' height='150'/> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIENURL)+"' name='GAD_FR_LIB_LIENURL' text='"+Mc_FormatageXML("Lien URL : ")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <string id='"+Str(#GAD_FR_CP_LIENURL)+"' name='GAD_FR_CP_LIENURL' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "          <vbox expand='no' align='center' spacing='0'>"+Chr(10)+
                "            <buttonimage id='"+Str(#GAD_FR_BT_LIENURL)+"' name='GAD_FR_BT_LIENURL'/> "+Chr(10)+
                "          </vbox> "+Chr(10)+
                "        </hbox> "+Chr(10)+
                "      </gridbox> "+Chr(10)+
                "    </vbox> "+Chr(10)+
                "  </window>"+Chr(10)+
                "</dialogs>" ;}
    Case 5
      ChaineXML="<?xml version='1.0' encoding='UTF-16'?>"+Chr(10)+ ;{
                "<dialogs>"+Chr(10)+
                "  <window id='"+Str(#FEN_RESULTATS)+"' name='FEN_RESULTATS' text='"+Mc_FormatageXML(#TITREFENETRERESULTATS)+"' xpos='0' ypos='0' minwidth='600' minheight='auto' margin='top:16,bottom:8,horizontal:16' flags='#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_SizeGadget|#PB_Window_ScreenCentered'>"+Chr(10)+
                "    <vbox expand='item:1' spacing='8'>"+Chr(10)+
                "      <listicon id='"+Str(#GAD_FR_LS_LISTEICONES01)+"' name='GAD_FR_LS_LISTEICONES01' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/>"+Chr(10)+
                "      <gridbox id='"+Str(#GAD_FR_BG_RESULTATS)+"' name='GAD_FR_BG_RESULTATS' disabled='yes' columns='2' colspacing='4' colexpand='item:2'>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_IDOBJET)+"' name='GAD_FR_LIB_IDOBJET' text='"+Mc_FormatageXML("ID :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_IDOBJET)+"' name='GAD_FR_CP_IDOBJET' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE01)+"' name='GAD_FR_LIB_LIBELLE01' text='"+Mc_FormatageXML("Type :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP01)+"' name='GAD_FR_CP_CHAMP01' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE02)+"' name='GAD_FR_LIB_LIBELLE02' text='"+Mc_FormatageXML("Nom/Titre :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP02)+"' name='GAD_FR_CP_CHAMP02' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE03)+"' name='GAD_FR_LIB_LIBELLE03' text='"+Mc_FormatageXML("Année : ")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP03)+"' name='GAD_FR_CP_CHAMP03' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE04)+"' name='GAD_FR_LIB_LIBELLE04' text='"+Mc_FormatageXML("Pays :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP04)+"' name='GAD_FR_CP_CHAMP04' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE05)+"' name='GAD_FR_LIB_LIBELLE05' text='"+Mc_FormatageXML("ID master :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP05)+"' name='GAD_FR_CP_CHAMP05' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE06)+"' name='GAD_FR_LIB_LIBELLE06' text='"+Mc_FormatageXML("URL master :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' align=''>"+Chr(10)+
                "          <string id='"+Str(#GAD_FR_CP_CHAMP06)+"' name='GAD_FR_CP_CHAMP06' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "          <buttonimage id='"+Str(#GAD_FR_BT_BOUTON01)+"' name='GAD_FR_BT_BOUTON01'/> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE07)+"' name='GAD_FR_LIB_LIBELLE07' text='"+Mc_FormatageXML("No catalogue :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP07)+"' name='GAD_FR_CP_CHAMP07' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIENURI)+"' name='GAD_FR_LIB_LIENURI' text='"+Mc_FormatageXML("Identifiant URI :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <string id='"+Str(#GAD_FR_CP_LIENURI)+"' name='GAD_FR_CP_LIENURI' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "          <buttonimage id='"+Str(#GAD_FR_BT_LIENURI)+"' name='GAD_FR_BT_LIENURI'/>"+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE08)+"' name='GAD_FR_LIB_LIBELLE08' text='"+Mc_FormatageXML("Pochette :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' align=''>"+Chr(10)+
                "          <string id='"+Str(#GAD_FR_CP_CHAMP08)+"' name='GAD_FR_CP_CHAMP08' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "          <buttonimage id='"+Str(#GAD_FR_BT_BOUTON02)+"' name='GAD_FR_BT_BOUTON02'/> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE09)+"' name='GAD_FR_LIB_LIBELLE09' text='"+Mc_FormatageXML("Miniature :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP09)+"' name='GAD_FR_CP_CHAMP09' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <empty/>"+Chr(10)+
                "        <hbox expand='no' align='center'>"+Chr(10)+
                "          <image id='"+Str(#GAD_FR_IMG_IMAGE01)+"' name='GAD_FR_IMG_IMAGE01' width='150' height='150'/> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIENURL)+"' name='GAD_FR_LIB_LIENURL' text='"+Mc_FormatageXML("Lien URL : ")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <string id='"+Str(#GAD_FR_CP_LIENURL)+"' name='GAD_FR_CP_LIENURL' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "          <buttonimage id='"+Str(#GAD_FR_BT_LIENURL)+"' name='GAD_FR_BT_LIENURL'/> "+Chr(10)+
                "        </hbox> "+Chr(10)+
                "      </gridbox>"+Chr(10)+
                "      <hbox expand='equal' spacing='4'>"+Chr(10)+
                "        <gridbox id='"+Str(#GAD_FR_BG_GRILLE1)+"' name='GAD_FR_BG_GRILLE1' columns='2' colspacing='4' colexpand='item:2'>"+Chr(10)+
                "          <text id='"+Str(#GAD_FR_LIB_LIBELLE10)+"' name='GAD_FR_LIB_LIBELLE10' text='"+Mc_FormatageXML("Formats :")+"'/>"+Chr(10)+
                "          <listview id='"+Str(#GAD_FR_LS_LISTEVUE01)+"' name='GAD_FR_LS_LISTEVUE01' height='64'/>"+Chr(10)+
                "          <text id='"+Str(#GAD_FR_LIB_LIBELLE11)+"' name='GAD_FR_LIB_LIBELLE11' text='"+Mc_FormatageXML("Labels :")+"'/>"+Chr(10)+
                "          <listview id='"+Str(#GAD_FR_LS_LISTEVUE02)+"' name='GAD_FR_LS_LISTEVUE02' height='64'/>"+Chr(10)+
                "          <text id='"+Str(#GAD_FR_LIB_LIBELLE14)+"' name='GAD_FR_LIB_LIBELLE14' text='"+Mc_FormatageXML("Codes-barres :")+"'/>"+Chr(10)+
                "          <listview id='"+Str(#GAD_FR_LS_LISTEVUE03)+"' name='GAD_FR_LS_LISTEVUE05' height='64'/>"+Chr(10)+
                "        </gridbox>"+Chr(10)+
                "        <gridbox id='"+Str(#GAD_FR_BG_GRILLE2)+"' name='GAD_FR_BG_GRILLE2' columns='2' colspacing='4' colexpand='item:2'>"+Chr(10)+
                "          <text id='"+Str(#GAD_FR_LIB_LIBELLE12)+"' name='GAD_FR_LIB_LIBELLE12' text='"+Mc_FormatageXML("Genres :")+"'/>"+Chr(10)+
                "          <listview id='"+Str(#GAD_FR_LS_LISTEVUE04)+"' name='GAD_FR_LS_LISTEVUE03' height='64'/>"+Chr(10)+
                "          <text id='"+Str(#GAD_FR_LIB_LIBELLE13)+"' name='GAD_FR_LIB_LIBELLE13' text='"+Mc_FormatageXML("Styles :")+"'/>"+Chr(10)+
                "          <listview id='"+Str(#GAD_FR_LS_LISTEVUE05)+"' name='GAD_FR_LS_LISTEVUE04' height='64'/>"+Chr(10)+
                "        </gridbox> "+Chr(10)+
                "      </hbox> "+Chr(10)+
                "    </vbox> "+Chr(10)+
                "  </window>"+Chr(10)+
                "</dialogs>" ;}
  EndSelect
  If ChaineXML
    ValeurRetour=Fc_Fenetres_OuvertureDialogueXML(#ARBRE_XML,#XML_FENRESULTATS,ChaineXML,"FEN_RESULTATS")
    If ValeurRetour
      SetWindowData(#FEN_RESULTATS,ArgTypeRecherche)
      SetGadgetData(#GAD_FR_BT_LIENURL,#GAD_FR_CP_LIENURL)
      SetGadgetAttribute(#GAD_FR_BT_LIENURL,#PB_Button_Image,ImageID(#IMG_DISCOGS))
      Select ArgTypeRecherche
        Case 0 ;{ Recherche Artiste par ID
          SetGadgetData(#GAD_FR_BT_LIENURI,#GAD_FR_CP_LIENURI)
          SetGadgetAttribute(#GAD_FR_BT_LIENURI,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          ; Parutions
          SetGadgetData(#GAD_FR_BT_BOUTON01,#GAD_FR_CP_CHAMP03)
          SetGadgetAttribute(#GAD_FR_BT_BOUTON01,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          ; Alias
          SetGadgetAttribute(#GAD_FR_BT_BOUTON02,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          SetGadgetData(#GAD_FR_BT_BOUTON02,#GAD_FR_LS_LISTEICONES01)
          SetGadgetData(#GAD_FR_LS_LISTEICONES01,2)
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES01,0,#PB_ListIcon_ColumnWidth,80,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES01,-1,"ID",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,1,"Nom",200)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,2,"Lien Internet",280)
          ; Membres
          SetGadgetAttribute(#GAD_FR_BT_BOUTON03,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          SetGadgetData(#GAD_FR_BT_BOUTON03,#GAD_FR_LS_LISTEICONES02)
          SetGadgetData(#GAD_FR_LS_LISTEICONES02,2)
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES02,0,#PB_ListIcon_ColumnWidth,80,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES02,-1,"ID",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES02,1,"Nom",200)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES02,2,"Lien Internet",280)
          ; Groupes
          SetGadgetAttribute(#GAD_FR_BT_BOUTON04,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          SetGadgetData(#GAD_FR_BT_BOUTON04,#GAD_FR_LS_LISTEICONES03)
          SetGadgetData(#GAD_FR_LS_LISTEICONES03,2)
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES03,0,#PB_ListIcon_ColumnWidth,80,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES03,-1,"ID",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES03,1,"Nom",200)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES03,2,"Lien Internet",280)
          ;}
        Case 1 ;{ Recherche Parutions par Artiste
          ; Parutions
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES01,0,#PB_ListIcon_ColumnWidth,80,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES01,-1,"ID",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,1,"Titre",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,2,"Parution princ.",80)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,3,"Statut",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,4,"Type",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,5,"Artiste",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,6,"Rôle",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,7,"Année",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,8,"Label",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,9,"Format",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,10,"Miniature",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,11,"Lien URL",100)
          ;}
        Case 2 ;{ Recherche Parution par ID
          SetGadgetData(#GAD_FR_BT_LIENURI,#GAD_FR_CP_LIENURI)
          SetGadgetAttribute(#GAD_FR_BT_LIENURI,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          ; Images
          SetGadgetData(#GAD_FR_BT_LIENIMAGE,#GAD_FR_LS_IMAGES)
          SetGadgetAttribute(#GAD_FR_BT_LIENIMAGE,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          SetGadgetData(#GAD_FR_LS_IMAGES,3)
          SetGadgetItemAttribute(#GAD_FR_LS_IMAGES,0,#PB_ListIcon_ColumnWidth,80,0)
          SetGadgetItemText(#GAD_FR_LS_IMAGES,-1,"Type",0)
          AddGadgetColumn(#GAD_FR_LS_IMAGES,1,"Dimensions",72)
          AddGadgetColumn(#GAD_FR_LS_IMAGES,2,"Identifiant URI",100)
          AddGadgetColumn(#GAD_FR_LS_IMAGES,3,"Lien URL",100)
          AddGadgetColumn(#GAD_FR_LS_IMAGES,4,"Identifiant URI 150",100)
          ; Formats
          

Re: Discogs (API use)

Posted: Fri Aug 29, 2025 1:14 am
by Olli

Code: Select all

SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES01,0,#PB_ListIcon_ColumnWidth,100,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES01,-1,"Type",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,1,"Qté",40)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,2,"Descriptions",200)
          ; Labels
          SetGadgetData(#GAD_FR_BT_BOUTON01,#GAD_FR_LS_LISTEICONES02)
          SetGadgetAttribute(#GAD_FR_BT_BOUTON01,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          SetGadgetData(#GAD_FR_LS_LISTEICONES02,5)
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES02,0,#PB_ListIcon_ColumnWidth,80,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES02,-1,"ID",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES02,1,"Nom",200)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES02,2,"No Catalogue",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES02,3,"Type entité",80)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES02,4,"Nom entité",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES02,5,"Lien URL",100)
          ; Compagnies
          SetGadgetData(#GAD_FR_BT_BOUTON02,#GAD_FR_LS_LISTEICONES03)
          SetGadgetAttribute(#GAD_FR_BT_BOUTON02,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          SetGadgetData(#GAD_FR_LS_LISTEICONES03,5)
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES03,0,#PB_ListIcon_ColumnWidth,80,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES03,-1,"ID",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES03,1,"Nom",200)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES03,2,"No Catalogue",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES03,3,"Type entité",80)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES03,4,"Nom entité",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES03,5,"Lien URL",100)
          ; Identifiants
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES04,0,#PB_ListIcon_ColumnWidth,200,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES04,-1,"Type",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES04,1,"Valeur",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES04,2,"Description",100)
          ; Artistes
          SetGadgetData(#GAD_FR_BT_BOUTON03,#GAD_FR_LS_LISTEICONES05)
          SetGadgetAttribute(#GAD_FR_BT_BOUTON03,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          SetGadgetData(#GAD_FR_LS_LISTEICONES05,6)
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES05,0,#PB_ListIcon_ColumnWidth,80,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES05,-1,"ID",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES05,1,"Nom",200)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES05,2,"Variantes",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES05,3,"Arrivée",80)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES05,4,"Rôle",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES05,5,"Piste",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES05,6,"Lien Internet",200)
          ; Autres artistes
          SetGadgetData(#GAD_FR_BT_BOUTON04,#GAD_FR_LS_LISTEICONES06)
          SetGadgetAttribute(#GAD_FR_BT_BOUTON04,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          SetGadgetData(#GAD_FR_LS_LISTEICONES06,6)
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES06,0,#PB_ListIcon_ColumnWidth,80,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES06,-1,"ID",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES06,1,"Nom",200)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES06,2,"Variantes",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES06,3,"Arrivée",80)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES06,4,"Rôle",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES06,5,"Piste",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES06,6,"Lien Internet",200)
          ; Pistes
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES07,0,#PB_ListIcon_ColumnWidth,56,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES07,-1,"Type",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES07,1,"Position",72)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES07,2,"Titre",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES07,3,"Durée",56)
          ; Vidéos
          SetGadgetData(#GAD_FR_BT_BOUTON05,#GAD_FR_LS_LISTEICONES08)
          SetGadgetAttribute(#GAD_FR_BT_BOUTON05,#PB_Button_Image,ImageID(#IMG_LECTUREVIDEO))
          SetGadgetData(#GAD_FR_LS_LISTEICONES08,3)
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES08,0,#PB_ListIcon_ColumnWidth,100,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES08,-1,"Titre",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES08,1,"Durée",56)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES08,2,"Description",200)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES08,3,"URL",100)
          ;}
        Case 3 ;{ Recherche Master par ID
          SetGadgetData(#GAD_FR_BT_LIENURI,#GAD_FR_CP_LIENURI)
          SetGadgetAttribute(#GAD_FR_BT_LIENURI,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          ; URL Versions
          SetGadgetData(#GAD_FR_BT_BOUTON01,#GAD_FR_CP_CHAMP03)
          SetGadgetAttribute(#GAD_FR_BT_BOUTON01,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          ; URL Parution principale
          SetGadgetData(#GAD_FR_BT_BOUTON02,#GAD_FR_CP_CHAMP05)
          SetGadgetAttribute(#GAD_FR_BT_BOUTON02,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          ; URL Parution + récente
          SetGadgetData(#GAD_FR_BT_BOUTON03,#GAD_FR_CP_CHAMP07)
          SetGadgetAttribute(#GAD_FR_BT_BOUTON03,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          ; Artistes
          SetGadgetData(#GAD_FR_BT_BOUTON04,#GAD_FR_LS_LISTEICONES01)
          SetGadgetAttribute(#GAD_FR_BT_BOUTON04,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          SetGadgetData(#GAD_FR_LS_LISTEICONES01,6)
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES01,0,#PB_ListIcon_ColumnWidth,80,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES01,-1,"ID",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,1,"Nom",200)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,2,"Variantes",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,3,"Arrivée",80)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,4,"Rôle",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,5,"Piste",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,6,"Lien Internet",200)
          ; Pistes
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES02,0,#PB_ListIcon_ColumnWidth,56,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES02,-1,"Type",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES02,1,"Position",72)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES02,2,"Titre",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES02,3,"Durée",56)
          ; Images
          SetGadgetData(#GAD_FR_BT_BOUTON05,#GAD_FR_LS_IMAGES)
          SetGadgetAttribute(#GAD_FR_BT_BOUTON05,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          SetGadgetData(#GAD_FR_LS_IMAGES,3)
          SetGadgetItemAttribute(#GAD_FR_LS_IMAGES,0,#PB_ListIcon_ColumnWidth,80,0)
          SetGadgetItemText(#GAD_FR_LS_IMAGES,-1,"Type",0)
          AddGadgetColumn(#GAD_FR_LS_IMAGES,1,"Dimensions",72)
          AddGadgetColumn(#GAD_FR_LS_IMAGES,2,"Identifiant URI",100)
          AddGadgetColumn(#GAD_FR_LS_IMAGES,3,"Lien URL",100)
          AddGadgetColumn(#GAD_FR_LS_IMAGES,4,"Identifiant URI 150",100)
          ; Vidéos
          SetGadgetData(#GAD_FR_BT_BOUTON06,#GAD_FR_LS_LISTEICONES03)
          SetGadgetAttribute(#GAD_FR_BT_BOUTON06,#PB_Button_Image,ImageID(#IMG_LECTUREVIDEO))
          SetGadgetData(#GAD_FR_LS_LISTEICONES03,3)
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES03,0,#PB_ListIcon_ColumnWidth,100,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES03,-1,"Titre",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES03,1,"Durée",56)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES03,2,"Description",200)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES03,3,"URL",100)
          ;}
        Case 4 ;{ Recherche Versions par Master
          ; Versions
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES01,0,#PB_ListIcon_ColumnWidth,80,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES01,-1,"ID",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,1,"Titre",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,2,"Statut",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,3,"Année",64)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,4,"Formats principaux",80)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,5,"Format",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,6,"Label",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,7,"Pays",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,8,"No catalogue",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,9,"Miniature",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,10,"Lien URL",100)
          ;}
        Case 5 ;{ Recherche générale
          SetGadgetData(#GAD_FR_BT_LIENURI,#GAD_FR_CP_LIENURI)
          SetGadgetAttribute(#GAD_FR_BT_LIENURI,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          ; Resultats
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES01,0,#PB_ListIcon_ColumnWidth,80,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES01,-1,"ID",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,1,"Type",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,2,"Nom/Titre",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,3,"Année",64)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,4,"Pays",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,5,"ID master",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,6,"URL master",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,7,"No catalogue",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,8,"Pochette",80)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,9,"Formats",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,10,"Labels",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,11,"Codes-barres",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,12,"Genres",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,13,"Styles",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,14,"Miniature",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,15,"Identifiant URI",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,16,"Lien URL",100)
          ; URL master
          SetGadgetData(#GAD_FR_BT_BOUTON01,#GAD_FR_CP_CHAMP06)
          SetGadgetAttribute(#GAD_FR_BT_BOUTON01,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          ; Pochette
          SetGadgetData(#GAD_FR_BT_BOUTON02,#GAD_FR_CP_CHAMP08)
          SetGadgetAttribute(#GAD_FR_BT_BOUTON02,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          ;}
      EndSelect
    EndIf
  EndIf
  ProcedureReturn ValeurRetour
EndProcedure
; ╔═══════════════════════════════╗
; ║ PROCEDURES FENETRE PRINCIPALE ║
; ╚═══════════════════════════════╝
Procedure   Pc_FenPrincipale_GestionConteneursParametres()
  Protected.b NoItem=GetGadgetState(#GAD_FP_LS_TYPESRECHERCHE)
  Protected.u ConteneurActif=GetGadgetData(#GAD_FP_LS_TYPESRECHERCHE),ConteneurSelectionne=GetGadgetItemData(#GAD_FP_LS_TYPESRECHERCHE,NoItem)
  
  If ConteneurSelectionne<>ConteneurActif
    HideGadget(ConteneurActif,#True)
    HideGadget(ConteneurSelectionne,#False)
    SetGadgetData(#GAD_FP_LS_TYPESRECHERCHE,ConteneurSelectionne)
    SetActiveGadget(GetGadgetData(ConteneurSelectionne))
  EndIf
EndProcedure
Procedure   Pc_FenPrincipale_GestionEvenements()
  Protected.l NoFenetre,Evenmt,EvenmtMenu,TypeEvenmt,NoGadget

  Repeat
    NoFenetre=EventWindow()
    Evenmt=WaitWindowEvent()
    TypeEvenmt=EventType()
    Select Evenmt
      Case #PB_Event_ActivateWindow
      Case #PB_Event_DeactivateWindow
      Case #PB_Event_Gadget
        NoGadget=EventGadget()
        Select TypeEvenmt
          Case #PB_EventType_Change
            Select NoGadget
              Case #GAD_FR_LS_IMAGES:Pc_Affichage_Image(NoGadget)
              Case #GAD_FR_LS_LISTEICONES01:Pc_Affichage_DonneesListe()
            EndSelect
          Case #PB_EventType_LeftClick
            Select NoGadget
              Case #GAD_FP_LS_TYPESRECHERCHE:Pc_FenPrincipale_GestionConteneursParametres()
              Case #GAD_FP_BT_RECHERCHER:Pc_DISCOGS_LancementRecherche()
              Case #GAD_FR_BT_LIENURI,#GAD_FR_BT_LIENURL,#GAD_FR_BT_LIENIMAGE,#GAD_FR_BT_BOUTON01,#GAD_FR_BT_BOUTON02,#GAD_FR_BT_BOUTON03,#GAD_FR_BT_BOUTON04,#GAD_FR_BT_BOUTON05,#GAD_FR_BT_BOUTON06:Pc_Ouverture_LienInternet(NoGadget)
            EndSelect
        EndSelect
      Case #PB_Event_CloseWindow
        Select NoFenetre
          Case #FEN_RESULTATS:CloseWindow(#FEN_RESULTATS)
          Case #FEN_RECHERCHEDB
            If IsWindow(#FEN_RESULTATS):CloseWindow(#FEN_RESULTATS):EndIf
            End
        EndSelect
      Case #PB_Event_Menu
        EvenmtMenu=EventMenu()
        Select EvenmtMenu
          Case #PB_Shortcut_Escape
        EndSelect
      Case #WM_KEYDOWN
      Case #WM_KEYUP
      Case #WM_SYSKEYDOWN
      Case #WM_SYSKEYUP
      Case #WM_SYSCOMMAND
    EndSelect
  ForEver
EndProcedure
Procedure   Pc_FenPrincipale_Affichage()
  Protected.a ValeurRetour
  Protected.s ChaineXML
  
  ChaineXML="<?xml version='1.0' encoding='UTF-16'?>"+Chr(10)+ ;{
            "<dialogs>"+Chr(10)+
            "  <window id='"+Str(#FEN_RECHERCHEDB)+"' name='FEN_RECHERCHEDB' text='"+Mc_FormatageXML("Recherche Base de données DISCOGS")+"' xpos='0' ypos='0' width='600' height='160' minwidth='auto' minheight='auto' maxheight='auto' margin='top:20,bottom:0' flags='#PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_Invisible|#PB_Window_ScreenCentered'>"+Chr(10)+
            "    <vbox spacing='2'>"+Chr(10)+
            "      <hbox expand='item:3' spacing='8'>"+Chr(10)+
            "        <hbox expand='no' align='' spacing='24'>"+Chr(10)+
            "          <empty/> "+Chr(10)+
            "        </hbox>"+Chr(10)+
            "        <frame id='"+Str(#GAD_FP_CD_TYPERECHERCHE)+"' name='GAD_FP_CD_TYPERECHERCHE' text='"+Mc_FormatageXML("Type de recherche : ")+"'>"+Chr(10)+
            "          <listview id='"+Str(#GAD_FP_LS_TYPESRECHERCHE)+"' name='GAD_FP_LS_TYPESRECHERCHE' width='200'/> "+Chr(10)+
            "        </frame>"+Chr(10)+
            "        <frame id='"+Str(#GAD_FP_CD_PARAMETRESRECHERCHE)+"' name='GAD_FP_CD_PARAMETRESRECHERCHE' text='"+Mc_FormatageXML("Paramètres : ")+"'>"+Chr(10)+
            "          <multibox id='"+Str(#GAD_FP_BM_PARAMETRES)+"'>"+Chr(10)+
            "            <container id='"+Str(#GAD_FP_CT_PARAMETRESARTISTE)+"' name='GAD_FP_CT_PARAMETRESARTISTE'>"+Chr(10)+
            "              <gridbox id='"+Str(#GAD_FP_BG_PARAMETRESARTISTE)+"' name='GAD_FP_BG_PARAMETRESARTISTE' columns='2' rowspacing='12' colexpand='item:2'>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMARTISTE_IDARTISTE)+"' name='GAD_FP_LIB_PARAMARTISTE_IDARTISTE' text='"+Mc_FormatageXML("ID artiste* :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMARTISTE_IDARTISTE)+"' name='GAD_FP_CP_PARAMARTISTE_IDARTISTE' flags='#PB_String_Numeric'/>"+Chr(10)+
            "              </gridbox> "+Chr(10)+
            "            </container>"+Chr(10)+
            "            <container id='"+Str(#GAD_FP_CT_PARAMETRESPARUTIONSARTISTE)+"' name='GAD_FP_CT_PARAMETRESPARUTIONSARTISTE' invisible='yes'>"+Chr(10)+
            "              <gridbox id='"+Str(#GAD_FP_BG_PARAMETRESPARUTIONSARTISTE)+"' name='GAD_FP_BG_PARAMETRESPARUTIONSARTISTE' columns='2' rowspacing='12' colexpand='item:2'>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMPARUTIONSARTISTE_IDARTISTE)+"' name='GAD_FP_LIB_PARAMPARUTIONSARTISTE_IDARTISTE' text='"+Mc_FormatageXML("ID artiste* :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMPARUTIONSARTISTE_IDARTISTE)+"' name='GAD_FP_CP_PARAMPARUTIONSARTISTE_IDARTISTE' flags='#PB_String_Numeric'/>"+Chr(10)+
            "                <empty/>"+Chr(10)+
            "                <empty/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMPARUTIONSARTISTE_TRI)+"' name='GAD_FP_LIB_PARAMPARUTIONSARTISTE_TRI' text='"+Mc_FormatageXML("Tri par :")+"'/>"+Chr(10)+
            "                <combobox id='"+Str(#GAD_FP_LS_PARAMPARUTIONSARTISTE_TRI)+"' name='GAD_FP_LS_PARAMPARUTIONSARTISTE_TRI'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMPARUTIONSARTISTE_ORDRETRI)+"' name='GAD_FP_LIB_PARAMPARUTIONSARTISTE_ORDRETRI' text='"+Mc_FormatageXML("Ordre de tri :")+"'/>"+Chr(10)+
            "                <combobox id='"+Str(#GAD_FP_LS_PARAMPARUTIONSARTISTE_ORDRETRI)+"' name='GAD_FP_LS_PARAMPARUTIONSARTISTE_ORDRETRI'/>"+Chr(10)+
            "                <empty/>"+Chr(10)+
            "                <empty/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMPARUTIONSARTISTE_ITEMSPAGE)+"' name='GAD_FP_LIB_PARAMPARUTIONSARTISTE_ITEMSPAGE' text='"+Mc_FormatageXML("Items par page :")+"'/>"+Chr(10)+
            "                <combobox id='"+Str(#GAD_FP_LS_PARAMPARUTIONSARTISTE_ITEMSPAGE)+"' name='GAD_FP_LS_PARAMPARUTIONSARTISTE_ITEMSPAGE'/>"+Chr(10)+
            "              </gridbox> "+Chr(10)+
            "            </container>"+Chr(10)+
            "            <container id='"+Str(#GAD_FP_CT_PARAMETRESPARUTION)+"' name='GAD_FP_CT_PARAMETRESPARUTION' invisible='yes'>"+Chr(10)+
            "              <gridbox id='"+Str(#GAD_FP_BG_PARAMETRESPARUTION)+"' name='GAD_FP_BG_PARAMETRESPARUTION' columns='2' rowspacing='12' colexpand='item:2'>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMPARUTION_IDPARUTION)+"' name='GAD_FP_LIB_PARAMPARUTION_IDPARUTION' text='"+Mc_FormatageXML("ID parution* :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMPARUTION_IDPARUTION)+"' name='GAD_FP_CP_PARAMPARUTION_IDPARUTION' flags='#PB_String_Numeric'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMPARUTION_MONNAIE)+"' name='GAD_FP_LIB_PARAMPARUTION_MONNAIE' text='"+Mc_FormatageXML("Monnaie :")+"'/>"+Chr(10)+
            "                <combobox id='"+Str(#GAD_FP_LS_PARAMPARUTION_MONNAIE)+"' name='GAD_FP_LS_PARAMPARUTION_MONNAIE' flags='#PB_ComboBox_Editable'/>"+Chr(10)+
            "              </gridbox> "+Chr(10)+
            "            </container>"+Chr(10)+
            "            <container id='"+Str(#GAD_FP_CT_PARAMETRESMASTER)+"' name='GAD_FP_CT_PARAMETRESMASTER' invisible='yes'>"+Chr(10)+
            "              <gridbox id='"+Str(#GAD_FP_BG_PARAMETRESMASTER)+"' name='GAD_FP_BG_PARAMETRESMASTER' columns='2' rowspacing='12' colexpand='item:2'>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMMASTER_IDMASTER)+"' name='GAD_FP_LIB_PARAMMASTER_IDMASTER' text='"+Mc_FormatageXML("ID master* :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMMASTER_IDMASTER)+"' name='GAD_FP_CP_PARAMMASTER_IDMASTER' flags='#PB_String_Numeric'/>"+Chr(10)+
            "              </gridbox> "+Chr(10)+
            "            </container> "+Chr(10)+
            "            <container id='"+Str(#GAD_FP_CT_PARAMETRESVERSIONSMASTER)+"' name='GAD_FP_CT_PARAMETRESVERSIONSMASTER' invisible='yes'>"+Chr(10)+
            "              <gridbox id='"+Str(#GAD_FP_BG_PARAMETRESVERSIONSMASTER)+"' name='GAD_FP_BG_PARAMETRESVERSIONSMASTER' columns='2' rowspacing='12' colexpand='item:2'>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMVERSIONSMASTER_IDMASTER)+"' name='GAD_FP_LIB_PARAMVERSIONSMASTER_IDMASTER' text='"+Mc_FormatageXML("ID master* :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMVERSIONSMASTER_IDMASTER)+"' name='GAD_FP_CP_PARAMVERSIONSMASTER_IDMASTER' flags='#PB_String_Numeric'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMVERSIONSMASTER_FORMAT)+"' name='GAD_FP_LIB_PARAMVERSIONSMASTER_FORMAT' text='"+Mc_FormatageXML("Format :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMVERSIONSMASTER_FORMAT)+"' name='GAD_FP_CP_PARAMVERSIONSMASTER_FORMAT'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMVERSIONSMASTER_ANNEE)+"' name='GAD_FP_LIB_PARAMVERSIONSMASTER_ANNEE' text='"+Mc_FormatageXML("Année :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMVERSIONSMASTER_ANNEE)+"' name='GAD_FP_CP_PARAMVERSIONSMASTER_ANNEE' flags='#PB_String_Numeric'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMVERSIONSMASTER_LABEL)+"' name='GAD_FP_LIB_PARAMVERSIONSMASTER_LABEL' text='"+Mc_FormatageXML("Label :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMVERSIONSMASTER_LABEL)+"' name='GAD_FP_CP_PARAMVERSIONSMASTER_LABEL'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMVERSIONSMASTER_PAYS)+"' name='GAD_FP_LIB_PARAMVERSIONSMASTER_PAYS' text='"+Mc_FormatageXML("Pays :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMVERSIONSMASTER_PAYS)+"' name='GAD_FP_CP_PARAMVERSIONSMASTER_PAYS'/>"+Chr(10)+
            "                <empty/>"+Chr(10)+
            "                <empty/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMVERSIONSMASTER_TRI)+"' name='GAD_FP_LIB_PARAMVERSIONSMASTER_TRI' text='"+Mc_FormatageXML("Tri par :")+"'/>"+Chr(10)+
            "                <combobox id='"+Str(#GAD_FP_LS_PARAMVERSIONSMASTER_TRI)+"' name='GAD_FP_LS_PARAMVERSIONSMASTER_TRI'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMVERSIONSMASTER_ORDRETRI)+"' name='GAD_FP_LIB_PARAMVERSIONSMASTER_ORDRETRI' text='"+Mc_FormatageXML("Ordre de tri :")+"'/>"+Chr(10)+
            "                <combobox id='"+Str(#GAD_FP_LS_PARAMVERSIONSMASTER_ORDRETRI)+"' name='GAD_FP_LS_PARAMVERSIONSMASTER_ORDRETRI'/>"+Chr(10)+
            "                <empty/>"+Chr(10)+
            "                <empty/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMVERSIONSMASTER_ITEMSPAGE)+"' name='GAD_FP_LIB_PARAMVERSIONSMASTER_ITEMSPAGE' text='"+Mc_FormatageXML("Items par page :")+"'/>"+Chr(10)+
            "                <combobox id='"+Str(#GAD_FP_LS_PARAMVERSIONSMASTER_ITEMSPAGE)+"' name='GAD_FP_LS_PARAMVERSIONSMASTER_ITEMSPAGE'/>"+Chr(10)+
            "              </gridbox> "+Chr(10)+
            "            </container> "+Chr(10)+
            "            <container id='"+Str(#GAD_FP_CT_PARAMETRESRECHERCHEGENERALE)+"' name='GAD_FP_CT_PARAMETRESRECHERCHEGENERALE' invisible='yes'>"+Chr(10)+
            "              <gridbox id='"+Str(#GAD_FP_BG_PARAMETRESRECHERCHEGENERALE)+"' name='GAD_FP_BG_PARAMETRESRECHERCHEGENERALE' columns='2' rowspacing='12' colexpand='item:2'>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_TEXTE)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_TEXTE' text='"+Mc_FormatageXML("Texte :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_TEXTE)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_TEXTE'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_TYPE)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_TYPE' text='"+Mc_FormatageXML("Type :")+"'/>"+Chr(10)+
            "                <combobox id='"+Str(#GAD_FP_LS_PARAMRECHERCHEGALE_TYPE)+"' name='GAD_FP_LS_PARAMRECHERCHEGALE_TYPE'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_ARTISTETITRE)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_ARTISTETITRE' text='"+Mc_FormatageXML("Artiste - Titre :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_ARTISTETITRE)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_ARTISTETITRE'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_TITREPARUTION)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_TITREPARUTION' text='"+Mc_FormatageXML("Titre parution :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_TITREPARUTION)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_TITREPARUTION'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_ARTISTE)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_ARTISTE' text='"+Mc_FormatageXML("Artiste :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_ARTISTE)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_ARTISTE'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_ARTISTEVARIATION)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_ARTISTEVARIATION' text='"+Mc_FormatageXML("Variation non artiste :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_ARTISTEVARIATION)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_ARTISTEVARIATION'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_TITREPISTE)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_TITREPISTE' text='"+Mc_FormatageXML("Titre piste :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_TITREPISTE)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_TITREPISTE'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_CREDIT)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_CREDIT' text='"+Mc_FormatageXML("Crédit :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_CREDIT)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_CREDIT'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_FORMAT)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_FORMAT' text='"+Mc_FormatageXML("Format :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_FORMAT)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_FORMAT'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_ANNEE)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_ANNEE' text='"+Mc_FormatageXML("Année :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_ANNEE)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_ANNEE' flags='#PB_String_Numeric'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_GENRE)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_GENRE' text='"+Mc_FormatageXML("Genre :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_GENRE)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_GENRE'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_STYLE)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_STYLE' text='"+Mc_FormatageXML("Style :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_STYLE)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_STYLE'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_LABEL)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_LABEL' text='"+Mc_FormatageXML("Label :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_LABEL)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_LABEL'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_PAYS)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_PAYS' text='"+Mc_FormatageXML("Pays :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_PAYS)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_PAYS'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_NOCATALOGUE)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_NOCATALOGUE' text='"+Mc_FormatageXML("No catalogue :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_NOCATALOGUE)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_NOCATALOGUE'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_CODEBARRE)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_CODEBARRE' text='"+Mc_FormatageXML("Code barre :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_CODEBARRE)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_CODEBARRE'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_DEPOSANT)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_DEPOSANT' text='"+Mc_FormatageXML("Déposant :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_DEPOSANT)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_DEPOSANT'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_CONTRIBUTEUR)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_CONTRIBUTEUR' text='"+Mc_FormatageXML("Contributeur :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_CONTRIBUTEUR)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_CONTRIBUTEUR'/>"+Chr(10)+
            "                <empty/>"+Chr(10)+
            "                <checkbox id='"+Str(#GAD_FR_CC_RECHERCHEEXACTE)+"' name='GAD_FR_CC_RECHERCHEEXACTE' text='"+Mc_FormatageXML("  Recherche exacte")+"'/>"+Chr(10)+
            "                <empty/>"+Chr(10)+
            "                <empty/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_ITEMSPAGE)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_ITEMSPAGE' text='"+Mc_FormatageXML("Items par page :")+"'/>"+Chr(10)+
            "                <combobox id='"+Str(#GAD_FP_LS_PARAMRECHERCHEGALE_ITEMSPAGE)+"' name='GAD_FP_LS_PARAMRECHERCHEGALE_ITEMSPAGE'/>"+Chr(10)+
            "              </gridbox> "+Chr(10)+
            "            </container> "+Chr(10)+
            "          </multibox> "+Chr(10)+
            "        </frame>"+Chr(10)+
            "        <hbox expand='no' align='' spacing='24'>"+Chr(10)+
            "          <empty width='8'/> "+Chr(10)+
            "        </hbox> "+Chr(10)+
            "      </hbox>"+Chr(10)+
            "      <empty height='8'/>"+Chr(10)+
            "      <hbox expand='item:7' spacing='4'>"+Chr(10)+
            "        <empty width='12'/>"+Chr(10)+
            "        <text id='"+Str(#GAD_FP_LIB_ELEMENTS)+"' name='GAD_FP_LIB_ELEMENTS' text='"+Mc_FormatageXML("Nb éléments trouvés : ")+"'/>"+Chr(10)+
            "        <text id='"+Str(#GAD_FP_LIB_NBELEMENTS)+"' name='GAD_FP_LIB_NBELEMENTS' text='"+Mc_FormatageXML(" ")+"' width='72'/>"+Chr(10)+
            "        <empty width='12'/>"+Chr(10)+
            "        <text id='"+Str(#GAD_FP_LIB_PAGE)+"' name='GAD_FP_LIB_PAGE' text='"+Mc_FormatageXML("Page : ")+"' invisible='yes'/>"+Chr(10)+
            "        <text id='"+Str(#GAD_FP_LIB_NBPAGES)+"' name='GAD_FP_LIB_NBPAGES' text='"+Mc_FormatageXML(" ")+"' width='72' invisible='yes'/>"+Chr(10)+
            "        <empty/>"+Chr(10)+
            "        <hbox expand='no' align='right'>"+Chr(10)+
            "          <button id='"+Str(#GAD_FP_BT_RECHERCHER)+"' name='GAD_FP_BT_RECHERCHER' text='"+Mc_FormatageXML("Rechercher")+"'/>"+Chr(10)+
            "          <empty width='8'/>"+Chr(10)+
            "        </hbox> "+Chr(10)+
            "      </hbox>"+Chr(10)+
            "      <empty height='4'/>"+Chr(10)+
            "      <progressbar id='"+Str(#GAD_FP_BP_JAUGE)+"' name='GAD_FP_BP_JAUGE' height='4' min='0' max='100'/>"+Chr(10)+
            "      <empty height='2'/> "+Chr(10)+
            "    </vbox> "+Chr(10)+
            "  </window>"+Chr(10)+
            "</dialogs>" ;}
  ValeurRetour=Fc_Fenetres_OuvertureDialogueXML(#ARBRE_XML,#XML_FENPRINCIPALE,ChaineXML,"FEN_RECHERCHEDB")
  If ValeurRetour
    ; Ajout items liste types de recherche
    AddGadgetItem(#GAD_FP_LS_TYPESRECHERCHE,0,"Artiste")              ; Artist
    AddGadgetItem(#GAD_FP_LS_TYPESRECHERCHE,1,"Parutions artiste")    ; Artist releases
    AddGadgetItem(#GAD_FP_LS_TYPESRECHERCHE,2,"Parution")             ; Release
    AddGadgetItem(#GAD_FP_LS_TYPESRECHERCHE,3,"Master")               ; Master release
    AddGadgetItem(#GAD_FP_LS_TYPESRECHERCHE,4,"Versions master")      ; Master release versions
    AddGadgetItem(#GAD_FP_LS_TYPESRECHERCHE,5,"Recherche générale")   ; Recherche générale
    SetGadgetState(#GAD_FP_LS_TYPESRECHERCHE,0)
    ;
    SetGadgetData(#GAD_FP_LS_TYPESRECHERCHE,#GAD_FP_CT_PARAMETRESARTISTE)
    SetGadgetItemData(#GAD_FP_LS_TYPESRECHERCHE,0,#GAD_FP_CT_PARAMETRESARTISTE)
    SetGadgetItemData(#GAD_FP_LS_TYPESRECHERCHE,1,#GAD_FP_CT_PARAMETRESPARUTIONSARTISTE)
    SetGadgetItemData(#GAD_FP_LS_TYPESRECHERCHE,2,#GAD_FP_CT_PARAMETRESPARUTION)
    SetGadgetItemData(#GAD_FP_LS_TYPESRECHERCHE,3,#GAD_FP_CT_PARAMETRESMASTER)
    SetGadgetItemData(#GAD_FP_LS_TYPESRECHERCHE,4,#GAD_FP_CT_PARAMETRESVERSIONSMASTER)
    SetGadgetItemData(#GAD_FP_LS_TYPESRECHERCHE,5,#GAD_FP_CT_PARAMETRESRECHERCHEGENERALE)
    ;{ Gadgets Recherche Paramètres Artiste
    SetGadgetData(#GAD_FP_CT_PARAMETRESARTISTE,#GAD_FP_CP_PARAMARTISTE_IDARTISTE)
    SetGadgetData(#GAD_FP_CT_PARAMETRESPARUTIONSARTISTE,#GAD_FP_CP_PARAMPARUTIONSARTISTE_IDARTISTE)
    SetGadgetData(#GAD_FP_CT_PARAMETRESPARUTION,#GAD_FP_CP_PARAMPARUTION_IDPARUTION)
    SetGadgetData(#GAD_FP_CT_PARAMETRESMASTER,#GAD_FP_CP_PARAMMASTER_IDMASTER)
    SetGadgetData(#GAD_FP_CT_PARAMETRESVERSIONSMASTER,#GAD_FP_CP_PARAMVERSIONSMASTER_IDMASTER)
    SetGadgetData(#GAD_FP_CT_PARAMETRESRECHERCHEGENERALE,#GAD_FP_CP_PARAMRECHERCHEGALE_TEXTE)
    ;}
    ;{ Gadgets Recherche Paramètres Parutions Artiste
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTIONSARTISTE_TRI,0,"")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTIONSARTISTE_TRI,1,"Titre")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTIONSARTISTE_TRI,2,"Format")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTIONSARTISTE_TRI,3,"Année")
    ;
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTIONSARTISTE_ORDRETRI,0,"Croissant")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTIONSARTISTE_ORDRETRI,1,"Décroissant")
    ;
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTIONSARTISTE_ITEMSPAGE,0,"25")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTIONSARTISTE_ITEMSPAGE,1,"50")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTIONSARTISTE_ITEMSPAGE,2,"100")
    SetGadgetState(#GAD_FP_LS_PARAMPARUTIONSARTISTE_ITEMSPAGE,0)
    ;}
    ;{ Gadgets Recherche Paramètres Parution
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTION_MONNAIE,0,"")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTION_MONNAIE,1,"Euro (EUR)")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTION_MONNAIE,2,"Couronne suédoise (SEK)")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTION_MONNAIE,3,"Dollar australien (AUD)")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTION_MONNAIE,4,"Dollar canadien (CAD)")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTION_MONNAIE,5,"Dollar néo-zélandais (NZD)")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTION_MONNAIE,6,"Dollar US (USD)")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTION_MONNAIE,7,"Franc suisse (CHF)")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTION_MONNAIE,8,"Livre sterling (GBP)")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTION_MONNAIE,9,"Peso mexicain (MXN)")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTION_MONNAIE,10,"Rand sud-affricain (ZAR)")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTION_MONNAIE,11,"Réal brésilien (BRL)")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTION_MONNAIE,12,"Yen (JPY)")
    SetGadgetState(#GAD_FP_LS_PARAMPARUTION_MONNAIE,0)
    ;}
    ;{ Gadgets Paramètres Versions Master
    AddGadgetItem(#GAD_FP_LS_PARAMVERSIONSMASTER_TRI,0,"")
    AddGadgetItem(#GAD_FP_LS_PARAMVERSIONSMASTER_TRI,1,"Titre")
    AddGadgetItem(#GAD_FP_LS_PARAMVERSIONSMASTER_TRI,2,"Format")
    AddGadgetItem(#GAD_FP_LS_PARAMVERSIONSMASTER_TRI,3,"Année")
    AddGadgetItem(#GAD_FP_LS_PARAMVERSIONSMASTER_TRI,4,"Pays")
    AddGadgetItem(#GAD_FP_LS_PARAMVERSIONSMASTER_TRI,5,"Label")
    AddGadgetItem(#GAD_FP_LS_PARAMVERSIONSMASTER_TRI,6,"No catalogue")
    SetGadgetState(#GAD_FP_LS_PARAMVERSIONSMASTER_TRI,0)
    ; 
    AddGadgetItem(#GAD_FP_LS_PARAMVERSIONSMASTER_ORDRETRI,0,"Croissant")
    AddGadgetItem(#GAD_FP_LS_PARAMVERSIONSMASTER_ORDRETRI,1,"Décroissant")
    ;
    AddGadgetItem(#GAD_FP_LS_PARAMVERSIONSMASTER_ITEMSPAGE,0,"25")
    AddGadgetItem(#GAD_FP_LS_PARAMVERSIONSMASTER_ITEMSPAGE,1,"50")
    AddGadgetItem(#GAD_FP_LS_PARAMVERSIONSMASTER_ITEMSPAGE,2,"100")
    SetGadgetState(#GAD_FP_LS_PARAMVERSIONSMASTER_ITEMSPAGE,0)
    ;}
    ;{ Gadgets Paramètres Recherche générale
    AddGadgetItem(#GAD_FP_LS_PARAMRECHERCHEGALE_TYPE,0,"")
    AddGadgetItem(#GAD_FP_LS_PARAMRECHERCHEGALE_TYPE,1,"Artiste")
    AddGadgetItem(#GAD_FP_LS_PARAMRECHERCHEGALE_TYPE,2,"Parution")
    AddGadgetItem(#GAD_FP_LS_PARAMRECHERCHEGALE_TYPE,3,"Master")
    AddGadgetItem(#GAD_FP_LS_PARAMRECHERCHEGALE_TYPE,4,"Label")
    SetGadgetState(#GAD_FP_LS_PARAMRECHERCHEGALE_TYPE,0)
    AddGadgetItem(#GAD_FP_LS_PARAMRECHERCHEGALE_ITEMSPAGE,0,"25")
    AddGadgetItem(#GAD_FP_LS_PARAMRECHERCHEGALE_ITEMSPAGE,1,"50")
    AddGadgetItem(#GAD_FP_LS_PARAMRECHERCHEGALE_ITEMSPAGE,2,"100")
    SetGadgetState(#GAD_FP_LS_PARAMRECHERCHEGALE_ITEMSPAGE,0)
    ;}
    HideWindow(#FEN_RECHERCHEDB,#False)
    SetActiveGadget(#GAD_FP_CP_PARAMARTISTE_IDARTISTE)
    Pc_FenPrincipale_GestionEvenements()
  EndIf
EndProcedure
;-══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
; ╔══════════════════╗
; ║ MODULE PRINCIPAL ║
; ╚══════════════════╝
Pc_FenPrincipale_Affichage()
End
;-══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
; ╔═════════════════╗
; ║ SECTION DONNEES ║
; ╚═════════════════╝
;{
DataSection
ImageDiscogs_Debut: ;{ D:\FICHIERS\Fichiers PureBasic\GestionAlbumsAudio\Ressources\Images\ImgBtDiscogs.png
  Data.q $0A1A0A0D474E5089,$524448490D000000,$1000000010000000,$FFF31F0000000608,$414449F401000061,$548BBFD3658D3854,$CEF77BCFF1C61857,$CA521251161971DE
  Data.q $F885BB62088B2BF6,$A4C4121081295807,$2256D5885A582408,$9A225629622088D8,$7F87E4A216362C22,$18B6290840C12C80,$99EE2D799D9DEF06,$B9E79F754E17D465
  Data.q $683327C2739F7CE7,$4427996D8CB8939A,$EDB699DC5D82F648,$799987192C7D659B,$9902A938C446DF13,$BA0F4F999E602229,$C4334D0602CFEBEE,$550E4C431CC69C33
  Data.q $39F8DFC4D88B5099,$48AAFBDD741F6F33,$948C3A025D73156E,$0F732DB88918881D,$4D0620B71116B83B,$8B58EF64989785B3,$4D87782117563188,$D4CE4C30A8AB80FC
  Data.q $FE7F44C1EB18D805,$171A8096BF1D7051,$71CCAAC6A222FE65,$99C7125DB1A95C44,$C43C0DC447DE0A39,$B0C44D7321B012DB,$D3418ED854444D84,$38A3ED3D607B32B4
  Data.q $FE12ABE223AF9993,$8C254BFB03F85B0E,$875459E5846343AA,$E1C8DF43F0EACCB9,$79C639944E5BD854,$321B119BFC3FE06C,$57BF496D622C61CF,$38889F10BCD86FE9
  Data.q $82A7274E359971C0,$67656B595D2E7A0B,$AAF112DD5D5831BB,$EFE85E3DF18F0134,$2A5EB9997789EC86,$BAED356CED97F4AE,$DFCC5E7DD0AF713F,$98BF428FD8FB6814
  Data.q $FBFB6DA60F47E587,$898F326FF5D4AC0A,$A62D63951E08B1F8,$970BF8E3CACC11C3,$3418F463F4D9B3E6,$0F4B5444EFCC8ECD,$69A7E3EE3AC8D169,$AEAA80D3E5604EDB
  Data.q $BE2232F88891C7FF,$DB4F2E09E0FF00C0,$1FF42E9B367CEEF6,$CB8E527ABE7AFB00,$4E4549000000002B
  Data.b $44,$AE,$42,$60,$82
ImageDiscogs_Fin: ;}
ImageLectureVideo_Debut: ;{ D:\FICHIERS\Fichiers Graphiques\Axialis Ribbon & Toolbar Toolbar Stock Icons\AxialisIcons-RibbonToolbar-Multimedia-1.0.001\png_format_32bpp_alpha\16x16\movie2-control_play-Hot.png
  Data.q $0A1A0A0D474E5089,$524448490D000000,$1000000010000000,$FFF31F0000000608,$5948700900000061,$0E0000C40E000073,$00001B0E2B9501C4,$8D38544144494502
  Data.q $C51C5154484D9395,$2C0A1181AF79CF7F,$929B418623709AC9,$248422D9E3E71114,$7D041A8D5C2C098B,$28B4D1372D2834AC,$B18BE2A3720FB28A,$4445987322709408
  Data.q $2E445B0B82286450,$BDF19AF4E345D324,$85D1666BF1D18B7F,$CFFCF73DCF72F70B,$244F1C0810255CFF,$F55CB970C7FC4312,$58585D40187870E1,$869A680052A54A18
  Data.q $967676697ACEEDDB,$A00280439A699C55,$D53C2A56C1EA066E,$DC63DF461F00BD99,$1113E7CF8E5D9EBA,$532FDFBF36911369,$4431116122283222,$9C66C8893E445FA4
  Data.q $C8676DB6A8222088,$96032C0580DA2556,$6AA0070D9079CB05,$9D38010DEBD7869A,$E0F16DC2E5C69CCE,$5B618E275508F3F5,$9392386C4E5A5620,$DB468D127CF9F158
  Data.q $3999A6990F5D7401,$B4520C1826E3DA2C,$95940E76FE5710BB,$B1B1A1EBAE888146,$FDD006D5721774B1,$F9DBB8A77BB701F0,$8B4A86F4BDBE9395,$4D7974B85D341DF2
  Data.q $5341CFACAD6D6D41,$0CA0146A9E151767,$F0626B9C08FB2A50,$A5A4EFF69CD80189,$A37D17F29EA390AE,$66A9E2383C5BCD8B,$340B4900C53A5D3C,$47E1052A48D8BC68
  Data.q $87294F04F377E106,$8B2CB55F7C395D9E,$135353500ED62C58,$696D9049202481B2,$37D54F2B1C1C44D2,$A4A37E9E84D7F237,$4E9C0F06C974D5E7,$0AFE41602E959127
  Data.q $6973000235A5EFC1,$899C78F10721BD6D,$953CBC8311898311,$03FA58B2C13A377D,$5E6FE324CD24070E,$F2E7E56B6AE49D82,$FA828282D537C583,$9C9C9C6FCC999999
  Data.q $81CDCDCC28ABBB4C,$2DF1F6F9E73F8B06,$BAEFDF283B752D00,$C572A86B5DA13DF7,$672E2BF9B674CD59,$3C4062A6997F1E3A,$68E819DD747FBB67,$993FCC7AD774FF38
  Data.q $00ECFC9513B324C2,$AE444E4549000000
  Data.b $42,$60,$82
ImageLectureVideo_Fin: ;}
EndDataSection
;}

Re: Discogs (API use)

Posted: Fri Nov 14, 2025 10:23 am
by boddhi
Olli wrote: ... and I do not understand.
Salut Ollivier,

Sorry for seeing your post so late.
Since several months, I'm currently working on a professional project that's taking up a lot of my time and leaving me with almost no time for programming, except for diving back into the intricacies of VBA Excel.
As always, I don't claim to produce perfect code, and there is no doubt that it could be greatly improved. And, in this regard, perhaps there is something to be gained from looking at threads, which I still don't fully understand, except in their simplest form.
What don't you understand?
If I can help you, let me know.
A ton service. :wink:

PS : As soon as I can, I will dive back into my code to provide you with more details on how it works and the approach I took.
What I can already say, as I did at the time on the French forum, is that you need to register on the Discogs website to obtain a key to use the API. This key must be transmitted with each call.
Then, all the structures (Structure...EndStructure) are there to facilitate the retrieval of data from requests returned by Discogs in JSON format.
After that, it's just a matter of displaying them in a window using the various gadgets that constitue it.