Jump to content

Recommended Posts

(Unofficial) RockSniffer GUI [Download]

What's this all about then?

Hey, folks. I'm sometimes interested in tracking stats for the games I play, especially for long-term improvement tracking. I used RockSniffer for a couple of days and appreciated seeing some stats, but in the basic version, it's not too useful to just keep peeping on some text files from the output folder. There seem to be some browser addons, but documentation is a bit scant, and I wanted a programming project anyway, so... ...

I've made a front-end for RockSniffer called, unoriginally, (Unofficial) RockSniffer GUI. It has windows to show what's being played right now, with quality statistics so you can see how you're doing during the song, a play history window to show all songs you've played with the same hit/miss/streak/accuracy stats, and a graph window to show your progress graphically. See screenshots at the bottom of this post.

--

(2/18/2021: Edited to add version 0.4.0 with song graphs, song sections, and play history song details)

Click the "Song Graphs" button in the main window to show the new graph window of song accuracies. Double click a song in the play history to see history for only that song.

(2/8/2021: Edited to add version 0.3.0a to fix a startup issue)

To my horror, I re-tested the startup sequence where I started URSG first and the game second, and got a crash! I made an easy fix and updated to v0.3.0a. Links have been updated with the new version.

(2/7/2021: Edited to add version 0.3.0 with the game overlay)

Click the "Toggle Overlay" button in the main window to show the overlay window and drag with the left mouse button into place. Click the toggle button again to hide it. The overlay uses the same displays as the main window, but side-by-side so it fits on the screen a little better. See the screenshot below for an example of how it looks.

 

Downloading

URSG v0.4.0 Direct Download

Everything's up on GitHub at https://github.com/hunterpankey/RockSnifferGui, where you can download the binaries and try it out, or feel free to clone up the repo and poke at it!

So I'd love it if some folks took it out for a test drive and gave me some feedback. Feel free to create an issue or feature request at https://github.com/hunterpankey/RockSnifferGui/issues, or just reply to this post or something like that.

 

Usage

Just unzip the thing to a folder somewhere and run RockSnifferGui.exe from there. It'll scan your song library and create its internal database with all the song data. Launch the game and start playing a song, and you'll see the display look something like the below screenshot. As you play songs, they'll fill up the Play History Window. Click on the "Play History" button at the top of the main screen to open it. Double click a song to filter by that song. Click the "Overlay" button to show an overlay suitable for streaming. Click the "Song Graphs" button to show a line chart of your song plays, scaled for difficulty.

OK, have fun!!

 

Main Window

0.2.0-main%20window.png

 

Play History Window

0.2.0-play%20history.png

 

Song Detail Stats

0.4.0-play%20history%20song%20details.pn

 

Game Overlay Window

0.3.0-overlay-cake-720.png?raw=true

 

Song Sections

0.4.0-song%20sections.png?raw=true

 

Song Graphs

0.4.0-accuracy%20graph.png?raw=true

Edited by hunter - but a unique one
updated for v0.4.0
  • Like 5
  • Thanks 1
Link to comment
Share on other sites

1 hour ago, tdchewy said:

Very cool, Ima try it out

Please do! This is under more or less constant development as I relearn WPF and MVVM stuff after years of neglect. There's a bunch of behind the scenes development going on that doesn't really have much effect on the interface or appearance, but I really want to get some charts and graphs in place pretty soon to show accuracy improvement over time or something like that. It will be tricky with the game raising and lowering difficulties dynamically, but I want to be able to look at a graph of a month of playing and see that line slowly tick upwards. I think that'll be really satisfying!

Link to comment
Share on other sites

Seems pretty nice, always wanted something like this. Can finally see my accuracy in nonstop play mode.

I had a few issues using it in nonstop play mode tho where it used the wrong information for the song a few times. Sometimes it'd use the name and album art for the previous/next song in the list instead of the selected one. It seems to occur if you load a song while it's pre-loading the art/name for the next songs in the list.

Example pic. 
It also seems to affect the play history as the song being played was listed wrong too.

it's probably just a rocksniffer issue that's sneaking over tho (no one uses nonstop play mode anyway)

Anyway keep up the good work my dude.

  • Thanks 1

Ea3cCUQ.png                                                                   「愛こそすべて ,ギルティキス」                                         Gh59blB.png

Utsu-P Discography                                           Modding thread (dead)                                        1000 songs hype

Link to comment
Share on other sites

On 2/6/2021 at 1:55 AM, hunter - but a unique one said:

(Unofficial) RockSniffer GUI

What's this all about then?

Hey, folks. I'm sometimes interested in tracking stats for the games I play, especially for long-term improvement tracking. I used RockSniffer for a couple of days and appreciated seeing some stats, but in the basic version, it's not too useful to just keep peeping on some text files from the output folder. There seem to be some browser addons, but documentation is a bit scant, and I wanted a programming project anyway, so... ...

I've made a frontend for RockSniffer called, unoriginally, (Unofficial) RockSniffer GUI. It has two windows to show what's being played right now, with quality statistics so you can see how you're doing during the song, and a play history window to show all songs you've played with the same hit/miss/streak/accuracy stats. See screenshots at the bottom of this post.

--

(2/7/2021: Edited to add version 0.3.0 with the game overlay)

Click the "Toggle Overlay" button in the main window to show the overlay window and drag with the left mouse button into place. Click the toggle button again to hide it. The overlay uses the same displays as the main window, but side-by-side so it fits on the screen a little better. See the screenshot below for an example of how it looks.

Downloading

URSG v0.2.0 Direct Download

Everything's up on GitHub at https://github.com/hunterpankey/RockSnifferGui, where you can download the binaries and try it out, or feel free to clone up the repo and poke at it!

So I'd love it if some folks took it out for a test drive and gave me some feedback. Feel free to create an issue or feature request at https://github.com/hunterpankey/RockSnifferGui/issues, or just reply to this post or something like that.

 

Usage

Just unzip the thing to a folder somewhere and run RockSnifferGui.exe from there. It'll scan your song library and create its internal database with all the song data. Launch the game and start playing a song, and you'll see the display look something like the below screenshot. As you play songs, they'll fill up the Play History Window. Click on the "Play History" button at the top of the main screen to open it.

OK, have fun!!

 

Main Window

0.2.0-main%20window.png

 

Play History Window

0.2.0-play%20history.png

 

Game Overlay Window

0.3.0-overlay-cake-720.png?raw=true

Updated for v0.3.0 with game overlay window. Have fun!

Link to comment
Share on other sites

1 hour ago, coldrampage said:

Seems pretty nice, always wanted something like this. Can finally see my accuracy in nonstop play mode.

I had a few issues using it in nonstop play mode tho where it used the wrong information for the song a few times. Sometimes it'd use the name and album art for the previous/next song in the list instead of the selected one. It seems to occur if you load a song while it's pre-loading the art/name for the next songs in the list.

Example pic. 
It also seems to affect the play history as the song being played was listed wrong too.

it's probably just a rocksniffer issue that's sneaking over tho (no one uses nonstop play mode anyway)

Anyway keep up the good work my dude.

Yeah, I don't really use non-stop mode myself, so I haven't tested it very much. I refactored a bunch of the components in the 0.3.0 release to handle multiple simultaneous instances of the Now Playing and Notes Played components, so there's a chance that this issue got solved or improved. I'll try out the non-stop mode some tonight or tomorrow afternoon and see if I can diagnose it.

As you guessed, this is sitting on top of the RockSniffer library, so there are a couple of limitations with what it'll be able to do, but I'll at least find that out and make an update if needed. Thanks for the note, btw!

  • Like 1
Link to comment
Share on other sites

On 2/7/2021 at 7:53 PM, hunter - but a unique one said:

Yeah, I don't really use non-stop mode myself, so I haven't tested it very much. I refactored a bunch of the components in the 0.3.0 release to handle multiple simultaneous instances of the Now Playing and Notes Played components, so there's a chance that this issue got solved or improved. I'll try out the non-stop mode some tonight or tomorrow afternoon and see if I can diagnose it.

As you guessed, this is sitting on top of the RockSniffer library, so there are a couple of limitations with what it'll be able to do, but I'll at least find that out and make an update if needed. Thanks for the note, btw!

@coldrampageTook me a few days to be able to look at it in much detail, but I played several songs in non-stop mode and got what seem to be correct results (except for the timestamps which are in UTC for the current session but correct for everything previous), so I think the previous refactoring fixed whatever synchronization issues you had. If you're still interested, can you give v0.3.0a a spin and see if that's more reliable?

image.thumb.png.5563c4abf9b8d3f520c8e7caa0065238.png

Edited by hunter - but a unique one
questions get question marks!
  • Like 1
Link to comment
Share on other sites

@hunter - but a unique one

Still occurs unfortunately (play log) but it didn't happen during normal gameplay like last time. Might just be because I've found out how to avoid it.

If you press enter before the path info has loaded it uses the last selected one instead.
Like this
Instead of this

Not sure if much can be done about it, but it's easy enough to fix by just quitting and reloading the song when it does happen.

It also happened during this vid in learn a song mode, only now noticed it.

Ea3cCUQ.png                                                                   「愛こそすべて ,ギルティキス」                                         Gh59blB.png

Utsu-P Discography                                           Modding thread (dead)                                        1000 songs hype

Link to comment
Share on other sites

On 2/6/2021 at 1:55 AM, hunter - but a unique one said:

(Unofficial) RockSniffer GUI [Download]

What's this all about then?

Hey, folks. I'm sometimes interested in tracking stats for the games I play, especially for long-term improvement tracking. I used RockSniffer for a couple of days and appreciated seeing some stats, but in the basic version, it's not too useful to just keep peeping on some text files from the output folder. There seem to be some browser addons, but documentation is a bit scant, and I wanted a programming project anyway, so... ...

I've made a front-end for RockSniffer called, unoriginally, (Unofficial) RockSniffer GUI. It has windows to show what's being played right now, with quality statistics so you can see how you're doing during the song, a play history window to show all songs you've played with the same hit/miss/streak/accuracy stats, and a graph window to show your progress graphically. See screenshots at the bottom of this post.

--

(2/18/2021: Edited to add version 0.4.0 with song graphs, song sections, and play history song details)

Click the "Song Graphs" button in the main window to show the new graph window of song accuracies. Double click a song in the play history to see history for only that song.

(2/8/2021: Edited to add version 0.3.0a to fix a startup issue)

To my horror, I re-tested the startup sequence where I started URSG first and the game second, and got a crash! I made an easy fix and updated to v0.3.0a. Links have been updated with the new version.

(2/7/2021: Edited to add version 0.3.0 with the game overlay)

Click the "Toggle Overlay" button in the main window to show the overlay window and drag with the left mouse button into place. Click the toggle button again to hide it. The overlay uses the same displays as the main window, but side-by-side so it fits on the screen a little better. See the screenshot below for an example of how it looks.

 

Downloading

URSG v0.4.0 Direct Download

Everything's up on GitHub at https://github.com/hunterpankey/RockSnifferGui, where you can download the binaries and try it out, or feel free to clone up the repo and poke at it!

So I'd love it if some folks took it out for a test drive and gave me some feedback. Feel free to create an issue or feature request at https://github.com/hunterpankey/RockSnifferGui/issues, or just reply to this post or something like that.

 

Usage

Just unzip the thing to a folder somewhere and run RockSnifferGui.exe from there. It'll scan your song library and create its internal database with all the song data. Launch the game and start playing a song, and you'll see the display look something like the below screenshot. As you play songs, they'll fill up the Play History Window. Click on the "Play History" button at the top of the main screen to open it. Double click a song to filter by that song. Click the "Overlay" button to show an overlay suitable for streaming. Click the "Song Graphs" button to show a line chart of your song plays, scaled for difficulty.

OK, have fun!!

 

Main Window

0.2.0-main%20window.png

 

Play History Window

0.2.0-play%20history.png

 

Song Detail Stats

0.4.0-play%20history%20song%20details.pn

 

Game Overlay Window

0.3.0-overlay-cake-720.png?raw=true

 

Song Sections

0.4.0-song%20sections.png?raw=true

 

Song Graphs

0.4.0-accuracy%20graph.png?raw=true

Updated for v0.4.0 with song graphs, play history details, song sections and some other nice things.

  • Like 1
Link to comment
Share on other sites

Amazing work! I always wanted to have these stats/

 

Is it possible by any chance that you can code the application to show the tone settings of the song for each different section and possibly write the value to a file dynamically?

 

I'm playing using microphone mode and hear to what i play through my Boss Katana Amp. I have a devreloper on the Katana side that wrote a very handy app to change the katana settings super easy. If his app could read the value of the tone status of the game, it can translate it to a user defined patch for Katana and push it to the amp.

 

Let me know your thoughts.

 

Much appreciated

  • Thanks 1
Link to comment
Share on other sites

10 hours ago, abteen said:

Amazing work! I always wanted to have these stats/

 

Is it possible by any chance that you can code the application to show the tone settings of the song for each different section and possibly write the value to a file dynamically?

 

I'm playing using microphone mode and hear to what i play through my Boss Katana Amp. I have a devreloper on the Katana side that wrote a very handy app to change the katana settings super easy. If his app could read the value of the tone status of the game, it can translate it to a user defined patch for Katana and push it to the amp.

 

Let me know your thoughts.

 

Much appreciated

Edit: Oh! I think I understand what you're looking for now. The tone settings for songs are in the individual CDLC psarc files, as far as I know, so that might actually be feasible, if all you want to do is get the other application to mimic the tone from the game. Let me do some research on that. My sense of it is that perfect time synchronization might be difficult, but if you could tolerate the tone switch times being off by a quarter to half a second, then that's probably possible.

--

That's a really interesting idea! Currently, the application uses the excellent RockSnifferLib project that peeks into the running Rocksmith program's memory to pull data out, so I'm kind of beholden to the functionality in there. As far as I can tell, it can't get the live tone data since that's like a level lower in the chain than we have access to. The library is able to listen at the level of "did the player hit the expected note or not?" vs the more detailed "what tone did the player play?" level. 

One of the things I wanted to do was track each note played for hit/missed status and map it to trouble notes or trouble sequences to tell the player what specific kinds of things to work on. I'm able to get the hit/miss sequence, but not able to match that up with specific expected note values. So for example, I can say, "you hit notes 15-22, missed 23-25, and hit 26-35", but I don't have a way of saying, "23-35 were supposed to be a d-minor chord and you played d-major". At least not without pulling apart the actual song file itself and interrogating its contents.

At any rate, yours is a fantastic idea and one that would be a great addition, but at the least, it would be a long, long way off in the future.

Link to comment
Share on other sites

2 hours ago, hunter - but a unique one said:

Edit: Oh! I think I understand what you're looking for now. The tone settings for songs are in the individual CDLC psarc files, as far as I know, so that might actually be feasible, if all you want to do is get the other application to mimic the tone from the game. Let me do some research on that. My sense of it is that perfect time synchronization might be difficult, but if you could tolerate the tone switch times being off by a quarter to half a second, then that's probably possible.

--

That's a really interesting idea! Currently, the application uses the excellent RockSnifferLib project that peeks into the running Rocksmith program's memory to pull data out, so I'm kind of beholden to the functionality in there. As far as I can tell, it can't get the live tone data since that's like a level lower in the chain than we have access to. The library is able to listen at the level of "did the player hit the expected note or not?" vs the more detailed "what tone did the player play?" level. 

One of the things I wanted to do was track each note played for hit/missed status and map it to trouble notes or trouble sequences to tell the player what specific kinds of things to work on. I'm able to get the hit/miss sequence, but not able to match that up with specific expected note values. So for example, I can say, "you hit notes 15-22, missed 23-25, and hit 26-35", but I don't have a way of saying, "23-35 were supposed to be a d-minor chord and you played d-major". At least not without pulling apart the actual song file itself and interrogating its contents.

At any rate, yours is a fantastic idea and one that would be a great addition, but at the least, it would be a long, long way off in the future.

There's a feature request for Rocksniffer for this. I also hope it gets implemented 🙂 https://github.com/kokolihapihvi/RockSniffer/issues/24

Link to comment
Share on other sites

  • 1 month later...
35 minutes ago, kayteck said:

Is there any way to make the overlay window visible when rocksmith is in full screen mode?

At the moment I can see it only with the game in windowed mode.

 

 

I haven't found a way to make that happen reliably. I always play in windowed but maximized mode so it's almost a full screen, just with a title bar. Occasionally the game decides that it's ok to display the overlay on top of the full screen game, but I haven't figured out what conditions that works with. Some folks online say that they've tried to force it with some 3rd party programs, but that seems to really mess up audio synchronization.

I saw your Github issue post, too. Looks like a lot of stuff is going wrong! Here's a handful of questions and things:

  • Which version are you running? I'm assuming v0.4.0 since that's what's linked from these pages.
  • When you run it, do you see a cache.sqlite file get created in the folder? That's the database that stores the scanned song data. On my system with ~400 songs, it's 35 MB, most of which is the album art.
  • Is the song being reset properly in the main window but not working in the overlay, or is it broken in both places?
  • For the song history, there's a separate database in a file called userdata.sqlite. Does that file exist, and how big is it?
  • Also in the folder should be the log file, named sniffer.log. If it's not too much trouble, can you run though some of the scenarios that aren't working and attach that file to a reply, please? I'm not logging too much stuff in there, but there's a chance that I can debug some of the issues with it.
Link to comment
Share on other sites

I am using v0.4.0

I have the file. It is approx 45mb. I have deleted it to check and it have re-created on next run.

I was testing reset now, and I found it does not work only with selected songs. resetting is not working i.e. for this weeks Rhythm Intermediate track "Therion - An Arrow from the sun". It does not have dynamic difficulty set up - just a thought this may have impact? other songs with no DD also are not restarting sniffer.

After resetting the song the timer resets to 0:00, missed notes stays at the level from before the reset, streak is also left as before reset level and % is reset to 0%. When track is running after reset, no information is updated in the sniffer until exit the song and opening again.

This is happening in both main window and overlay.

Resetting is working correctly in "Iron Maiden - 2 Minutes to Midnight" though.

 

userdata.sqlite exists but is only 16kb. looks like empty when viewing.

I will send log to priv.

 

 

Link to comment
Share on other sites

20 minutes ago, kayteck said:

I am using v0.4.0

I have the file. It is approx 45mb. I have deleted it to check and it have re-created on next run.

I was testing reset now, and I found it does not work only with selected songs. resetting is not working i.e. for this weeks Rhythm Intermediate track "Therion - An Arrow from the sun". It does not have dynamic difficulty set up - just a thought this may have impact? other songs with no DD also are not restarting sniffer.

After resetting the song the timer resets to 0:00, missed notes stays at the level from before the reset, streak is also left as before reset level and % is reset to 0%. When track is running after reset, no information is updated in the sniffer until exit the song and opening again.

This is happening in both main window and overlay.

Resetting is working correctly in "Iron Maiden - 2 Minutes to Midnight" though.

 

userdata.sqlite exists but is only 16kb. looks like empty when viewing.

I will send log to priv.

 

 

Cool, that's good information! I'll take a look and see what I can see. It could be that something in the CDLC arrangement data doesn't play nice with the RockSniffer library that this (and the original RockSniffer) is based on, but beyond that, I had a bunch of issues with the overlay and main window data not displaying properly back in the v0.1 days, so I'm curious to get to the bottom of this!

In the meantime, I'll fetch the Therion song and see if I can reproduce as well. Thanks to your Rocksmith league participation, I found out about that stuff this afternoon and have been working on Iris.

Oh! I just had a thought. This thing doesn't play nice with score attack at all for some reason. I get weird results there, but it's behaves when in Learn a Song. But even then, the RockSniffer library doesn't differentiate between a song starting from the beginning vs. restarting from pause vs. restarting from riff repeater. It doesn't sound like your situation is being caused by pausing, but I'll test out some of those combinations as well.

Link to comment
Share on other sites

  • 1 year later...
  • Rocksmith Championship Organizer

First thx! Excellent work!
2nd @ hunter - but a unique one and @ kayteck the tool you are looking for is https://windowtop.info/
perfect setting windows on top wit transparency option (the pro version is really worth th 9.99), no interference with audio whatsoever - i use that with Rocksniffer and OBS window for years as i need to have the accuracy on display while playing a song for the sake of championship competition.

 

And that brings me to my issue... @ hunter - but a unique one - i haven´t found the json file (i suppose) where the overlay configuration is in.... your overlay is done well, looks nice, and is absolutely unusable for me 😂. I need the accuracy in the overlay, in scalable letters best and have created a slim RSniffer output for that purpose for myself.

I´d love to switch to your GUI - it´s a nice all in one and i can get rid off OBS and the million clicks before starting RS - if you can make the overlay configurable, or i can use my own output or i can edit the overlay in your great great tool!

Things like that make life better!!!!!

Rock!

  • Like 1

-= Building a Guitar from Scratch with Absolutely No Woodworking Experience =-
-= ROCK - Rodmans Course for Kids and Beginners =-

I
-= Use your DLC library on multiple PCs w. autoupdate =-
-= Build your own RS Toneswitch Fb =-

-= Join the Championship - cause the Championship is good for you =-
-= What´s my RANK again??? - check the 10-weeks Leaderboard and PLAYER Level =-
-= Put the Songs you want to be played into SONG SELECTION LIST =-

 

On 11/8/2016 at 8:32 PM, Vodka said:

I hated Royal Republic prev. time. I hate it this time too.

UPD: OK. I hate every song. I guess I need to stop.

 

Link to comment
Share on other sites

  • 1 month later...
  • 1 month later...

Am I doing something wrong? I've downloaded the latest version 0.4.0 and extracted it but it doesn't seem to be getting any data from RS.

I launch RS and Sniffer, then go to a song but the app just stays as shown, it never updates to the song that is playing (both original cdlc).

Would love to get this working, it seems like a great little tool.

image.png.9e0cd6ce25730f5f2927309f5a7a907c.png

Link to comment
Share on other sites

Just now, HungoverRabbit said:

Am I doing something wrong? I've downloaded the latest version 0.4.0 and extracted it but it doesn't seem to be getting any data from RS.

I launch RS and Sniffer, then go to a song but the app just stays as shown, it never updates to the song that is playing (both original cdlc).

Would love to get this working, it seems like a great little tool.

image.png.9e0cd6ce25730f5f2927309f5a7a907c.png

The new update probably killed it, you'll either have to use the beta branch of rocksmith or make do without.

Ea3cCUQ.png                                                                   「愛こそすべて ,ギルティキス」                                         Gh59blB.png

Utsu-P Discography                                           Modding thread (dead)                                        1000 songs hype

Link to comment
Share on other sites

  • 2 months later...
  • 4 months later...

Is someone able to compile this?
The fix exists, but we need to compile it
https://github.com/hunterpankey/RockSnifferGui/issues/4

 

also, are you aware of how Chainbrain has got this working? 
see for example in one of his recent videos, in the right corner

wQSfX7H31hQJp9YGjh7Enawa8TOcc47lQCg7asaE

 

the video was this one (I don't know how to remove the preview), but he has tons of videos with the "sniffer" on

 

Link to comment
Share on other sites

35 minutes ago, avastreg said:

Is someone able to compile this?
The fix exists, but we need to compile it
https://github.com/hunterpankey/RockSnifferGui/issues/4

also, are you aware of how Chainbrain has got this working? 
see for example in one of his recent videos, in the right corner

wQSfX7H31hQJp9YGjh7Enawa8TOcc47lQCg7asaE

the video was this one (I don't know how to remove the preview), but he has tons of videos with the "sniffer" on

Chainbrian uses the NON GUI version. I got that version working as well. ---> https://github.com/kokolihapihvi/RockSniffer/releases/

you can use it in a web browser page to display it for yourself if you wanted to. Put the same path to the file in your address bar in a web browser.

the GUI version won't pull information from rocksmith for me. it says game is running but doesn't display information.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

I've been using rockbuddy instead lately. It's main use is for adding leaderboards to cdlc songs but it also provides a gui display of your current accuracy and streak.
https://github.com/tnt-coders/rock-buddy-app

  • Thanks 1

Ea3cCUQ.png                                                                   「愛こそすべて ,ギルティキス」                                         Gh59blB.png

Utsu-P Discography                                           Modding thread (dead)                                        1000 songs hype

Link to comment
Share on other sites

1 hour ago, coldrampage said:

I've been using rockbuddy instead lately. It's main use is for adding leaderboards to cdlc songs but it also provides a gui display of your current accuracy and streak.
https://github.com/tnt-coders/rock-buddy-app

thank you. This is actually what I was looking for and thought might be this gui version. I was curious about the leaderboards. Thank you!

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

By using this site, you agree to our Guidelines. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. - Privacy Policy