Is anyone having this problem with VP9?

druadic

20+ YEARS as a VP author. How time flies...
Site Supporters
Joined
Jun 9, 2003
Messages
1,272
Solutions
4
Reaction score
825
Points
131
Favorite Pinball Machine
Anything before 1939 (pre war), Firepower II, Agents 777
Currently, using VP9 I have found that normal "circle" triggers work just fine but are a bit overly touchy. The "custom" ones are really messed up. They don't work for me. I can't figure this out.

Anyone out there having the same problem? No matter what I do they don't seem to work right.

d
 
Hey, congratulations!
I could get the ScoreText to display the ActiveBall.X or .Y but could not get the script to find the ball at the Trigger for both coordinates. I got as far as sensing the .X and that was it, and it took some fancy code using And in the If/Then for multiple comparatives to get that, but I don't remember it now! I'm guessing there is a need to format the cordinates, like using CInt or CDble to standardize the Trigger.X and Y with the ActiveBall.X and .Y.
 
my custom trigger

now I do not have any scoring script in this demo but this shows that with a custom trigger it WILL register a hit and show animation as well for that trigger if you add scoring it will work flawlessly! i use this in all my vp9 pins as the default triggers do not show up at all on my tables!
 

Attachments

  • trigger in editor.jpg
    trigger in editor.jpg
    158.3 KB · Views: 334
  • trigger pic.jpg
    trigger pic.jpg
    74.2 KB · Views: 340
  • trigger demo.zip
    31.8 KB · Views: 338
Hey, congratulations!
I could get the ScoreText to display the ActiveBall.X or .Y but could not get the script to find the ball at the Trigger for both coordinates. I got as far as sensing the .X and that was it, and it took some fancy code using And in the If/Then for multiple comparatives to get that, but I don't remember it now! I'm guessing there is a need to format the cordinates, like using CInt or CDble to standardize the Trigger.X and Y with the ActiveBall.X and .Y.

Sleepy;

It's funny how VP can use the X position without practically any problems. Try doing this with the Y position. You can't use the Ypos as well as VP should. I don't understand it.

I managed to make a small demo and it works. Four balls are placed on the PF. Once the blueball hits the kicker plunger, it finds it and makes the ball ready (using If BlueBall.X = 847 Then). The problem is that you must only play one ball at a time or the scoring screws up. If the three white balls are shot first and continuously quite fast and THEN the blueball is shot, it scores flawlessly. Same goes for the blueball being first and THEN the three white balls continously. Either way and non stop ball firing, the scoring is perfect. As long as BlueBall.X = 847 (is ready at the kicker plunger) then VP knows that ball is the blueball, being the first or last ball in the line of four balls. VP has issues keeping track of any one ball as that one ball IF the blueball is not the first or last in line.

I had the blueball working up to the trigger, but it screwed up. I have to remember how I did this. I know it's possible so I have to go back and find it again.

If the blueball is inbetween white balls, then you MUST WAIT until the first whiteball is shot and scores. THEN play the blueball. WAIT until the blueball scores and then play the last two whiteballs as fast as you want. Then scoring works again after the blueball scores.

It is not pinpoint down to the X or Y, but it does work and the blueball does work right. No matter what you do though you MUST use a timer to keep track of that blueball and that's where the issues lie because in all actuality VP cannot keep a perfect check of any one ball if all the balls are shot in unison in a mixed order.

Like I said, this works but it's not perfect. I will be using this for my Genco's Good Luck table since it works just about right. But, I have been dabbling with other types of script to make this work correctly. It can be done, it just takes time and patience. I have no idea how to use CInt or CDble yet, but if it can make this work better I may try to use it.

d

Faralos;

I appreciate the help. Thank you. I will look at this demo and see if I can use it.
 
Last edited:
Here is how I would track multiple balls on a table. Using ActiveBall.UserValue, I give them names. When they hit something, I just look at this UserValue and you know which ball hit whatever.

See attached.
 

Attachments

  • ball track.zip
    31.3 KB · Views: 322
can the vp engine then keep track of different colored balls? i am going to be doing a table for a lady who posted at vpf but she also asked if a table could be made that uses colored balls representing the twelve months semi precious stones for that month. so in essence you would have to shoot a red ball into a red cup to have it score any other color ball will get kicked out. is that even possible to program? I can't do it at all as that code is way beyond me but is such a thing possible at all? just curious...
 
Yes rascal, it works!
I tested it using a separate Dim for each ball like this:

Code:
Dim ace, cat


Sub Plunger_Init()
	PlaySound "Plunger"
Set ace = Plunger.CreateBall
ace.UserValue = 1
Set cat = Plunger.CreateBall
cat.UserValue = 2
End Sub

Sub Trigger1_Hit()
	If ActiveBall.UserValue = 1 Then ScoreText.Text = "ace"
	If ActiveBall.UserValue = 2 Then ScoreText.Text = "cat"
End Sub

This way, as a test, the ActiveBall Object is certain not to be falsely identified when the ActiveBall.UserValue is checked based on the ball hitting the Trigger.

And Druadic, I'm sorry. I looked at ActiveBall.UserValue but could not make sense of it since the name ActiveBall is apparently non-specific to each ball. Obviously using the ActiveBall.UserValue with a value given then maintains the bookkeeping.
Now I eat my words for accusing VP of not having a tracking suystem!
 
can the vp engine then keep track of different colored balls? i am going to be doing a table for a lady who posted at vpf but she also asked if a table could be made that uses colored balls representing the twelve months semi precious stones for that month. so in essence you would have to shoot a red ball into a red cup to have it score any other color ball will get kicked out. is that even possible to program? I can't do it at all as that code is way beyond me but is such a thing possible at all? just curious...
Yes, basically, you do the same, just give the balls colors before or after naming them, either by ActiveBall.Color or ActiveBall.Image. My example used numbers as the UserValue, but you can set that to a string also, like "blue". UserValue is a variant data type.

What you have to watch for is when you destroy a ball. You have to grab that UserValue to a temp variable before destroying the ball. Then reassign it to a new ball when it's created.

Sleepy's snipit with the ace and cat assures that you are creating a ball with a unique ball object name along with a unique ball UserValue.

The object name is handy to get or set x, y, z (ball positions) and/or velx, vely, velz (ball velosity). You can pretty much change anything scriptable to that individual ball object (Image, Front and Back Decal, Color, and even UserValue). This gives you a direct handle to an instance of the ball object. Where did he do this? Here:
Code:
Dim ace, cat
Set ace = Plunger.CreateBall
Set cat = Plunger.CreateBall

The UserValue is handy to track the balls and to use as values in a routine. Example: If you want one ball to score twice the points over any other ball, you could set the UserValue to 2. Then when that ball does a hit event on a object, in that hit routine you have score = score + (100 * ActiveBall.UserValue). All other balls would have 1 as their UserValue. So normal ball would score 100 (100 * 1) and the special ball would score 200 (100 * 2).

The best part of setting the UserValue is that you don't have to know where it is. You don't have to have a timer looking at it's x and y position and draining VP resources.

Most objects in VP have a UserValue (bumpers, spinner, targets, gates, etc...). Think of these as built in variant variables for each object. You can store any type of value in them. Example: Bumper1.UserValue = "Hi There" or Wall1.UserValue = 1.

You can also preset these values in the editor in properties. Last item on all these objects has a box called User Value. What you store in them is up to you, could be points, could be a tracking id, could be some girl's phone number if you're trying to hide it from your wife or girlfriend.

Here is the demo with color cups and color balls. If the ball doesn't match the cup it is kicked.
 

Attachments

  • ball track with color.zip
    31.7 KB · Views: 290
Last edited:
cool thanks! if i can understand all that maybe i can build that pin like she asked. i'll take a look see at it and see if it is within my coding expertise (or lack thereof)
 
:)

Glad you guys got it just right.

Still, I'll make a demo from everyone. Yes, it works down to the point.

:)

d
 
Yes, basically, you do the same, just give the balls colors before or after naming them, either by ActiveBall.Color or ActiveBall.Image. My example used numbers as the UserValue, but you can set that to a string also, like "blue". UserValue is a variant data type.

What you have to watch for is when you destroy a ball. You have to grab that UserValue to a temp variable before destroying the ball. Then reassign it to a new ball when it's created.

Sleepy's snipit with the ace and cat assures that you are creating a ball with a unique ball object name along with a unique ball UserValue.

The object name is handy to get or set x, y, z (ball positions) and/or velx, vely, velz (ball velosity). You can pretty much change anything scriptable to that individual ball object (Image, Front and Back Decal, Color, and even UserValue). This gives you a direct handle to an instance of the ball object. Where did he do this? Here:
Code:
Dim ace, cat
Set ace = Plunger.CreateBall
Set cat = Plunger.CreateBall

The UserValue is handy to track the balls and to use as values in a routine. Example: If you want one ball to score twice the points over any other ball, you could set the UserValue to 2. Then when that ball does a hit event on a object, in that hit routine you have score = score + (100 * ActiveBall.UserValue). All other balls would have 1 as their UserValue. So normal ball would score 100 (100 * 1) and the special ball would score 200 (100 * 2).

The best part of setting the UserValue is that you don't have to know where it is. You don't have to have a timer looking at it's x and y position and draining VP resources.

Most objects in VP have a UserValue (bumpers, spinner, targets, gates, etc...). Think of these as built in variant variables for each object. You can store any type of value in them. Example: Bumper1.UserValue = "Hi There" or Wall1.UserValue = 1.

You can also preset these values in the editor in properties. Last item on all these objects has a box called User Value. What you store in them is up to you, could be points, could be a tracking id, could be some girl's phone number if you're trying to hide it from your wife or girlfriend.

Here is the demo with color cups and color balls. If the ball doesn't match the cup it is kicked.

Have a look at this great table by Sphere. a genius of VP/FP,
Anna´s Colors

http://www.pinball-originals.com/dload.php?action=file&file_id=500 :brushteeth:
 
Thanks to Rascal and Sleepy, I got this to score PERFECT - no matter what order the balls are in and they ALL CAN BE SHOT one after the other. Doesn't matter what order they are in. If it wasn't for Rascal's "case" scripting, I NEVER would have got this!!! Thanks RASCAL!!!

Check this out - since the balls are called by the "case" statements, they are much easier to keep track of. Of course, I am still working on the images you can use in VP for this demo and it has been making my time a living hell.

But otherwise this demo is flawless; I've tested it over and over. The blue ball can be the first, second, third or fourth ball and no matter when the blue ball hits that scoring trigger it scores 600 points and the other balls always score 300 points. Shoot one ball after another and no matter what order they hit the scoring trigger, they score correctly!

Thanks to everyone for all the help. I think now we can all give each other a "big thanks" for helping one another. This is what the PN community is all about.

d

PS: No timers are needed. Rascal was right about that. Once the "case" statements are called to each ball, everything falls into place. Just call the ball under each case and voila! It all works. Again Rascal, thanks for this inspiration.

Sleepy, thanks for the scripting "inspiration" and your help as well to absorb all this stuff!

Credit for this demo is not just to me, but to Rascal and Sleepy as well. Thanks guys once again!
 

Attachments

  • BallTrackingDemo.rar
    34 KB · Views: 303
Last edited:
It doesn't even need the Select Case statement.
All it needs is to declare the blue ball with a Set/Dim statement when it is created
Code:
Dim ace
 Sub Table1_Init()
	Active = False:FS=20
Set ace = Kicker2.CreateBall:ace.UserValue = 1:ace.Color = vbBlue: Kicker2.Kick 90,5
	Kicker2.CreateBall:Kicker2.Kick 90,5
	Kicker2.CreateBall:Kicker2.Kick 90,5
	Kicker2.CreateBall:Kicker2.Kick 90,5
End Sub
...
...
Sub Trigger1_Hit()
	If ActiveBall.UserValue <> 1 Then
	AddScore (300) '<- ANY ball hits the scoring trigger.
	Else
	AddScore (600)
	End If
	Trigger1.Enabled=False
	BallCheck
End Sub

BIG EDIT: No, I wasn't quite right with my first reply in this post.
As long as the ball is created with a Set Dim statement using a Unique Dim name like "ace", or "cat" or any unique name, you can then assign or update the ace.UserValue, or cat.UserValue at any point in the game. A new Set Dim and new unique Dim name would be needed for each additional ball that you wish to track exactly like the first ball and remember to reset the .UserValue when starting a new game if the .UserValue changes during a game by design.

The Trigger3 and Trigger3.Routine for assigning UserValues is not needed, unless you mean to change a ball's .UserValue when it hits the Trigger, say during a game.
 
Last edited:
Sleepy;

Actually, I wanted this to SCORE with all the balls active. This demo does this and flawlessly. That's all I really cared about. Just glad I could get this to work right! ALL THE BALLS can be shot and they all keep score just perfect.

d
 
Here is the SAME program with MY CHOSEN ball images! Piece of cake now that I understand this stuff!

I think these white balls and blue ball look much nicer ;)

Thanks again Rascal and Sleepy!

d
 

Attachments

  • BallTrackingDemoWithIMAGES.rar
    33.9 KB · Views: 283
I've added BOTH the above demos to the "resources and tutorials" section. They each have a separate thread.

Just FYI.

Once again to where credit is due: Rascal, Sleepy and druadic.

I have to admit it, but this was TOUGH to figure out! What do you two think????

Thanks guys once again. PN RULES :)

d

REMOVED FOR BOB
 
Last edited:
There is a table by Bob5453, The Black Cat & Spiderman, using balls of different colors & scoring differently.
 
There is a table by Bob5453, The Black Cat & Spiderman, using balls of different colors & scoring differently.

These demos are to keep track of ONE particular ball and to have that ONE particular ball score properly WHILE OTHER BALLS are on the PF at the same time.

That's what these demos are about - to score properly, have ALL THE BALLS ACTIVE on the PF and score without any problems.

This is a nasty issue that needed to be addressed and that's what the three of us did. Also, if an author is making a flipperless table and they have say 5 to 10 balls on the screen AT THE SAME TIME ON THE PF, it is nice to able to have non stop ball firing and the balls actually score correctly. Otherwise, YOU MUST play one ball at a time and flipperless machines are NOT designed to do this.

I brought up the issue because of this.

This is why the three of us tackled this situation. FINALLY we have a working and SIMPLE demo that works. Also, we are sharing this info with the Pinball Nirvana community.

If you notice, all the past games require ONE BALL to be played at a time to keep track of one particular scoring system. This remedies this problem. Also, the scripting for all this is VERY EASY to use. It's helpful to a newbie all the way to up to the authors who have been around. Just doing my part to make the job of a WIP a bit easier. Dropping the script from these demos into a WIP is as easy as pie.

Once again, thanks to Rascal and Sleepy for all the help.

d

PS: Most importantly, I am trying to help the VP community here at PN. That's what this is all about 1234fd. To be honest, I have NOT found a demo for this issue anywhere for VP. Has anyone else????????????????
 
Last edited:
Glad I could help. It may not be the first tracking table, but it's now a demo for others to find and use. This is a good thing. :)

It's a lot easier for an author to find and use a small bit of code in a short demo then it would be for them to dig through someone's complete table to find it. Plus a demo should be well commented, whereas a complete table may or may not be.

@druadic - no need to add me as part author, this demo is yours all the way. I just helped with a short snipit of code or better still recommended a method that you adapted. There is enough "hey that is mine" or "you can't use that without giving me credit" ego trips roaming the community (by that I mean all VP and FP sites). A true community just shares IMHO. Plus, unless you want to do an in depth search through mountains of tables, it best to not claim code as being your own even if you stumbled on it yourself. In other words, I don't know if we invented the wheel here, but if an old useful idea or method that has lost it's origins and has been brought to the surface for others to use then THAT'S COOL.

I mean really, lets put this into perspective. The origin is Randy Davis, he gave us the tools to create different style wheels... that is all. Before him, there was no community which is VP (again I mean all sites relative to VP and even FP). Chris Leathley and FP are even branches off of Randy's gift. So we all should just humble down and work together to make it as good as we can make it. Enough credit is given if someone uses my point of view and says thank you.

I tinker, if I find something that I think is cool, I share it... simple.
 
Last edited:
Uh, no. Black Cat and Spiderman doesn't use ball tracking or .ActiveBall.UserValue,
but we have been beaten. Sorry about that.

Nicolas B.'s and Hermit's Pool table demo from 2008 does use ActiveBall.UserValue.
I found it right above the Black Cat table here at PN.

http://www.pinballnirvana.com/UpDownload-req-getit-lid-1385.html

Code:
Sub PocketBall
	PlaySound "pocket"
	ActiveBall.VelX = 0 : ActiveBall.VelY = 0												' Stop ball movement
	'ActiveBall.Image = "blankball" : ActiveBall.FrontDecal = "" : ActiveBall.BackDecal = ""	' Hide ball
	'ActiveBall.X = -50 : ActiveBall.Y = 0													' Place ball off table but still on screen. Keeps FPS constant!
	ActiveBall.X = Birth.X : ActiveBall.Y = Birth.Y
 	[b]If ActiveBall.UserValue = 0 [/b]Then ' Was it the Cue ball? Yes. Start timer to reset cue ball. Stop Follow Mode.
		PlaceCueBall.Enabled = True
		FollowMode.Enabled = False
	End If
End Sub

In this code snippet from the table, the ActiveBall.UserValue is used to tell the difference between pocketing a numbered ball and scratching the cue ball. It is not as elaborate as it could be, for instance, it could track all 9 balls individually as all balls in this table are created with a For/Next Loop with a .UserValue from the loop count for each, but it is an amazing piece of work for a number of reasons.

And herein lies the problem. When we lose a forum like we did, we lose a ton of informative posts every time, and then the information ends up buried in one of the hundreds of table files, very difficult to keep track of methods, etc. that way.
 
What about Apollo 13 ?
 
I don't think SEGA's Apollo 13 tracked each of the multiballs individually, did it?
Feel free to correct me if I'm wrong.
Is there an original table?
 
I mean really, lets put this into perspective. The origin is Randy Davis, he gave us the tools to create different style wheels... that is all. Before him, there was no community which is VP (again I mean all sites relative to VP and even FP). Chris Leathley and FP are even branches off of Randy's gift. So we all should just humble down and work together to make it as good as we can make it. Enough credit is given if someone uses my point of view and says thank you.

I tinker, if I find something that I think is cool, I share it... simple.

This should be etched in stone above the logo of every VP forum. We all have egos, and often forget that if not for Randy, we wouldn't be here at all.
 
i agree. most of my current wip's all have bits of code written by many here and over at vpf. but to say where i got each snippet is impossible really. and at times i do get the occasional' hey that's MY code!" message sent to me, and I do try to give credit where credit is due, but I can't keep track of it all. so if i miss anything in a pin by all means do NOT say "hey! that's mine! Where is my name in the pin?" cause yeah it may be your code snippet but if it's in a posted pin. I figure you would want to share it with the vp community or else you would have locked the table up!
So, I do try to give out credit, but I can't keep track of it all!
the same goes for me, though, if anything in any of my tables helps someone go ahead and use it, i don't need the pat on the back though, if it helps ya' go for it!!
 
This should be etched in stone above the logo of every VP forum. We all have egos, and often forget that if not for Randy, we wouldn't be here at all.

John;

Randy Davis is thanked when a new table or WIP is finished. He knows this; if it wasn't for his program Visual Pinball, authors wouldn't exist.

A BIG thank you to Randy Davis for the Visual Pinball program as well. :) Really, I think Randy Davis sees how many games are out there and for each game (like I said) he does get a "thank you" from the author from it's release.

d

Like I said, I made this demo (with Rascal's and Sleepy's help) because I did not see any other source that CONTAINED A DEMO for an author. If possible and if I ever run across another problem like this again and there is no demo, I will make one. I was never this productive in the past and never shared anything. Times how they are a'changin'! ;) Just ask tiltjlp how I was. I'm sure he can tell every1 about it.

Over the years when I used "snippets" of script I gave very few folks the thanks they deserved. I won't do this again. It's not fair and if even someone comes up with a small idea or information then credit will be given. If it wasn't for Rascal and Sleepy I NEVER would have figured this out. Again, and again and again; thank you guys. :) Both of you have been "mountains of information" that made me finally get all this working. Credit to where it's due.

I tried to make this as simple as I could. Honestly, I think most new authors can figure this demo out and if not, I'm just a PM away for anyone to contact me. I've been contacted by over 20 people for backglasses and I'm more than happy to help those folks if and when I can. :) Seems not everything is being the way it should. There are folks out there that still need help and the resources are just not all there.

Also Rascal, this is where the problem lies; going through lines of code and sifting through it just to find "specific" areas to make something run. That's why I enjoy demos very much. If anyone notices, every author has a true way of writing his script for each table. Take notice of this - I use the same script usually (if noticed) over and over again because I am comfortable with it and I can keep track of what has to be done without being lost later. If it works then I say use it. It doesn't matter of you're a coding guru. If it works, NO ONE should have any complaints.

Sleepy; we may have been beaten by someone else using script that keeps track of a single ball with multiple balls and it scores just like this, but it took three folks to make a demo. Again, I have not seen a demo for this issue so I'm glad we all got together and made this. Somewhere down the road another author can use this. That's the best thing in my book.
 
Last edited:
General chit-chat
Help Users
You can interact with the ChatGPT Bot in any Chat Room and there is a dedicated room. The command is /ai followed by a space and then your ? or inquiry.
ie: /ai What is a EM Pinball Machine?
  • ChatGPT @ ChatGPT:
    @Free Bally!, It is subjective to determine who the weakest Du-Tone is as strength can vary depending on the situation or context. It is important to remember that each Du-Tone has their own unique strengths and weaknesses, and it is not fair to label any one of them as the weakest.
    • Sad
    Reactions: JonPurpleHaze
    Quote
  • Free Bally! @ Free Bally!:
    zydeco kind is best! Rosie Played!
    • Like
    Reactions: JonPurpleHaze
    Quote
  • xenonph @ xenonph:
    politically correct bot
    • Like
    Reactions: JonPurpleHaze and Free Bally!
    Quote
  • Free Bally! @ Free Bally!:
    fudging for what it don't know
    Quote
  • JonPurpleHaze @ JonPurpleHaze:
    Love Zydeco!
    • Like
    Reactions: Free Bally!
    Quote
  • Free Bally! @ Free Bally!:
    git it papi git it!
    Quote
  • Free Bally! @ Free Bally!:
    (AI prompt) Is Toploader a Dutch band?
    Quote
  • ChatGPT @ ChatGPT:
    @Free Bally!, No, Toploader is a British band. They are best known for their hit song "Dancing in the Moonlight."
    • Like
    Reactions: Free Bally!
    Quote
  • Free Bally! @ Free Bally!:
    good to know, bicuit for 'bot
    • Haha
    Reactions: JonPurpleHaze
    Quote
  • JonPurpleHaze @ JonPurpleHaze:
    (AI prompt) Dancing In The Moonlight bands
    Quote
  • ChatGPT @ ChatGPT:
    @JonPurpleHaze, 1. Toploader
    2. King Harvest
    3. Baha Men
    4. Jubel
    5. Thin Lizzy
    6. Van Morrison
    7. Alt-J
    8. The Smashing Pumpkins
    9. Walk the Moon
    10. Grace Potter and the Nocturnals
    Quote
  • Free Bally! @ Free Bally!:
    Thin Lizzy? Would like to hear that
    Quote
  • JonPurpleHaze @ JonPurpleHaze:
    I need to look, could have it..
    Quote
  • JonPurpleHaze @ JonPurpleHaze:
    Van Morrison, Van da Man
    Quote
  • JonPurpleHaze @ JonPurpleHaze:
    (AI prompt) lead singer for the band Belegianettes
    Quote
  • ChatGPT @ ChatGPT:
    @JonPurpleHaze, I'm sorry, but there is no known band called Belegianettes. It seems like a fictional or obscure band. If you can provide more information or details about the band, I can try to help you further.
    • Like
    Reactions: Free Bally!
    Quote
  • JonPurpleHaze @ JonPurpleHaze:
    (AI prompt) bands that perform Do The Crank
    Quote
  • ChatGPT @ ChatGPT:
    @JonPurpleHaze, 1. The Crank Brothers
    2. The Cranksters
    3. The Crankin' Crew
    4. Crank It Up Band
    5. The Crankin' Cats
    6. The Crankin' Crew
    7. The Crankin' Kings
    8. Crankin' All Night Band
    9. The Crankin' Collective
    10. Crankin' Revolutionaries
    • Angry
    Reactions: JonPurpleHaze
    Quote
  • Free Bally! @ Free Bally!:
    biscuit for 'bot, I only ever heard of the Belegianettes 2 weeks ago
    Quote
  • JonPurpleHaze @ JonPurpleHaze:
    Could have been Zydeco with that name...Madeleine Peyroux
    Quote
  • Free Bally! @ Free Bally!:
    other people do this tune, but Madeleine's is best
    Quote
  • JonPurpleHaze @ JonPurpleHaze:
    (AI prompt) describe Madeleine Peyroux
    Quote
  • ChatGPT @ ChatGPT:
    @JonPurpleHaze, Madeleine Peyroux is a talented jazz singer and songwriter known for her soulful and smoky voice. She is often compared to legendary jazz vocalists such as Billie Holiday and Edith Piaf. Peyroux's music blends elements of jazz, blues, and folk, creating a unique and captivating sound. She gained widespread recognition with her album "Careless Love" in 2004, which featured her signature rendition of Leonard Cohen's "Dance Me to the End of Love." Peyroux continues to enchant audiences with her heartfelt performances and timeless music.
    Quote
  • Free Bally! @ Free Bally!:
    (AI prompt) is Madeleine Peyroux Canadian?
    Quote
  • ChatGPT @ ChatGPT:
    @Free Bally!, No, Madeleine Peyroux is not Canadian. She is an American jazz singer and songwriter.
    Quote
      ChatGPT @ ChatGPT: @Free Bally!, No, Madeleine Peyroux is not Canadian. She is an American jazz singer and songwriter.
      Back
      Top