示例#1
0
int CApplication::SaveNote(CNote const& note, UINT nMask)
{
	CNote nt = note;
	if (nMask & NM_MODIFIED)
	{
		nt.SetModifiedDate(dateutils::GetCurrentDateTime());
	}
	return m_datafile->SaveNote(nt, nMask);
}
示例#2
0
void CApplication::UpdateNoteWnd( CNoteWnd* pWnd, CNote const& note )
{
	pWnd->SetId(note.GetId());
	pWnd->SetText(note.GetText());
	pWnd->SetCreatedDate(note.GetCreatedDate());
	pWnd->SetDeletedDate(note.GetDeletedDate());
	pWnd->SetLabel(note.GetLabel().c_str());
	pWnd->Refresh();
}
示例#3
0
void CChordEaseApp::InitNoteCombo(CComboBox& Combo, CIntRange Range, int SelIdx)
{
	CString	s;
	int	iCurSel = -1;
	for (CNote iNote = Range.Start; iNote <= Range.End; iNote++) {
		Combo.AddString(iNote.MidiName());
		if (iNote == SelIdx)
			iCurSel = iNote - Range.Start;
	}
	Combo.SetCurSel(iCurSel);
}
示例#4
0
void CMelody::setMelody(const std::string& melody) {
    clear();
    stringstream ss(melody);

    string notestr;
    while(getline(ss,notestr,splitChar)) {
        CNote note;
        note.set(notestr);
        mNotes.push_back(note);
    }
}
示例#5
0
void CConductor::missedNotesColour(CColour colour)
{
    int i;
    CNote note;
    for (i = 0; i < m_wantedChord.length(); i++)
    {
        note = m_wantedChord.getNote(i);
        if (m_goodPlayedNotes.searchChord(note.pitch(),m_transpose) == false)
            m_scoreWin->setPlayedNoteColour(note.pitch() + m_transpose, colour, m_chordDeltaTime);
    }
}
示例#6
0
void CApplication::DuplicateNote(int nNoteId)
{
	CNoteWnd* pWnd = CreateNoteWnd(CalcNewNoteRect());
	if (pWnd && nNoteId)
	{
		CNote note = m_datafile->GetNote(nNoteId);
		note.SetId(0);
		UpdateNoteWnd(pWnd, note);
		pWnd->Unroll();
		pWnd->SetFocus();
	}
}
示例#7
0
void CApplication::RestoreNote(int nNoteId)
{
	if (nNoteId > 0)
	{
		CNote note = m_datafile->GetNote(nNoteId);
		note.SetDeletedDate(timebn::getempty());
		note.SetModifiedDate(dateutils::GetCurrentDateTime());
//		note.SetLabel(_tstring());
		m_datafile->SaveNote(note, NM_DELETED | NM_MODIFIED | NM_LABEL);
		ShowNote(nNoteId);
	}
}
示例#8
0
void CApplication::SetNoteLabel(int nNoteId, LPCTSTR label)
{
	CNote note = FindNote(nNoteId);
	note.SetLabel(label);
	note.SetModifiedDate(dateutils::GetCurrentDateTime());
	m_datafile->SaveNote(note, NM_LABEL | NM_MODIFIED);

	CNoteWnd* pWnd = FindNoteWnd(nNoteId);
	if (pWnd)
	{
		pWnd->SetLabel(label);
	}
}
示例#9
0
void CApplication::GetAllNotesPositions(CNote::List& notes)
{
	m_datafile->GetAllNotes(notes, NM_POS);
	for (std::list<CNoteWnd*>::iterator it = m_listNotes.begin(); it != m_listNotes.end(); ++it)
	{
		if ((*it)->GetId() == 0) // new not saved note
		{
			CNote note;
			note.SetPos(CWindowRect((*it)->m_hWnd));
			notes.push_back(note);
		}
	}
}
示例#10
0
void CApplication::MoveToNotebook(int nNoteId, LPCTSTR sFileName)
{
	if (GetDataFileName() != sFileName)
	{
		CNote note = m_datafile->GetNote(nNoteId);
		note.SetId(0);
		note.SetModifiedDate(dateutils::GetCurrentDateTime());
		CStorage target;
		target.SetDataFile(sFileName);
		target.SaveNote(note, NM_ALL);
		target.Release();
		m_state.SetLastDataFile(sFileName);
		m_local_storage.Write(m_state);
		DeleteNote(nNoteId, true);
	}
}
示例#11
0
void CApplication::DeleteFromStorage(int nNoteId, bool forever /*= false*/)
{
	if (nNoteId > 0)
	{
		CNote note = m_datafile->GetNote(nNoteId);
		if (note.GetDeletedDate().time == 0 && !forever)
		{
			note.SetDeletedDate(dateutils::GetCurrentDateTime());
			note.SetModifiedDate(dateutils::GetCurrentDateTime());
			m_datafile->SaveNote(note, NM_DELETED | NM_LABEL | NM_MODIFIED);
		}
		else
		{
			m_datafile->DeleteNote(nNoteId);
		}
	}
}
示例#12
0
int CApplication::SaveNote(CNoteWnd* pWnd, UINT nMask)
{
	CNote note;
	note.SetId(pWnd->GetId());
	note.SetText(pWnd->GetText());
	note.SetPos(pWnd->GetRealNoteRect() /*CWindowRect(pWnd->m_hWnd)*/);
	note.SetCreatedDate(pWnd->GetCreatedDate());
	if (nMask & NM_MODIFIED)
	{
		note.SetModifiedDate(dateutils::GetCurrentDateTime());
	}
	note.SetDeletedDate(pWnd->GetDeletedDate());
	note.SetLabel(pWnd->GetLabel().c_str());
	return m_datafile->SaveNote(note, nMask);
}
示例#13
0
void CConductor::findSplitPoint()
{
    // find the split point
    int lowestTreble = MIDDLE_C + 37;
    int highestBase =  MIDDLE_C - 37;
    CNote note;

    // Find where to put the split point
    for(int i = 0; i < m_wantedChord.length(); i++)
    {
        note = m_wantedChord.getNote(i);
        if (note.part() == PB_PART_right && note.pitch() < lowestTreble)
            lowestTreble = note.pitch();
        if (note.part() == PB_PART_left && note.pitch() > highestBase)
            highestBase = note.pitch();
    }

    //put the split point in the middle
    m_pianistSplitPoint = ((lowestTreble + highestBase) /2 ) + m_transpose;
}
示例#14
0
void CXml::CreateUploadXml (void *pNote)
{
	ASSERT (!m_szUploadXml.IsEmpty ());
	ASSERT (pNote != NULL);

	CNote *note = (CNote *) pNote;

// Create the xml for one note
	CString szXML, szTemp;

	m_szUploadXml += _T("<note>");
	szTemp.Format (_T("<noteversion>%d</noteversion>"),note->GetNoteVersion ());
	m_szUploadXml += szTemp;
	szTemp.Format (_T("<noteid>%s</noteid>"), StringEncode (note->GetNoteID ()));
	m_szUploadXml += szTemp;
	szTemp.Format (_T("<alarmtime>%s</alarmtime>"), StringEncode (note->GetAlarm ().Format (_T("%m/%d/%Y %H:%M:%S"))));
	m_szUploadXml += szTemp;
	szTemp.Format (_T("<usealarm>%s</usealarm>"), note->GetUseAlarm () ? _T("true") : _T("false"));
	m_szUploadXml += szTemp;
	szTemp.Format (_T("<title>%s</title>"),StringEncode (note->GetTitle ()));
	m_szUploadXml += szTemp;
	szTemp.Format (_T("<visible>%s</visible>"), note->GetVisible () ? _T("true") : _T("false"));
	m_szUploadXml += szTemp;
	szTemp.Format (_T("<notecolor>%d</notecolor>"),note->GetNoteColor ());
	m_szUploadXml += szTemp;
	szTemp.Format (_T("<positionleft>%d</positionleft>"),note->GetPosition ().left);
	m_szUploadXml += szTemp;
	szTemp.Format (_T("<positiontop>%d</positiontop>"),note->GetPosition ().top);
	m_szUploadXml += szTemp;
	szTemp.Format (_T("<width>%d</width>"),note->GetPosition ().right);
	m_szUploadXml += szTemp;
	szTemp.Format (_T("<height>%d</height>"),note->GetPosition ().bottom);
	m_szUploadXml += szTemp;
	szTemp.Format (_T("<text>%s</text>"), StringEncode (note->GetText ()));
	m_szUploadXml += szTemp;
	szTemp.Format (_T("<dockedleft>%s</dockedleft>"), note->GetDockedLeft () ? _T("true") : _T("false"));
	m_szUploadXml += szTemp;
	szTemp.Format (_T("<dockedtop>%s</dockedtop>"), note->GetDockedTop () ? _T("true") : _T("false"));
	m_szUploadXml += szTemp;
	szTemp.Format (_T("<dockedright>%s</dockedright>"), note->GetDockedRight () ? _T("true") : _T("false"));
	m_szUploadXml += szTemp;
	szTemp.Format (_T("<dockedbottom>%s</dockedbottom>"), note->GetDockedBottom () ? _T("true") : _T("false"));
	m_szUploadXml += szTemp;
	szTemp.Format (_T("<slided-left>%s</slided-left>"), note->GetSlidedLeft () ? _T("true") : _T("false"));
	m_szUploadXml += szTemp;
	szTemp.Format (_T("<slided-right>%s</slided-right>"), note->GetSlidedRight () ? _T("true") : _T("false"));
	m_szUploadXml += szTemp;
	szTemp.Format (_T("<slidepositionleft>%d</slidepositionleft>"), note->GetSlidePosition ().left);
	m_szUploadXml += szTemp;
	szTemp.Format (_T("<slidepositiontop>%d</slidepositiontop>"), note->GetSlidePosition ().top);
	m_szUploadXml += szTemp;
	szTemp.Format (_T("<slidepositionright>%d</slidepositionright>"), note->GetSlidePosition ().right);
	m_szUploadXml += szTemp;
	szTemp.Format (_T("<slidepositionbottom>%d</slidepositionbottom>"), note->GetSlidePosition ().bottom);
	m_szUploadXml += szTemp;
	szTemp.Format (_T("<readable-note-text>%s</readable-note-text>"), StringEncode (note->GetReadableText ()));
	m_szUploadXml += szTemp;
	m_szUploadXml += _T("</note>");
}
示例#15
0
_tstring CApplication::GetNoteText(int nNoteId) 
{
	CNote note = FindNote(nNoteId);
	return note.GetText();
}
示例#16
0
_tstring CApplication::GetNoteLabel(int nNoteId) 
{
	CNote note = FindNote(nNoteId);
	return note.GetLabel();
}
示例#17
0
BOOL CApplication::IsNoteDeleted( int nNoteId )
{
	CNote note = m_datafile->GetNote(nNoteId);
	return (timebn::isempty(note.GetDeletedDate()));
}
示例#18
0
CString CXml::GetOneNoteXml(void *pNote)
{
	CNote *note = (CNote *) pNote;

	CRect rc1, rc2;
	CString szTemp;
	CString szXML;
	rc1 = note->GetPosition ();
	rc2 = note->GetSlidePosition ();
	szTemp.Format (_T("<note noteid=\"%s\" noteversion=\"%d\" dockedleft=\"%s\" dockedtop=\"%s\" dockedright=\"%s\" dockedbottom=\"%s\" alarmtime=\"%s\" usealarm=\"%s\" title=\"%s\" visible=\"%s\" notecolor=\"%d\" positionleft=\"%d\" positiontop=\"%d\" width=\"%d\" height=\"%d\" slided-left=\"%s\" slided-right=\"%s\" slidepositionleft=\"%d\" slidepositiontop=\"%d\" slidepositionright=\"%d\" slidepositionbottom=\"%d\">\n"),
		StringEncode (note->GetNoteID ()),
		note->GetNoteVersion (), 
		note->GetDockedLeft () ? _T("true") : _T("false"), 
		note->GetDockedTop () ? _T("true") : _T("false"), 
		note->GetDockedRight () ? _T("true") : _T("false"), 
		note->GetDockedBottom () ? _T("true") : _T("false"), 
		StringEncode (note->GetAlarm ().Format (_T("%m/%d/%Y %H:%M:%S"))), 
		note->GetUseAlarm () ? _T("true") : _T("false"), 
		StringEncode (note->GetTitle ()), 
		note->GetVisible () ? _T("true") : _T("false"), 
		note->GetNoteColor (), 
		rc1.left, 
		rc1.top, 
		rc1.right, 
		rc1.bottom,
		note->GetSlidedLeft () ? _T("true") : _T("false"),
		note->GetSlidedRight () ? _T("true") : _T("false"),
		rc2.left,
		rc2.top,
		rc2.right,
		rc2.bottom);

	szXML += szTemp;

	szTemp.Format (_T("%s</note>\n"), StringEncode (note->GetText ()));
	szXML += szTemp;

	return szXML;
}