public void SongChangeEventSender()
            {
                try
                {
                    Trace.WriteLine("[Event SongChangeEventSender SongManagement]" + "Title:" + song.SongTitle + ",Artist:" + song.SongArtist);
                    //履歴に保存
                    SongManagementForEventSender.SongList.Add(song);
                    //ここで待機処理とかをする

                    //自動投稿自体ONになっていなければreturn
                    if (EventSetting.EnableAutoPost == false)
                    {
                        return;
                    }

                    //遅れてイベントを発生させるオプション
                    if (EventSetting.EnableLateTweet == true)
                    {
                        //秒からミリ秒に変換
                        //指定秒数待つ
                        Trace.WriteLine("[Event SongChangeEventSender SongManagement]" + "EnableLateTweet=true waiting for " + EventSetting.LateTweetSeconds * 1000 + "msec.");
                        System.Threading.Thread.Sleep(EventSetting.LateTweetSeconds * 1000);
                        //前回と同じ曲かどうか調べる
                        if (SongManagementForEventSender.SongList[SongManagementForEventSender.SongList.Count - 1].TrackDatabaseID != song.TrackDatabaseID)
                        {
                            Trace.WriteLine("[Event SongChangeEventSender SongManagement]" + "Song changed!! Exit thread.");
                            return;
                        }
                    }

                    //アルバムが変わってるか確認するオプション
                    if (EventSetting.CheckIsAlbumChanged == true)
                    {
                        //履歴が2件以上無いと処理出来ないのでチェック
                        if (SongManagementForEventSender.SongList.Count >= 2)
                        {
                            //同じアルバムの場合は処理を抜ける
                            if (SongManagementForEventSender.SongList[SongManagementForEventSender.SongList.Count - 2].SongAlbum == song.SongAlbum)
                            {
                                Trace.WriteLine("[Event SongChangeEventSender SongManagement]" + "Album not changed!! Exit thread.");
                                return;
                            }
                        }
                    }

                    //前回のイベント発生からの経過を見てイベントを発生させるか判定するオプション
                    if (EventSetting.CheckIsTimeElapsedFromLastTweet == true)
                    {
                        //前回のイベント発生を取得
                        if (SongManagementForEventSender.IventHistoryList.Count != 0)
                        {
                            //差を求める
                            IventHistory IvnHistory = SongManagementForEventSender.IventHistoryList[SongManagementForEventSender.IventHistoryList.Count - 1];
                            TimeSpan     span       = DateTime.Now - IvnHistory.Time;
                            Trace.WriteLine("[Event SongChangeEventSender SongManagement]" + "Time span is " + span.TotalSeconds + "sec.");
                            if (span.TotalSeconds < EventSetting.TimeElapsedFromLastTweetSec)
                            {
                                Trace.WriteLine("[Event SongChangeEventSender SongManagement]" + "Time not elapsed from last event!! Exit thread.");
                                return;
                            }
                        }
                    }

                    //アルバムが変わっていなかったらアルバムアートワークを添付しない
                    if (EventSetting.NoAlbumArtSameAlbum)
                    {
                        //履歴が2件以上無いと処理出来ないのでチェック
                        if (SongManagementForEventSender.SongList.Count >= 2)
                        {
                            //同じアルバムの場合は処理を抜ける
                            if (SongManagementForEventSender.SongList[SongManagementForEventSender.SongList.Count - 2].SongAlbum == song.SongAlbum)
                            {
                                Trace.WriteLine("[Event SongChangeEventSender SongManagement]" + "Album not changed!! No Album Art.");
                                song.AlbumArtworkEnabled = false;
                            }
                        }
                    }

                    //最後にイベントを投げる
                    SongManagementForEventSender.OnSongChangedEvent(song);                                   //イベントを発生させる
                    SongManagementForEventSender.IventHistoryList.Add(new IventHistory(song, DateTime.Now)); //履歴を保存
                }
                catch (System.Threading.ThreadAbortException)
                {
                    Trace.WriteLine("[Event SongChangeEventSender SongManagement] Thread Abort signal recived!! Aborting...");
                }
            }