Lines Matching refs:iter

52   play_tree_t* iter;  in play_tree_free()  local
57 for(iter = pt->child; iter != NULL; ) { in play_tree_free()
58 play_tree_t* nxt=iter->next; in play_tree_free()
59 play_tree_free(iter,1); in play_tree_free()
60 iter = nxt; in play_tree_free()
67 for(iter = pt->child ; iter != NULL ; iter = iter->next) in play_tree_free()
68 iter->parent = NULL; in play_tree_free()
90 play_tree_t* iter; in play_tree_free_list() local
96 for(iter = pt ; iter->prev != NULL ; iter = iter->prev) in play_tree_free_list()
99 while(iter) { in play_tree_free_list()
100 play_tree_t* nxt = iter->next; in play_tree_free_list()
101 play_tree_free(iter, children); in play_tree_free_list()
102 iter = nxt; in play_tree_free_list()
110 play_tree_t* iter; in play_tree_append_entry() local
120 for(iter = pt ; iter->next != NULL ; iter = iter->next) in play_tree_append_entry()
123 entry->parent = iter->parent; in play_tree_append_entry()
124 entry->prev = iter; in play_tree_append_entry()
126 iter->next = entry; in play_tree_append_entry()
131 play_tree_t* iter; in play_tree_prepend_entry() local
138 for(iter = pt ; iter->prev != NULL; iter = iter->prev) in play_tree_prepend_entry()
142 entry->next = iter; in play_tree_prepend_entry()
143 entry->parent = iter->parent; in play_tree_prepend_entry()
145 iter->prev = entry; in play_tree_prepend_entry()
148 assert(entry->parent->child == iter); in play_tree_prepend_entry()
225 play_tree_t* iter; in play_tree_set_child() local
241 for(iter = pt->child ; iter != NULL ; iter = iter->next) in play_tree_set_child()
242 iter->parent = NULL; in play_tree_set_child()
245 for(iter = child ; iter->prev != NULL ; iter = iter->prev) in play_tree_set_child()
248 pt->child = iter; in play_tree_set_child()
250 for( ; iter != NULL ; iter= iter->next) in play_tree_set_child()
251 iter->parent = pt; in play_tree_set_child()
257 play_tree_t* iter; in play_tree_set_parent() local
266 for(iter = pt ; iter != NULL ; iter = iter->next) in play_tree_set_parent()
267 iter->parent = parent; in play_tree_set_parent()
270 for(iter = pt->prev ; iter->prev != NULL ; iter = iter->prev) in play_tree_set_parent()
271 iter->parent = parent; in play_tree_set_parent()
272 iter->parent = parent; in play_tree_set_parent()
273 parent->child = iter; in play_tree_set_parent()
446 play_tree_iter_push_params(play_tree_iter_t* iter) { in play_tree_iter_push_params() argument
450 assert(iter != NULL); in play_tree_iter_push_params()
451 assert(iter->config != NULL); in play_tree_iter_push_params()
452 assert(iter->tree != NULL); in play_tree_iter_push_params()
455 pt = iter->tree; in play_tree_iter_push_params()
459 m_config_push(iter->config); in play_tree_iter_push_params()
467 if((e = m_config_set_option(iter->config,pt->params[n].name,pt->params[n].value)) < 0) { in play_tree_iter_push_params()
474 iter->entry_pushed = 1; in play_tree_iter_push_params()
479 play_tree_iter_t* iter; in play_tree_iter_new() local
489 iter = calloc(1,sizeof(play_tree_iter_t)); in play_tree_iter_new()
490 if(! iter) { in play_tree_iter_new()
494 iter->root = pt; in play_tree_iter_new()
495 iter->tree = NULL; in play_tree_iter_new()
496 iter->config = config; in play_tree_iter_new()
499 iter->loop = pt->parent->loop; in play_tree_iter_new()
501 return iter; in play_tree_iter_new()
505 play_tree_iter_free(play_tree_iter_t* iter) { in play_tree_iter_free() argument
507 if (!iter) return; in play_tree_iter_free()
509 if(iter->status_stack) { in play_tree_iter_free()
511 assert(iter->stack_size > 0); in play_tree_iter_free()
513 free(iter->status_stack); in play_tree_iter_free()
516 free(iter); in play_tree_iter_free()
548 play_tree_iter_step(play_tree_iter_t* iter, int d,int with_nodes) { in play_tree_iter_step() argument
551 if ( !iter ) return PLAY_TREE_ITER_ENTRY; in play_tree_iter_step()
552 if ( !iter->root ) return PLAY_TREE_ITER_ENTRY; in play_tree_iter_step()
555 assert(iter != NULL); in play_tree_iter_step()
556 assert(iter->root != NULL); in play_tree_iter_step()
560 if(iter->tree == NULL) { in play_tree_iter_step()
561 iter->tree = iter->root; in play_tree_iter_step()
562 return play_tree_iter_step(iter,0,with_nodes); in play_tree_iter_step()
565 if(iter->config && iter->entry_pushed > 0) { in play_tree_iter_step()
566 iter->entry_pushed = 0; in play_tree_iter_step()
567 m_config_pop(iter->config); in play_tree_iter_step()
570 if(iter->tree->parent && (iter->tree->parent->flags & PLAY_TREE_RND)) in play_tree_iter_step()
571 iter->mode = PLAY_TREE_ITER_RND; in play_tree_iter_step()
573 iter->mode = PLAY_TREE_ITER_NORMAL; in play_tree_iter_step()
575 iter->file = -1; in play_tree_iter_step()
576 if(iter->mode == PLAY_TREE_ITER_RND) in play_tree_iter_step()
577 pt = play_tree_rnd_step(iter->tree); in play_tree_iter_step()
580 pt = iter->tree; in play_tree_iter_step()
586 pt = iter->tree; in play_tree_iter_step()
591 pt = iter->tree; in play_tree_iter_step()
595 if (iter->mode == PLAY_TREE_ITER_RND) { in play_tree_iter_step()
596 if (iter->root->loop == 0) in play_tree_iter_step()
598 play_tree_unset_flag(iter->root, PLAY_TREE_RND_PLAYED, -1); in play_tree_iter_step()
599 if (iter->root->loop > 0) iter->root->loop--; in play_tree_iter_step()
601 return play_tree_iter_step(iter, 0, with_nodes); in play_tree_iter_step()
603 …if(iter->tree->parent && iter->tree->parent->loop != 0 && ((d > 0 && iter->loop != 0) || ( d < 0 &… in play_tree_iter_step()
605 for(pt = iter->tree ; pt->prev != NULL; pt = pt->prev) in play_tree_iter_step()
607 if(iter->loop > 0) iter->loop--; in play_tree_iter_step()
609 for(pt = iter->tree ; pt->next != NULL; pt = pt->next) in play_tree_iter_step()
611 if(iter->loop >= 0 && iter->loop < iter->tree->parent->loop) iter->loop++; in play_tree_iter_step()
613 iter->tree = pt; in play_tree_iter_step()
614 return play_tree_iter_step(iter,0,with_nodes); in play_tree_iter_step()
617 return play_tree_iter_up_step(iter,d,with_nodes); in play_tree_iter_step()
623 iter->tree = pt; in play_tree_iter_step()
627 return play_tree_iter_down_step(iter,d,with_nodes); in play_tree_iter_step()
636 return play_tree_iter_step(iter,d,with_nodes); in play_tree_iter_step()
643 iter->tree = pt; in play_tree_iter_step()
645 for(d = 0 ; iter->tree->files[d] != NULL ; d++) in play_tree_iter_step()
647 iter->num_files = d; in play_tree_iter_step()
649 if(iter->config) { in play_tree_iter_step()
650 play_tree_iter_push_params(iter); in play_tree_iter_step()
651 iter->entry_pushed = 1; in play_tree_iter_step()
652 if(iter->mode == PLAY_TREE_ITER_RND) in play_tree_iter_step()
662 play_tree_t* iter; in play_tree_is_valid() local
675 for(iter = pt->child ; iter != NULL ; iter = iter->next) { in play_tree_is_valid()
676 if(play_tree_is_valid(iter)) in play_tree_is_valid()
684 play_tree_iter_up_step(play_tree_iter_t* iter, int d,int with_nodes) { in play_tree_iter_up_step() argument
687 assert(iter != NULL); in play_tree_iter_up_step()
688 assert(iter->tree != NULL); in play_tree_iter_up_step()
692 iter->file = -1; in play_tree_iter_up_step()
693 if(iter->tree->parent == iter->root->parent) in play_tree_iter_up_step()
697 assert(iter->tree->parent != NULL); in play_tree_iter_up_step()
698 assert(iter->stack_size > 0); in play_tree_iter_up_step()
699 assert(iter->status_stack != NULL); in play_tree_iter_up_step()
702 iter->stack_size--; in play_tree_iter_up_step()
703 iter->loop = iter->status_stack[iter->stack_size]; in play_tree_iter_up_step()
704 if(iter->stack_size > 0) in play_tree_iter_up_step()
705 iter->status_stack = realloc(iter->status_stack, iter->stack_size * sizeof(int)); in play_tree_iter_up_step()
707 free(iter->status_stack); in play_tree_iter_up_step()
708 iter->status_stack = NULL; in play_tree_iter_up_step()
710 if(iter->stack_size > 0 && iter->status_stack == NULL) { in play_tree_iter_up_step()
711 …mp_msg(MSGT_PLAYTREE,MSGL_ERR,"Can't allocate %d bytes of memory\n",iter->stack_size*(int)sizeof(c… in play_tree_iter_up_step()
714 iter->tree = iter->tree->parent; in play_tree_iter_up_step()
717 if(iter->config) { in play_tree_iter_up_step()
718 m_config_pop(iter->config); in play_tree_iter_up_step()
719 if(iter->mode == PLAY_TREE_ITER_RND) in play_tree_iter_up_step()
720 iter->tree->flags |= PLAY_TREE_RND_PLAYED; in play_tree_iter_up_step()
723 return play_tree_iter_step(iter,d,with_nodes); in play_tree_iter_up_step()
727 play_tree_iter_down_step(play_tree_iter_t* iter, int d,int with_nodes) { in play_tree_iter_down_step() argument
730 assert(iter->tree->files == NULL); in play_tree_iter_down_step()
731 assert(iter->tree->child != NULL); in play_tree_iter_down_step()
732 assert(iter->tree->child->parent == iter->tree); in play_tree_iter_down_step()
736 iter->file = -1; in play_tree_iter_down_step()
739 if(iter->config) in play_tree_iter_down_step()
740 play_tree_iter_push_params(iter); in play_tree_iter_down_step()
742 iter->stack_size++; in play_tree_iter_down_step()
743 iter->status_stack = realloc(iter->status_stack, iter->stack_size * sizeof(int)); in play_tree_iter_down_step()
744 if(iter->status_stack == NULL) { in play_tree_iter_down_step()
745 …mp_msg(MSGT_PLAYTREE,MSGL_ERR,"Can't allocate %d bytes of memory\n",iter->stack_size*(int)sizeof(i… in play_tree_iter_down_step()
748 iter->status_stack[iter->stack_size-1] = iter->loop; in play_tree_iter_down_step()
750 iter->loop = iter->tree->loop-1; in play_tree_iter_down_step()
752 iter->tree = iter->tree->child; in play_tree_iter_down_step()
755 for(pt = iter->tree->child ; pt->next != NULL ; pt = pt->next) in play_tree_iter_down_step()
757 iter->tree = pt; in play_tree_iter_down_step()
760 return play_tree_iter_step(iter,0,with_nodes); in play_tree_iter_down_step()
764 play_tree_iter_get_file(play_tree_iter_t* iter, int d) { in play_tree_iter_get_file() argument
766 assert(iter != NULL); in play_tree_iter_get_file()
767 assert(iter->tree->child == NULL); in play_tree_iter_get_file()
770 if(iter->tree->files == NULL) in play_tree_iter_get_file()
774 assert(iter->num_files > 0); in play_tree_iter_get_file()
777 if(iter->file >= iter->num_files-1 || iter->file < -1) in play_tree_iter_get_file()
781 if(iter->file >= iter->num_files - 1) in play_tree_iter_get_file()
782 iter->file = 0; in play_tree_iter_get_file()
784 iter->file++; in play_tree_iter_get_file()
786 if(iter->file <= 0) in play_tree_iter_get_file()
787 iter->file = iter->num_files - 1; in play_tree_iter_get_file()
789 iter->file--; in play_tree_iter_get_file()
791 return iter->tree->files[iter->file]; in play_tree_iter_get_file()
796 play_tree_t* iter, *tmp, *first; in play_tree_cleanup() local
809 for(iter = pt->child ; iter != NULL ; ) { in play_tree_cleanup()
810 tmp = iter; in play_tree_cleanup()
811 iter = iter->next; in play_tree_cleanup()
814 if(tmp == first) first = iter; in play_tree_cleanup()
818 for(iter = first ; iter != NULL ; ) { in play_tree_cleanup()
819 tmp = iter; in play_tree_cleanup()
820 iter = iter->next; in play_tree_cleanup()
830 play_tree_iter_t* iter; in play_tree_iter_new_copy() local
836 iter = malloc(sizeof(play_tree_iter_t)); in play_tree_iter_new_copy()
837 if(iter == NULL) { in play_tree_iter_new_copy()
842 memcpy(iter,old,sizeof(play_tree_iter_t)); in play_tree_iter_new_copy()
844 iter->status_stack = malloc(old->stack_size * sizeof(int)); in play_tree_iter_new_copy()
845 if(iter->status_stack == NULL) { in play_tree_iter_new_copy()
847 free(iter); in play_tree_iter_new_copy()
850 memcpy(iter->status_stack,old->status_stack,iter->stack_size*sizeof(int)); in play_tree_iter_new_copy()
852 iter->config = NULL; in play_tree_iter_new_copy()
854 return iter; in play_tree_iter_new_copy()
880 void pt_iter_destroy(play_tree_iter_t** iter) in pt_iter_destroy() argument
882 if (iter && *iter) in pt_iter_destroy()
884 free(*iter); in pt_iter_destroy()
885 iter=NULL; in pt_iter_destroy()
889 char* pt_iter_get_file(play_tree_iter_t* iter, int d) in pt_iter_get_file() argument
894 if (iter==NULL) in pt_iter_get_file()
897 r = play_tree_iter_get_file(iter,d); in pt_iter_get_file()
901 if (play_tree_iter_step(iter,d,0) != PLAY_TREE_ITER_ENTRY) in pt_iter_get_file()
903 r=play_tree_iter_get_file(iter,d); in pt_iter_get_file()
910 void pt_iter_insert_entry(play_tree_iter_t* iter, play_tree_t* entry) in pt_iter_insert_entry() argument
912 play_tree_t *pt = iter->tree; in pt_iter_insert_entry()
923 void pt_iter_replace_entry(play_tree_iter_t* iter, play_tree_t* entry) in pt_iter_replace_entry() argument
925 play_tree_t *pt = iter->tree; in pt_iter_replace_entry()
927 pt_iter_insert_entry(iter, entry); in pt_iter_replace_entry()
929 iter->tree=entry; in pt_iter_replace_entry()
951 void pt_iter_goto_head(play_tree_iter_t* iter) in pt_iter_goto_head() argument
953 iter->tree=iter->root; in pt_iter_goto_head()
954 play_tree_iter_step(iter, 0, 0); in pt_iter_goto_head()